summaryrefslogtreecommitdiffstats
path: root/gfx/graphite2/src/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/graphite2/src/moz.build')
-rw-r--r--gfx/graphite2/src/moz.build85
1 files changed, 85 insertions, 0 deletions
diff --git a/gfx/graphite2/src/moz.build b/gfx/graphite2/src/moz.build
new file mode 100644
index 000000000..d918f8ee9
--- /dev/null
+++ b/gfx/graphite2/src/moz.build
@@ -0,0 +1,85 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This should contain all of the _PUBLIC_HEADERS from files.mk
+EXPORTS.graphite2 += [
+ '../include/graphite2/Font.h',
+ '../include/graphite2/Log.h',
+ '../include/graphite2/Segment.h',
+ '../include/graphite2/Types.h',
+]
+
+if CONFIG['GNU_CC']:
+ UNIFIED_SOURCES += [
+ 'direct_machine.cpp'
+ ]
+else:
+ UNIFIED_SOURCES += [
+ 'call_machine.cpp'
+ ]
+
+# This should contain all of the _SOURCES from files.mk, except *_machine.cpp
+UNIFIED_SOURCES += [
+ 'Bidi.cpp',
+ 'CachedFace.cpp',
+ 'CmapCache.cpp',
+ 'Code.cpp',
+ 'Collider.cpp',
+ 'Decompressor.cpp',
+ 'Face.cpp',
+ 'FeatureMap.cpp',
+ 'FileFace.cpp',
+ 'Font.cpp',
+ 'GlyphCache.cpp',
+ 'GlyphFace.cpp',
+ 'gr_char_info.cpp',
+ 'gr_face.cpp',
+ 'gr_features.cpp',
+ 'gr_font.cpp',
+ 'gr_logging.cpp',
+ 'gr_segment.cpp',
+ 'gr_slot.cpp',
+ 'Intervals.cpp',
+ 'json.cpp',
+ 'Justifier.cpp',
+ 'Pass.cpp',
+ 'Position.cpp',
+ 'SegCache.cpp',
+ 'SegCacheEntry.cpp',
+ 'SegCacheStore.cpp',
+ 'Segment.cpp',
+ 'Silf.cpp',
+ 'Slot.cpp',
+ 'Sparse.cpp',
+ 'TtfUtil.cpp',
+ 'UtfCodec.cpp',
+]
+
+# Excluded from UNIFIED_SOURCES because <cmath> from other files breaks it,
+# see bug 1272647.
+SOURCES += [
+ 'NameTable.cpp',
+]
+
+# tell graphite2 not to export symbols, we'll be linking it directly with
+# thebes
+DEFINES['GRAPHITE2_STATIC'] = True
+
+# We allow warnings for third-party code that can be updated from upstream.
+ALLOW_COMPILER_WARNINGS = True
+
+FINAL_LIBRARY = 'gkmedias'
+
+DEFINES['PACKAGE_VERSION'] = '"moz"'
+DEFINES['PACKAGE_BUGREPORT'] = '"http://bugzilla.mozilla.org/"'
+
+# disable features we don't need in the graphite2 code, to reduce code size
+for var in ('GRAPHITE2_NFILEFACE', 'GRAPHITE2_NTRACING', 'GRAPHITE2_NSEGCACHE'):
+ DEFINES[var] = True
+
+# provide a custom header that overrides malloc() and friends,
+# to ensure safe OOM handling
+DEFINES['GRAPHITE2_CUSTOM_HEADER'] = '"MozGrMalloc.h"'