Home | History | Annotate | Download | only in sfntly
      1 cc_library_static {
      2     name: "libsfntly",
      3     host_supported: true,
      4     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: [
     59         "libandroidicu",
     60     ],
     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",
     72         "-fno-tree-sra",
     73         "-Wno-psabi",
     74         "-ffunction-sections",
     75         "-funwind-tables",
     76         "-g",
     77         "-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",
    125     ],
    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"],
    138 
    139     target: {
    140         android: {
    141             cflags: ["-fPIC"],
    142         },
    143         not_windows: {
    144             cflags: ["-fPIC"],
    145         },
    146         windows: {
    147             enabled: true,
    148             // "-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"],
    152         },
    153     },
    154 }
    155