Home | History | Annotate | Download | only in sfntly
      1 BASE_PATH := $(call my-dir)
      2 LOCAL_PATH:= $(call my-dir)
      3 
      4 include $(CLEAR_VARS)
      5 
      6 # We default to release for the Android build system. Developers debugging
      7 # code can build with "Debug"
      8 GYP_CONFIGURATION := Release
      9 
     10 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
     11 LOCAL_MODULE := libsfntly
     12 LOCAL_MODULE_SUFFIX := .a
     13 LOCAL_MODULE_TAGS := optional
     14 
     15 LOCAL_CPP_EXTENSION := .cc
     16 LOCAL_GENERATED_SOURCES :=
     17 
     18 LOCAL_SRC_FILES := \
     19 	cpp/src/sfntly/data/byte_array.cc \
     20 	cpp/src/sfntly/data/font_data.cc \
     21 	cpp/src/sfntly/data/font_input_stream.cc \
     22 	cpp/src/sfntly/data/font_output_stream.cc \
     23 	cpp/src/sfntly/data/growable_memory_byte_array.cc \
     24 	cpp/src/sfntly/data/memory_byte_array.cc \
     25 	cpp/src/sfntly/data/readable_font_data.cc \
     26 	cpp/src/sfntly/data/writable_font_data.cc \
     27 	cpp/src/sfntly/font.cc \
     28 	cpp/src/sfntly/font_factory.cc \
     29 	cpp/src/sfntly/port/file_input_stream.cc \
     30 	cpp/src/sfntly/port/lock.cc \
     31 	cpp/src/sfntly/port/memory_input_stream.cc \
     32 	cpp/src/sfntly/port/memory_output_stream.cc \
     33 	cpp/src/sfntly/table/bitmap/big_glyph_metrics.cc \
     34 	cpp/src/sfntly/table/bitmap/bitmap_glyph.cc \
     35 	cpp/src/sfntly/table/bitmap/bitmap_glyph_info.cc \
     36 	cpp/src/sfntly/table/bitmap/bitmap_size_table.cc \
     37 	cpp/src/sfntly/table/bitmap/composite_bitmap_glyph.cc \
     38 	cpp/src/sfntly/table/bitmap/ebdt_table.cc \
     39 	cpp/src/sfntly/table/bitmap/eblc_table.cc \
     40 	cpp/src/sfntly/table/bitmap/ebsc_table.cc \
     41 	cpp/src/sfntly/table/bitmap/glyph_metrics.cc \
     42 	cpp/src/sfntly/table/bitmap/index_sub_table.cc \
     43 	cpp/src/sfntly/table/bitmap/index_sub_table_format1.cc \
     44 	cpp/src/sfntly/table/bitmap/index_sub_table_format2.cc \
     45 	cpp/src/sfntly/table/bitmap/index_sub_table_format3.cc \
     46 	cpp/src/sfntly/table/bitmap/index_sub_table_format4.cc \
     47 	cpp/src/sfntly/table/bitmap/index_sub_table_format5.cc \
     48 	cpp/src/sfntly/table/bitmap/simple_bitmap_glyph.cc \
     49 	cpp/src/sfntly/table/bitmap/small_glyph_metrics.cc \
     50 	cpp/src/sfntly/table/byte_array_table_builder.cc \
     51 	cpp/src/sfntly/table/core/cmap_table.cc \
     52 	cpp/src/sfntly/table/core/font_header_table.cc \
     53 	cpp/src/sfntly/table/core/horizontal_device_metrics_table.cc \
     54 	cpp/src/sfntly/table/core/horizontal_header_table.cc \
     55 	cpp/src/sfntly/table/core/horizontal_metrics_table.cc \
     56 	cpp/src/sfntly/table/core/maximum_profile_table.cc \
     57 	cpp/src/sfntly/table/core/name_table.cc \
     58 	cpp/src/sfntly/table/core/os2_table.cc \
     59 	cpp/src/sfntly/table/font_data_table.cc \
     60 	cpp/src/sfntly/table/generic_table_builder.cc \
     61 	cpp/src/sfntly/table/header.cc \
     62 	cpp/src/sfntly/table/subtable.cc \
     63 	cpp/src/sfntly/table/table.cc \
     64 	cpp/src/sfntly/table/table_based_table_builder.cc \
     65 	cpp/src/sfntly/table/truetype/glyph_table.cc \
     66 	cpp/src/sfntly/table/truetype/loca_table.cc \
     67 	cpp/src/sfntly/tag.cc \
     68 	cpp/src/sample/chromium/font_subsetter.cc \
     69 	cpp/src/sample/chromium/subsetter_impl.cc
     70 
     71 
     72 # Flags passed to both C and C++ files.
     73 MY_CFLAGS_Debug := \
     74 	-fstack-protector \
     75 	--param=ssp-buffer-size=4 \
     76 	-Werror \
     77 	-fno-exceptions \
     78 	-fno-strict-aliasing \
     79 	-Wall \
     80 	-Wno-unused-parameter \
     81 	-Wno-missing-field-initializers \
     82 	-fvisibility=hidden \
     83 	-pipe \
     84 	-fPIC \
     85 	-fno-tree-sra \
     86 	-fuse-ld=gold \
     87 	-Wno-psabi \
     88 	-ffunction-sections \
     89 	-funwind-tables \
     90 	-g \
     91 	-fstack-protector \
     92 	-fno-short-enums \
     93 	-finline-limit=64 \
     94 	-Wa,--noexecstack \
     95 	-U_FORTIFY_SOURCE \
     96 	-Wno-extra \
     97 	-Wno-ignored-qualifiers \
     98 	-Wno-type-limits \
     99 	-Os \
    100 	-g \
    101 	-fomit-frame-pointer \
    102 	-fdata-sections \
    103 	-ffunction-sections
    104 
    105 MY_DEFS_Debug := \
    106 	'-DANGLE_DX11' \
    107 	'-D_FILE_OFFSET_BITS=64' \
    108 	'-DNO_TCMALLOC' \
    109 	'-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
    110 	'-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
    111 	'-DDISABLE_NACL' \
    112 	'-DCHROMIUM_BUILD' \
    113 	'-DUSE_LIBJPEG_TURBO=1' \
    114 	'-DUSE_PROPRIETARY_CODECS' \
    115 	'-DENABLE_CONFIGURATION_POLICY' \
    116 	'-DENABLE_GPU=1' \
    117 	'-DUSE_OPENSSL=1' \
    118 	'-DENABLE_EGLIMAGE=1' \
    119 	'-DSFNTLY_NO_EXCEPTION' \
    120 	'-DU_USING_ICU_NAMESPACE=0' \
    121 	'-D__STDC_CONSTANT_MACROS' \
    122 	'-D__STDC_FORMAT_MACROS' \
    123 	'-DANDROID' \
    124 	'-D__GNU_SOURCE=1' \
    125 	'-DUSE_STLPORT=1' \
    126 	'-D_STLP_USE_PTR_SPECIALIZATIONS=1' \
    127 	'-DCHROME_BUILD_ID=""' \
    128 	'-DDYNAMIC_ANNOTATIONS_ENABLED=1' \
    129 	'-DWTF_USE_DYNAMIC_ANNOTATIONS=1' \
    130 	'-D_DEBUG'
    131 
    132 # Include paths placed before CFLAGS/CPPFLAGS
    133 LOCAL_C_INCLUDES_Debug := \
    134 	$(LOCAL_PATH)/cpp/src \
    135 	$(LOCAL_PATH) \
    136 	external/icu4c/common \
    137 	external/icu4c/i18n \
    138 	frameworks/wilhelm/include \
    139 
    140 
    141 # Flags passed to only C++ (and not C) files.
    142 LOCAL_CPPFLAGS_Debug := \
    143 	-fno-rtti \
    144 	-fno-threadsafe-statics \
    145 	-fvisibility-inlines-hidden \
    146 	-Wsign-compare \
    147 	-Wno-abi \
    148 	-Wno-error=c++0x-compat \
    149 	-Wno-non-virtual-dtor \
    150 	-Wno-sign-promo
    151 
    152 
    153 # Flags passed to both C and C++ files.
    154 MY_CFLAGS_Release := \
    155 	-fstack-protector \
    156 	--param=ssp-buffer-size=4 \
    157 	-Werror \
    158 	-fno-exceptions \
    159 	-fno-strict-aliasing \
    160 	-Wall \
    161 	-Wno-unused-parameter \
    162 	-Wno-missing-field-initializers \
    163 	-fvisibility=hidden \
    164 	-pipe \
    165 	-fPIC \
    166 	-fno-tree-sra \
    167 	-fuse-ld=gold \
    168 	-Wno-psabi \
    169 	-ffunction-sections \
    170 	-funwind-tables \
    171 	-g \
    172 	-fstack-protector \
    173 	-fno-short-enums \
    174 	-finline-limit=64 \
    175 	-Wa,--noexecstack \
    176 	-U_FORTIFY_SOURCE \
    177 	-Wno-extra \
    178 	-Wno-ignored-qualifiers \
    179 	-Wno-type-limits \
    180 	-Os \
    181 	-fno-ident \
    182 	-fdata-sections \
    183 	-ffunction-sections \
    184 	-fomit-frame-pointer
    185 
    186 MY_DEFS_Release := \
    187 	'-DANGLE_DX11' \
    188 	'-D_FILE_OFFSET_BITS=64' \
    189 	'-DNO_TCMALLOC' \
    190 	'-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
    191 	'-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
    192 	'-DDISABLE_NACL' \
    193 	'-DCHROMIUM_BUILD' \
    194 	'-DUSE_LIBJPEG_TURBO=1' \
    195 	'-DUSE_PROPRIETARY_CODECS' \
    196 	'-DENABLE_CONFIGURATION_POLICY' \
    197 	'-DENABLE_GPU=1' \
    198 	'-DUSE_OPENSSL=1' \
    199 	'-DENABLE_EGLIMAGE=1' \
    200 	'-DSFNTLY_NO_EXCEPTION' \
    201 	'-DU_USING_ICU_NAMESPACE=0' \
    202 	'-D__STDC_CONSTANT_MACROS' \
    203 	'-D__STDC_FORMAT_MACROS' \
    204 	'-DANDROID' \
    205 	'-D__GNU_SOURCE=1' \
    206 	'-DUSE_STLPORT=1' \
    207 	'-D_STLP_USE_PTR_SPECIALIZATIONS=1' \
    208 	'-DCHROME_BUILD_ID=""' \
    209 	'-DNDEBUG' \
    210 	'-DNVALGRIND' \
    211 	'-DDYNAMIC_ANNOTATIONS_ENABLED=0' \
    212 	'-D_FORTIFY_SOURCE=2'
    213 
    214 
    215 # Include paths placed before CFLAGS/CPPFLAGS
    216 LOCAL_C_INCLUDES_Release := \
    217 	$(LOCAL_PATH)/cpp/src \
    218 	$(LOCAL_PATH) \
    219 	external/icu4c/common \
    220 	external/icu4c/i18n \
    221 	frameworks/wilhelm/include \
    222 
    223 
    224 # Flags passed to only C++ (and not C) files.
    225 LOCAL_CPPFLAGS_Release := \
    226 	-fno-rtti \
    227 	-fno-threadsafe-statics \
    228 	-fvisibility-inlines-hidden \
    229 	-Wsign-compare \
    230 	-Wno-abi \
    231 	-Wno-error=c++0x-compat \
    232 	-Wno-non-virtual-dtor \
    233 	-Wno-sign-promo
    234 
    235 LOCAL_CFLAGS := $(MY_CFLAGS_$(GYP_CONFIGURATION)) $(MY_DEFS_$(GYP_CONFIGURATION))
    236 LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES_$(GYP_CONFIGURATION))
    237 LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION))
    238 ### Rules for final target.
    239 
    240 LOCAL_LDFLAGS_Debug := \
    241 	-Wl,-z,now \
    242 	-Wl,-z,relro \
    243 	-Wl,-z,noexecstack \
    244 	-fPIC \
    245 	-Wl,-z,relro \
    246 	-Wl,-z,now \
    247 	-fuse-ld=gold \
    248 	-nostdlib \
    249 	-Wl,--no-undefined \
    250 	-Wl,--exclude-libs=ALL \
    251 	-Wl,--icf=safe \
    252 	-Wl,--gc-sections \
    253 	-Wl,-O1 \
    254 	-Wl,--as-needed
    255 
    256 
    257 LOCAL_LDFLAGS_Release := \
    258 	-Wl,-z,now \
    259 	-Wl,-z,relro \
    260 	-Wl,-z,noexecstack \
    261 	-fPIC \
    262 	-Wl,-z,relro \
    263 	-Wl,-z,now \
    264 	-fuse-ld=gold \
    265 	-nostdlib \
    266 	-Wl,--no-undefined \
    267 	-Wl,--exclude-libs=ALL \
    268 	-Wl,--icf=safe \
    269 	-Wl,-O1 \
    270 	-Wl,--as-needed \
    271 	-Wl,--gc-sections
    272 
    273 
    274 LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION))
    275 
    276 LOCAL_STATIC_LIBRARIES :=
    277 
    278 # Enable grouping to fix circular references
    279 LOCAL_GROUP_STATIC_LIBRARIES := true
    280 
    281 LOCAL_SHARED_LIBRARIES := \
    282 	libstlport \
    283 	libdl \
    284 
    285 include external/stlport/libstlport.mk
    286 
    287 include $(BUILD_STATIC_LIBRARY)