Include clang in the ChromeOS toolchain tarball - part II.
This CL installs clang binaries into ${prefix}/usr/bin, instead of
${prefix}/bin, to which all other tools are installed. The rationale for
this is there is a close correlation between clang installation path and
the libraries / inclusion search path.
TEST=install the generated packages in simple chrome
BUG=chromiumo:587960
Change-Id: I2da16edd6bb0fc3e5be2dc900293e838f1121000
Reviewed-on: https://chromium-review.googlesource.com/329994
Commit-Ready: Han Shen <shenhan@chromium.org>
Tested-by: Han Shen <shenhan@chromium.org>
Reviewed-by: Luis Lozano <llozano@chromium.org>
diff --git a/scripts/cros_setup_toolchains.py b/scripts/cros_setup_toolchains.py
index 15c58fc..4590831 100644
--- a/scripts/cros_setup_toolchains.py
+++ b/scripts/cros_setup_toolchains.py
@@ -1029,8 +1029,14 @@
# Link in all the package's files, any ELF dependencies, and wrap any
# executable ELFs with helper scripts.
def MoveUsrBinToBin(path):
- """Move /usr/bin to /bin so people can just use that toplevel dir"""
- return path[4:] if path.startswith('/usr/bin/') else path
+ """Move /usr/bin to /bin so people can just use that toplevel dir
+
+ Note we do not apply this to clang - there is correlation between clang's
+ search path for libraries / inclusion and its installation path.
+ """
+ if path.startswith('/usr/bin/') and path.find('clang') == -1:
+ return path[4:]
+ return path
_BuildInitialPackageRoot(output_dir, paths, elfs, ldpaths,
path_rewrite_func=MoveUsrBinToBin, root=root)