| Index: build/config/BUILDCONFIG.gn
|
| diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
|
| index d055e705627c96782434537d0157594ff4f6dad0..9fee5904ca7a3a3872f4ca1ded7433ead61a1193 100644
|
| --- a/build/config/BUILDCONFIG.gn
|
| +++ b/build/config/BUILDCONFIG.gn
|
| @@ -69,6 +69,13 @@ if (current_os == "") {
|
| current_os = target_os
|
| }
|
|
|
| +# Checks whether we are running on a Power or z System.
|
| +# This is used many times in multiple files and the four parts
|
| +# of the clause almost always go together.
|
| +# Creating a helper variable vastly improves readability.
|
| +is_power_or_z = current_cpu == "s390x" || current_cpu == "s390" ||
|
| + current_cpu == "ppc64" || current_cpu == "ppc"
|
| +
|
| # =============================================================================
|
| # BUILD FLAGS
|
| # =============================================================================
|
| @@ -135,8 +142,9 @@ declare_args() {
|
|
|
| # Set to true when compiling with the Clang compiler. Typically this is used
|
| # to configure warnings.
|
| - is_clang = current_os == "mac" || current_os == "ios" ||
|
| - current_os == "linux" || current_os == "chromeos"
|
| + is_clang =
|
| + current_os == "mac" || current_os == "ios" || current_os == "chromeos" ||
|
| + (current_os == "linux" && !is_power_or_z)
|
|
|
| # Allows the path to a custom target toolchain to be injected as a single
|
| # argument, and set as the default toolchain.
|
| @@ -207,6 +215,8 @@ if (host_toolchain == "") {
|
| } else {
|
| host_toolchain = "//build/toolchain/win:$target_cpu"
|
| }
|
| + } else if (host_os == "aix") {
|
| + host_toolchain = "//build/toolchain/aix:$host_cpu"
|
| } else {
|
| assert(false, "Unsupported host_os: $host_os")
|
| }
|
| @@ -242,6 +252,8 @@ if (target_os == "android") {
|
| } else {
|
| _default_toolchain = "//build/toolchain/win:$target_cpu"
|
| }
|
| +} else if (target_os == "aix") {
|
| + _default_toolchain = "//build/toolchain/aix:$target_cpu"
|
| } else if (target_os == "winrt_81" || target_os == "winrt_81_phone" ||
|
| target_os == "winrt_10") {
|
| _default_toolchain = "//build/toolchain/win:winrt_$target_cpu"
|
| @@ -342,6 +354,15 @@ if (current_os == "win" || current_os == "winrt_81" ||
|
| is_nacl = false
|
| is_posix = true
|
| is_win = false
|
| +} else if (current_os == "aix") {
|
| + is_android = false
|
| + is_chromeos = false
|
| + is_ios = false
|
| + is_linux = false
|
| + is_mac = false
|
| + is_nacl = false
|
| + is_posix = true
|
| + is_win = false
|
| }
|
|
|
| # =============================================================================
|
| @@ -370,6 +391,7 @@ if (!is_posix) {
|
| "*\bposix/*",
|
| ]
|
| }
|
| +
|
| if (!is_win) {
|
| sources_assignment_filter += [
|
| "*_win.cc",
|
| @@ -498,11 +520,13 @@ if (current_os == "winrt_81" || current_os == "winrt_81_phone" ||
|
| current_os == "winrt_10") {
|
| default_compiler_configs += [ "//build/config/win:target_winrt" ]
|
| }
|
| +
|
| if (is_posix) {
|
| - default_compiler_configs += [
|
| - "//build/config/gcc:no_exceptions",
|
| - "//build/config/gcc:symbol_visibility_hidden",
|
| - ]
|
| + default_compiler_configs += [ "//build/config/gcc:no_exceptions" ]
|
| + if (current_os != "aix") {
|
| + default_compiler_configs +=
|
| + [ "//build/config/gcc:symbol_visibility_hidden" ]
|
| + }
|
| }
|
|
|
| if (is_android) {
|
|
|