blob: fa9a7eb6aa3dcd4a2599b12ff1b378229d2b60e6 [file] [log] [blame]
Colin Crossf2f4c6f2016-12-01 18:03:32 -08001cc_library_static {
2 name: "libsfntly",
Jerome Gaillard2e0c3712018-07-10 16:08:14 +01003 host_supported: true,
Colin Crossf2f4c6f2016-12-01 18:03:32 -08004 srcs: [
5 "cpp/src/sfntly/data/byte_array.cc",
6 "cpp/src/sfntly/data/font_data.cc",
7 "cpp/src/sfntly/data/font_input_stream.cc",
8 "cpp/src/sfntly/data/font_output_stream.cc",
9 "cpp/src/sfntly/data/growable_memory_byte_array.cc",
10 "cpp/src/sfntly/data/memory_byte_array.cc",
11 "cpp/src/sfntly/data/readable_font_data.cc",
12 "cpp/src/sfntly/data/writable_font_data.cc",
13 "cpp/src/sfntly/font.cc",
14 "cpp/src/sfntly/font_factory.cc",
15 "cpp/src/sfntly/port/file_input_stream.cc",
16 "cpp/src/sfntly/port/lock.cc",
17 "cpp/src/sfntly/port/memory_input_stream.cc",
18 "cpp/src/sfntly/port/memory_output_stream.cc",
19 "cpp/src/sfntly/table/bitmap/big_glyph_metrics.cc",
20 "cpp/src/sfntly/table/bitmap/bitmap_glyph.cc",
21 "cpp/src/sfntly/table/bitmap/bitmap_glyph_info.cc",
22 "cpp/src/sfntly/table/bitmap/bitmap_size_table.cc",
23 "cpp/src/sfntly/table/bitmap/composite_bitmap_glyph.cc",
24 "cpp/src/sfntly/table/bitmap/ebdt_table.cc",
25 "cpp/src/sfntly/table/bitmap/eblc_table.cc",
26 "cpp/src/sfntly/table/bitmap/ebsc_table.cc",
27 "cpp/src/sfntly/table/bitmap/glyph_metrics.cc",
28 "cpp/src/sfntly/table/bitmap/index_sub_table.cc",
29 "cpp/src/sfntly/table/bitmap/index_sub_table_format1.cc",
30 "cpp/src/sfntly/table/bitmap/index_sub_table_format2.cc",
31 "cpp/src/sfntly/table/bitmap/index_sub_table_format3.cc",
32 "cpp/src/sfntly/table/bitmap/index_sub_table_format4.cc",
33 "cpp/src/sfntly/table/bitmap/index_sub_table_format5.cc",
34 "cpp/src/sfntly/table/bitmap/simple_bitmap_glyph.cc",
35 "cpp/src/sfntly/table/bitmap/small_glyph_metrics.cc",
36 "cpp/src/sfntly/table/byte_array_table_builder.cc",
37 "cpp/src/sfntly/table/core/cmap_table.cc",
38 "cpp/src/sfntly/table/core/font_header_table.cc",
39 "cpp/src/sfntly/table/core/horizontal_device_metrics_table.cc",
40 "cpp/src/sfntly/table/core/horizontal_header_table.cc",
41 "cpp/src/sfntly/table/core/horizontal_metrics_table.cc",
42 "cpp/src/sfntly/table/core/maximum_profile_table.cc",
43 "cpp/src/sfntly/table/core/name_table.cc",
44 "cpp/src/sfntly/table/core/os2_table.cc",
45 "cpp/src/sfntly/table/font_data_table.cc",
46 "cpp/src/sfntly/table/generic_table_builder.cc",
47 "cpp/src/sfntly/table/header.cc",
48 "cpp/src/sfntly/table/subtable.cc",
49 "cpp/src/sfntly/table/table.cc",
50 "cpp/src/sfntly/table/table_based_table_builder.cc",
51 "cpp/src/sfntly/table/truetype/glyph_table.cc",
52 "cpp/src/sfntly/table/truetype/loca_table.cc",
53 "cpp/src/sfntly/tag.cc",
54 "cpp/src/sample/chromium/font_subsetter.cc",
55 "cpp/src/sample/chromium/subsetter_impl.cc",
56 ],
57
58 shared_libs: [
Victor Chang74f473c2018-11-22 19:21:18 +000059 "libandroidicu",
Colin Crossf2f4c6f2016-12-01 18:03:32 -080060 ],
61
62 cflags: [
63 "-fstack-protector",
64 "--param=ssp-buffer-size=4",
65 "-Werror",
66 "-fno-exceptions",
67 "-fno-strict-aliasing",
68 "-Wall",
69 "-Wno-unused-parameter",
70 "-Wno-missing-field-initializers",
71 "-fvisibility=hidden",
Colin Crossf2f4c6f2016-12-01 18:03:32 -080072 "-fno-tree-sra",
73 "-Wno-psabi",
74 "-ffunction-sections",
75 "-funwind-tables",
76 "-g",
77 "-fstack-protector",
78 "-fno-short-enums",
79 "-finline-limit=64",
80 "-Wa,--noexecstack",
81 "-U_FORTIFY_SOURCE",
82 "-Wno-extra",
83 "-Wno-ignored-qualifiers",
84 "-Wno-type-limits",
85 "-Os",
86 "-fno-ident",
87 "-fdata-sections",
88 "-ffunction-sections",
89 "-fomit-frame-pointer",
90
91 "-DANGLE_DX11",
92 "-D_FILE_OFFSET_BITS=64",
93 "-DNO_TCMALLOC",
94 "-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY",
95 "-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE",
96 "-DDISABLE_NACL",
97 "-DCHROMIUM_BUILD",
98 "-DUSE_LIBJPEG_TURBO=1",
99 "-DUSE_PROPRIETARY_CODECS",
100 "-DENABLE_CONFIGURATION_POLICY",
101 "-DENABLE_GPU=1",
102 "-DUSE_OPENSSL=1",
103 "-DENABLE_EGLIMAGE=1",
104 "-DSFNTLY_NO_EXCEPTION",
105 "-DU_USING_ICU_NAMESPACE=0",
106 "-D__STDC_CONSTANT_MACROS",
107 "-D__STDC_FORMAT_MACROS",
108 "-DANDROID",
109 "-D__GNU_SOURCE=1",
110 "-D_STLP_USE_PTR_SPECIALIZATIONS=1",
111 "-DCHROME_BUILD_ID='\"\"'",
112 "-DNDEBUG",
113 "-DNVALGRIND",
114 "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
115 "-D_FORTIFY_SOURCE=2",
116 ],
117
118 cppflags: [
119 "-fno-threadsafe-statics",
120 "-fvisibility-inlines-hidden",
121 "-Wsign-compare",
122 "-Wno-abi",
123 "-Wno-error=c++0x-compat",
124 "-Wno-non-virtual-dtor",
125 "-Wno-sign-promo",
Yi Kong2b08a622017-05-02 11:37:07 -0700126
127 // Temporarily suppress the warning http://b/37911198
128 "-Wno-error=user-defined-warnings",
Colin Crossf2f4c6f2016-12-01 18:03:32 -0800129 ],
130
131 debug: {
132 cflags: [
133 "-UNDEBUG",
134 "-UNVALGRIND",
135 "-DDYNAMIC_ANNOTATIONS_ENABLED=1",
136 "-DWTF_USE_DYNAMIC_ANNOTATIONS=1",
137 "-D_DEBUG",
138 ],
139 },
140
141 export_include_dirs: ["cpp/src"],
Jerome Gaillard8b958722019-01-11 17:16:34 +0000142
143 target: {
144 android: {
145 cflags: ["-fPIC"],
146 },
147 not_windows: {
148 cflags: ["-fPIC"],
149 },
150 windows: {
151 enabled: true,
152 },
153 },
Colin Crossf2f4c6f2016-12-01 18:03:32 -0800154}