blob: f26585dc78968a7e8ffef03b86a60ae4bbf1cde4 [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",
Colin Crossf2f4c6f2016-12-01 18:03:32 -080077 "-fno-short-enums",
78 "-finline-limit=64",
79 "-Wa,--noexecstack",
80 "-U_FORTIFY_SOURCE",
81 "-Wno-extra",
82 "-Wno-ignored-qualifiers",
83 "-Wno-type-limits",
84 "-Os",
85 "-fno-ident",
86 "-fdata-sections",
87 "-ffunction-sections",
88 "-fomit-frame-pointer",
89
90 "-DANGLE_DX11",
91 "-D_FILE_OFFSET_BITS=64",
92 "-DNO_TCMALLOC",
93 "-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY",
94 "-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE",
95 "-DDISABLE_NACL",
96 "-DCHROMIUM_BUILD",
97 "-DUSE_LIBJPEG_TURBO=1",
98 "-DUSE_PROPRIETARY_CODECS",
99 "-DENABLE_CONFIGURATION_POLICY",
100 "-DENABLE_GPU=1",
101 "-DUSE_OPENSSL=1",
102 "-DENABLE_EGLIMAGE=1",
103 "-DSFNTLY_NO_EXCEPTION",
104 "-DU_USING_ICU_NAMESPACE=0",
105 "-D__STDC_CONSTANT_MACROS",
106 "-D__STDC_FORMAT_MACROS",
107 "-DANDROID",
108 "-D__GNU_SOURCE=1",
109 "-D_STLP_USE_PTR_SPECIALIZATIONS=1",
110 "-DCHROME_BUILD_ID='\"\"'",
111 "-DNDEBUG",
112 "-DNVALGRIND",
113 "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
114 "-D_FORTIFY_SOURCE=2",
115 ],
116
117 cppflags: [
118 "-fno-threadsafe-statics",
119 "-fvisibility-inlines-hidden",
120 "-Wsign-compare",
121 "-Wno-abi",
122 "-Wno-error=c++0x-compat",
123 "-Wno-non-virtual-dtor",
124 "-Wno-sign-promo",
Colin Crossf2f4c6f2016-12-01 18:03:32 -0800125 ],
126
127 debug: {
128 cflags: [
129 "-UNDEBUG",
130 "-UNVALGRIND",
131 "-DDYNAMIC_ANNOTATIONS_ENABLED=1",
132 "-DWTF_USE_DYNAMIC_ANNOTATIONS=1",
133 "-D_DEBUG",
134 ],
135 },
136
137 export_include_dirs: ["cpp/src"],
Jerome Gaillard8b958722019-01-11 17:16:34 +0000138
139 target: {
140 android: {
141 cflags: ["-fPIC"],
142 },
143 not_windows: {
144 cflags: ["-fPIC"],
145 },
146 windows: {
147 enabled: true,
Jerome Gaillard8f574592019-01-17 15:34:59 +0000148 // "-fstack-protector" is not used by default on Windows, and enabling it
149 // on one library only prevents this library from being linked successfully
150 // when used as a dependency. So we disable it for Windows.
151 cflags: ["-fno-stack-protector"],
Jerome Gaillard8b958722019-01-11 17:16:34 +0000152 },
153 },
Colin Crossf2f4c6f2016-12-01 18:03:32 -0800154}