Nacl uses its own toolchain with the target sysroot.
System libdir should be respected with that toolchain too.
BUG=606432
Review URL: https://codereview.chromium.org/1914103002
Cr-Original-Commit-Position: refs/heads/master@{#389830}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a82baa163c5969ef8f4733ecfeb5fe20cf51cd13
Explicitly: This reverts the patch that reverted the patch that
removed the majority of absolute paths from linux builds, and makes
it possible to use an absolute path by setting dont_embed_build_metadata
to false.
In conjunction with codereview.chromium.org/1642193002 that modifies the codesearch
buildbot to use dont_embed_build_metadata = false, this CL should allow
codesearch to continue working, and all other buildbots and users
to gain the benefits of not requiring absolute paths.
BUG=580103
Review URL: https://codereview.chromium.org/1643523004
Cr-Original-Commit-Position: refs/heads/master@{#373432}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4b6f030a35226c0d6e412b1025e791e5391b1455
Without this change when system_libdir is set (e.g.
to lib64) it would apply this to all toolchains
including the host toolchain.
Review URL: https://codereview.chromium.org/1583093002
Cr-Original-Commit-Position: refs/heads/master@{#371875}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d4566597ab32adc5586831308625c0de954e4920
[Note: Dependency claims are only valid on Linux builds]
This change removes absolute file paths from several locations in
produced binaries, reducing the total number of files containing
absolute file paths from ~30k to ~4k.
Specifically, this removes absolute paths from:
.rodata (sysroot based)
.debug_str, .debug_info (debug prefix based)
.debug_line (debug prefix and sysroot based)
.debug_info still contains (on Linux) 22 absolute paths, but
as discussed below, this is most likely simple to resolve.
This can be measured by using
$ find out/Default/ -type f | grep -v ninja | xargs -I '{}' grep -l \
'absolute-path-component' '{}' | wc -l
Before: 30420
After: 3917 (https://gist.github.com/anonymous/fd870076c990fcf792c7)
The remaining instances mostly originate from NaCL not
having the flag enabled. Enabling requires updating the
toolchain's version of clang to newer than release 3.8
Generated ninja files still have some absolute file paths. At
the very least, they contain -fdebug-prefix-map=/ABSOLUTE/PATH/TO/DIR.
This will be removed later.
BUG=439949
Review URL: https://codereview.chromium.org/1556923002
Cr-Original-Commit-Position: refs/heads/master@{#370320}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: fdca0741b22a4dddbf1808b8d0081651662b22c5
Uses forward_variables_from for some obvious cases not including the Android build, and use the template() function in the component() definition.
Remove uses of component_mode since I want to delete that.
Review URL: https://codereview.chromium.org/1265263002
Cr-Original-Commit-Position: refs/heads/master@{#341767}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a09029884e02a3c027a485877886cf75969f6b3d
The latest GN binaries rename cpu_arch to current_cpu and/or target_cpu
as appropriate, build_cpu_arch to host_cpu, and os to current_os and target_os as appropriate.
R=brettw@chromium.orgTBR=ddorwin@chromium.org
EXTRA_TRYBOTS=tryserver.chromium.linux:android_chromium_gn_compile_dbg,android_chromium_gn_compile_rel;tryserver.chromium.win:win8_chromium_gn_rel,win8_chromium_gn_dbg;tryserver.chromium.mac:mac_chromium_gn_rel,mac_chromium_gn_dbg
BUG=344767
Review URL: https://codereview.chromium.org/913373002
Cr-Original-Commit-Position: refs/heads/master@{#317223}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4327621a322c964a8bc6d1ef5a4534f0f877d63e
A starting point for doing all of src, and adding a PRESUBMIT.
Includes https://codereview.chromium.org/772663002/ and https://codereview.chromium.org/770053002/.
I haven't pushed new binaries yet.
Generated via:
> cd build
> git ls-files *.gn *.gni | sed -e "s/^/@..\\\\out\\\\Debug\\\\gn format --in-place /" >x.bat && x.bat
The only things that I don't love in the current output are:
1. Turning
args = [
"--depfile", rebase_path(depfile, root_build_dir),
"--android-sdk-tools", rebased_android_sdk_build_tools,
"--dex-path", rebased_output,
]
into:
args = [
"--depfile",
rebase_path(depfile, root_build_dir),
"--android-sdk-tools",
rebased_android_sdk_build_tools,
"--dex-path",
rebased_output,
]
The heuristic for this isn't trivial though, and it also affects e.g. '-Xclang' in cflags, as well
as assignments to temporaries that are later assigned to args.
2. Turning single line
if (defined(invoker.inputs)) { inputs = invoker.inputs }
into
if (defined(invoker.inputs)) {
inputs = invoker.inputs
}
This could be argued to be an improvement, but as it's very boilerplate-y perhaps an exception to
allow single line in this case is worthwhile. I think there was discussion of new syntax for this
case too, something like "inputs ?= invoker.inputs" maybe.
In both cases, I think it's worthwhile to get formatting turned on, and then go back and special
case these if we decide it's worthwhile.
R=brettw@chromium.org
BUG=348474
Review URL: https://codereview.chromium.org/766573003
Cr-Original-Commit-Position: refs/heads/master@{#306305}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b199254f481c5db36d56e83fce40594b06d2b81f
This also hooks up the chrome test support target which was previously not compiled (the file wasn't referenced).
This duplicates the harfbuzz logic from the GYP build where the system one is conditionally used if the pangoft2 version is sufficiently large. There are some additions to the pkg-config wrapper script to check versions.
Write a service_discovery_sniffer target but don't hook it up. Currently this gives linker errors.
Fix grit warnings for the remoting resources.
R=dpranke@chromium.org
Review URL: https://codereview.chromium.org/702903004
Cr-Original-Commit-Position: refs/heads/master@{#303489}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 32ce17ab53d97a66e50e7e49ef57e8fa9f881714
The big changes here are:
1) Allow injecting of a target toolchain via args for os==chromeos.
2) For ARM builds, allow injecting -mtune and -mfloat-abi settings.
3) Allow injecting a pkg-config wrapper that correctly handles the
CrOS build environment. This is how pkg-config is handled for
all other packages in the build.
4) Create libmojo_sdk target, a static library of public Mojo code
suitable for distribution.
5) Added testonly = true to a few targets under mojo/ that are not
meant to be used in production.
BUG=388412
TEST=Create a target that builds //mojo/public, build with os==chromeos
Review URL: https://codereview.chromium.org/549453004
Cr-Original-Commit-Position: refs/heads/master@{#296849}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2c8e745d9c4de27b44f4d866a2bf0f0a880d9b8c
This hooks up Clang in the pure GN build (not the hybrid GYP mode).
Clang gave some warnings about compiler flags which made me realize that we were giving linker flags to the compiler in some cases. So I enhanced our pkg-config wrapper to to add libraries to the cflags (missing else), return ldflags separately, and also strip out -pthread which was getting included over and over.
BUG=
Review URL: https://codereview.chromium.org/147923010
git-svn-id: http://src.chromium.org/svn/trunk/src/build@248477 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This adds support similar to the GYP scripts for running pkg-config in the presence of sysroots.
It also adds the linker flags by calling the existing horrible sysroot_ld_path.sh shell script that extracts stuff from the sysroot's configuration.
With this change, official 32-bit linux builds work in the checked in 32-bit Debian sysroots.
R=piman@chromium.org
Review URL: https://codereview.chromium.org/116803003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@241397 4ff67af0-8c30-449e-8e8b-ad334ec8d88c