Convert sfntly to Android.bp

See build/soong/README.md for more information.

Test: mma -j
Change-Id: I06ddf3de27854213daecf31b6c64bab29d37ea12
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..f817981
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,141 @@
+cc_library_static {
+    name: "libsfntly",
+
+    srcs: [
+        "cpp/src/sfntly/data/byte_array.cc",
+        "cpp/src/sfntly/data/font_data.cc",
+        "cpp/src/sfntly/data/font_input_stream.cc",
+        "cpp/src/sfntly/data/font_output_stream.cc",
+        "cpp/src/sfntly/data/growable_memory_byte_array.cc",
+        "cpp/src/sfntly/data/memory_byte_array.cc",
+        "cpp/src/sfntly/data/readable_font_data.cc",
+        "cpp/src/sfntly/data/writable_font_data.cc",
+        "cpp/src/sfntly/font.cc",
+        "cpp/src/sfntly/font_factory.cc",
+        "cpp/src/sfntly/port/file_input_stream.cc",
+        "cpp/src/sfntly/port/lock.cc",
+        "cpp/src/sfntly/port/memory_input_stream.cc",
+        "cpp/src/sfntly/port/memory_output_stream.cc",
+        "cpp/src/sfntly/table/bitmap/big_glyph_metrics.cc",
+        "cpp/src/sfntly/table/bitmap/bitmap_glyph.cc",
+        "cpp/src/sfntly/table/bitmap/bitmap_glyph_info.cc",
+        "cpp/src/sfntly/table/bitmap/bitmap_size_table.cc",
+        "cpp/src/sfntly/table/bitmap/composite_bitmap_glyph.cc",
+        "cpp/src/sfntly/table/bitmap/ebdt_table.cc",
+        "cpp/src/sfntly/table/bitmap/eblc_table.cc",
+        "cpp/src/sfntly/table/bitmap/ebsc_table.cc",
+        "cpp/src/sfntly/table/bitmap/glyph_metrics.cc",
+        "cpp/src/sfntly/table/bitmap/index_sub_table.cc",
+        "cpp/src/sfntly/table/bitmap/index_sub_table_format1.cc",
+        "cpp/src/sfntly/table/bitmap/index_sub_table_format2.cc",
+        "cpp/src/sfntly/table/bitmap/index_sub_table_format3.cc",
+        "cpp/src/sfntly/table/bitmap/index_sub_table_format4.cc",
+        "cpp/src/sfntly/table/bitmap/index_sub_table_format5.cc",
+        "cpp/src/sfntly/table/bitmap/simple_bitmap_glyph.cc",
+        "cpp/src/sfntly/table/bitmap/small_glyph_metrics.cc",
+        "cpp/src/sfntly/table/byte_array_table_builder.cc",
+        "cpp/src/sfntly/table/core/cmap_table.cc",
+        "cpp/src/sfntly/table/core/font_header_table.cc",
+        "cpp/src/sfntly/table/core/horizontal_device_metrics_table.cc",
+        "cpp/src/sfntly/table/core/horizontal_header_table.cc",
+        "cpp/src/sfntly/table/core/horizontal_metrics_table.cc",
+        "cpp/src/sfntly/table/core/maximum_profile_table.cc",
+        "cpp/src/sfntly/table/core/name_table.cc",
+        "cpp/src/sfntly/table/core/os2_table.cc",
+        "cpp/src/sfntly/table/font_data_table.cc",
+        "cpp/src/sfntly/table/generic_table_builder.cc",
+        "cpp/src/sfntly/table/header.cc",
+        "cpp/src/sfntly/table/subtable.cc",
+        "cpp/src/sfntly/table/table.cc",
+        "cpp/src/sfntly/table/table_based_table_builder.cc",
+        "cpp/src/sfntly/table/truetype/glyph_table.cc",
+        "cpp/src/sfntly/table/truetype/loca_table.cc",
+        "cpp/src/sfntly/tag.cc",
+        "cpp/src/sample/chromium/font_subsetter.cc",
+        "cpp/src/sample/chromium/subsetter_impl.cc",
+    ],
+
+    shared_libs: [
+        "libicuuc",
+        "libicui18n",
+    ],
+
+    cflags: [
+        "-fstack-protector",
+        "--param=ssp-buffer-size=4",
+        "-Werror",
+        "-fno-exceptions",
+        "-fno-strict-aliasing",
+        "-Wall",
+        "-Wno-unused-parameter",
+        "-Wno-missing-field-initializers",
+        "-fvisibility=hidden",
+        "-fPIC",
+        "-fno-tree-sra",
+        "-Wno-psabi",
+        "-ffunction-sections",
+        "-funwind-tables",
+        "-g",
+        "-fstack-protector",
+        "-fno-short-enums",
+        "-finline-limit=64",
+        "-Wa,--noexecstack",
+        "-U_FORTIFY_SOURCE",
+        "-Wno-extra",
+        "-Wno-ignored-qualifiers",
+        "-Wno-type-limits",
+        "-Os",
+        "-fno-ident",
+        "-fdata-sections",
+        "-ffunction-sections",
+        "-fomit-frame-pointer",
+
+        "-DANGLE_DX11",
+        "-D_FILE_OFFSET_BITS=64",
+        "-DNO_TCMALLOC",
+        "-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY",
+        "-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE",
+        "-DDISABLE_NACL",
+        "-DCHROMIUM_BUILD",
+        "-DUSE_LIBJPEG_TURBO=1",
+        "-DUSE_PROPRIETARY_CODECS",
+        "-DENABLE_CONFIGURATION_POLICY",
+        "-DENABLE_GPU=1",
+        "-DUSE_OPENSSL=1",
+        "-DENABLE_EGLIMAGE=1",
+        "-DSFNTLY_NO_EXCEPTION",
+        "-DU_USING_ICU_NAMESPACE=0",
+        "-D__STDC_CONSTANT_MACROS",
+        "-D__STDC_FORMAT_MACROS",
+        "-DANDROID",
+        "-D__GNU_SOURCE=1",
+        "-D_STLP_USE_PTR_SPECIALIZATIONS=1",
+        "-DCHROME_BUILD_ID='\"\"'",
+        "-DNDEBUG",
+        "-DNVALGRIND",
+        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
+        "-D_FORTIFY_SOURCE=2",
+    ],
+
+    cppflags: [
+        "-fno-threadsafe-statics",
+        "-fvisibility-inlines-hidden",
+        "-Wsign-compare",
+        "-Wno-abi",
+        "-Wno-error=c++0x-compat",
+        "-Wno-non-virtual-dtor",
+        "-Wno-sign-promo",
+    ],
+
+    debug: {
+        cflags: [
+            "-UNDEBUG",
+            "-UNVALGRIND",
+            "-DDYNAMIC_ANNOTATIONS_ENABLED=1",
+            "-DWTF_USE_DYNAMIC_ANNOTATIONS=1",
+            "-D_DEBUG",
+        ],
+    },
+
+    export_include_dirs: ["cpp/src"],
+}
diff --git a/Android.mk b/Android.mk
deleted file mode 100644
index 4f7a10d..0000000
--- a/Android.mk
+++ /dev/null
@@ -1,236 +0,0 @@
-BASE_PATH := $(call my-dir)
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-# We default to release for the Android build system. Developers debugging
-# code can build with "Debug"
-GYP_CONFIGURATION := Release
-
-LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-LOCAL_MODULE := libsfntly
-LOCAL_MODULE_SUFFIX := .a
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_CPP_EXTENSION := .cc
-LOCAL_GENERATED_SOURCES :=
-
-LOCAL_SRC_FILES := \
-	cpp/src/sfntly/data/byte_array.cc \
-	cpp/src/sfntly/data/font_data.cc \
-	cpp/src/sfntly/data/font_input_stream.cc \
-	cpp/src/sfntly/data/font_output_stream.cc \
-	cpp/src/sfntly/data/growable_memory_byte_array.cc \
-	cpp/src/sfntly/data/memory_byte_array.cc \
-	cpp/src/sfntly/data/readable_font_data.cc \
-	cpp/src/sfntly/data/writable_font_data.cc \
-	cpp/src/sfntly/font.cc \
-	cpp/src/sfntly/font_factory.cc \
-	cpp/src/sfntly/port/file_input_stream.cc \
-	cpp/src/sfntly/port/lock.cc \
-	cpp/src/sfntly/port/memory_input_stream.cc \
-	cpp/src/sfntly/port/memory_output_stream.cc \
-	cpp/src/sfntly/table/bitmap/big_glyph_metrics.cc \
-	cpp/src/sfntly/table/bitmap/bitmap_glyph.cc \
-	cpp/src/sfntly/table/bitmap/bitmap_glyph_info.cc \
-	cpp/src/sfntly/table/bitmap/bitmap_size_table.cc \
-	cpp/src/sfntly/table/bitmap/composite_bitmap_glyph.cc \
-	cpp/src/sfntly/table/bitmap/ebdt_table.cc \
-	cpp/src/sfntly/table/bitmap/eblc_table.cc \
-	cpp/src/sfntly/table/bitmap/ebsc_table.cc \
-	cpp/src/sfntly/table/bitmap/glyph_metrics.cc \
-	cpp/src/sfntly/table/bitmap/index_sub_table.cc \
-	cpp/src/sfntly/table/bitmap/index_sub_table_format1.cc \
-	cpp/src/sfntly/table/bitmap/index_sub_table_format2.cc \
-	cpp/src/sfntly/table/bitmap/index_sub_table_format3.cc \
-	cpp/src/sfntly/table/bitmap/index_sub_table_format4.cc \
-	cpp/src/sfntly/table/bitmap/index_sub_table_format5.cc \
-	cpp/src/sfntly/table/bitmap/simple_bitmap_glyph.cc \
-	cpp/src/sfntly/table/bitmap/small_glyph_metrics.cc \
-	cpp/src/sfntly/table/byte_array_table_builder.cc \
-	cpp/src/sfntly/table/core/cmap_table.cc \
-	cpp/src/sfntly/table/core/font_header_table.cc \
-	cpp/src/sfntly/table/core/horizontal_device_metrics_table.cc \
-	cpp/src/sfntly/table/core/horizontal_header_table.cc \
-	cpp/src/sfntly/table/core/horizontal_metrics_table.cc \
-	cpp/src/sfntly/table/core/maximum_profile_table.cc \
-	cpp/src/sfntly/table/core/name_table.cc \
-	cpp/src/sfntly/table/core/os2_table.cc \
-	cpp/src/sfntly/table/font_data_table.cc \
-	cpp/src/sfntly/table/generic_table_builder.cc \
-	cpp/src/sfntly/table/header.cc \
-	cpp/src/sfntly/table/subtable.cc \
-	cpp/src/sfntly/table/table.cc \
-	cpp/src/sfntly/table/table_based_table_builder.cc \
-	cpp/src/sfntly/table/truetype/glyph_table.cc \
-	cpp/src/sfntly/table/truetype/loca_table.cc \
-	cpp/src/sfntly/tag.cc \
-	cpp/src/sample/chromium/font_subsetter.cc \
-	cpp/src/sample/chromium/subsetter_impl.cc
-
-
-# Flags passed to both C and C++ files.
-MY_CFLAGS_Debug := \
-	-fstack-protector \
-	--param=ssp-buffer-size=4 \
-	-Werror \
-	-fno-exceptions \
-	-fno-strict-aliasing \
-	-Wall \
-	-Wno-unused-parameter \
-	-Wno-missing-field-initializers \
-	-fvisibility=hidden \
-	-pipe \
-	-fPIC \
-	-fno-tree-sra \
-	-Wno-psabi \
-	-ffunction-sections \
-	-funwind-tables \
-	-g \
-	-fstack-protector \
-	-fno-short-enums \
-	-finline-limit=64 \
-	-Wa,--noexecstack \
-	-U_FORTIFY_SOURCE \
-	-Wno-extra \
-	-Wno-ignored-qualifiers \
-	-Wno-type-limits \
-	-Os \
-	-g \
-	-fomit-frame-pointer \
-	-fdata-sections \
-	-ffunction-sections
-
-MY_DEFS_Debug := \
-	'-DANGLE_DX11' \
-	'-D_FILE_OFFSET_BITS=64' \
-	'-DNO_TCMALLOC' \
-	'-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
-	'-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
-	'-DDISABLE_NACL' \
-	'-DCHROMIUM_BUILD' \
-	'-DUSE_LIBJPEG_TURBO=1' \
-	'-DUSE_PROPRIETARY_CODECS' \
-	'-DENABLE_CONFIGURATION_POLICY' \
-	'-DENABLE_GPU=1' \
-	'-DUSE_OPENSSL=1' \
-	'-DENABLE_EGLIMAGE=1' \
-	'-DSFNTLY_NO_EXCEPTION' \
-	'-DU_USING_ICU_NAMESPACE=0' \
-	'-D__STDC_CONSTANT_MACROS' \
-	'-D__STDC_FORMAT_MACROS' \
-	'-DANDROID' \
-	'-D__GNU_SOURCE=1' \
-	'-DUSE_STLPORT=1' \
-	'-D_STLP_USE_PTR_SPECIALIZATIONS=1' \
-	'-DCHROME_BUILD_ID=""' \
-	'-DDYNAMIC_ANNOTATIONS_ENABLED=1' \
-	'-DWTF_USE_DYNAMIC_ANNOTATIONS=1' \
-	'-D_DEBUG'
-
-# Include paths placed before CFLAGS/CPPFLAGS
-LOCAL_C_INCLUDES_Debug := \
-	$(LOCAL_PATH)/cpp/src \
-	$(LOCAL_PATH) \
-	frameworks/wilhelm/include \
-
-
-# Flags passed to only C++ (and not C) files.
-LOCAL_CPPFLAGS_Debug := \
-	-fno-rtti \
-	-fno-threadsafe-statics \
-	-fvisibility-inlines-hidden \
-	-Wsign-compare \
-	-Wno-abi \
-	-Wno-error=c++0x-compat \
-	-Wno-non-virtual-dtor \
-	-Wno-sign-promo
-
-
-# Flags passed to both C and C++ files.
-MY_CFLAGS_Release := \
-	-fstack-protector \
-	--param=ssp-buffer-size=4 \
-	-Werror \
-	-fno-exceptions \
-	-fno-strict-aliasing \
-	-Wall \
-	-Wno-unused-parameter \
-	-Wno-missing-field-initializers \
-	-fvisibility=hidden \
-	-pipe \
-	-fPIC \
-	-fno-tree-sra \
-	-Wno-psabi \
-	-ffunction-sections \
-	-funwind-tables \
-	-g \
-	-fstack-protector \
-	-fno-short-enums \
-	-finline-limit=64 \
-	-Wa,--noexecstack \
-	-U_FORTIFY_SOURCE \
-	-Wno-extra \
-	-Wno-ignored-qualifiers \
-	-Wno-type-limits \
-	-Os \
-	-fno-ident \
-	-fdata-sections \
-	-ffunction-sections \
-	-fomit-frame-pointer
-
-MY_DEFS_Release := \
-	'-DANGLE_DX11' \
-	'-D_FILE_OFFSET_BITS=64' \
-	'-DNO_TCMALLOC' \
-	'-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
-	'-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
-	'-DDISABLE_NACL' \
-	'-DCHROMIUM_BUILD' \
-	'-DUSE_LIBJPEG_TURBO=1' \
-	'-DUSE_PROPRIETARY_CODECS' \
-	'-DENABLE_CONFIGURATION_POLICY' \
-	'-DENABLE_GPU=1' \
-	'-DUSE_OPENSSL=1' \
-	'-DENABLE_EGLIMAGE=1' \
-	'-DSFNTLY_NO_EXCEPTION' \
-	'-DU_USING_ICU_NAMESPACE=0' \
-	'-D__STDC_CONSTANT_MACROS' \
-	'-D__STDC_FORMAT_MACROS' \
-	'-DANDROID' \
-	'-D__GNU_SOURCE=1' \
-	'-DUSE_STLPORT=1' \
-	'-D_STLP_USE_PTR_SPECIALIZATIONS=1' \
-	'-DCHROME_BUILD_ID=""' \
-	'-DNDEBUG' \
-	'-DNVALGRIND' \
-	'-DDYNAMIC_ANNOTATIONS_ENABLED=0' \
-	'-D_FORTIFY_SOURCE=2'
-
-
-# Include paths placed before CFLAGS/CPPFLAGS
-LOCAL_C_INCLUDES_Release := \
-	$(LOCAL_PATH)/cpp/src \
-	$(LOCAL_PATH) \
-	frameworks/wilhelm/include \
-
-
-# Flags passed to only C++ (and not C) files.
-LOCAL_CPPFLAGS_Release := \
-	-fno-rtti \
-	-fno-threadsafe-statics \
-	-fvisibility-inlines-hidden \
-	-Wsign-compare \
-	-Wno-abi \
-	-Wno-error=c++0x-compat \
-	-Wno-non-virtual-dtor \
-	-Wno-sign-promo
-
-LOCAL_SHARED_LIBRARIES := libicuuc libicui18n
-
-LOCAL_CFLAGS := $(MY_CFLAGS_$(GYP_CONFIGURATION)) $(MY_DEFS_$(GYP_CONFIGURATION))
-LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES_$(GYP_CONFIGURATION))
-LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION))
-
-include $(BUILD_STATIC_LIBRARY)