diff --git a/libcxx/cmake/caches/Generic-static.cmake b/libcxx/cmake/caches/Generic-static.cmake --- a/libcxx/cmake/caches/Generic-static.cmake +++ b/libcxx/cmake/caches/Generic-static.cmake @@ -1,10 +1,3 @@ set(LIBCXX_ENABLE_SHARED OFF CACHE BOOL "") set(LIBCXXABI_ENABLE_SHARED OFF CACHE BOOL "") set(LIBUNWIND_ENABLE_SHARED OFF CACHE BOOL "") - -# TODO: We should switch this to a from-sratch config with static libraries -# instead and get rid of these options. -set(LIBCXX_LINK_TESTS_WITH_SHARED_LIBCXXABI OFF CACHE BOOL "") -set(LIBCXX_LINK_TESTS_WITH_SHARED_LIBCXX OFF CACHE BOOL "") -set(LIBCXXABI_LINK_TESTS_WITH_SHARED_LIBCXXABI OFF CACHE BOOL "") -set(LIBCXXABI_LINK_TESTS_WITH_SHARED_LIBCXX OFF CACHE BOOL "") diff --git a/libcxx/test/configs/libcxx-trunk-shared.cfg.in b/libcxx/test/configs/libcxx-trunk-shared.cfg.in --- a/libcxx/test/configs/libcxx-trunk-shared.cfg.in +++ b/libcxx/test/configs/libcxx-trunk-shared.cfg.in @@ -35,7 +35,7 @@ os.path.join(LIBCXX_ROOT, 'test', 'support')) )) config.substitutions.append(('%{link_flags}', - '-nostdlib++ -L {0} -lc++ -Wl,-rpath,{0}'.format( + '-nostdlib++ -L {0} -lc++ -Wl,-rpath,{0} -pthread'.format( os.path.join(INSTALL_ROOT, 'lib')) )) config.substitutions.append(('%{exec}', diff --git a/libcxx/test/configs/libcxx-trunk-static.cfg.in b/libcxx/test/configs/libcxx-trunk-static.cfg.in --- a/libcxx/test/configs/libcxx-trunk-static.cfg.in +++ b/libcxx/test/configs/libcxx-trunk-static.cfg.in @@ -35,7 +35,7 @@ os.path.join(LIBCXX_ROOT, 'test', 'support')) )) config.substitutions.append(('%{link_flags}', - '-nostdlib++ {} {}'.format( + '-nostdlib++ {} {} -pthread'.format( os.path.join(INSTALL_ROOT, 'lib', 'libc++.a'), os.path.join(INSTALL_ROOT, 'lib', 'libc++abi.a')) )) diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml --- a/libcxx/utils/ci/buildkite-pipeline.yml +++ b/libcxx/utils/ci/buildkite-pipeline.yml @@ -296,6 +296,29 @@ - exit_status: -1 # Agent was lost limit: 2 + # TODO: This can be removed once this becomes the default + - label: "New Lit configuration" + command: "libcxx/utils/ci/run-buildbot new-test-config" + artifact_paths: + - "**/test-results.xml" + agents: + queue: "libcxx-builders" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + + - label: "Legacy Lit configuration" + command: "libcxx/utils/ci/run-buildbot legacy-test-config" + artifact_paths: + - "**/test-results.xml" + agents: + queue: "libcxx-builders" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + - label: "Legacy standalone build" command: "libcxx/utils/ci/run-buildbot legacy-standalone" artifact_paths: diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot --- a/libcxx/utils/ci/run-buildbot +++ b/libcxx/utils/ci/run-buildbot @@ -221,7 +221,8 @@ export CC=clang export CXX=clang++ clean - generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-static.cmake" + generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-static.cmake" \ + -DLIBCXX_TEST_CONFIG="${MONOREPO_ROOT}/libcxx/test/configs/libcxx-trunk-static.cfg.in" check-cxx-cxxabi ;; generic-32bit) @@ -349,9 +350,12 @@ export CC=clang export CXX=clang++ + # TODO: In the future, we should create a minimal testing config for back-deployment + # and use that instead of the legacy config. generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Apple.cmake" \ -DLIBCXX_TEST_PARAMS="${PARAMS}" \ - -DLIBCXXABI_TEST_PARAMS="${PARAMS}" + -DLIBCXXABI_TEST_PARAMS="${PARAMS}" \ + -DLIBCXX_TEST_CONFIG="${MONOREPO_ROOT}/libcxx/test/configs/legacy.cfg.in" \ check-cxx-cxxabi ;; @@ -371,6 +375,13 @@ echo "+++ Generating documentation" ${NINJA} -vC "${BUILD_DIR}" docs-libcxx-html ;; +new-test-config) + export CC=clang + export CXX=clang++ + clean + generate-cmake -DLIBCXX_TEST_CONFIG="${MONOREPO_ROOT}/libcxx/test/configs/libcxx-trunk-shared.cfg.in" + check-cxx-cxxabi +;; unified-standalone) export CC=clang export CXX=clang++ @@ -409,6 +420,13 @@ echo "--- Installing libc++ and libc++abi to a fake location" ${NINJA} -C "${BUILD_DIR}" install-cxx install-cxxabi ;; +legacy-test-config) + export CC=clang + export CXX=clang++ + clean + generate-cmake -DLIBCXX_TEST_CONFIG="${MONOREPO_ROOT}/libcxx/test/configs/legacy.cfg.in" + check-cxx-cxxabi +;; legacy-standalone) export CC=clang export CXX=clang++