Chromium Code Reviews| 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 774 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 785 # supported. | 785 # supported. |
| 786 # NOTE: The check for disable_nacl==0 and component=="static_library" | 786 # NOTE: The check for disable_nacl==0 and component=="static_library" |
| 787 # can't be used here because these variables are not defined yet, but it | 787 # can't be used here because these variables are not defined yet, but it |
| 788 # is still not supported. | 788 # is still not supported. |
| 789 ['OS!="ios" and OS!="android" and chromeos==0', { | 789 ['OS!="ios" and OS!="android" and chromeos==0', { |
| 790 'test_isolation_mode%': 'check', | 790 'test_isolation_mode%': 'check', |
| 791 }, { | 791 }, { |
| 792 'test_isolation_mode%': 'noop', | 792 'test_isolation_mode%': 'noop', |
| 793 }], | 793 }], |
| 794 # Whether Android ARM or x86 build uses OpenMAX DL FFT. | 794 # Whether Android ARM or x86 build uses OpenMAX DL FFT. |
| 795 ['OS=="android" and ((target_arch=="arm" and arm_version >= 7) or target _arch=="ia32") and android_webview_build==0', { | 795 ['OS=="android" and ((target_arch=="arm" and arm_version >= 7) or target _arch=="ia32" or target_arch=="x64") and android_webview_build==0', { |
| 796 # Currently only supported on Android ARMv7+, or ia32 | 796 # Currently only supported on Android ARMv7+, ia32 or x64 |
| 797 # without webview. When enabled, this will also enable | 797 # without webview. When enabled, this will also enable |
| 798 # WebAudio support on Android ARM and ia32. Default is | 798 # WebAudio support on Android ARM, ia32 and x64. Default is |
| 799 # enabled. Whether WebAudio is actually available depends | 799 # enabled. Whether WebAudio is actually available depends |
| 800 # on runtime settings and flags. | 800 # on runtime settings and flags. |
| 801 'use_openmax_dl_fft%': 1, | 801 'use_openmax_dl_fft%': 1, |
| 802 }, { | 802 }, { |
| 803 'use_openmax_dl_fft%': 0, | 803 'use_openmax_dl_fft%': 0, |
| 804 }], | 804 }], |
| 805 ['OS=="win" or OS=="linux"', { | 805 ['OS=="win" or OS=="linux"', { |
| 806 'enable_mdns%' : 1, | 806 'enable_mdns%' : 1, |
| 807 }], | 807 }], |
| 808 | 808 |
| (...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1291 # away once the chrome and blink interfaces are in sync | 1291 # away once the chrome and blink interfaces are in sync |
| 1292 'enable_new_gamepad_api%': 1, | 1292 'enable_new_gamepad_api%': 1, |
| 1293 | 1293 |
| 1294 'conditions': [ | 1294 'conditions': [ |
| 1295 # The version of GCC in use, set later in platforms that use GCC and have | 1295 # The version of GCC in use, set later in platforms that use GCC and have |
| 1296 # not explicitly chosen to build with clang. Currently, this means all | 1296 # not explicitly chosen to build with clang. Currently, this means all |
| 1297 # platforms except Windows, Mac and iOS. | 1297 # platforms except Windows, Mac and iOS. |
| 1298 # TODO(glider): set clang to 1 earlier for ASan and TSan builds so that | 1298 # TODO(glider): set clang to 1 earlier for ASan and TSan builds so that |
| 1299 # it takes effect here. | 1299 # it takes effect here. |
| 1300 ['os_posix==1 and OS!="mac" and OS!="ios" and clang==0 and asan==0 and lsa n==0 and tsan==0 and msan==0', { | 1300 ['os_posix==1 and OS!="mac" and OS!="ios" and clang==0 and asan==0 and lsa n==0 and tsan==0 and msan==0', { |
| 1301 'conditions': [ | 1301 'gcc_version%': '<!(python <(DEPTH)/build/compiler_version.py)', |
|
Torne
2014/03/11 11:15:35
Is this correct? We're forcing gcc 4.6 at present.
rmcilroy
2014/03/11 11:42:19
I think x64 requires 4.8 - is that right Zhenyu?
Zhenyu Liang
2014/03/12 10:27:23
Yeah, we are using gcc 4.8 for x64 porting.
The ch
rmcilroy
2014/03/12 11:04:08
Is there a reason you cannot do:
['OS=="androi
Zhenyu Liang
2014/03/12 11:30:53
I had tried this way initially. It doesn't work. G
rmcilroy
2014/03/12 15:09:53
Are you sure? When I try this myself it seems to
Zhenyu Liang
2014/03/12 18:46:32
Sorry, I misremembered that _toolset is what I tri
| |
| 1302 ['OS=="android"', { | |
| 1303 # We directly set the gcc_version since we know what we use. | |
| 1304 'gcc_version%': 46, | |
| 1305 }, { | |
| 1306 'gcc_version%': '<!(python <(DEPTH)/build/compiler_version.py)', | |
| 1307 }], | |
| 1308 ], | |
| 1309 }, { | 1302 }, { |
| 1310 'gcc_version%': 0, | 1303 'gcc_version%': 0, |
| 1311 }], | 1304 }], |
| 1312 ['OS=="win" and "<!(python <(DEPTH)/build/dir_exists.py <(windows_sdk_defa ult_path))"=="True"', { | 1305 ['OS=="win" and "<!(python <(DEPTH)/build/dir_exists.py <(windows_sdk_defa ult_path))"=="True"', { |
| 1313 'windows_sdk_path%': '<(windows_sdk_default_path)', | 1306 'windows_sdk_path%': '<(windows_sdk_default_path)', |
| 1314 }, { | 1307 }, { |
| 1315 'windows_sdk_path%': 'C:/Program Files (x86)/Windows Kits/8.0', | 1308 'windows_sdk_path%': 'C:/Program Files (x86)/Windows Kits/8.0', |
| 1316 }], | 1309 }], |
| 1317 ['OS=="win" and "<!(python <(DEPTH)/build/dir_exists.py <(directx_sdk_defa ult_path))"=="True"', { | 1310 ['OS=="win" and "<!(python <(DEPTH)/build/dir_exists.py <(directx_sdk_defa ult_path))"=="True"', { |
| 1318 'directx_sdk_path%': '<(directx_sdk_default_path)', | 1311 'directx_sdk_path%': '<(directx_sdk_default_path)', |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1420 # Android API level 14 is ICS (Android 4.0) which is the minimum | 1413 # Android API level 14 is ICS (Android 4.0) which is the minimum |
| 1421 # platform requirement for Chrome on Android, we use it for native | 1414 # platform requirement for Chrome on Android, we use it for native |
| 1422 # code compilation. | 1415 # code compilation. |
| 1423 'conditions': [ | 1416 'conditions': [ |
| 1424 ['target_arch == "ia32"', { | 1417 ['target_arch == "ia32"', { |
| 1425 'android_app_abi%': 'x86', | 1418 'android_app_abi%': 'x86', |
| 1426 'android_gdbserver%': '<(android_ndk_root)/prebuilt/android-x86/gd bserver/gdbserver', | 1419 'android_gdbserver%': '<(android_ndk_root)/prebuilt/android-x86/gd bserver/gdbserver', |
| 1427 'android_ndk_sysroot%': '<(android_ndk_root)/platforms/android-14/ arch-x86', | 1420 'android_ndk_sysroot%': '<(android_ndk_root)/platforms/android-14/ arch-x86', |
| 1428 'android_toolchain%': '<(android_ndk_root)/toolchains/x86-4.6/preb uilt/<(host_os)-<(android_host_arch)/bin', | 1421 'android_toolchain%': '<(android_ndk_root)/toolchains/x86-4.6/preb uilt/<(host_os)-<(android_host_arch)/bin', |
| 1429 }], | 1422 }], |
| 1423 ['target_arch == "x64"', { | |
| 1424 'android_app_abi%': 'x86_64', | |
| 1425 'android_gdbserver%': '<(android_ndk_root)/prebuilt/android-x86_64 /gdbserver/gdbserver', | |
| 1426 'android_ndk_sysroot%': '<(android_ndk_root)/platforms/android-19/ arch-x86_64', | |
| 1427 'android_toolchain%': '<(android_ndk_root)/toolchains/x86_64-4.8/p rebuilt/<(host_os)-<(android_host_arch)/bin', | |
| 1428 }], | |
| 1430 ['target_arch=="arm"', { | 1429 ['target_arch=="arm"', { |
| 1431 'conditions': [ | 1430 'conditions': [ |
| 1432 ['arm_version<7', { | 1431 ['arm_version<7', { |
| 1433 'android_app_abi%': 'armeabi', | 1432 'android_app_abi%': 'armeabi', |
| 1434 }, { | 1433 }, { |
| 1435 'android_app_abi%': 'armeabi-v7a', | 1434 'android_app_abi%': 'armeabi-v7a', |
| 1436 }], | 1435 }], |
| 1437 ], | 1436 ], |
| 1438 'android_gdbserver%': '<(android_ndk_root)/prebuilt/android-arm/gd bserver/gdbserver', | 1437 'android_gdbserver%': '<(android_ndk_root)/prebuilt/android-arm/gd bserver/gdbserver', |
| 1439 'android_ndk_sysroot%': '<(android_ndk_root)/platforms/android-14/ arch-arm', | 1438 'android_ndk_sysroot%': '<(android_ndk_root)/platforms/android-14/ arch-arm', |
| (...skipping 26 matching lines...) Expand all Loading... | |
| 1466 'android_stlport_include': '<(android_stlport_root)/stlport', | 1465 'android_stlport_include': '<(android_stlport_root)/stlport', |
| 1467 'android_stlport_libs_dir': '<(android_stlport_root)/libs/<(android_app_ abi)', | 1466 'android_stlport_libs_dir': '<(android_stlport_root)/libs/<(android_app_ abi)', |
| 1468 'host_os%': '<(host_os)', | 1467 'host_os%': '<(host_os)', |
| 1469 | 1468 |
| 1470 # Location of the "strip" binary, used by both gyp and scripts. | 1469 # Location of the "strip" binary, used by both gyp and scripts. |
| 1471 'android_strip%' : '<!(/bin/echo -n <(android_toolchain)/*-strip)', | 1470 'android_strip%' : '<!(/bin/echo -n <(android_toolchain)/*-strip)', |
| 1472 | 1471 |
| 1473 # Location of the "readelf" binary. | 1472 # Location of the "readelf" binary. |
| 1474 'android_readelf%' : '<!(/bin/echo -n <(android_toolchain)/*-readelf)', | 1473 'android_readelf%' : '<!(/bin/echo -n <(android_toolchain)/*-readelf)', |
| 1475 | 1474 |
| 1475 # GCC version of Android toolchain | |
| 1476 'gcc_version%': '<!(CXX=<(android_toolchain)/*-g++ python <(DEPTH)/build /compiler_version.py)', | |
|
rmcilroy
2014/03/11 11:42:19
Why is this required? Isn't it done above?
Zhenyu Liang
2014/03/12 10:27:23
It determines the gcc version of android toolchain
| |
| 1477 | |
| 1476 # Determines whether we should optimize JNI generation at the cost of | 1478 # Determines whether we should optimize JNI generation at the cost of |
| 1477 # breaking assumptions in the build system that when inputs have changed | 1479 # breaking assumptions in the build system that when inputs have changed |
| 1478 # the outputs should always change as well. This is meant purely for | 1480 # the outputs should always change as well. This is meant purely for |
| 1479 # developer builds, to avoid spurious re-linking of native files. | 1481 # developer builds, to avoid spurious re-linking of native files. |
| 1480 'optimize_jni_generation%': 0, | 1482 'optimize_jni_generation%': 0, |
| 1481 | 1483 |
| 1482 # Always uses openssl. | 1484 # Always uses openssl. |
| 1483 'use_openssl%': 1, | 1485 'use_openssl%': 1, |
| 1484 | 1486 |
| 1485 'proprietary_codecs%': '<(proprietary_codecs)', | 1487 'proprietary_codecs%': '<(proprietary_codecs)', |
| (...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1729 }], | 1731 }], |
| 1730 ['image_loader_extension==1', { | 1732 ['image_loader_extension==1', { |
| 1731 'grit_defines': ['-D', 'image_loader_extension'], | 1733 'grit_defines': ['-D', 'image_loader_extension'], |
| 1732 }], | 1734 }], |
| 1733 ['remoting==1', { | 1735 ['remoting==1', { |
| 1734 'grit_defines': ['-D', 'remoting'], | 1736 'grit_defines': ['-D', 'remoting'], |
| 1735 }], | 1737 }], |
| 1736 ['use_titlecase_in_grd_files==1', { | 1738 ['use_titlecase_in_grd_files==1', { |
| 1737 'grit_defines': ['-D', 'use_titlecase'], | 1739 'grit_defines': ['-D', 'use_titlecase'], |
| 1738 }], | 1740 }], |
| 1739 ['OS=="android" and target_arch=="ia32"', { | 1741 ['OS=="android" and (target_arch=="ia32" or target_arch=="x64")', { |
| 1740 # WebAudio on Android/x86 is disabled by default, unlike | 1742 # WebAudio on Android/x86 is disabled by default, unlike |
| 1741 # everywhere else, so use appropriate message. | 1743 # everywhere else, so use appropriate message. |
| 1742 'grit_defines': ['-D', 'use_webaudio_enable_message'], | 1744 'grit_defines': ['-D', 'use_webaudio_enable_message'], |
| 1743 }], | 1745 }], |
| 1744 ['use_third_party_translations==1', { | 1746 ['use_third_party_translations==1', { |
| 1745 'grit_defines': ['-D', 'use_third_party_translations'], | 1747 'grit_defines': ['-D', 'use_third_party_translations'], |
| 1746 'locales': [ | 1748 'locales': [ |
| 1747 'ast', 'bs', 'ca@valencia', 'en-AU', 'eo', 'eu', 'gl', 'hy', 'ia', | 1749 'ast', 'bs', 'ca@valencia', 'en-AU', 'eo', 'eu', 'gl', 'hy', 'ia', |
| 1748 'ka', 'ku', 'kw', 'ms', 'ug' | 1750 'ka', 'ku', 'kw', 'ms', 'ug' |
| 1749 ], | 1751 ], |
| (...skipping 1502 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3252 'cflags': [ | 3254 'cflags': [ |
| 3253 '-m32', | 3255 '-m32', |
| 3254 '-mmmx', | 3256 '-mmmx', |
| 3255 ], | 3257 ], |
| 3256 'ldflags': [ | 3258 'ldflags': [ |
| 3257 '-m32', | 3259 '-m32', |
| 3258 ], | 3260 ], |
| 3259 }], | 3261 }], |
| 3260 ], | 3262 ], |
| 3261 }], | 3263 }], |
| 3264 ['target_arch=="x64"', { | |
| 3265 'target_conditions': [ | |
| 3266 ['_toolset=="target"', { | |
| 3267 'conditions': [ | |
| 3268 # Use gold linker for Android x64 target. | |
| 3269 ['OS=="android"', { | |
| 3270 'cflags': [ | |
| 3271 '-fuse-ld=gold', | |
| 3272 ], | |
| 3273 'ldflags': [ | |
| 3274 '-fuse-ld=gold', | |
| 3275 ], | |
| 3276 }], | |
| 3277 ], | |
| 3278 'cflags': [ | |
| 3279 '-m64', | |
| 3280 '-march=x86-64', | |
| 3281 ], | |
| 3282 'ldflags': [ | |
| 3283 '-m64', | |
| 3284 ], | |
| 3285 }], | |
| 3286 ], | |
| 3287 }], | |
| 3262 ['target_arch=="arm"', { | 3288 ['target_arch=="arm"', { |
| 3263 'target_conditions': [ | 3289 'target_conditions': [ |
| 3264 ['_toolset=="target"', { | 3290 ['_toolset=="target"', { |
| 3265 'cflags_cc': [ | 3291 'cflags_cc': [ |
| 3266 # The codesourcery arm-2009q3 toolchain warns at that the ABI | 3292 # The codesourcery arm-2009q3 toolchain warns at that the ABI |
| 3267 # has changed whenever it encounters a varargs function. This | 3293 # has changed whenever it encounters a varargs function. This |
| 3268 # silences those warnings, as they are not helpful and | 3294 # silences those warnings, as they are not helpful and |
| 3269 # clutter legitimate warnings. | 3295 # clutter legitimate warnings. |
| 3270 '-Wno-abi', | 3296 '-Wno-abi', |
| 3271 ], | 3297 ], |
| (...skipping 613 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3885 ], | 3911 ], |
| 3886 }], | 3912 }], |
| 3887 ['target_arch=="ia32"', { | 3913 ['target_arch=="ia32"', { |
| 3888 'cflags': [ | 3914 'cflags': [ |
| 3889 '-target x86-linux-androideabi', | 3915 '-target x86-linux-androideabi', |
| 3890 ], | 3916 ], |
| 3891 'ldflags': [ | 3917 'ldflags': [ |
| 3892 '-target x86-linux-androideabi', | 3918 '-target x86-linux-androideabi', |
| 3893 ], | 3919 ], |
| 3894 }], | 3920 }], |
| 3921 # Place holder for x64 support, not tested. | |
|
rmcilroy
2014/03/11 11:42:19
Add a todo associated with a bug here please (so t
| |
| 3922 ['target_arch=="x64"', { | |
| 3923 'cflags': [ | |
| 3924 '-target x86_64-linux-androideabi', | |
| 3925 ], | |
| 3926 'ldflags': [ | |
| 3927 '-target x86_64-linux-androideabi', | |
| 3928 ], | |
| 3929 }], | |
| 3895 ], | 3930 ], |
| 3896 }], | 3931 }], |
| 3897 ['asan==1', { | 3932 ['asan==1', { |
| 3898 'cflags': [ | 3933 'cflags': [ |
| 3899 # Android build relies on -Wl,--gc-sections removing | 3934 # Android build relies on -Wl,--gc-sections removing |
| 3900 # unreachable code. ASan instrumentation for globals inhibits | 3935 # unreachable code. ASan instrumentation for globals inhibits |
| 3901 # this and results in a library with unresolvable relocations. | 3936 # this and results in a library with unresolvable relocations. |
| 3902 # TODO(eugenis): find a way to reenable this. | 3937 # TODO(eugenis): find a way to reenable this. |
| 3903 '-mllvm -asan-globals=0', | 3938 '-mllvm -asan-globals=0', |
| 3904 ], | 3939 ], |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3998 ], | 4033 ], |
| 3999 'cflags': [ | 4034 'cflags': [ |
| 4000 '-fno-stack-protector', | 4035 '-fno-stack-protector', |
| 4001 ], | 4036 ], |
| 4002 }], | 4037 }], |
| 4003 ], | 4038 ], |
| 4004 'target_conditions': [ | 4039 'target_conditions': [ |
| 4005 ['_type=="executable"', { | 4040 ['_type=="executable"', { |
| 4006 'ldflags': [ | 4041 'ldflags': [ |
| 4007 '-Bdynamic', | 4042 '-Bdynamic', |
| 4008 '-Wl,-dynamic-linker,/system/bin/linker', | |
|
rmcilroy
2014/03/11 11:42:19
This should probably be ok, but have you tested th
Zhenyu Liang
2014/03/12 10:27:23
Yes, I had tried with the original ndk in third_pa
| |
| 4009 '-Wl,--gc-sections', | 4043 '-Wl,--gc-sections', |
| 4010 '-Wl,-z,nocopyreloc', | 4044 '-Wl,-z,nocopyreloc', |
| 4011 # crtbegin_dynamic.o should be the last item in ldflags. | 4045 # crtbegin_dynamic.o should be the last item in ldflags. |
| 4012 '<(android_ndk_lib)/crtbegin_dynamic.o', | 4046 '<(android_ndk_lib)/crtbegin_dynamic.o', |
| 4013 ], | 4047 ], |
| 4014 'libraries': [ | 4048 'libraries': [ |
| 4015 # crtend_android.o needs to be the last item in libraries. | 4049 # crtend_android.o needs to be the last item in libraries. |
| 4016 # Do not add any libraries after this! | 4050 # Do not add any libraries after this! |
| 4017 '<(android_ndk_lib)/crtend_android.o', | 4051 '<(android_ndk_lib)/crtend_android.o', |
| 4018 ], | 4052 ], |
| (...skipping 1033 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5052 # settings in target dicts. SYMROOT is a special case, because many other | 5086 # settings in target dicts. SYMROOT is a special case, because many other |
| 5053 # Xcode variables depend on it, including variables such as | 5087 # Xcode variables depend on it, including variables such as |
| 5054 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 5088 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
| 5055 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 5089 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
| 5056 # files to appear (when present) in the UI as actual files and not red | 5090 # files to appear (when present) in the UI as actual files and not red |
| 5057 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 5091 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
| 5058 # and therefore SYMROOT, needs to be set at the project level. | 5092 # and therefore SYMROOT, needs to be set at the project level. |
| 5059 'SYMROOT': '<(DEPTH)/xcodebuild', | 5093 'SYMROOT': '<(DEPTH)/xcodebuild', |
| 5060 }, | 5094 }, |
| 5061 } | 5095 } |
| OLD | NEW |