moz.build (3822B)
1 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- 2 # vim: set filetype=python: 3 # This Source Code Form is subject to the terms of the Mozilla Public 4 # License, v. 2.0. If a copy of the MPL was not distributed with this 5 # file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 7 FILES_PER_UNIFIED_FILE = 100 8 9 EXPORTS.harfbuzz += [ 10 'hb-aat-layout.h', 11 'hb-aat.h', 12 'hb-blob.h', 13 'hb-buffer.h', 14 'hb-common.h', 15 'hb-deprecated.h', 16 'hb-draw.h', 17 'hb-face.h', 18 'hb-font.h', 19 'hb-map.h', 20 'hb-ot-color.h', 21 'hb-ot-deprecated.h', 22 'hb-ot-font.h', 23 'hb-ot-layout.h', 24 'hb-ot-math.h', 25 'hb-ot-meta.h', 26 'hb-ot-metrics.h', 27 'hb-ot-name.h', 28 'hb-ot-shape.h', 29 'hb-ot-var.h', 30 'hb-ot.h', 31 'hb-paint.h', 32 'hb-script-list.h', 33 'hb-set.h', 34 'hb-shape-plan.h', 35 'hb-shape.h', 36 'hb-style.h', 37 'hb-unicode.h', 38 'hb-version.h', 39 'hb.h', 40 ] 41 42 UNIFIED_SOURCES += [ 43 'graph/gsubgpos-context.cc', 44 'hb-aat-layout.cc', 45 'hb-aat-map.cc', 46 'hb-blob.cc', 47 'hb-buffer.cc', 48 'hb-common.cc', 49 'hb-coretext-font.cc', 50 'hb-coretext-shape.cc', 51 'hb-coretext.cc', 52 'hb-directwrite-font.cc', 53 'hb-directwrite-shape.cc', 54 'hb-draw.cc', 55 'hb-face-builder.cc', 56 'hb-face.cc', 57 'hb-font.cc', 58 'hb-harfrust.cc', 59 'hb-kbts.cc', 60 'hb-map.cc', 61 'hb-number.cc', 62 'hb-ot-cff1-table.cc', 63 'hb-ot-cff2-table.cc', 64 'hb-ot-color.cc', 65 'hb-ot-face.cc', 66 'hb-ot-font.cc', 67 'hb-ot-layout.cc', 68 'hb-ot-map.cc', 69 'hb-ot-math.cc', 70 'hb-ot-metrics.cc', 71 'hb-ot-name.cc', 72 'hb-ot-shape-fallback.cc', 73 'hb-ot-shape-normalize.cc', 74 'hb-ot-shape.cc', 75 'hb-ot-shaper-arabic.cc', 76 'hb-ot-shaper-default.cc', 77 'hb-ot-shaper-hangul.cc', 78 'hb-ot-shaper-hebrew.cc', 79 'hb-ot-shaper-indic-table.cc', 80 'hb-ot-shaper-indic.cc', 81 'hb-ot-shaper-khmer.cc', 82 'hb-ot-shaper-myanmar.cc', 83 'hb-ot-shaper-syllabic.cc', 84 'hb-ot-shaper-thai.cc', 85 'hb-ot-shaper-use.cc', 86 'hb-ot-shaper-vowel-constraints.cc', 87 'hb-ot-tag.cc', 88 'hb-ot-var.cc', 89 'hb-outline.cc', 90 'hb-paint-bounded.cc', 91 'hb-paint-extents.cc', 92 'hb-paint.cc', 93 'hb-set.cc', 94 'hb-shape-plan.cc', 95 'hb-shape.cc', 96 'hb-shaper.cc', 97 'hb-static.cc', 98 'hb-style.cc', 99 'hb-subset-cff-common.cc', 100 'hb-subset-cff1.cc', 101 'hb-subset-cff2.cc', 102 'hb-subset-input.cc', 103 'hb-subset-instancer-iup.cc', 104 'hb-subset-instancer-solver.cc', 105 'hb-subset-plan-layout.cc', 106 'hb-subset-plan-var.cc', 107 'hb-subset-plan.cc', 108 'hb-subset-serialize.cc', 109 'hb-subset-table-cff.cc', 110 'hb-subset-table-color.cc', 111 'hb-subset-table-layout.cc', 112 'hb-subset-table-other.cc', 113 'hb-subset-table-var.cc', 114 'hb-subset.cc', 115 'hb-unicode.cc', 116 ] 117 118 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk': 119 EXPORTS.harfbuzz += [ 120 'hb-glib.h', 121 ] 122 UNIFIED_SOURCES += [ 123 'hb-glib.cc', 124 ] 125 CXXFLAGS += CONFIG['GLIB_CFLAGS'] 126 127 # We allow warnings for third-party code that can be updated from upstream. 128 AllowCompilerWarnings() 129 130 FINAL_LIBRARY = 'xul' 131 132 DEFINES['PACKAGE_VERSION'] = '"moz"' 133 DEFINES['PACKAGE_BUGREPORT'] = '"http://bugzilla.mozilla.org/"' 134 DEFINES['HAVE_OT'] = 1 135 DEFINES['HAVE_ROUND'] = 1 136 DEFINES['HB_NO_BUFFER_VERIFY'] = True 137 DEFINES['HB_NO_FALLBACK_SHAPE'] = True 138 DEFINES['HB_NO_UCD'] = True 139 DEFINES['HB_NO_UNICODE_FUNCS'] = True 140 DEFINES['HB_NO_VAR_COMPOSITES'] = True 141 142 # On Android, we want to use harfbuzz's mmap support for file access, 143 # so we need to set the appropriate configuration flags as we're not 144 # running harfbuzz's own configure script. 145 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android': 146 DEFINES['HAVE_MMAP'] = 1 147 DEFINES['HAVE_SYS_MMAN_H'] = 1 148 149 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': 150 DEFINES['UNICODE'] = True