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 @@ -562,7 +562,7 @@ # Build with the configuration we use to generate libc++.dylib on Apple platforms - label: "Apple system" - command: "libcxx/utils/ci/run-buildbot x86_64-apple-system" + command: "libcxx/utils/ci/run-buildbot apple-system" artifact_paths: - "**/test-results.xml" agents: @@ -576,7 +576,7 @@ # Test back-deployment to older Apple platforms - label: "Apple back-deployment macosx10.9" - command: "libcxx/utils/ci/run-buildbot x86_64-apple-system-backdeployment-10.9" + command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-10.9" artifact_paths: - "**/test-results.xml" agents: @@ -590,7 +590,7 @@ timeout_in_minutes: 120 - label: "Apple back-deployment macosx10.15" - command: "libcxx/utils/ci/run-buildbot x86_64-apple-system-backdeployment-10.15" + command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-10.15" artifact_paths: - "**/test-results.xml" agents: 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 @@ -377,14 +377,25 @@ -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" check-runtimes ;; -x86_64-apple-system) +apple-system) clean - generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Apple.cmake" \ - -DLIBCXX_TEST_CONFIG="apple-libc++-shared.cfg.in" \ - -DLIBCXXABI_TEST_CONFIG="apple-libc++abi-shared.cfg.in" - check-runtimes + + sdk_root="$(xcrun --sdk macosx --show-sdk-path)" + arch="$(uname -m)" + + ${MONOREPO_ROOT}/libcxx/utils/ci/apple-install-libcxx.sh \ + --llvm-root ${MONOREPO_ROOT} \ + --build-dir ${BUILD_DIR} \ + --install-dir ${INSTALL_DIR} \ + --symbols-dir "${BUILD_DIR}/symbols" \ + --sdk "macosx" \ + --architectures "${arch}" \ + --version "999.99" + + # TODO: It would be better to run the tests against the fake-installed version of libc++ instead + xcrun --sdk macosx ninja -vC "${BUILD_DIR}/${arch}" check-cxx check-cxxabi ;; -x86_64-apple-system-backdeployment-*) +apple-system-backdeployment-*) clean if [[ "${OSX_ROOTS}" == "" ]]; then @@ -395,14 +406,15 @@ curl "${PREVIOUS_DYLIBS_URL}" | tar -xz --strip-components=1 -C "${OSX_ROOTS}" fi - DEPLOYMENT_TARGET="${BUILDER#x86_64-apple-system-backdeployment-}" + DEPLOYMENT_TARGET="${BUILDER#apple-system-backdeployment-}" # TODO: On Apple platforms, we never produce libc++abi.1.dylib, always libc++abi.dylib. # Fix that in the build so that the tests stop searching for @rpath/libc++abi.1.dylib. cp "${OSX_ROOTS}/macOS/libc++abi/${DEPLOYMENT_TARGET}/libc++abi.dylib" \ "${OSX_ROOTS}/macOS/libc++abi/${DEPLOYMENT_TARGET}/libc++abi.1.dylib" - PARAMS="target_triple=x86_64-apple-macosx${DEPLOYMENT_TARGET}" + arch="$(uname -m)" + PARAMS="target_triple=${arch}-apple-macosx${DEPLOYMENT_TARGET}" PARAMS+=";cxx_runtime_root=${OSX_ROOTS}/macOS/libc++/${DEPLOYMENT_TARGET}" PARAMS+=";abi_runtime_root=${OSX_ROOTS}/macOS/libc++abi/${DEPLOYMENT_TARGET}" PARAMS+=";use_system_cxx_lib=True"