# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # 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']: SOURCES += [ 'direct_machine.cpp' ] else: SOURCES += [ 'call_machine.cpp' ] # This should contain all of the _SOURCES from files.mk, except *_machine.cpp SOURCES += [ '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', 'NameTable.cpp', 'Pass.cpp', 'Position.cpp', 'SegCache.cpp', 'SegCacheEntry.cpp', 'SegCacheStore.cpp', 'Segment.cpp', 'Silf.cpp', 'Slot.cpp', 'Sparse.cpp', 'TtfUtil.cpp', 'UtfCodec.cpp', ] if CONFIG['GKMEDIAS_SHARED_LIBRARY']: NO_VISIBILITY_FLAGS = True DEFINES['GRAPHITE2_EXPORTING'] = True else: # 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"'