michael@0: # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- michael@0: # vim: set filetype=python: michael@0: # This Source Code Form is subject to the terms of the Mozilla Public michael@0: # License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: # file, You can obtain one at http://mozilla.org/MPL/2.0/. michael@0: michael@0: # This should contain all of the _PUBLIC_HEADERS from files.mk michael@0: EXPORTS.graphite2 += [ michael@0: '../include/graphite2/Font.h', michael@0: '../include/graphite2/Log.h', michael@0: '../include/graphite2/Segment.h', michael@0: '../include/graphite2/Types.h', michael@0: ] michael@0: michael@0: if CONFIG['GNU_CC']: michael@0: UNIFIED_SOURCES += [ michael@0: 'direct_machine.cpp' michael@0: ] michael@0: else: michael@0: UNIFIED_SOURCES += [ michael@0: 'call_machine.cpp' michael@0: ] michael@0: michael@0: # This should contain all of the _SOURCES from files.mk, except *_machine.cpp michael@0: UNIFIED_SOURCES += [ michael@0: 'Bidi.cpp', michael@0: 'CachedFace.cpp', michael@0: 'CmapCache.cpp', michael@0: 'Code.cpp', michael@0: 'Face.cpp', michael@0: 'FeatureMap.cpp', michael@0: 'FileFace.cpp', michael@0: 'Font.cpp', michael@0: 'GlyphCache.cpp', michael@0: 'GlyphFace.cpp', michael@0: 'gr_char_info.cpp', michael@0: 'gr_face.cpp', michael@0: 'gr_features.cpp', michael@0: 'gr_font.cpp', michael@0: 'gr_logging.cpp', michael@0: 'gr_segment.cpp', michael@0: 'gr_slot.cpp', michael@0: 'json.cpp', michael@0: 'Justifier.cpp', michael@0: 'NameTable.cpp', michael@0: 'Pass.cpp', michael@0: 'SegCache.cpp', michael@0: 'SegCacheEntry.cpp', michael@0: 'SegCacheStore.cpp', michael@0: 'Segment.cpp', michael@0: 'Silf.cpp', michael@0: 'Slot.cpp', michael@0: 'Sparse.cpp', michael@0: 'TtfUtil.cpp', michael@0: 'UtfCodec.cpp', michael@0: ] michael@0: michael@0: MSVC_ENABLE_PGO = True michael@0: michael@0: if CONFIG['GKMEDIAS_SHARED_LIBRARY']: michael@0: NO_VISIBILITY_FLAGS = True michael@0: DEFINES['GRAPHITE2_EXPORTING'] = True michael@0: else: michael@0: # tell graphite2 not to export symbols, we'll be linking it directly with michael@0: # thebes michael@0: DEFINES['GRAPHITE2_STATIC'] = True michael@0: michael@0: FINAL_LIBRARY = 'gkmedias' michael@0: michael@0: DEFINES['PACKAGE_VERSION'] = '"moz"' michael@0: DEFINES['PACKAGE_BUGREPORT'] = '"http://bugzilla.mozilla.org/"' michael@0: michael@0: # disable features we don't need in the graphite2 code, to reduce code size michael@0: for var in ('GRAPHITE2_NFILEFACE', 'GRAPHITE2_NTRACING', 'GRAPHITE2_NSEGCACHE'): michael@0: DEFINES[var] = True michael@0: michael@0: # provide a custom header that overrides malloc() and friends, michael@0: # to ensure safe OOM handling michael@0: DEFINES['GRAPHITE2_CUSTOM_HEADER'] = '"MozGrMalloc.h"'