| 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 1742 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1753 # Sessions are store separately in the Java side. | 1753 # Sessions are store separately in the Java side. |
| 1754 'enable_session_service%': 0, | 1754 'enable_session_service%': 0, |
| 1755 | 1755 |
| 1756 'p2p_apis%' : 0, | 1756 'p2p_apis%' : 0, |
| 1757 | 1757 |
| 1758 'gtest_target_type%': 'shared_library', | 1758 'gtest_target_type%': 'shared_library', |
| 1759 | 1759 |
| 1760 # Uses system APIs for decoding audio and video. | 1760 # Uses system APIs for decoding audio and video. |
| 1761 'use_libffmpeg%': '0', | 1761 'use_libffmpeg%': '0', |
| 1762 | 1762 |
| 1763 # When building as part of the Android system, use system libraries | 1763 # TODO(torne): Remove this unsupported option once all the places that |
| 1764 # where possible to reduce ROM size. | 1764 # test it have been updated. |
| 1765 'use_system_stlport%': '<(android_webview_build)', | 1765 'use_system_stlport%': 0, |
| 1766 | 1766 |
| 1767 # Copy it out one scope. | 1767 # Copy it out one scope. |
| 1768 'android_webview_build%': '<(android_webview_build)', | 1768 'android_webview_build%': '<(android_webview_build)', |
| 1769 | 1769 |
| 1770 # Default android linker script for shared library exports. | 1770 # Default android linker script for shared library exports. |
| 1771 'android_linker_script%': '<(SHARED_INTERMEDIATE_DIR)/android_exports.ls
t', | 1771 'android_linker_script%': '<(SHARED_INTERMEDIATE_DIR)/android_exports.ls
t', |
| 1772 }], # OS=="android" | 1772 }], # OS=="android" |
| 1773 ['embedded==1', { | 1773 ['embedded==1', { |
| 1774 'use_system_fontconfig%': 0, | 1774 'use_system_fontconfig%': 0, |
| 1775 }, { | 1775 }, { |
| (...skipping 2556 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4332 }, | 4332 }, |
| 4333 }], | 4333 }], |
| 4334 # Android-specific options; note that most are set above with Linux. | 4334 # Android-specific options; note that most are set above with Linux. |
| 4335 ['OS=="android"', { | 4335 ['OS=="android"', { |
| 4336 'variables': { | 4336 'variables': { |
| 4337 # This is a unique identifier for a given build. It's used for | 4337 # This is a unique identifier for a given build. It's used for |
| 4338 # identifying various build artifacts corresponding to a particular | 4338 # identifying various build artifacts corresponding to a particular |
| 4339 # build of chrome (e.g. where to find archived symbols). | 4339 # build of chrome (e.g. where to find archived symbols). |
| 4340 'chrome_build_id%': '', | 4340 'chrome_build_id%': '', |
| 4341 'conditions': [ | 4341 'conditions': [ |
| 4342 # Use shared stlport library when system one used. | |
| 4343 # Figure this out early since it needs symbols from libgcc.a, so it | 4342 # Figure this out early since it needs symbols from libgcc.a, so it |
| 4344 # has to be before that in the set of libraries. | 4343 # has to be before that in the set of libraries. |
| 4345 ['use_system_stlport==1', { | 4344 ['component=="shared_library"', { |
| 4346 'android_stlport_library': 'stlport', | 4345 'android_stlport_library': 'stlport_shared', |
| 4347 }, { | 4346 }, { |
| 4348 'conditions': [ | 4347 'android_stlport_library': 'stlport_static', |
| 4349 ['component=="shared_library"', { | |
| 4350 'android_stlport_library': 'stlport_shared', | |
| 4351 }, { | |
| 4352 'android_stlport_library': 'stlport_static', | |
| 4353 }], | |
| 4354 ], | |
| 4355 }], | 4348 }], |
| 4356 ], | 4349 ], |
| 4357 | 4350 |
| 4358 # Placing this variable here prevents from forking libvpx, used | 4351 # Placing this variable here prevents from forking libvpx, used |
| 4359 # by remoting. Remoting is off, so it needn't built, | 4352 # by remoting. Remoting is off, so it needn't built, |
| 4360 # so forking it's deps seems like overkill. | 4353 # so forking it's deps seems like overkill. |
| 4361 # But this variable need defined to properly run gyp. | 4354 # But this variable need defined to properly run gyp. |
| 4362 # A proper solution is to have an OS==android conditional | 4355 # A proper solution is to have an OS==android conditional |
| 4363 # in third_party/libvpx/libvpx.gyp to define it. | 4356 # in third_party/libvpx/libvpx.gyp to define it. |
| 4364 'libvpx_path': 'lib/linux/arm', | 4357 'libvpx_path': 'lib/linux/arm', |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4436 'ANDROID', | 4429 'ANDROID', |
| 4437 '__GNU_SOURCE=1', # Necessary for clone() | 4430 '__GNU_SOURCE=1', # Necessary for clone() |
| 4438 'USE_STLPORT=1', | 4431 'USE_STLPORT=1', |
| 4439 '_STLP_USE_PTR_SPECIALIZATIONS=1', | 4432 '_STLP_USE_PTR_SPECIALIZATIONS=1', |
| 4440 'CHROME_BUILD_ID="<(chrome_build_id)"', | 4433 'CHROME_BUILD_ID="<(chrome_build_id)"', |
| 4441 ], | 4434 ], |
| 4442 'ldflags!': [ | 4435 'ldflags!': [ |
| 4443 '-pthread', # Not supported by Android toolchain. | 4436 '-pthread', # Not supported by Android toolchain. |
| 4444 ], | 4437 ], |
| 4445 'ldflags': [ | 4438 'ldflags': [ |
| 4446 '-nostdlib', | |
| 4447 '-Wl,--no-undefined', | 4439 '-Wl,--no-undefined', |
| 4448 ], | 4440 ], |
| 4449 'libraries': [ | |
| 4450 '-l<(android_stlport_library)', | |
| 4451 # Manually link the libgcc.a that the cross compiler uses. | |
| 4452 '<!(<(android_toolchain)/*-gcc -print-libgcc-file-name)', | |
| 4453 '-lc', | |
| 4454 '-ldl', | |
| 4455 '-lm', | |
| 4456 ], | |
| 4457 'conditions': [ | 4441 'conditions': [ |
| 4458 ['component=="static_library"', { | 4442 ['component=="static_library"', { |
| 4459 'ldflags': [ | 4443 'ldflags': [ |
| 4460 '-Wl,--exclude-libs=ALL', | 4444 '-Wl,--exclude-libs=ALL', |
| 4461 ], | 4445 ], |
| 4462 }], | 4446 }], |
| 4463 ['clang==1', { | 4447 ['clang==1', { |
| 4464 'cflags': [ | 4448 'cflags': [ |
| 4465 # Work around incompatibilities between bionic and clang | 4449 # Work around incompatibilities between bionic and clang |
| 4466 # headers. | 4450 # headers. |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4519 'defines': [ | 4503 'defines': [ |
| 4520 # The NDK has these things, but doesn't define the constants | 4504 # The NDK has these things, but doesn't define the constants |
| 4521 # to say that it does. Define them here instead. | 4505 # to say that it does. Define them here instead. |
| 4522 'HAVE_SYS_UIO_H', | 4506 'HAVE_SYS_UIO_H', |
| 4523 ], | 4507 ], |
| 4524 'cflags': [ | 4508 'cflags': [ |
| 4525 '--sysroot=<(android_ndk_sysroot)', | 4509 '--sysroot=<(android_ndk_sysroot)', |
| 4526 ], | 4510 ], |
| 4527 'ldflags': [ | 4511 'ldflags': [ |
| 4528 '--sysroot=<(android_ndk_sysroot)', | 4512 '--sysroot=<(android_ndk_sysroot)', |
| 4513 '-nostdlib', |
| 4514 ], |
| 4515 'libraries': [ |
| 4516 '-l<(android_stlport_library)', |
| 4517 # Manually link the libgcc.a that the cross compiler uses. |
| 4518 '<!(<(android_toolchain)/*-gcc -print-libgcc-file-name)', |
| 4519 '-lc', |
| 4520 '-ldl', |
| 4521 '-lm', |
| 4529 ], | 4522 ], |
| 4530 }], | 4523 }], |
| 4531 ['android_webview_build==1', { | 4524 ['android_webview_build==1', { |
| 4532 'include_dirs': [ | |
| 4533 # OpenAL headers from the Android tree. | |
| 4534 '<(android_src)/frameworks/wilhelm/include', | |
| 4535 ], | |
| 4536 'cflags': [ | 4525 'cflags': [ |
| 4537 # Android predefines this as 1; undefine it here so Chromium | 4526 # Android predefines this as 1; undefine it here so Chromium |
| 4538 # can redefine it later to be 2 for chromium code and unset | 4527 # can redefine it later to be 2 for chromium code and unset |
| 4539 # for third party code. This works because cflags are added | 4528 # for third party code. This works because cflags are added |
| 4540 # before defines. | 4529 # before defines. |
| 4541 '-U_FORTIFY_SOURCE', | 4530 '-U_FORTIFY_SOURCE', |
| 4542 # Disable any additional warnings enabled by the Android build
system but which | 4531 # Disable any additional warnings enabled by the Android build
system but which |
| 4543 # chromium does not build cleanly with (when treating warning
as errors). | 4532 # chromium does not build cleanly with (when treating warning
as errors). |
| 4544 # Things that are part of -Wextra: | 4533 # Things that are part of -Wextra: |
| 4545 '-Wno-extra', # Enabled by -Wextra, but no specific flag | 4534 '-Wno-extra', # Enabled by -Wextra, but no specific flag |
| 4546 '-Wno-ignored-qualifiers', | 4535 '-Wno-ignored-qualifiers', |
| 4547 '-Wno-type-limits', | 4536 '-Wno-type-limits', |
| 4548 '-Wno-unused-but-set-variable', | 4537 '-Wno-unused-but-set-variable', |
| 4549 ], | 4538 ], |
| 4550 'cflags_cc': [ | 4539 'cflags_cc': [ |
| 4551 # Other things unrelated to -Wextra: | 4540 # Other things unrelated to -Wextra: |
| 4552 '-Wno-non-virtual-dtor', | 4541 '-Wno-non-virtual-dtor', |
| 4553 '-Wno-sign-promo', | 4542 '-Wno-sign-promo', |
| 4554 ], | 4543 ], |
| 4544 'libraries': [ |
| 4545 '-ldl', |
| 4546 ], |
| 4555 }], | 4547 }], |
| 4556 ['android_webview_build==1', { | 4548 ['android_webview_build==1', { |
| 4557 'target_conditions': [ | 4549 'target_conditions': [ |
| 4558 ['chromium_code==0', { | 4550 ['chromium_code==0', { |
| 4559 'cflags': [ | 4551 'cflags': [ |
| 4560 # There is a class of warning which: | 4552 # There is a class of warning which: |
| 4561 # 1) Android always enables and also treats as errors | 4553 # 1) Android always enables and also treats as errors |
| 4562 # 2) Chromium ignores in third party code | 4554 # 2) Chromium ignores in third party code |
| 4563 # So we re-enable those warnings when building Android. | 4555 # So we re-enable those warnings when building Android. |
| 4564 '-Wno-address', | 4556 '-Wno-address', |
| (...skipping 12 matching lines...) Expand all Loading... |
| 4577 # Enable identical code folding to reduce size. | 4569 # Enable identical code folding to reduce size. |
| 4578 '-Wl,--icf=safe', | 4570 '-Wl,--icf=safe', |
| 4579 ], | 4571 ], |
| 4580 }], | 4572 }], |
| 4581 # NOTE: The stlport header include paths below are specified in | 4573 # NOTE: The stlport header include paths below are specified in |
| 4582 # cflags rather than include_dirs because they need to come | 4574 # cflags rather than include_dirs because they need to come |
| 4583 # after include_dirs. Think of them like system headers, but | 4575 # after include_dirs. Think of them like system headers, but |
| 4584 # don't use '-isystem' because the arm-linux-androideabi-4.4.3 | 4576 # don't use '-isystem' because the arm-linux-androideabi-4.4.3 |
| 4585 # toolchain (circa Gingerbread) will exhibit strange errors. | 4577 # toolchain (circa Gingerbread) will exhibit strange errors. |
| 4586 # The include ordering here is important; change with caution. | 4578 # The include ordering here is important; change with caution. |
| 4587 ['use_system_stlport==1', { | 4579 ['android_webview_build==0', { |
| 4588 'cflags': [ | |
| 4589 # For libstdc++/include, which is used by stlport. | |
| 4590 '-I<(android_src)/bionic', | |
| 4591 '-I<(android_src)/external/stlport/stlport', | |
| 4592 ], | |
| 4593 }, { # else: use_system_stlport!=1 | |
| 4594 'cflags': [ | 4580 'cflags': [ |
| 4595 '-isystem<(android_stlport_include)', | 4581 '-isystem<(android_stlport_include)', |
| 4596 ], | 4582 ], |
| 4597 'ldflags': [ | 4583 'ldflags': [ |
| 4598 '-L<(android_stlport_libs_dir)', | 4584 '-L<(android_stlport_libs_dir)', |
| 4599 ], | 4585 ], |
| 4586 }, { # else: android_webview_build!=0 |
| 4587 'aosp_build_settings': { |
| 4588 # Specify that we want to statically link stlport from the |
| 4589 # NDK. This will provide all the include and library paths |
| 4590 # automatically at build time, and link the right library. |
| 4591 'LOCAL_NDK_STL_VARIANT': 'stlport_static', |
| 4592 }, |
| 4600 }], | 4593 }], |
| 4601 ['target_arch=="ia32"', { | 4594 ['target_arch=="ia32"', { |
| 4602 # The x86 toolchain currently has problems with stack-protector. | 4595 # The x86 toolchain currently has problems with stack-protector. |
| 4603 'cflags!': [ | 4596 'cflags!': [ |
| 4604 '-fstack-protector', | 4597 '-fstack-protector', |
| 4605 ], | 4598 ], |
| 4606 'cflags': [ | 4599 'cflags': [ |
| 4607 '-fno-stack-protector', | 4600 '-fno-stack-protector', |
| 4608 ], | 4601 ], |
| 4609 }], | 4602 }], |
| (...skipping 1139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5749 # settings in target dicts. SYMROOT is a special case, because many other | 5742 # settings in target dicts. SYMROOT is a special case, because many other |
| 5750 # Xcode variables depend on it, including variables such as | 5743 # Xcode variables depend on it, including variables such as |
| 5751 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 5744 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
| 5752 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 5745 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
| 5753 # files to appear (when present) in the UI as actual files and not red | 5746 # files to appear (when present) in the UI as actual files and not red |
| 5754 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 5747 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
| 5755 # and therefore SYMROOT, needs to be set at the project level. | 5748 # and therefore SYMROOT, needs to be set at the project level. |
| 5756 'SYMROOT': '<(DEPTH)/xcodebuild', | 5749 'SYMROOT': '<(DEPTH)/xcodebuild', |
| 5757 }, | 5750 }, |
| 5758 } | 5751 } |
| OLD | NEW |