[clang_toolchain] Pass zlib and libxml2 roots explicitly to CMake
Now that LLVM CMake uses find_package to find location of both
zlib and libxml2, we can use the corresponding CMake variable to
pass the roots explicitly rather than relying on pkg-config which
also addresses the recent breakage.
Bug: 45444
Change-Id: Ibec2810fb01b02b15beec691ac589b918a79f20c
diff --git a/recipes/clang_toolchain.expected/ci-linux-x64.json b/recipes/clang_toolchain.expected/ci-linux-x64.json
index a3f3ee0..332978f 100644
--- a/recipes/clang_toolchain.expected/ci-linux-x64.json
+++ b/recipes/clang_toolchain.expected/ci-linux-x64.json
@@ -348,21 +348,6 @@
]
},
{
- "cmd": [
- "vpython",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "ensure-directory",
- "--mode",
- "0777",
- "[CLEANUP]/clang_tmp_1/lib_install"
- ],
- "infra_step": true,
- "name": "create lib_install_dir"
- },
- {
"cmd": [],
"name": "pre_goma"
},
@@ -431,6 +416,24 @@
"ensure-directory",
"--mode",
"0777",
+ "[CLEANUP]/clang_tmp_1/zlib_install"
+ ],
+ "infra_step": true,
+ "name": "zlib.create zlib_install_dir",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
"[START_DIR]/zlib/src"
],
"infra_step": true,
@@ -727,7 +730,7 @@
"cmd": [
"make",
"install",
- "DESTDIR=[CLEANUP]/clang_tmp_1/lib_install"
+ "DESTDIR=[CLEANUP]/clang_tmp_1/zlib_install"
],
"cwd": "[START_DIR]/zlib/obj",
"env": {
@@ -756,6 +759,24 @@
"ensure-directory",
"--mode",
"0777",
+ "[CLEANUP]/clang_tmp_1/libxml2_install"
+ ],
+ "infra_step": true,
+ "name": "libxml2.create libxml2_install_dir",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
"[START_DIR]/libxml2/src"
],
"infra_step": true,
@@ -1031,7 +1052,7 @@
"--host=x86_64-linux-gnu",
"--disable-shared",
"--enable-static",
- "--with-zlib=[CLEANUP]/clang_tmp_1/lib_install",
+ "--with-zlib=[CLEANUP]/clang_tmp_1/libxml2_install",
"--without-icu",
"--without-lzma",
"--without-python",
@@ -1062,7 +1083,7 @@
"cmd": [
"make",
"install",
- "DESTDIR=[CLEANUP]/clang_tmp_1/lib_install"
+ "DESTDIR=[CLEANUP]/clang_tmp_1/libxml2_install"
],
"cwd": "[START_DIR]/libxml2/obj",
"name": "libxml2.install",
@@ -1205,11 +1226,14 @@
"-DCMAKE_OBJDUMP=[START_DIR]/cipd/bin/llvm-objdump",
"-DCMAKE_RANLIB=[START_DIR]/cipd/bin/llvm-ranlib",
"-DCMAKE_STRIP=[START_DIR]/cipd/bin/llvm-strip",
- "-DCMAKE_C_FLAGS=-I[CLEANUP]/clang_tmp_1/lib_install/include -I[CLEANUP]/clang_tmp_1/lib_install/include/libxml2",
- "-DCMAKE_CXX_FLAGS=-I[CLEANUP]/clang_tmp_1/lib_install/include -I[CLEANUP]/clang_tmp_1/lib_install/include/libxml2",
- "-DCMAKE_SHARED_LINKER_FLAGS=-static-libstdc++ -ldl -lpthread -L[START_DIR]/cipd/linux-amd64/lib -L[CLEANUP]/clang_tmp_1/lib_install/lib",
- "-DCMAKE_MODULE_LINKER_FLAGS=-static-libstdc++ -ldl -lpthread -L[START_DIR]/cipd/linux-amd64/lib -L[CLEANUP]/clang_tmp_1/lib_install/lib",
- "-DCMAKE_EXE_LINKER_FLAGS=-static-libstdc++ -ldl -lpthread -L[START_DIR]/cipd/linux-amd64/lib -L[CLEANUP]/clang_tmp_1/lib_install/lib",
+ "-DCMAKE_C_FLAGS=-I[CLEANUP]/clang_tmp_1/zlib_install/include",
+ "-DCMAKE_CXX_FLAGS=-I[CLEANUP]/clang_tmp_1/zlib_install/include",
+ "-DZLIB_ROOT=[CLEANUP]/clang_tmp_1/zlib_install",
+ "-DLIBXML2_INCLUDE_DIR=[CLEANUP]/clang_tmp_1/libxml2_install/include/libxml2",
+ "-DLIBXML2_LIBRARY=[CLEANUP]/clang_tmp_1/libxml2_install/lib/libxml2.a",
+ "-DCMAKE_SHARED_LINKER_FLAGS=-static-libstdc++",
+ "-DCMAKE_MODULE_LINKER_FLAGS=-static-libstdc++",
+ "-DCMAKE_EXE_LINKER_FLAGS=-static-libstdc++",
"-DCMAKE_SYSROOT=[START_DIR]/cipd/linux-amd64",
"-DLLVM_ENABLE_LTO=OFF",
"-DLLVM_ENABLE_ASSERTIONS=ON",
diff --git a/recipes/clang_toolchain.expected/ci-mac-x64.json b/recipes/clang_toolchain.expected/ci-mac-x64.json
index b25b5b1..7c053be 100644
--- a/recipes/clang_toolchain.expected/ci-mac-x64.json
+++ b/recipes/clang_toolchain.expected/ci-mac-x64.json
@@ -349,21 +349,6 @@
},
{
"cmd": [
- "vpython",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "ensure-directory",
- "--mode",
- "0777",
- "[CLEANUP]/clang_tmp_1/lib_install"
- ],
- "infra_step": true,
- "name": "create lib_install_dir"
- },
- {
- "cmd": [
"cipd",
"ensure",
"-root",
@@ -493,6 +478,24 @@
"ensure-directory",
"--mode",
"0777",
+ "[CLEANUP]/clang_tmp_1/zlib_install"
+ ],
+ "infra_step": true,
+ "name": "zlib.create zlib_install_dir",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
"[START_DIR]/zlib/src"
],
"infra_step": true,
@@ -789,7 +792,7 @@
"cmd": [
"make",
"install",
- "DESTDIR=[CLEANUP]/clang_tmp_1/lib_install"
+ "DESTDIR=[CLEANUP]/clang_tmp_1/zlib_install"
],
"cwd": "[START_DIR]/zlib/obj",
"env": {
@@ -818,6 +821,24 @@
"ensure-directory",
"--mode",
"0777",
+ "[CLEANUP]/clang_tmp_1/libxml2_install"
+ ],
+ "infra_step": true,
+ "name": "libxml2.create libxml2_install_dir",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
"[START_DIR]/libxml2/src"
],
"infra_step": true,
@@ -1093,7 +1114,7 @@
"--host=x86_64-apple-darwin",
"--disable-shared",
"--enable-static",
- "--with-zlib=[CLEANUP]/clang_tmp_1/lib_install",
+ "--with-zlib=[CLEANUP]/clang_tmp_1/libxml2_install",
"--without-icu",
"--without-lzma",
"--without-python",
@@ -1124,7 +1145,7 @@
"cmd": [
"make",
"install",
- "DESTDIR=[CLEANUP]/clang_tmp_1/lib_install"
+ "DESTDIR=[CLEANUP]/clang_tmp_1/libxml2_install"
],
"cwd": "[START_DIR]/libxml2/obj",
"name": "libxml2.install",
@@ -1260,6 +1281,11 @@
"-DCMAKE_C_COMPILER_LAUNCHER=[CACHE]/goma/client/gomacc",
"-DCMAKE_CXX_COMPILER_LAUNCHER=[CACHE]/goma/client/gomacc",
"-DCMAKE_ASM_COMPILER_LAUNCHER=[CACHE]/goma/client/gomacc",
+ "-DCMAKE_C_FLAGS=-I[CLEANUP]/clang_tmp_1/zlib_install/include",
+ "-DCMAKE_CXX_FLAGS=-I[CLEANUP]/clang_tmp_1/zlib_install/include",
+ "-DZLIB_ROOT=[CLEANUP]/clang_tmp_1/zlib_install",
+ "-DLIBXML2_INCLUDE_DIR=[CLEANUP]/clang_tmp_1/libxml2_install/include/libxml2",
+ "-DLIBXML2_LIBRARY=[CLEANUP]/clang_tmp_1/libxml2_install/lib/libxml2.a",
"-DCMAKE_SHARED_LINKER_FLAGS=-nostdlib++ [START_DIR]/cipd/lib/libc++.a",
"-DCMAKE_MODULE_LINKER_FLAGS=-nostdlib++ [START_DIR]/cipd/lib/libc++.a",
"-DCMAKE_EXE_LINKER_FLAGS=-nostdlib++ [START_DIR]/cipd/lib/libc++.a",
diff --git a/recipes/clang_toolchain.expected/linux-arm64.json b/recipes/clang_toolchain.expected/linux-arm64.json
index 4da8775..a4e5ccf 100644
--- a/recipes/clang_toolchain.expected/linux-arm64.json
+++ b/recipes/clang_toolchain.expected/linux-arm64.json
@@ -316,6 +316,10 @@
]
},
{
+ "cmd": [],
+ "name": "zlib"
+ },
+ {
"cmd": [
"vpython",
"-u",
@@ -325,14 +329,13 @@
"ensure-directory",
"--mode",
"0777",
- "[CLEANUP]/clang_tmp_1/lib_install"
+ "[CLEANUP]/clang_tmp_1/zlib_install"
],
"infra_step": true,
- "name": "create lib_install_dir"
- },
- {
- "cmd": [],
- "name": "zlib"
+ "name": "zlib.create zlib_install_dir",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
},
{
"cmd": [
@@ -640,7 +643,7 @@
"cmd": [
"make",
"install",
- "DESTDIR=[CLEANUP]/clang_tmp_1/lib_install"
+ "DESTDIR=[CLEANUP]/clang_tmp_1/zlib_install"
],
"cwd": "[START_DIR]/zlib/obj",
"env": {
@@ -669,6 +672,24 @@
"ensure-directory",
"--mode",
"0777",
+ "[CLEANUP]/clang_tmp_1/libxml2_install"
+ ],
+ "infra_step": true,
+ "name": "libxml2.create libxml2_install_dir",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
"[START_DIR]/libxml2/src"
],
"infra_step": true,
@@ -944,7 +965,7 @@
"--host=aarch64-linux-gnu",
"--disable-shared",
"--enable-static",
- "--with-zlib=[CLEANUP]/clang_tmp_1/lib_install",
+ "--with-zlib=[CLEANUP]/clang_tmp_1/libxml2_install",
"--without-icu",
"--without-lzma",
"--without-python",
@@ -975,7 +996,7 @@
"cmd": [
"make",
"install",
- "DESTDIR=[CLEANUP]/clang_tmp_1/lib_install"
+ "DESTDIR=[CLEANUP]/clang_tmp_1/libxml2_install"
],
"cwd": "[START_DIR]/libxml2/obj",
"name": "libxml2.install",
@@ -1115,11 +1136,14 @@
"-DCMAKE_OBJDUMP=[START_DIR]/cipd/bin/llvm-objdump",
"-DCMAKE_RANLIB=[START_DIR]/cipd/bin/llvm-ranlib",
"-DCMAKE_STRIP=[START_DIR]/cipd/bin/llvm-strip",
- "-DCMAKE_C_FLAGS=-I[CLEANUP]/clang_tmp_1/lib_install/include -I[CLEANUP]/clang_tmp_1/lib_install/include/libxml2",
- "-DCMAKE_CXX_FLAGS=-I[CLEANUP]/clang_tmp_1/lib_install/include -I[CLEANUP]/clang_tmp_1/lib_install/include/libxml2",
- "-DCMAKE_SHARED_LINKER_FLAGS=-static-libstdc++ -ldl -lpthread -L[START_DIR]/cipd/linux-arm64/lib -L[CLEANUP]/clang_tmp_1/lib_install/lib",
- "-DCMAKE_MODULE_LINKER_FLAGS=-static-libstdc++ -ldl -lpthread -L[START_DIR]/cipd/linux-arm64/lib -L[CLEANUP]/clang_tmp_1/lib_install/lib",
- "-DCMAKE_EXE_LINKER_FLAGS=-static-libstdc++ -ldl -lpthread -L[START_DIR]/cipd/linux-arm64/lib -L[CLEANUP]/clang_tmp_1/lib_install/lib",
+ "-DCMAKE_C_FLAGS=-I[CLEANUP]/clang_tmp_1/zlib_install/include",
+ "-DCMAKE_CXX_FLAGS=-I[CLEANUP]/clang_tmp_1/zlib_install/include",
+ "-DZLIB_ROOT=[CLEANUP]/clang_tmp_1/zlib_install",
+ "-DLIBXML2_INCLUDE_DIR=[CLEANUP]/clang_tmp_1/libxml2_install/include/libxml2",
+ "-DLIBXML2_LIBRARY=[CLEANUP]/clang_tmp_1/libxml2_install/lib/libxml2.a",
+ "-DCMAKE_SHARED_LINKER_FLAGS=-static-libstdc++",
+ "-DCMAKE_MODULE_LINKER_FLAGS=-static-libstdc++",
+ "-DCMAKE_EXE_LINKER_FLAGS=-static-libstdc++",
"-DCMAKE_SYSROOT=[START_DIR]/cipd/linux-arm64",
"-DLLVM_ENABLE_LTO=OFF",
"-DLLVM_ENABLE_ASSERTIONS=ON",
diff --git a/recipes/clang_toolchain.expected/prod-linux-x64.json b/recipes/clang_toolchain.expected/prod-linux-x64.json
index 89b7ac7..1c32150 100644
--- a/recipes/clang_toolchain.expected/prod-linux-x64.json
+++ b/recipes/clang_toolchain.expected/prod-linux-x64.json
@@ -348,21 +348,6 @@
]
},
{
- "cmd": [
- "vpython",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "ensure-directory",
- "--mode",
- "0777",
- "[CLEANUP]/clang_tmp_1/lib_install"
- ],
- "infra_step": true,
- "name": "create lib_install_dir"
- },
- {
"cmd": [],
"name": "pre_goma"
},
@@ -431,6 +416,24 @@
"ensure-directory",
"--mode",
"0777",
+ "[CLEANUP]/clang_tmp_1/zlib_install"
+ ],
+ "infra_step": true,
+ "name": "zlib.create zlib_install_dir",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
"[START_DIR]/zlib/src"
],
"infra_step": true,
@@ -727,7 +730,7 @@
"cmd": [
"make",
"install",
- "DESTDIR=[CLEANUP]/clang_tmp_1/lib_install"
+ "DESTDIR=[CLEANUP]/clang_tmp_1/zlib_install"
],
"cwd": "[START_DIR]/zlib/obj",
"env": {
@@ -756,6 +759,24 @@
"ensure-directory",
"--mode",
"0777",
+ "[CLEANUP]/clang_tmp_1/libxml2_install"
+ ],
+ "infra_step": true,
+ "name": "libxml2.create libxml2_install_dir",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
"[START_DIR]/libxml2/src"
],
"infra_step": true,
@@ -1031,7 +1052,7 @@
"--host=x86_64-linux-gnu",
"--disable-shared",
"--enable-static",
- "--with-zlib=[CLEANUP]/clang_tmp_1/lib_install",
+ "--with-zlib=[CLEANUP]/clang_tmp_1/libxml2_install",
"--without-icu",
"--without-lzma",
"--without-python",
@@ -1062,7 +1083,7 @@
"cmd": [
"make",
"install",
- "DESTDIR=[CLEANUP]/clang_tmp_1/lib_install"
+ "DESTDIR=[CLEANUP]/clang_tmp_1/libxml2_install"
],
"cwd": "[START_DIR]/libxml2/obj",
"name": "libxml2.install",
@@ -1205,15 +1226,23 @@
"-DCMAKE_OBJDUMP=[START_DIR]/cipd/bin/llvm-objdump",
"-DCMAKE_RANLIB=[START_DIR]/cipd/bin/llvm-ranlib",
"-DCMAKE_STRIP=[START_DIR]/cipd/bin/llvm-strip",
- "-DBOOTSTRAP_CMAKE_C_FLAGS=-I[CLEANUP]/clang_tmp_1/lib_install/include -I[CLEANUP]/clang_tmp_1/lib_install/include/libxml2",
- "-DBOOTSTRAP_CMAKE_CXX_FLAGS=-I[CLEANUP]/clang_tmp_1/lib_install/include -I[CLEANUP]/clang_tmp_1/lib_install/include/libxml2",
- "-DBOOTSTRAP_CMAKE_SHARED_LINKER_FLAGS=-static-libstdc++ -ldl -lpthread -L[START_DIR]/cipd/linux-amd64/lib -L[CLEANUP]/clang_tmp_1/lib_install/lib",
- "-DBOOTSTRAP_CMAKE_MODULE_LINKER_FLAGS=-static-libstdc++ -ldl -lpthread -L[START_DIR]/cipd/linux-amd64/lib -L[CLEANUP]/clang_tmp_1/lib_install/lib",
- "-DBOOTSTRAP_CMAKE_EXE_LINKER_FLAGS=-static-libstdc++ -ldl -lpthread -L[START_DIR]/cipd/linux-amd64/lib -L[CLEANUP]/clang_tmp_1/lib_install/lib",
+ "-DBOOTSTRAP_CMAKE_C_FLAGS=-I[CLEANUP]/clang_tmp_1/zlib_install/include",
+ "-DBOOTSTRAP_CMAKE_CXX_FLAGS=-I[CLEANUP]/clang_tmp_1/zlib_install/include",
+ "-DBOOTSTRAP_ZLIB_ROOT=[CLEANUP]/clang_tmp_1/zlib_install",
+ "-DBOOTSTRAP_LIBXML2_INCLUDE_DIR=[CLEANUP]/clang_tmp_1/libxml2_install/include/libxml2",
+ "-DBOOTSTRAP_LIBXML2_LIBRARY=[CLEANUP]/clang_tmp_1/libxml2_install/lib/libxml2.a",
+ "-DCMAKE_C_FLAGS=-I[CLEANUP]/clang_tmp_1/zlib_install/include",
+ "-DCMAKE_CXX_FLAGS=-I[CLEANUP]/clang_tmp_1/zlib_install/include",
+ "-DZLIB_ROOT=[CLEANUP]/clang_tmp_1/zlib_install",
+ "-DLIBXML2_INCLUDE_DIR=[CLEANUP]/clang_tmp_1/libxml2_install/include/libxml2",
+ "-DLIBXML2_LIBRARY=[CLEANUP]/clang_tmp_1/libxml2_install/lib/libxml2.a",
+ "-DBOOTSTRAP_CMAKE_SHARED_LINKER_FLAGS=-static-libstdc++",
+ "-DBOOTSTRAP_CMAKE_MODULE_LINKER_FLAGS=-static-libstdc++",
+ "-DBOOTSTRAP_CMAKE_EXE_LINKER_FLAGS=-static-libstdc++",
"-DBOOTSTRAP_CMAKE_SYSROOT=[START_DIR]/cipd/linux-amd64",
- "-DCMAKE_SHARED_LINKER_FLAGS=-static-libstdc++ -ldl -lpthread",
- "-DCMAKE_MODULE_LINKER_FLAGS=-static-libstdc++ -ldl -lpthread",
- "-DCMAKE_EXE_LINKER_FLAGS=-static-libstdc++ -ldl -lpthread",
+ "-DCMAKE_SHARED_LINKER_FLAGS=-static-libstdc++",
+ "-DCMAKE_MODULE_LINKER_FLAGS=-static-libstdc++",
+ "-DCMAKE_EXE_LINKER_FLAGS=-static-libstdc++",
"-DCMAKE_SYSROOT=[START_DIR]/cipd/linux-amd64",
"-DSTAGE2_LINUX_aarch64-unknown-linux-gnu_SYSROOT=[START_DIR]/cipd/linux-arm64",
"-DSTAGE2_LINUX_armv7-unknown-linux-gnueabihf_SYSROOT=[START_DIR]/cipd/linux-armhf",
diff --git a/recipes/clang_toolchain.expected/prod-mac-x64.json b/recipes/clang_toolchain.expected/prod-mac-x64.json
index 130a1e9..14b778e 100644
--- a/recipes/clang_toolchain.expected/prod-mac-x64.json
+++ b/recipes/clang_toolchain.expected/prod-mac-x64.json
@@ -349,21 +349,6 @@
},
{
"cmd": [
- "vpython",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "ensure-directory",
- "--mode",
- "0777",
- "[CLEANUP]/clang_tmp_1/lib_install"
- ],
- "infra_step": true,
- "name": "create lib_install_dir"
- },
- {
- "cmd": [
"cipd",
"ensure",
"-root",
@@ -493,6 +478,24 @@
"ensure-directory",
"--mode",
"0777",
+ "[CLEANUP]/clang_tmp_1/zlib_install"
+ ],
+ "infra_step": true,
+ "name": "zlib.create zlib_install_dir",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
"[START_DIR]/zlib/src"
],
"infra_step": true,
@@ -789,7 +792,7 @@
"cmd": [
"make",
"install",
- "DESTDIR=[CLEANUP]/clang_tmp_1/lib_install"
+ "DESTDIR=[CLEANUP]/clang_tmp_1/zlib_install"
],
"cwd": "[START_DIR]/zlib/obj",
"env": {
@@ -818,6 +821,24 @@
"ensure-directory",
"--mode",
"0777",
+ "[CLEANUP]/clang_tmp_1/libxml2_install"
+ ],
+ "infra_step": true,
+ "name": "libxml2.create libxml2_install_dir",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
"[START_DIR]/libxml2/src"
],
"infra_step": true,
@@ -1093,7 +1114,7 @@
"--host=x86_64-apple-darwin",
"--disable-shared",
"--enable-static",
- "--with-zlib=[CLEANUP]/clang_tmp_1/lib_install",
+ "--with-zlib=[CLEANUP]/clang_tmp_1/libxml2_install",
"--without-icu",
"--without-lzma",
"--without-python",
@@ -1124,7 +1145,7 @@
"cmd": [
"make",
"install",
- "DESTDIR=[CLEANUP]/clang_tmp_1/lib_install"
+ "DESTDIR=[CLEANUP]/clang_tmp_1/libxml2_install"
],
"cwd": "[START_DIR]/libxml2/obj",
"name": "libxml2.install",
@@ -1260,6 +1281,16 @@
"-DCMAKE_C_COMPILER_LAUNCHER=[CACHE]/goma/client/gomacc",
"-DCMAKE_CXX_COMPILER_LAUNCHER=[CACHE]/goma/client/gomacc",
"-DCMAKE_ASM_COMPILER_LAUNCHER=[CACHE]/goma/client/gomacc",
+ "-DBOOTSTRAP_CMAKE_C_FLAGS=-I[CLEANUP]/clang_tmp_1/zlib_install/include",
+ "-DBOOTSTRAP_CMAKE_CXX_FLAGS=-I[CLEANUP]/clang_tmp_1/zlib_install/include",
+ "-DBOOTSTRAP_ZLIB_ROOT=[CLEANUP]/clang_tmp_1/zlib_install",
+ "-DBOOTSTRAP_LIBXML2_INCLUDE_DIR=[CLEANUP]/clang_tmp_1/libxml2_install/include/libxml2",
+ "-DBOOTSTRAP_LIBXML2_LIBRARY=[CLEANUP]/clang_tmp_1/libxml2_install/lib/libxml2.a",
+ "-DCMAKE_C_FLAGS=-I[CLEANUP]/clang_tmp_1/zlib_install/include",
+ "-DCMAKE_CXX_FLAGS=-I[CLEANUP]/clang_tmp_1/zlib_install/include",
+ "-DZLIB_ROOT=[CLEANUP]/clang_tmp_1/zlib_install",
+ "-DLIBXML2_INCLUDE_DIR=[CLEANUP]/clang_tmp_1/libxml2_install/include/libxml2",
+ "-DLIBXML2_LIBRARY=[CLEANUP]/clang_tmp_1/libxml2_install/lib/libxml2.a",
"-DBOOTSTRAP_CMAKE_SHARED_LINKER_FLAGS=-nostdlib++ [START_DIR]/cipd/lib/libc++.a",
"-DBOOTSTRAP_CMAKE_MODULE_LINKER_FLAGS=-nostdlib++ [START_DIR]/cipd/lib/libc++.a",
"-DBOOTSTRAP_CMAKE_EXE_LINKER_FLAGS=-nostdlib++ [START_DIR]/cipd/lib/libc++.a",
diff --git a/recipes/clang_toolchain.py b/recipes/clang_toolchain.py
index e3b16e2..16842ef 100644
--- a/recipes/clang_toolchain.py
+++ b/recipes/clang_toolchain.py
@@ -202,9 +202,6 @@
git_checkout.repo_url = repository
git_checkout.revision = revision
- lib_install_dir = staging_dir.join('lib_install')
- api.file.ensure_directory('create lib_install_dir', lib_install_dir)
-
target_triple = PLATFORM_TO_TRIPLE[target_platform]
host_triple = PLATFORM_TO_TRIPLE[host_platform]
@@ -217,20 +214,19 @@
step_result = api.step(
'xcrun', ['xcrun', '--show-sdk-path'],
stdout=api.raw_io.output(name='sdk-path', add_output_log=True),
- step_test_data=lambda: api.raw_io.test_api.stream_output(
- '/some/xcode/path'))
+ step_test_data=
+ lambda: api.raw_io.test_api.stream_output('/some/xcode/path'))
target_sysroot = host_sysroot = step_result.stdout.strip()
else: # pragma: no cover
assert False, 'unsupported platform'
env = {
- 'CC':
- ('%s %s' %
- (api.goma.goma_dir.join('gomacc'), cipd_dir.join('bin', 'clang')))
- if use_goma else cipd_dir.join('bin', 'clang'),
+ 'CC': ('%s %s' % (api.goma.goma_dir.join('gomacc'),
+ cipd_dir.join('bin', 'clang')))
+ if use_goma else cipd_dir.join('bin', 'clang'),
'CFLAGS':
- '-O3 -fPIC --target=%s --sysroot=%s' %
- (target_triple, target_sysroot),
+ '-O3 -fPIC --target=%s --sysroot=%s' % (target_triple,
+ target_sysroot),
'AR':
cipd_dir.join('bin', 'llvm-ar'),
'NM':
@@ -240,9 +236,14 @@
}
with api.step.nest('zlib'):
- build_zlib(api, lib_install_dir, ninja_jobs, manifest, env)
+ zlib_install_dir = staging_dir.join('zlib_install')
+ api.file.ensure_directory('create zlib_install_dir', zlib_install_dir)
+ build_zlib(api, zlib_install_dir, ninja_jobs, manifest, env)
with api.step.nest('libxml2'):
- build_libxml2(api, host_triple, target_triple, lib_install_dir,
+ libxml2_install_dir = staging_dir.join('libxml2_install')
+ api.file.ensure_directory('create libxml2_install_dir',
+ libxml2_install_dir)
+ build_libxml2(api, host_triple, target_triple, libxml2_install_dir,
ninja_jobs, manifest, env)
json_manifest = json_format.MessageToJson(
@@ -270,10 +271,6 @@
'host_triple': host_triple,
'target_sysroot': target_sysroot,
'host_sysroot': host_sysroot,
- 'pkgroot_include_dir': lib_install_dir.join('include'),
- 'libxml2_include_dir': lib_install_dir.join('include', 'libxml2'),
- 'platform_lib_dir': cipd_dir.join(target_platform, 'lib'),
- 'pkgroot_lib_dir': lib_install_dir.join('lib'),
'linux_arm64_sysroot': cipd_dir.join('linux-arm64'),
'linux_armhf_sysroot': cipd_dir.join('linux-armhf'),
'linux_i386_sysroot': cipd_dir.join('linux-i386'),
@@ -330,23 +327,41 @@
'mac': [],
}[api.platform.name])
+ options.extend([
+ '-D{BOOTSTRAP_}CMAKE_C_FLAGS=-I%s' % zlib_install_dir.join('include'),
+ '-D{BOOTSTRAP_}CMAKE_CXX_FLAGS=-I%s' % zlib_install_dir.join('include'),
+ '-D{BOOTSTRAP_}ZLIB_ROOT=%s' % zlib_install_dir,
+ '-D{BOOTSTRAP_}LIBXML2_INCLUDE_DIR=%s' % libxml2_install_dir.join(
+ 'include', 'libxml2'),
+ '-D{BOOTSTRAP_}LIBXML2_LIBRARY=%s' % libxml2_install_dir.join(
+ 'lib', 'libxml2.a'),
+ ])
+
+ if prod:
+ options.extend([
+ '-DCMAKE_C_FLAGS=-I%s' % zlib_install_dir.join('include'),
+ '-DCMAKE_CXX_FLAGS=-I%s' % zlib_install_dir.join('include'),
+ '-DZLIB_ROOT=%s' % zlib_install_dir,
+ '-DLIBXML2_INCLUDE_DIR=%s' % libxml2_install_dir.join(
+ 'include', 'libxml2'),
+ '-DLIBXML2_LIBRARY=%s' % libxml2_install_dir.join('lib', 'libxml2.a'),
+ ])
+
if api.platform.name == 'linux':
options.extend([
# BOOTSTRAP_ prefixed flags are passed to the second stage compiler.
- '-D{BOOTSTRAP_}CMAKE_C_FLAGS=-I{pkgroot_include_dir} -I{libxml2_include_dir}',
- '-D{BOOTSTRAP_}CMAKE_CXX_FLAGS=-I{pkgroot_include_dir} -I{libxml2_include_dir}',
- '-D{BOOTSTRAP_}CMAKE_SHARED_LINKER_FLAGS=-static-libstdc++ -ldl -lpthread -L{platform_lib_dir} -L{pkgroot_lib_dir}',
- '-D{BOOTSTRAP_}CMAKE_MODULE_LINKER_FLAGS=-static-libstdc++ -ldl -lpthread -L{platform_lib_dir} -L{pkgroot_lib_dir}',
- '-D{BOOTSTRAP_}CMAKE_EXE_LINKER_FLAGS=-static-libstdc++ -ldl -lpthread -L{platform_lib_dir} -L{pkgroot_lib_dir}',
+ '-D{BOOTSTRAP_}CMAKE_SHARED_LINKER_FLAGS=-static-libstdc++',
+ '-D{BOOTSTRAP_}CMAKE_MODULE_LINKER_FLAGS=-static-libstdc++',
+ '-D{BOOTSTRAP_}CMAKE_EXE_LINKER_FLAGS=-static-libstdc++',
'-D{BOOTSTRAP_}CMAKE_SYSROOT={target_sysroot}',
])
if prod:
options.extend([
# Unprefixed flags are used by the first stage compiler.
- '-DCMAKE_SHARED_LINKER_FLAGS=-static-libstdc++ -ldl -lpthread',
- '-DCMAKE_MODULE_LINKER_FLAGS=-static-libstdc++ -ldl -lpthread',
- '-DCMAKE_EXE_LINKER_FLAGS=-static-libstdc++ -ldl -lpthread',
+ '-DCMAKE_SHARED_LINKER_FLAGS=-static-libstdc++',
+ '-DCMAKE_MODULE_LINKER_FLAGS=-static-libstdc++',
+ '-DCMAKE_EXE_LINKER_FLAGS=-static-libstdc++',
'-DCMAKE_SYSROOT={host_sysroot}',
])
else:
@@ -516,13 +531,13 @@
'instance': isolated,
},
'checkout.buildset':
- 'commit/gitiles/%s/%s/+/%s' %
- (host, project, fuchsia_rev),
+ 'commit/gitiles/%s/%s/+/%s' % (host, project,
+ fuchsia_rev),
},
tags={
'buildset':
- 'commit/gitiles/%s/+/%s' %
- (repository.split('://')[1], revision),
+ 'commit/gitiles/%s/+/%s' % (repository.split('://')[1],
+ revision),
'gitiles_ref':
ref,
}),
@@ -545,17 +560,17 @@
bucket='ci',
git_repo='https://fuchsia.googlesource.com/third_party/llvm-project',
revision='a' * 40,
- ) + api.runtime(is_luci=True, is_experimental=False) +
- api.platform.name(os) + api.properties(platform=os + '-amd64'))
+ ) + api.runtime(is_luci=True, is_experimental=False) + api.platform.name(os)
+ + api.properties(platform=os + '-amd64'))
yield (api.test('prod-%s-x64' % os) + api.buildbucket.ci_build(
project='fuchsia',
bucket='prod',
git_repo='https://fuchsia.googlesource.com/third_party/llvm-project',
revision='a' * 40,
- ) + api.runtime(is_luci=True, is_experimental=False) +
- api.platform.name(os) + api.properties(platform=os + '-amd64') +
- api.gitiles.refs('refs', ('refs/heads/master', 'b' * 40)))
+ ) + api.runtime(is_luci=True, is_experimental=False) + api.platform.name(os)
+ + api.properties(platform=os + '-amd64') + api.gitiles.refs(
+ 'refs', ('refs/heads/master', 'b' * 40)))
yield (api.test('linux-arm64') + api.buildbucket.ci_build(
project='fuchsia',