[libcxx-commits] [libcxx] d3024a0 - [libc++] Add a CI jobs to test the Standalone builds
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Oct 26 09:13:26 PDT 2020
Author: Louis Dionne
Date: 2020-10-26T12:13:19-04:00
New Revision: d3024a074be09f6589eccac00cecabccd8258f2d
URL: https://github.com/llvm/llvm-project/commit/d3024a074be09f6589eccac00cecabccd8258f2d
DIFF: https://github.com/llvm/llvm-project/commit/d3024a074be09f6589eccac00cecabccd8258f2d.diff
LOG: [libc++] Add a CI jobs to test the Standalone builds
Added:
Modified:
libcxx/src/CMakeLists.txt
libcxx/utils/ci/buildkite-pipeline.yml
libcxx/utils/ci/run-buildbot.sh
Removed:
################################################################################
diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt
index 575bfc9da3d0..95dd520d1e3e 100644
--- a/libcxx/src/CMakeLists.txt
+++ b/libcxx/src/CMakeLists.txt
@@ -223,7 +223,7 @@ if (LIBCXX_ENABLE_SHARED)
"-Wl,-force_symbols_not_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/notweak.exp"
"-Wl,-force_symbols_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/weak.exp")
- target_link_libraries(cxx_shared PRIVATE cxxabi-reexports)
+ target_link_libraries(cxx_shared PRIVATE $<TARGET_NAME_IF_EXISTS:cxxabi-reexports>)
endif()
# Generate a linker script in place of a libc++.so symlink.
diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml
index 4ea32c1c3a77..108588fac25d 100644
--- a/libcxx/utils/ci/buildkite-pipeline.yml
+++ b/libcxx/utils/ci/buildkite-pipeline.yml
@@ -125,6 +125,20 @@ steps:
agents:
queue: "libcxx-builders"
+ - label: "Legacy standalone build"
+ command: "libcxx/utils/ci/run-buildbot.sh legacy-standalone"
+ artifact_paths:
+ - "**/test-results.xml"
+ agents:
+ queue: "libcxx-builders"
+
+ - label: "Unified standalone build"
+ command: "libcxx/utils/ci/run-buildbot.sh unified-standalone"
+ artifact_paths:
+ - "**/test-results.xml"
+ agents:
+ queue: "libcxx-builders"
+
# Build with the configuration we use to generate libc++.dylib on Apple platforms
- label: "Apple system"
command: "libcxx/utils/ci/run-buildbot.sh x86_64-apple-system"
diff --git a/libcxx/utils/ci/run-buildbot.sh b/libcxx/utils/ci/run-buildbot.sh
index 7534cf3c47e5..cee4f39cfc17 100755
--- a/libcxx/utils/ci/run-buildbot.sh
+++ b/libcxx/utils/ci/run-buildbot.sh
@@ -163,6 +163,58 @@ benchmarks)
generate-cmake
check-cxx-benchmarks
;;
+unified-standalone)
+ export CC=clang
+ export CXX=clang++
+
+ echo "--- Generating CMake"
+ rm -rf "${BUILD_DIR}"
+ cmake -S "${MONOREPO_ROOT}/libcxx/utils/ci/runtimes" \
+ -B "${BUILD_DIR}" \
+ -GNinja \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
+ -DLLVM_ENABLE_PROJECTS="libcxx;libcxxabi;libunwind"
+
+ check-cxx-cxxabi
+;;
+legacy-standalone)
+ export CC=clang
+ export CXX=clang++
+
+ echo "--- Generating CMake"
+ rm -rf "${BUILD_DIR}"
+ cmake -S "${MONOREPO_ROOT}/libcxx" \
+ -B "${BUILD_DIR}/libcxx" \
+ -GNinja \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
+ -DLLVM_PATH="${MONOREPO_ROOT}/llvm" \
+ -DLIBCXX_CXX_ABI=libcxxabi \
+ -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${MONOREPO_ROOT}/libcxxabi/include" \
+ -DLIBCXX_CXX_ABI_LIBRARY_PATH="${BUILD_DIR}/libcxxabi/lib"
+
+ cmake -S "${MONOREPO_ROOT}/libcxxabi" \
+ -B "${BUILD_DIR}/libcxxabi" \
+ -GNinja \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
+ -DLLVM_PATH="${MONOREPO_ROOT}/llvm" \
+ -DLIBCXXABI_LIBCXX_PATH="${MONOREPO_ROOT}/libcxx" \
+ -DLIBCXXABI_LIBCXX_INCLUDES="${MONOREPO_ROOT}/libcxx/include"
+
+ echo "+++ Building libc++abi"
+ ninja -C "${BUILD_DIR}/libcxxabi" cxxabi
+
+ echo "+++ Building libc++"
+ ninja -C "${BUILD_DIR}/libcxx" cxx
+
+ echo "+++ Running the libc++ tests"
+ ninja -C "${BUILD_DIR}/libcxx" check-cxx
+
+ echo "+++ Running the libc++abi tests"
+ ninja -C "${BUILD_DIR}/libcxxabi" check-cxxabi
+;;
*)
echo "${BUILDER} is not a known configuration"
exit 1
More information about the libcxx-commits
mailing list