1 /* 2 * Copyright © 2019 Facebook, Inc. 3 * 4 * This is part of HarfBuzz, a text shaping library. 5 * 6 * Permission is hereby granted, without written agreement and without 7 * license or royalty fees, to use, copy, modify, and distribute this 8 * software and its documentation for any purpose, provided that the 9 * above copyright notice and the following two paragraphs appear in 10 * all copies of this software. 11 * 12 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR 13 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES 14 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN 15 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 16 * DAMAGE. 17 * 18 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, 19 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 20 * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS 21 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO 22 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 23 * 24 * Facebook Author(s): Behdad Esfahbod 25 */ 26 27 #ifndef HB_CONFIG_HH 28 #define HB_CONFIG_HH 29 30 #if 0 /* Make test happy. */ 31 #include "hb.hh" 32 #endif 33 34 #ifdef HAVE_CONFIG_H 35 #include "config.h" 36 #endif 37 38 39 #ifdef HB_TINY 40 #define HB_LEAN 41 #define HB_MINI 42 #define HB_NO_MT 43 #ifndef NDEBUG 44 #define NDEBUG 45 #endif 46 #ifndef __OPTIMIZE_SIZE__ 47 #define __OPTIMIZE_SIZE__ 48 #endif 49 #endif 50 51 #ifdef HB_LEAN 52 #define HB_DISABLE_DEPRECATED 53 #define HB_NDEBUG 54 #define HB_NO_ATEXIT 55 #define HB_NO_BUFFER_MESSAGE 56 #define HB_NO_BUFFER_SERIALIZE 57 #define HB_NO_BITMAP 58 #define HB_NO_CFF 59 #define HB_NO_COLOR 60 #define HB_NO_GETENV 61 #define HB_NO_LAYOUT_UNUSED 62 #define HB_NO_MATH 63 #define HB_NO_NAME 64 #define HB_NO_SUBSET_LAYOUT 65 #endif 66 67 #ifdef HB_MINI 68 #define HB_NO_AAT 69 #define HB_NO_LEGACY 70 #endif 71 72 /* Closure. */ 73 74 #ifdef HB_DISABLE_DEPRECATED 75 #define HB_IF_NOT_DEPRECATED(x) 76 #else 77 #define HB_IF_NOT_DEPRECATED(x) x 78 #endif 79 80 #ifdef HB_NO_AAT 81 #define HB_NO_OT_NAME_LANGUAGE_AAT 82 #define HB_NO_SHAPE_AAT 83 #endif 84 85 #ifdef HB_NO_BITMAP 86 #define HB_NO_OT_FONT_BITMAP 87 #endif 88 89 #ifdef HB_NO_CFF 90 #define HB_NO_OT_FONT_CFF 91 #define HB_NO_SUBSET_CFF 92 #endif 93 94 #ifdef HB_NO_GETENV 95 #define HB_NO_UNISCRIBE_BUG_COMPATIBLE 96 #endif 97 98 #ifdef HB_NO_LEGACY 99 #define HB_NO_OT_LAYOUT_BLACKLIST 100 #define HB_NO_OT_SHAPE_FALLBACK 101 #endif 102 103 #ifdef HB_NO_NAME 104 #define HB_NO_OT_NAME_LANGUAGE 105 #endif 106 107 #ifdef HB_NO_OT_SHAPE_FALLBACK 108 #define HB_NO_OT_SHAPE_COMPLEX_ARABIC_FALLBACK 109 #define HB_NO_OT_SHAPE_COMPLEX_HEBREW_FALLBACK 110 #define HB_NO_OT_SHAPE_COMPLEX_THAI_FALLBACK 111 #define HB_NO_OT_SHAPE_COMPLEX_VOWEL_CONSTRAINTS 112 #endif 113 114 #ifdef NDEBUG 115 #ifndef HB_NDEBUG 116 #define HB_NDEBUG 117 #endif 118 #endif 119 120 #ifdef __OPTIMIZE_SIZE__ 121 #ifndef HB_OPTIMIZE_SIZE 122 #define HB_OPTIMIZE_SIZE 123 #endif 124 #endif 125 126 #ifdef HAVE_CONFIG_OVERRIDE_H 127 #include "config-override.h" 128 #endif 129 130 131 #endif /* HB_CONFIG_HH */ 132