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 7FILES_PER_UNIFIED_FILE = 100 8 9EXPORTS.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-set.h', 32 'hb-shape-plan.h', 33 'hb-shape.h', 34 'hb-style.h', 35 'hb-unicode.h', 36 'hb-version.h', 37 'hb.h', 38] 39 40UNIFIED_SOURCES += [ 41 'hb-aat-layout.cc', 42 'hb-aat-map.cc', 43 'hb-blob.cc', 44 'hb-buffer.cc', 45 'hb-common.cc', 46 'hb-draw.cc', 47 'hb-face.cc', 48 'hb-font.cc', 49 'hb-number.cc', 50 'hb-ot-cff1-table.cc', 51 'hb-ot-cff2-table.cc', 52 'hb-ot-color.cc', 53 'hb-ot-face.cc', 54 'hb-ot-font.cc', 55 'hb-ot-layout.cc', 56 'hb-ot-map.cc', 57 'hb-ot-math.cc', 58 'hb-ot-meta.cc', 59 'hb-ot-metrics.cc', 60 'hb-ot-name.cc', 61 'hb-ot-shape-complex-arabic.cc', 62 'hb-ot-shape-complex-default.cc', 63 'hb-ot-shape-complex-hangul.cc', 64 'hb-ot-shape-complex-hebrew.cc', 65 'hb-ot-shape-complex-indic-table.cc', 66 'hb-ot-shape-complex-indic.cc', 67 'hb-ot-shape-complex-khmer.cc', 68 'hb-ot-shape-complex-myanmar.cc', 69 'hb-ot-shape-complex-syllabic.cc', 70 'hb-ot-shape-complex-thai.cc', 71 'hb-ot-shape-complex-use.cc', 72 'hb-ot-shape-complex-vowel-constraints.cc', 73 'hb-ot-shape-fallback.cc', 74 'hb-ot-shape-normalize.cc', 75 'hb-ot-shape.cc', 76 'hb-ot-tag.cc', 77 'hb-ot-var.cc', 78 'hb-set.cc', 79 'hb-shape-plan.cc', 80 'hb-shape.cc', 81 'hb-shaper.cc', 82 'hb-static.cc', 83 'hb-style.cc', 84 'hb-subset-cff-common.cc', 85 'hb-subset-cff1.cc', 86 'hb-subset-cff2.cc', 87 'hb-unicode.cc', 88] 89 90if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk': 91 EXPORTS.harfbuzz += [ 92 'hb-glib.h', 93 ] 94 UNIFIED_SOURCES += [ 95 'hb-glib.cc', 96 ] 97 CXXFLAGS += CONFIG['GLIB_CFLAGS'] 98 99# We allow warnings for third-party code that can be updated from upstream. 100AllowCompilerWarnings() 101 102if CONFIG['CC_TYPE'] == 'clang-cl': 103 CXXFLAGS += ['-Wno-unused-variable'] 104 105FINAL_LIBRARY = 'gkmedias' 106 107DEFINES['PACKAGE_VERSION'] = '"moz"' 108DEFINES['PACKAGE_BUGREPORT'] = '"http://bugzilla.mozilla.org/"' 109DEFINES['HAVE_OT'] = 1 110DEFINES['HAVE_ROUND'] = 1 111DEFINES['HB_NO_FALLBACK_SHAPE'] = True 112DEFINES['HB_NO_MT'] = True 113DEFINES['HB_NO_UCD'] = True 114DEFINES['HB_NO_UNICODE_FUNCS'] = True 115# Cancel the effect of the -DDEBUG macro if present, 116# because harfbuzz uses that name for its own purposes 117DEFINES['DEBUG'] = False 118 119# On Android, we want to use harfbuzz's mmap support for file access, 120# so we need to set the appropriate configuration flags as we're not 121# running harfbuzz's own configure script. 122if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android': 123 DEFINES['HAVE_MMAP'] = 1 124 DEFINES['HAVE_SYS_MMAN_H'] = 1 125 126if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': 127 DEFINES['UNICODE'] = True 128