| Index: build/config/compiler/BUILD.gn
|
| diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
| index 6f69e05d38994cdc144c2a61de2f6686609ec2c6..2ded34ed00ec0fb571e7c3005d624b7acc180473 100644
|
| --- a/build/config/compiler/BUILD.gn
|
| +++ b/build/config/compiler/BUILD.gn
|
| @@ -39,14 +39,12 @@ config("compiler") {
|
| cflags += [ "-fstack-protector", "--param=ssp-buffer-size=4" ]
|
| }
|
|
|
| - # Mac-specific compiler flags setup.
|
| - # ----------------------------------
|
| if (is_mac) {
|
| + # Mac-specific compiler flags setup.
|
| + # ----------------------------------
|
| +
|
| # These flags are shared between the C compiler and linker.
|
| common_mac_flags = [
|
| - # TODO(brettw) obviously this arch flag needs to be parameterized.
|
| - "-arch i386",
|
| -
|
| # Set which SDK to use.
|
| # TODO(brettw) this needs to be configurable somehow.
|
| "-isysroot", "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk",
|
| @@ -54,6 +52,13 @@ config("compiler") {
|
| "-mmacosx-version-min=10.6",
|
| ]
|
|
|
| + # CPU architecture.
|
| + if (cpu_arch == "x64") {
|
| + common_mac_flags += "-arch x86_64"
|
| + } else if (cpu_arch == "x32") {
|
| + common_mac_flags += "-arch i386"
|
| + }
|
| +
|
| cflags += common_mac_flags + [
|
| # Without this, the constructors and destructors of a C++ object inside
|
| # an Objective C struct won't be called, which is very bad.
|
| @@ -70,6 +75,19 @@ config("compiler") {
|
| "-Wl,-rpath,@loader_path/.",
|
| "-Wl,-rpath,@loader_path/../../..",
|
| ]
|
| + } else {
|
| + # Non-Mac Posix compiler flags setup.
|
| + # -----------------------------------
|
| +
|
| + # CPU architecture. We may or may not be doing a cross compile now, so for
|
| + # simplicity we always explicitly set the architecture.
|
| + if (cpu_arch == "x64") {
|
| + cflags += "-m64"
|
| + ldflags += "-m64"
|
| + } else if (cpu_arch == "x32") {
|
| + cflags += "-m32"
|
| + ldflags += "-m32"
|
| + }
|
| }
|
|
|
| # Linux-specific compiler flags setup.
|
|
|