OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 # IMPORTANT: | 5 # IMPORTANT: |
6 # Please don't directly include this file if you are building via gyp_chromium, | 6 # Please don't directly include this file if you are building via gyp_chromium, |
7 # since gyp_chromium is automatically forcing its inclusion. | 7 # since gyp_chromium is automatically forcing its inclusion. |
8 { | 8 { |
9 # Variables expected to be overriden on the GYP command line (-D) or by | 9 # Variables expected to be overriden on the GYP command line (-D) or by |
10 # ~/.gyp/include.gypi. | 10 # ~/.gyp/include.gypi. |
(...skipping 3359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3370 '-mfpmath=sse', | 3370 '-mfpmath=sse', |
3371 '-mmmx', # Allows mmintrin.h for MMX intrinsics. | 3371 '-mmmx', # Allows mmintrin.h for MMX intrinsics. |
3372 '-m32', | 3372 '-m32', |
3373 ], | 3373 ], |
3374 'ldflags': [ | 3374 'ldflags': [ |
3375 '-m32', | 3375 '-m32', |
3376 ], | 3376 ], |
3377 'conditions': [ | 3377 'conditions': [ |
3378 # Use gold linker for Android ia32 target. | 3378 # Use gold linker for Android ia32 target. |
3379 ['OS=="android"', { | 3379 ['OS=="android"', { |
3380 'cflags': [ | |
3381 '-fuse-ld=gold', | |
3382 ], | |
3383 'ldflags': [ | 3380 'ldflags': [ |
3384 '-fuse-ld=gold', | 3381 '-fuse-ld=gold', |
3385 ], | 3382 ], |
3386 }], | 3383 }], |
3387 # Install packages have started cropping up with | 3384 # Install packages have started cropping up with |
3388 # different headers between the 32-bit and 64-bit | 3385 # different headers between the 32-bit and 64-bit |
3389 # versions, so we have to shadow those differences off | 3386 # versions, so we have to shadow those differences off |
3390 # and make sure a 32-bit-on-64-bit build picks up the | 3387 # and make sure a 32-bit-on-64-bit build picks up the |
3391 # right files. | 3388 # right files. |
3392 # For android build, use NDK headers instead of host headers | 3389 # For android build, use NDK headers instead of host headers |
3393 ['host_arch!="ia32" and OS!="android"', { | 3390 ['host_arch!="ia32" and OS!="android"', { |
3394 'include_dirs+': [ | 3391 'include_dirs+': [ |
3395 '/usr/include32', | 3392 '/usr/include32', |
3396 ], | 3393 ], |
3397 }], | 3394 }], |
3398 ], | 3395 ], |
3399 }], | 3396 }], |
3400 ], | 3397 ], |
3401 }], | 3398 }], |
3402 ['target_arch=="x64"', { | 3399 ['target_arch=="x64"', { |
3403 'target_conditions': [ | 3400 'target_conditions': [ |
3404 ['_toolset=="target"', { | 3401 ['_toolset=="target"', { |
3405 'conditions': [ | 3402 'conditions': [ |
3406 # Use gold linker for Android x64 target. | 3403 # Use gold linker for Android x64 target. |
3407 ['OS=="android"', { | 3404 ['OS=="android"', { |
3408 'cflags': [ | |
3409 '-fuse-ld=gold', | |
3410 ], | |
3411 'ldflags': [ | 3405 'ldflags': [ |
3412 '-fuse-ld=gold', | 3406 '-fuse-ld=gold', |
3413 ], | 3407 ], |
3414 }], | 3408 }], |
3415 ], | 3409 ], |
3416 'cflags': [ | 3410 'cflags': [ |
3417 '-m64', | 3411 '-m64', |
3418 '-march=x86-64', | 3412 '-march=x86-64', |
3419 ], | 3413 ], |
3420 'ldflags': [ | 3414 'ldflags': [ |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3464 # uses by default when building for arm, reference for which | 3458 # uses by default when building for arm, reference for which |
3465 # can be found in the following file in the Android NDK: | 3459 # can be found in the following file in the Android NDK: |
3466 # toolchains/arm-linux-androideabi-4.4.3/setup.mk | 3460 # toolchains/arm-linux-androideabi-4.4.3/setup.mk |
3467 'cflags': [ | 3461 'cflags': [ |
3468 # The tree-sra optimization (scalar replacement for | 3462 # The tree-sra optimization (scalar replacement for |
3469 # aggregates enabling subsequent optimizations) leads to | 3463 # aggregates enabling subsequent optimizations) leads to |
3470 # invalid code generation when using the Android NDK's | 3464 # invalid code generation when using the Android NDK's |
3471 # compiler (r5-r7). This can be verified using | 3465 # compiler (r5-r7). This can be verified using |
3472 # webkit_unit_tests' WTF.Checked_int8_t test. | 3466 # webkit_unit_tests' WTF.Checked_int8_t test. |
3473 '-fno-tree-sra', | 3467 '-fno-tree-sra', |
3474 '-fuse-ld=gold', | |
3475 '-Wno-psabi', | 3468 '-Wno-psabi', |
3476 ], | 3469 ], |
3477 # Android now supports .relro sections properly. | 3470 # Android now supports .relro sections properly. |
3478 # NOTE: While these flags enable the generation of .relro | 3471 # NOTE: While these flags enable the generation of .relro |
3479 # sections, the generated libraries can still be loaded on | 3472 # sections, the generated libraries can still be loaded on |
3480 # older Android platform versions. | 3473 # older Android platform versions. |
3481 'ldflags': [ | 3474 'ldflags': [ |
3482 '-Wl,-z,relro', | 3475 '-Wl,-z,relro', |
3483 '-Wl,-z,now', | 3476 '-Wl,-z,now', |
3484 '-fuse-ld=gold', | 3477 '-fuse-ld=gold', |
3485 ], | 3478 ], |
3486 'conditions': [ | 3479 'conditions': [ |
3487 ['arm_thumb==1', { | 3480 ['arm_thumb==1', { |
3488 'cflags': [ '-mthumb-interwork' ], | 3481 'cflags': [ '-mthumb-interwork' ], |
3489 }], | 3482 }], |
3490 ['profiling==1', { | 3483 ['profiling==1', { |
3491 'cflags': [ | 3484 'cflags': [ |
3492 '-marm', # Probably reduntant, but recommend by "perf"
docs. | 3485 '-marm', # Probably reduntant, but recommend by "perf"
docs. |
3493 '-mapcs-frame', # Seems required by -fno-omit-frame-po
inter. | 3486 '-mapcs-frame', # Seems required by -fno-omit-frame-po
inter. |
3494 ], | 3487 ], |
3495 }], | 3488 }], |
3496 ['clang==1', { | 3489 ['clang==1', { |
3497 'cflags!': [ | 3490 'cflags!': [ |
3498 # Clang does not support the following options. | 3491 # Clang does not support the following options. |
3499 '-mthumb-interwork', | 3492 '-mthumb-interwork', |
3500 '-finline-limit=64', | 3493 '-finline-limit=64', |
3501 '-fno-tree-sra', | 3494 '-fno-tree-sra', |
3502 '-fuse-ld=gold', | |
3503 '-Wno-psabi', | 3495 '-Wno-psabi', |
3504 ], | 3496 ], |
3505 'cflags': [ | 3497 'cflags': [ |
3506 # TODO(hans) Enable integrated-as (crbug.com/124610). | 3498 # TODO(hans) Enable integrated-as (crbug.com/124610). |
3507 '-no-integrated-as', | 3499 '-no-integrated-as', |
3508 '-B<(android_toolchain)', # Else /usr/bin/as gets pic
ked up. | 3500 '-B<(android_toolchain)', # Else /usr/bin/as gets pic
ked up. |
3509 ], | 3501 ], |
3510 | 3502 |
3511 'ldflags!': [ | 3503 'ldflags!': [ |
3512 # Clang does not support the following options. | 3504 # Clang does not support the following options. |
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3887 ], | 3879 ], |
3888 }], | 3880 }], |
3889 # Newer gcc's support -fuse-ld, use the flag to force gold | 3881 # Newer gcc's support -fuse-ld, use the flag to force gold |
3890 # selection. | 3882 # selection. |
3891 # gcc -- http://gcc.gnu.org/onlinedocs/gcc-4.8.0/gcc/Optimize-Opti
ons.html | 3883 # gcc -- http://gcc.gnu.org/onlinedocs/gcc-4.8.0/gcc/Optimize-Opti
ons.html |
3892 # TODO(mithro): Watch for clang support at following thread: | 3884 # TODO(mithro): Watch for clang support at following thread: |
3893 # http://clang-developers.42468.n3.nabble.com/Adding-fuse-ld-suppo
rt-to-clang-td4032180.html | 3885 # http://clang-developers.42468.n3.nabble.com/Adding-fuse-ld-suppo
rt-to-clang-td4032180.html |
3894 ['gcc_version>=48', { | 3886 ['gcc_version>=48', { |
3895 'target_conditions': [ | 3887 'target_conditions': [ |
3896 ['_toolset=="target"', { | 3888 ['_toolset=="target"', { |
3897 'cflags': [ | |
3898 '-fuse-ld=gold', | |
3899 ], | |
3900 'ldflags': [ | 3889 'ldflags': [ |
3901 '-fuse-ld=gold', | 3890 '-fuse-ld=gold', |
3902 ], | 3891 ], |
3903 }], | 3892 }], |
3904 ], | 3893 ], |
3905 }], | 3894 }], |
3906 ['host_gcc_version>=48', { | 3895 ['host_gcc_version>=48', { |
3907 'target_conditions': [ | 3896 'target_conditions': [ |
3908 ['_toolset=="host"', { | 3897 ['_toolset=="host"', { |
3909 'cflags': [ | |
3910 '-fuse-ld=gold', | |
3911 ], | |
3912 'ldflags': [ | 3898 'ldflags': [ |
3913 '-fuse-ld=gold', | 3899 '-fuse-ld=gold', |
3914 ], | 3900 ], |
3915 }], | 3901 }], |
3916 ], | 3902 ], |
3917 }], | 3903 }], |
3918 ], | 3904 ], |
3919 }], | 3905 }], |
3920 ['linux_use_bundled_binutils==1', { | 3906 ['linux_use_bundled_binutils==1', { |
3921 'cflags': [ | 3907 'cflags': [ |
(...skipping 1339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5261 # settings in target dicts. SYMROOT is a special case, because many other | 5247 # settings in target dicts. SYMROOT is a special case, because many other |
5262 # Xcode variables depend on it, including variables such as | 5248 # Xcode variables depend on it, including variables such as |
5263 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 5249 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
5264 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 5250 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
5265 # files to appear (when present) in the UI as actual files and not red | 5251 # files to appear (when present) in the UI as actual files and not red |
5266 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 5252 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
5267 # and therefore SYMROOT, needs to be set at the project level. | 5253 # and therefore SYMROOT, needs to be set at the project level. |
5268 'SYMROOT': '<(DEPTH)/xcodebuild', | 5254 'SYMROOT': '<(DEPTH)/xcodebuild', |
5269 }, | 5255 }, |
5270 } | 5256 } |
OLD | NEW |