Use cc_defaults
Use a cc_defaults module to reduce duplication.
Change-Id: Iaee6bf20b84123babcdc68d4feb06308f5f61a59
diff --git a/libc/Android.bp b/libc/Android.bp
index ab934b9..528dd47 100644
--- a/libc/Android.bp
+++ b/libc/Android.bp
@@ -1,5 +1,3 @@
-bionic_coverage = false
-
// Define the common source files for all the libc instances
// =========================================================
libc_common_src_files = [
@@ -77,51 +75,70 @@
// Define some common cflags
// ========================================================
-libc_common_cflags = [
- "-D_LIBC=1",
- "-Wall",
- "-Wextra",
- "-Wunused",
+cc_defaults {
+ name: "libc_defaults",
+ cflags: [
+ "-D_LIBC=1",
+ "-Wall",
+ "-Wextra",
+ "-Wunused",
-// Try to catch typical 32-bit assumptions that break with 64-bit pointers.
- "-Werror=pointer-to-int-cast",
- "-Werror=int-to-pointer-cast",
- "-Werror=type-limits",
- "-Werror",
-]
+ // Try to catch typical 32-bit assumptions that break with 64-bit pointers.
+ "-Werror=pointer-to-int-cast",
+ "-Werror=int-to-pointer-cast",
+ "-Werror=type-limits",
+ "-Werror",
+ ],
+ // TODO: split out the asflags.
+ asflags: [
+ "-D_LIBC=1",
+ "-Wall",
+ "-Wextra",
+ "-Wunused",
-libc_common_product_variables = {
- device_uses_jemalloc: {
- cflags: ["-DUSE_JEMALLOC"],
- include_dirs: ["external/jemalloc/include"],
+ // Try to catch typical 32-bit assumptions that break with 64-bit pointers.
+ "-Werror=pointer-to-int-cast",
+ "-Werror=int-to-pointer-cast",
+ "-Werror=type-limits",
+ "-Werror",
+ ],
+ conlyflags: ["-std=gnu99"],
+ cppflags: [],
+
+ product_variables: {
+ device_uses_jemalloc: {
+ cflags: ["-DUSE_JEMALLOC"],
+ include_dirs: ["external/jemalloc/include"],
+ },
+ device_uses_dlmalloc: {
+ cflags: ["-DUSE_DLMALLOC"],
+ },
+ // To customize dlmalloc's alignment, set BOARD_MALLOC_ALIGNMENT in
+ // the appropriate BoardConfig.mk file.
+ dlmalloc_alignment: {
+ cflags: ["-DMALLOC_ALIGNMENT=%d"],
+ },
},
- device_uses_dlmalloc: {
- cflags: ["-DUSE_DLMALLOC"],
+ // Clang/llvm has incompatible long double (fp128) for x86_64.
+ // https://llvm.org/bugs/show_bug.cgi?id=23897
+ arch: {
+ x86_64: {
+ clang: false,
+ },
},
- // To customize dlmalloc's alignment, set BOARD_MALLOC_ALIGNMENT in
- // the appropriate BoardConfig.mk file.
- dlmalloc_alignment: {
- cflags: ["-DMALLOC_ALIGNMENT=%d"],
- },
+
+ stl: "none",
+ system_shared_libs: [],
+ sanitize: ["never"],
+ native_coverage: false,
}
-// Clang/llvm has incompatible long double (fp128) for x86_64.
-// https://llvm.org/bugs/show_bug.cgi?id=23897
-use_clang_x86_64 = false
-
// ANDROIDMK TRANSLATION ERROR: unsupported directive
// ifeq ($(strip $(DEBUG_BIONIC_LIBC)),true)
//libc_common_cflags += ["-DDEBUG"]
// ANDROIDMK TRANSLATION ERROR: unsupported directive
// endif
-//
-// Define some common conlyflags
-libc_common_conlyflags = ["-std=gnu99"]
-
-// Define some common cppflags
-libc_common_cppflags = []
-
// ========================================================
// libc_stack_protector.a - stack protector code
// ========================================================
@@ -133,23 +150,9 @@
cc_library_static {
srcs: ["bionic/__stack_chk_fail.cpp"],
- cflags: libc_common_cflags + ["-fno-stack-protector"],
- conlyflags: libc_common_conlyflags,
- cppflags: libc_common_cppflags,
- product_variables: libc_common_product_variables,
+ defaults: ["libc_defaults"],
+ cflags: ["-fno-stack-protector"],
name: "libc_stack_protector",
-
- stl: "none",
- system_shared_libs: [],
- sanitize: ["never"],
- native_coverage: bionic_coverage,
-
- arch: {
- x86_64: {
- clang: use_clang_x86_64,
- },
- },
-
}
// ========================================================
@@ -158,6 +161,7 @@
cc_library_static {
+ defaults: ["libc_defaults"],
srcs: [
"tzcode/asctime.c",
"tzcode/difftime.c",
@@ -167,7 +171,7 @@
"upstream-openbsd/lib/libc/time/wcsftime.c", // tzcode doesn't include wcsftime, so we use the OpenBSD one.
],
- cflags: libc_common_cflags + [
+ cflags: [
"-fvisibility=hidden",
"-Wno-unused-parameter",
// Don't use ridiculous amounts of stack.
@@ -185,22 +189,8 @@
"-Dlint",
],
- conlyflags: libc_common_conlyflags,
- cppflags: libc_common_cppflags,
- product_variables: libc_common_product_variables,
local_include_dirs: ["tzcode/"],
name: "libc_tzcode",
-
- stl: "none",
- system_shared_libs: [],
- sanitize: ["never"],
- native_coverage: bionic_coverage,
-
- arch: {
- x86_64: {
- clang: use_clang_x86_64,
- },
- },
}
// ========================================================
@@ -209,6 +199,7 @@
cc_library_static {
+ defaults: ["libc_defaults"],
srcs: [
"dns/net/gethnamaddr.c",
"dns/net/getservbyname.c",
@@ -243,8 +234,8 @@
"upstream-openbsd/lib/libc/net/res_random.c",
],
- cflags: ["-Dres_randomid=__res_randomid"] +
- libc_common_cflags + [
+ cflags: [
+ "-Dres_randomid=__res_randomid",
"-DANDROID_CHANGES",
"-DINET6",
"-fvisibility=hidden",
@@ -252,9 +243,6 @@
"-include netbsd-compat.h",
],
- conlyflags: libc_common_conlyflags,
- cppflags: libc_common_cppflags,
- product_variables: libc_common_product_variables,
local_include_dirs: [
"dns/include",
"private",
@@ -263,17 +251,6 @@
],
name: "libc_dns",
-
- stl: "none",
- system_shared_libs: [],
- sanitize: ["never"],
- native_coverage: bionic_coverage,
-
- arch: {
- x86_64: {
- clang: use_clang_x86_64,
- },
- },
}
// ========================================================
@@ -284,6 +261,7 @@
// automatically included.
cc_library_static {
+ defaults: ["libc_defaults"],
srcs: [
"upstream-freebsd/lib/libc/gen/ldexp.c",
"upstream-freebsd/lib/libc/gen/sleep.c",
@@ -347,31 +325,19 @@
"upstream-freebsd/lib/libc/string/wmemcmp.c",
],
},
- x86_64: {
- clang: use_clang_x86_64,
- },
},
- cflags: libc_common_cflags + [
+ cflags: [
"-Wno-sign-compare",
"-Wno-uninitialized",
"-include freebsd-compat.h",
],
- conlyflags: libc_common_conlyflags,
- cppflags: libc_common_cppflags,
- product_variables: libc_common_product_variables,
local_include_dirs: [
"upstream-freebsd/android/include",
],
name: "libc_freebsd",
-
- stl: "none",
- system_shared_libs: [],
- sanitize: ["never"],
- native_coverage: bionic_coverage,
-
}
// ========================================================
@@ -383,6 +349,7 @@
cc_library_static {
+ defaults: ["libc_defaults"],
srcs: [
"upstream-netbsd/common/lib/libc/stdlib/random.c",
"upstream-netbsd/lib/libc/gen/ftw.c",
@@ -424,33 +391,19 @@
srcs: ["upstream-netbsd/common/lib/libc/hash/sha1/sha1.c"],
},
},
- cflags: libc_common_cflags + [
+ cflags: [
"-Wno-sign-compare",
"-Wno-uninitialized",
"-DPOSIX_MISTAKE",
"-include netbsd-compat.h",
],
- conlyflags: libc_common_conlyflags,
- cppflags: libc_common_cppflags,
- product_variables: libc_common_product_variables,
local_include_dirs: [
"upstream-netbsd/android/include",
"upstream-netbsd/lib/libc/include",
],
name: "libc_netbsd",
-
- stl: "none",
- system_shared_libs: [],
- sanitize: ["never"],
- native_coverage: bionic_coverage,
-
- arch: {
- x86_64: {
- clang: use_clang_x86_64,
- },
- },
}
// ========================================================
@@ -464,6 +417,7 @@
cc_library_static {
name: "libc_openbsd_ndk",
+ defaults: ["libc_defaults"],
srcs: [
"upstream-openbsd/lib/libc/compat-43/killpg.c",
"upstream-openbsd/lib/libc/gen/alarm.c",
@@ -639,16 +593,13 @@
"upstream-openbsd/lib/libc/string/wcswidth.c",
],
- cflags: libc_common_cflags + [
+ cflags: [
"-Wno-sign-compare",
"-Wno-uninitialized",
"-Wno-unused-parameter",
"-include openbsd-compat.h",
],
- conlyflags: libc_common_conlyflags,
- cppflags: libc_common_cppflags,
- product_variables: libc_common_product_variables,
local_include_dirs: [
"private",
"stdio",
@@ -656,17 +607,6 @@
"upstream-openbsd/lib/libc/include",
"upstream-openbsd/lib/libc/gdtoa/",
],
-
- stl: "none",
- system_shared_libs: [],
- sanitize: ["never"],
- native_coverage: bionic_coverage,
-
- arch: {
- x86_64: {
- clang: use_clang_x86_64,
- },
- },
}
// ========================================================
@@ -676,6 +616,7 @@
// These files are built with the openbsd-compat.h header file
// automatically included.
cc_library_static {
+ defaults: ["libc_defaults"],
srcs: [
// These two depend on getentropy_linux.c, which isn't in libc_ndk.a.
"upstream-openbsd/lib/libc/crypt/arc4random.c",
@@ -809,20 +750,16 @@
"upstream-openbsd/lib/libc/string/strncmp.c",
"upstream-openbsd/lib/libc/string/strncpy.c",
],
- clang: use_clang_x86_64,
},
},
- cflags: libc_common_cflags + [
+ cflags: [
"-Wno-sign-compare",
"-Wno-uninitialized",
"-Wno-unused-parameter",
"-include openbsd-compat.h",
],
- conlyflags: libc_common_conlyflags,
- cppflags: libc_common_cppflags,
- product_variables: libc_common_product_variables,
local_include_dirs: [
"private",
"stdio",
@@ -832,12 +769,6 @@
],
name: "libc_openbsd",
-
- stl: "none",
- system_shared_libs: [],
- sanitize: ["never"],
- native_coverage: bionic_coverage,
-
}
// ========================================================
@@ -848,6 +779,7 @@
// automatically included.
cc_library_static {
+ defaults: ["libc_defaults"],
srcs: [
"upstream-openbsd/android/gdtoa_support.cpp",
"upstream-openbsd/lib/libc/gdtoa/dmisc.c",
@@ -874,16 +806,13 @@
},
},
- cflags: libc_common_cflags + [
+ cflags: [
"-Wno-sign-compare",
"-Wno-uninitialized",
"-fvisibility=hidden",
"-include openbsd-compat.h",
],
- conlyflags: libc_common_conlyflags,
- cppflags: libc_common_cppflags,
- product_variables: libc_common_product_variables,
local_include_dirs: [
"private",
"upstream-openbsd/android/include",
@@ -891,17 +820,6 @@
],
name: "libc_gdtoa",
-
- stl: "none",
- system_shared_libs: [],
- sanitize: ["never"],
- native_coverage: bionic_coverage,
-
- arch: {
- x86_64: {
- clang: use_clang_x86_64,
- },
- },
}
// ========================================================
@@ -909,6 +827,7 @@
// ========================================================
cc_library_static {
+ defaults: ["libc_defaults"],
srcs: [
// The fork implementation depends on pthread data, so we can't include
// it in libc_ndk.a.
@@ -935,7 +854,7 @@
"bionic/strnlen.c",
"bionic/strrchr.cpp",
],
- cflags: libc_common_cflags + ["-Wframe-larger-than=2048"],
+ cflags: ["-Wframe-larger-than=2048"],
arch: {
arm: {
@@ -1338,7 +1257,6 @@
},
x86_64: {
- clang: use_clang_x86_64,
srcs: [
"arch-x86_64/bionic/__bionic_clone.S",
"arch-x86_64/bionic/_exit_with_stack_teardown.S",
@@ -1367,17 +1285,9 @@
},
},
- conlyflags: libc_common_conlyflags,
- cppflags: libc_common_cppflags + ["-Wold-style-cast"],
- product_variables: libc_common_product_variables,
+ cppflags: ["-Wold-style-cast"],
include_dirs: ["bionic/libstdc++/include"],
name: "libc_bionic",
-
- stl: "none",
- system_shared_libs: [],
- sanitize: ["never"],
- native_coverage: bionic_coverage,
-
}
// ========================================================
@@ -1386,6 +1296,7 @@
// or constructors).
// ========================================================
cc_library_static {
+ defaults: ["libc_defaults"],
srcs: [
"bionic/abort.cpp",
"bionic/accept.cpp",
@@ -1526,13 +1437,8 @@
"bionic/wctype.cpp",
"bionic/wmempcpy.cpp",
],
- cflags: libc_common_cflags + ["-Wframe-larger-than=2048"],
+ cflags: ["-Wframe-larger-than=2048"],
- arch: {
- x86_64: {
- clang: use_clang_x86_64,
- },
- },
multilib: {
lib32: {
// LP32 cruft
@@ -1540,35 +1446,22 @@
},
},
- conlyflags: libc_common_conlyflags,
- cppflags: libc_common_cppflags + ["-Wold-style-cast"],
- product_variables: libc_common_product_variables,
+ cppflags: ["-Wold-style-cast"],
local_include_dirs: ["stdio"],
include_dirs: ["bionic/libstdc++/include"],
name: "libc_bionic_ndk",
-
- stl: "none",
- system_shared_libs: [],
- sanitize: ["never"],
- native_coverage: bionic_coverage,
-
}
cc_library_static {
name: "libc_thread_atexit_impl",
+ defaults: ["libc_defaults"],
srcs: ["bionic/__cxa_thread_atexit_impl.cpp"],
- cflags: libc_common_cflags + ["-Wframe-larger-than=2048"],
- conlyflags: libc_common_conlyflags,
- cppflags: libc_common_cppflags + ["-Wold-style-cast"],
- product_variables: libc_common_product_variables,
+ cflags: ["-Wframe-larger-than=2048"],
+ cppflags: ["-Wold-style-cast"],
include_dirs: ["bionic/libstdc++/include"],
// TODO: Clang tries to use __tls_get_addr which is not supported yet
// remove after it is implemented.
clang: false,
- stl: "none",
- system_shared_libs: [],
- sanitize: ["never"],
- native_coverage: bionic_coverage,
}
// ========================================================
@@ -1580,6 +1473,7 @@
// ========================================================
cc_library_static {
+ defaults: ["libc_defaults"],
srcs: [
"bionic/pthread_atfork.cpp",
"bionic/pthread_attr.cpp",
@@ -1603,24 +1497,11 @@
"bionic/pthread_setschedparam.cpp",
"bionic/pthread_sigmask.cpp",
],
- cflags: libc_common_cflags + ["-Wframe-larger-than=2048"],
+ cflags: ["-Wframe-larger-than=2048"],
- arch: {
- x86_64: {
- clang: use_clang_x86_64,
- },
- },
-
- conlyflags: libc_common_conlyflags,
- cppflags: libc_common_cppflags + ["-Wold-style-cast"],
- product_variables: libc_common_product_variables,
+ cppflags: ["-Wold-style-cast"],
include_dirs: ["bionic/libstdc++/include"],
name: "libc_pthread",
-
- stl: "none",
- system_shared_libs: [],
- sanitize: ["never"],
- native_coverage: bionic_coverage,
}
// ========================================================
@@ -1628,21 +1509,17 @@
// ========================================================
cc_library_static {
+ defaults: ["libc_defaults"],
srcs: [
"bionic/__cxa_guard.cpp",
"bionic/__cxa_pure_virtual.cpp",
"bionic/new.cpp",
],
- cflags: libc_common_cflags + ["-fvisibility=hidden"],
- conlyflags: libc_common_conlyflags,
- cppflags: libc_common_cppflags,
+ cflags: ["-fvisibility=hidden"],
include_dirs: ["bionic/libstdc++/include"],
name: "libc_cxa",
clang: true, // GCC refuses to hide new/delete
- stl: "none",
- system_shared_libs: [],
- sanitize: ["never"],
// b/17574078: Need to disable coverage until we have a prebuilt libprofile_rt.
// Since this is a static library built with clang, it needs to link
// libprofile_rt when it is linked into the final binary. Since the final binary
@@ -1675,16 +1552,10 @@
srcs: ["arch-x86/syscalls/**/*.S"],
},
x86_64: {
- clang: use_clang_x86_64,
srcs: ["arch-x86_64/syscalls/**/*.S"],
},
},
name: "libc_syscalls",
-
- stl: "none",
- system_shared_libs: [],
- sanitize: ["never"],
- native_coverage: bionic_coverage,
}
// ========================================================
@@ -1695,22 +1566,14 @@
// ========================================================
cc_library_static {
+ defaults: ["libc_defaults"],
arch: {
arm: {
srcs: ["arch-arm/bionic/__aeabi.c"],
},
- x86_64: {
- clang: use_clang_x86_64,
- },
},
name: "libc_aeabi",
- cflags: libc_common_cflags + ["-fno-builtin"],
- product_variables: libc_common_product_variables,
-
- stl: "none",
- system_shared_libs: [],
- sanitize: ["never"],
- native_coverage: bionic_coverage,
+ cflags: ["-fno-builtin"],
}
// ========================================================
@@ -1727,6 +1590,7 @@
cc_library_static {
name: "libc_ndk",
+ defaults: ["libc_defaults"],
srcs: libc_common_src_files + ["bionic/malloc_debug_common.cpp"],
multilib: {
lib32: {
@@ -1743,18 +1607,12 @@
],
whole_static_libs: ["libc_aeabi"],
},
- x86_64: {
- clang: use_clang_x86_64,
- },
},
- cflags: libc_common_cflags + [
+ cflags: [
"-fvisibility=hidden",
"-DLIBC_STATIC",
],
- conlyflags: libc_common_conlyflags,
- cppflags: libc_common_cppflags,
- product_variables: libc_common_product_variables,
whole_static_libs: [
"libc_bionic_ndk",
@@ -1769,14 +1627,6 @@
"libc_tzcode",
"libm",
],
-
- stl: "none",
- system_shared_libs: [],
-
- // TODO: split out the asflags.
- asflags: libc_common_cflags,
- sanitize: ["never"],
- native_coverage: bionic_coverage,
}
// ========================================================
@@ -1784,16 +1634,13 @@
// ========================================================
cc_library_static {
+ defaults: ["libc_defaults"],
srcs: libc_common_src_files,
multilib: {
lib32: {
srcs: libc_common_src_files_32,
},
},
- cflags: libc_common_cflags,
- conlyflags: libc_common_conlyflags,
- cppflags: libc_common_cppflags,
- product_variables: libc_common_product_variables,
name: "libc_common",
whole_static_libs: [
@@ -1818,18 +1665,7 @@
arm: {
whole_static_libs: ["libc_aeabi"],
},
- x86_64: {
- clang: use_clang_x86_64,
- },
},
-
- stl: "none",
- system_shared_libs: [],
-
- // TODO: split out the asflags.
- asflags: libc_common_cflags,
- sanitize: ["never"],
- native_coverage: bionic_coverage,
}
// ========================================================
@@ -1843,6 +1679,7 @@
// dynamic linker.
cc_library_static {
+ defaults: ["libc_defaults"],
srcs: [
"bionic/dl_iterate_phdr_static.cpp",
"bionic/libc_init_static.cpp",
@@ -1852,32 +1689,21 @@
arm: {
srcs: ["arch-arm/bionic/exidx_static.c"],
},
- x86_64: {
- clang: use_clang_x86_64,
- },
},
- cflags: libc_common_cflags + ["-DLIBC_STATIC"],
-
- conlyflags: libc_common_conlyflags,
- cppflags: libc_common_cppflags,
- product_variables: libc_common_product_variables,
+ cflags: ["-DLIBC_STATIC"],
name: "libc_nomalloc",
whole_static_libs: ["libc_common"],
- stl: "none",
- system_shared_libs: [],
- sanitize: ["never"],
- native_coverage: bionic_coverage,
-
}
// ========================================================
// libc_malloc.a: the _prefixed_ malloc functions (like dlcalloc).
// ========================================================
cc_library_static {
- product_variables: libc_common_product_variables + {
+ defaults: ["libc_defaults"],
+ product_variables: {
device_uses_jemalloc: {
srcs: ["bionic/jemalloc_wrapper.cpp"],
whole_static_libs: ["libjemalloc"],
@@ -1886,31 +1712,18 @@
srcs: ["bionic/dlmalloc.c"],
},
},
- cflags: libc_common_cflags + ["-fvisibility=hidden"],
+ cflags: ["-fvisibility=hidden"],
- conlyflags: libc_common_conlyflags,
- cppflags: libc_common_cppflags,
name: "libc_malloc",
- stl: "none",
- sanitize: ["never"],
- native_coverage: bionic_coverage,
-
- arch: {
- x86_64: {
- clang: use_clang_x86_64,
- },
- },
}
// ========================================================
// libc.a + libc.so
// ========================================================
cc_library {
+ defaults: ["libc_defaults"],
name: "libc",
- cflags: libc_common_cflags,
- conlyflags: libc_common_conlyflags,
- cppflags: libc_common_cppflags,
- product_variables: libc_common_product_variables + {
+ product_variables: {
platform_sdk_version: {
asflags: ["-DPLATFORM_SDK_VERSION=%d"],
},
@@ -1949,8 +1762,6 @@
shared_libs: ["libdl"],
whole_static_libs: ["libc_common"],
- stl: "none",
- system_shared_libs: [],
// We'd really like to do this for all architectures, but since this wasn't done
// before, these symbols must continue to be exported on LP32 for binary
@@ -2003,14 +1814,10 @@
version_script: "libc.x86.map",
},
x86_64: {
- clang: use_clang_x86_64,
-
// Don't re-export new/delete and friends, even if the compiler really wants to.
version_script: "libc.x86_64.map",
},
},
- sanitize: ["never"],
- native_coverage: bionic_coverage,
}
// For all builds, except for the -user build we will enable memory
@@ -2025,10 +1832,7 @@
// libc_malloc_debug_leak.so
// ========================================================
cc_library_shared {
- cflags: libc_common_cflags,
- conlyflags: libc_common_conlyflags,
- cppflags: libc_common_cppflags,
- product_variables: libc_common_product_variables,
+ defaults: ["libc_defaults"],
srcs: [
"bionic/debug_backtrace.cpp",
@@ -2044,8 +1848,6 @@
"libc",
"libdl",
],
- stl: "none",
- system_shared_libs: [],
// Only need this for arm since libc++ uses its own unwind code that
// doesn't mix with the other default unwind code.
arch: {
@@ -2056,9 +1858,6 @@
],
ldflags: ["-Wl,--exclude-libs,libunwind_llvm.a"],
},
- x86_64: {
- clang: use_clang_x86_64,
- },
},
allow_undefined_symbols: true,
@@ -2070,19 +1869,14 @@
"eng",
"debug",
],
- sanitize: ["never"],
- native_coverage: bionic_coverage,
}
// ========================================================
// libc_malloc_debug_qemu.so
// ========================================================
cc_library_shared {
- cflags: libc_common_cflags + ["-DMALLOC_QEMU_INSTRUMENT"],
-
- conlyflags: libc_common_conlyflags,
- cppflags: libc_common_cppflags,
- product_variables: libc_common_product_variables,
+ defaults: ["libc_defaults"],
+ cflags: ["-DMALLOC_QEMU_INSTRUMENT"],
srcs: [
"bionic/libc_logging.cpp",
@@ -2095,8 +1889,6 @@
"libc",
"libdl",
],
- stl: "none",
- system_shared_libs: [],
// Don't re-export new/delete and friends, even if the compiler really wants to.
version_script: "version_script.txt",
@@ -2106,14 +1898,6 @@
"eng",
"debug",
],
- sanitize: ["never"],
- native_coverage: bionic_coverage,
-
- arch: {
- x86_64: {
- clang: use_clang_x86_64,
- },
- },
}
// ANDROIDMK TRANSLATION ERROR: unsupported directive
@@ -2124,10 +1908,8 @@
// libstdc++.so + libstdc++.a
// ========================================================
cc_library {
+ defaults: ["libc_defaults"],
include_dirs: ["bionic/libstdc++/include"],
- cflags: libc_common_cflags,
- cppflags: libc_common_cppflags,
- product_variables: libc_common_product_variables,
srcs: [
"bionic/__cxa_guard.cpp",
"bionic/__cxa_pure_virtual.cpp",
@@ -2135,11 +1917,7 @@
"bionic/libc_logging.cpp",
],
name: "libstdc++",
-
- stl: "none",
system_shared_libs: ["libc"],
- sanitize: ["never"],
- native_coverage: bionic_coverage,
//TODO: This is to work around b/24465209. Remove after root cause is fixed
arch: {
@@ -2152,46 +1930,56 @@
},
}
-crt_arch_flags = {
- arm: {
- local_include_dirs: ["arch-arm/include"],
- cflags: ["-mthumb-interwork"],
- },
- arm64: {
- local_include_dirs: ["arch-arm64/include"],
- },
- mips: {
- local_include_dirs: ["arch-mips/include"],
- ldflags: ["-melf32ltsmip"],
- },
- mips64: {
- local_include_dirs: ["arch-mips64/include"],
- ldflags: ["-melf64ltsmip"],
- },
- x86: {
- cflags: ["-m32"],
- ldflags: ["-melf_i386"],
- local_include_dirs: ["arch-x86/include"],
- },
- x86_64: {
- cflags: ["-m64"],
- ldflags: ["-melf_x86_64"],
- local_include_dirs: ["arch-x86_64/include"],
+cc_defaults {
+ name: "crt_defaults",
+
+ no_default_compiler_flags: true,
+
+ arch: {
+ arm: {
+ local_include_dirs: ["arch-arm/include"],
+ cflags: ["-mthumb-interwork"],
+ },
+ arm64: {
+ local_include_dirs: ["arch-arm64/include"],
+ },
+ mips: {
+ local_include_dirs: ["arch-mips/include"],
+ ldflags: ["-melf32ltsmip"],
+ },
+ mips64: {
+ local_include_dirs: ["arch-mips64/include"],
+ ldflags: ["-melf64ltsmip"],
+ },
+ x86: {
+ cflags: ["-m32"],
+ ldflags: ["-melf_i386"],
+ local_include_dirs: ["arch-x86/include"],
+ },
+ x86_64: {
+ cflags: ["-m64"],
+ ldflags: ["-melf_x86_64"],
+ local_include_dirs: ["arch-x86_64/include"],
+ },
},
}
-crt_arch_so_flags = crt_arch_flags + {
- mips: {
- cflags: ["-fPIC"],
- },
- mips64: {
- cflags: ["-fPIC"],
- },
- x86: {
- cflags: ["-fPIC"],
- },
- x86_64: {
- cflags: ["-fPIC"],
+cc_defaults {
+ name: "crt_so_defaults",
+
+ arch: {
+ mips: {
+ cflags: ["-fPIC"],
+ },
+ mips64: {
+ cflags: ["-fPIC"],
+ },
+ x86: {
+ cflags: ["-fPIC"],
+ },
+ x86_64: {
+ cflags: ["-fPIC"],
+ },
},
}
@@ -2224,9 +2012,8 @@
},
},
srcs: ["arch-common/bionic/crtbrand.S"],
- no_default_compiler_flags: true,
- arch: crt_arch_so_flags,
+ defaults: ["crt_defaults", "crt_so_defaults"],
}
// Android.mk:ignore
@@ -2234,17 +2021,15 @@
name: "crtbegin_so1",
local_include_dirs: ["include"],
srcs: ["arch-common/bionic/crtbegin_so.c"],
- no_default_compiler_flags: true,
- arch: crt_arch_so_flags,
+ defaults: ["crt_defaults", "crt_so_defaults"],
}
// Android.mk:ignore
cc_object {
name: "crtbegin_so",
- no_default_compiler_flags: true,
- arch: crt_arch_so_flags,
+ defaults: ["crt_defaults", "crt_so_defaults"],
deps: [
"crtbegin_so1",
"crtbrand",
@@ -2256,9 +2041,8 @@
name: "crtend_so",
local_include_dirs: ["include"],
srcs: ["arch-common/bionic/crtend_so.S"],
- no_default_compiler_flags: true,
- arch: crt_arch_so_flags,
+ defaults: ["crt_defaults", "crt_so_defaults"],
}
// Android.mk:ignore
@@ -2266,9 +2050,8 @@
name: "crtbegin_static1",
local_include_dirs: ["include"],
srcs: ["arch-common/bionic/crtbegin.c"],
- no_default_compiler_flags: true,
- arch: crt_arch_flags + {
+ arch: {
arm64: {
srcs: [
"arch-arm64/bionic/crtbegin.c",
@@ -2294,18 +2077,19 @@
],
},
},
+
+ defaults: ["crt_defaults"],
}
// Android.mk:ignore
cc_object {
name: "crtbegin_static",
- no_default_compiler_flags: true,
- arch: crt_arch_flags,
deps: [
"crtbegin_static1",
"crtbrand",
],
+ defaults: ["crt_defaults"],
}
// Android.mk:ignore
@@ -2313,9 +2097,8 @@
name: "crtbegin_dynamic1",
local_include_dirs: ["include"],
srcs: ["arch-common/bionic/crtbegin.c"],
- no_default_compiler_flags: true,
- arch: crt_arch_flags + {
+ arch: {
arm64: {
srcs: [
"arch-arm64/bionic/crtbegin.c",
@@ -2341,18 +2124,18 @@
],
},
},
+ defaults: ["crt_defaults"],
}
// Android.mk:ignore
cc_object {
name: "crtbegin_dynamic",
- no_default_compiler_flags: true,
- arch: crt_arch_flags,
deps: [
"crtbegin_dynamic1",
"crtbrand",
],
+ defaults: ["crt_defaults"],
}
// Android.mk:ignore
@@ -2362,7 +2145,6 @@
name: "crtend_android",
local_include_dirs: ["include"],
srcs: ["arch-common/bionic/crtend.S"],
- no_default_compiler_flags: true,
- arch: crt_arch_flags,
+ defaults: ["crt_defaults"],
}