Index: build/common.gypi |
diff --git a/build/common.gypi b/build/common.gypi |
index ed052a949f939786a67055e664bad87abc320e67..f5aa51c2f84f049a4c045bb4c0b38621b85860c0 100644 |
--- a/build/common.gypi |
+++ b/build/common.gypi |
@@ -1494,7 +1494,7 @@ |
# compiler_version works with clang. |
# TODO(glider): set clang to 1 earlier for ASan and TSan builds so |
# that it takes effect here. |
- ['clang==0 and asan==0 and lsan==0 and tsan==0 and msan==0 and ubsan==0 and ubsan_vptr==0', { |
+ ['clang==0 and asan==0 and lsan==0 and tsan==0 and msan==0 and ubsan==0 and ubsan_vptr==0 and OS!="android"', { |
'binutils_version%': '<!pymod_do_main(compiler_version target assembler)', |
}], |
# On Android we know the binutils version in the toolchain. |
@@ -1649,6 +1649,13 @@ |
'android_sdk_version%': '20', |
'android_sdk_build_tools_version%': '20.0.0', |
'host_os%': "<!(uname -s | sed -e 's/Linux/linux/;s/Darwin/mac/')", |
+ #'conditions': [ |
+ # ['host_os=="mac"', { |
+ 'android_host_os': 'darwin', |
+ # }, { |
+ #'android_host_os': '<(host_os)', |
+ # }], |
+ #], |
}, |
# Copy conditionally-set variables out one scope. |
'android_ndk_root%': '<(android_ndk_root)', |
@@ -1690,21 +1697,21 @@ |
'android_gdbserver%': '<(android_ndk_root)/prebuilt/android-arm/gdbserver/gdbserver', |
'android_ndk_sysroot%': '<(android_ndk_root)/platforms/android-14/arch-arm', |
'android_ndk_lib_dir%': 'usr/lib', |
- 'android_toolchain%': '<(android_ndk_root)/toolchains/arm-linux-androideabi-4.8/prebuilt/<(host_os)-<(android_host_arch)/bin', |
+ 'android_toolchain%': '<(android_ndk_root)/toolchains/arm-linux-androideabi-4.8/prebuilt/<(android_host_os)-<(android_host_arch)/bin', |
}], |
['target_arch == "arm64"', { |
'android_app_abi%': 'arm64-v8a', |
'android_gdbserver%': '<(android_ndk_root)/prebuilt/android-arm64/gdbserver/gdbserver', |
'android_ndk_sysroot%': '<(android_ndk_root)/platforms/android-L/arch-arm64', |
'android_ndk_lib_dir%': 'usr/lib', |
- 'android_toolchain%': '<(android_ndk_root)/toolchains/aarch64-linux-android-4.9/prebuilt/<(host_os)-<(android_host_arch)/bin', |
+ 'android_toolchain%': '<(android_ndk_root)/toolchains/aarch64-linux-android-4.9/prebuilt/<(android_host_os)-<(android_host_arch)/bin', |
}], |
['target_arch == "mipsel"', { |
'android_app_abi%': 'mips', |
'android_gdbserver%': '<(android_ndk_root)/prebuilt/android-mips/gdbserver/gdbserver', |
'android_ndk_sysroot%': '<(android_ndk_root)/platforms/android-14/arch-mips', |
'android_ndk_lib_dir%': 'usr/lib', |
- 'android_toolchain%': '<(android_ndk_root)/toolchains/mipsel-linux-android-4.8/prebuilt/<(host_os)-<(android_host_arch)/bin', |
+ 'android_toolchain%': '<(android_ndk_root)/toolchains/mipsel-linux-android-4.8/prebuilt/<(android_host_os)-<(android_host_arch)/bin', |
}], |
], |
}, |
@@ -2290,8 +2297,8 @@ |
'host_cc': '<(make_clang_dir)/bin/clang', |
'host_cxx': '<(make_clang_dir)/bin/clang++', |
}, { |
- 'host_cc': '<!(which gcc)', |
- 'host_cxx': '<!(which g++)', |
+ 'host_cc': '<!(which cc)', |
+ 'host_cxx': '<!(which c++)', |
}], |
# The seccomp-bpf sandbox is only supported on four architectures |
@@ -2496,7 +2503,11 @@ |
}, { # else: branding!="Chrome" |
'defines': ['CHROMIUM_BUILD'], |
}], |
- ['OS=="mac" and component=="shared_library"', { |
+ ['enable_rlz==1', { |
+ 'defines': ['ENABLE_RLZ'], |
+ }], |
+ ['component=="shared_library"', { |
+ 'defines': ['COMPONENT_BUILD'], |
'xcode_settings': { |
'DYLIB_INSTALL_NAME_BASE': '@rpath', |
'LD_RUNPATH_SEARCH_PATHS': [ |
@@ -2504,6 +2515,8 @@ |
'@loader_path/.', |
# For bundled binaries, to get back from Binary.app/Contents/MacOS. |
'@loader_path/../../..', |
+ # For the lulz. |
+ '@loader_path/lib', |
], |
}, |
}], |
@@ -3542,7 +3555,7 @@ |
'-O<(release_optimize)', |
# Don't emit the GCC version ident directives, they just end up |
# in the .comment section taking up binary size. |
- '-fno-ident', |
+ #'-fno-ident', |
# Put data and code in their own sections, so that unused symbols |
# can be removed at link time with --gc-sections. |
'-fdata-sections', |
@@ -3800,8 +3813,8 @@ |
], |
'cflags': [ |
# TODO(hans) Enable integrated-as (crbug.com/124610). |
- '-no-integrated-as', |
- '-B<(android_toolchain)', # Else /usr/bin/as gets picked up. |
+ #'-no-integrated-as', |
+ #'-B<(android_toolchain)', # Else /usr/bin/as gets picked up. |
], |
'ldflags': [ |
# Let clang can find the ld.gold in the NDK. |
@@ -4595,6 +4608,12 @@ |
}], |
# Settings for building host targets using the system toolchain. |
['_toolset=="host"', { |
+ 'xcode_settings': { |
+ 'OTHER_CFLAGS': [ |
+ '-isysroot', '<!(xcrun --show-sdk-path)', '-stdlib=libstdc++', |
+ ], |
+ 'OTHER_LDFLAGS': [ '-stdlib=libstdc++', ], |
+ }, |
'cflags!': [ |
# Due to issues in Clang build system, using ASan on 32-bit |
# binaries on x86_64 host is problematic. |
@@ -4625,7 +4644,9 @@ |
'cflags!': ['-fvisibility=hidden'], |
'cflags_cc!': ['-fvisibility-inlines-hidden'], |
}], |
- ['OS=="mac" or OS=="ios"', { |
+ # FIXME: check _toolset (requires putting this in target_conditions)? |
+ # doesn't really matter, so maybe not? |
+ ['OS=="mac" or OS=="ios" or (OS=="android" and host_os=="mac")', { |
'target_defaults': { |
'mac_bundle': 0, |
'xcode_settings': { |
@@ -4643,7 +4664,7 @@ |
'GCC_OBJC_CALL_CXX_CDTORS': 'YES', # -fobjc-call-cxx-cdtors |
'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden |
'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics |
- 'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES', # -Werror |
+ #'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES', # -Werror |
'GCC_VERSION': '4.2', |
'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof |
'USE_HEADERMAP': 'NO', |
@@ -4663,7 +4684,7 @@ |
], |
# Note that the prebuilt Clang binaries should not be used for iOS |
# development except for ASan builds. |
- ['clang==1', { |
+ ['1 or clang==1', { |
# gnu++11 instead of c++11 is needed because some code uses |
# typeof() (a GNU extension). |
# TODO(thakis): Eventually switch this to c++11 instead of |
@@ -4688,7 +4709,7 @@ |
], |
'conditions': [ |
- ['clang_xcode==0', { |
+ ['0 and clang_xcode==0', { |
'CC': '$(SOURCE_ROOT)/<(clang_dir)/clang', |
'LDPLUSPLUS': '$(SOURCE_ROOT)/<(clang_dir)/clang++', |
}], |