|
1 # -*- Mode: python; c-basic-offset: 4; 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 # This should contain all of the _PUBLIC_HEADERS from files.mk |
|
8 EXPORTS.graphite2 += [ |
|
9 '../include/graphite2/Font.h', |
|
10 '../include/graphite2/Log.h', |
|
11 '../include/graphite2/Segment.h', |
|
12 '../include/graphite2/Types.h', |
|
13 ] |
|
14 |
|
15 if CONFIG['GNU_CC']: |
|
16 UNIFIED_SOURCES += [ |
|
17 'direct_machine.cpp' |
|
18 ] |
|
19 else: |
|
20 UNIFIED_SOURCES += [ |
|
21 'call_machine.cpp' |
|
22 ] |
|
23 |
|
24 # This should contain all of the _SOURCES from files.mk, except *_machine.cpp |
|
25 UNIFIED_SOURCES += [ |
|
26 'Bidi.cpp', |
|
27 'CachedFace.cpp', |
|
28 'CmapCache.cpp', |
|
29 'Code.cpp', |
|
30 'Face.cpp', |
|
31 'FeatureMap.cpp', |
|
32 'FileFace.cpp', |
|
33 'Font.cpp', |
|
34 'GlyphCache.cpp', |
|
35 'GlyphFace.cpp', |
|
36 'gr_char_info.cpp', |
|
37 'gr_face.cpp', |
|
38 'gr_features.cpp', |
|
39 'gr_font.cpp', |
|
40 'gr_logging.cpp', |
|
41 'gr_segment.cpp', |
|
42 'gr_slot.cpp', |
|
43 'json.cpp', |
|
44 'Justifier.cpp', |
|
45 'NameTable.cpp', |
|
46 'Pass.cpp', |
|
47 'SegCache.cpp', |
|
48 'SegCacheEntry.cpp', |
|
49 'SegCacheStore.cpp', |
|
50 'Segment.cpp', |
|
51 'Silf.cpp', |
|
52 'Slot.cpp', |
|
53 'Sparse.cpp', |
|
54 'TtfUtil.cpp', |
|
55 'UtfCodec.cpp', |
|
56 ] |
|
57 |
|
58 MSVC_ENABLE_PGO = True |
|
59 |
|
60 if CONFIG['GKMEDIAS_SHARED_LIBRARY']: |
|
61 NO_VISIBILITY_FLAGS = True |
|
62 DEFINES['GRAPHITE2_EXPORTING'] = True |
|
63 else: |
|
64 # tell graphite2 not to export symbols, we'll be linking it directly with |
|
65 # thebes |
|
66 DEFINES['GRAPHITE2_STATIC'] = True |
|
67 |
|
68 FINAL_LIBRARY = 'gkmedias' |
|
69 |
|
70 DEFINES['PACKAGE_VERSION'] = '"moz"' |
|
71 DEFINES['PACKAGE_BUGREPORT'] = '"http://bugzilla.mozilla.org/"' |
|
72 |
|
73 # disable features we don't need in the graphite2 code, to reduce code size |
|
74 for var in ('GRAPHITE2_NFILEFACE', 'GRAPHITE2_NTRACING', 'GRAPHITE2_NSEGCACHE'): |
|
75 DEFINES[var] = True |
|
76 |
|
77 # provide a custom header that overrides malloc() and friends, |
|
78 # to ensure safe OOM handling |
|
79 DEFINES['GRAPHITE2_CUSTOM_HEADER'] = '"MozGrMalloc.h"' |