Louis Dionne | ce55605 | 2020-09-23 09:20:03 -0400 | [diff] [blame] | 1 | #!/usr/bin/env bash |
| 2 | #===----------------------------------------------------------------------===## |
| 3 | # |
| 4 | # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| 5 | # See https://llvm.org/LICENSE.txt for license information. |
| 6 | # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| 7 | # |
| 8 | #===----------------------------------------------------------------------===## |
| 9 | |
| 10 | set -ex |
Marek Kurdej | 0544936 | 2021-02-04 21:13:22 +0100 | [diff] [blame] | 11 | set -o pipefail |
Arthur O'Dwyer | 757d5bd | 2021-04-30 14:43:33 -0400 | [diff] [blame] | 12 | unset LANG |
| 13 | unset LC_ALL |
| 14 | unset LC_COLLATE |
Louis Dionne | ce55605 | 2020-09-23 09:20:03 -0400 | [diff] [blame] | 15 | |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 16 | PROGNAME="$(basename "${0}")" |
| 17 | |
| 18 | function usage() { |
| 19 | cat <<EOF |
| 20 | Usage: |
| 21 | ${PROGNAME} [options] <BUILDER> |
| 22 | |
| 23 | [-h|--help] Display this help and exit. |
| 24 | |
| 25 | --llvm-root <DIR> Path to the root of the LLVM monorepo. By default, we try |
| 26 | to figure it out based on the current working directory. |
| 27 | |
Louis Dionne | 04bf103 | 2020-11-05 19:09:03 -0500 | [diff] [blame] | 28 | --build-dir <DIR> The directory to use for building the library. By default, |
| 29 | this is '<llvm-root>/build/<builder>'. |
| 30 | |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 31 | --osx-roots <DIR> Path to pre-downloaded macOS dylibs. By default, we download |
| 32 | them from Green Dragon. This is only relevant at all when |
| 33 | running back-deployment testing if one wants to override |
| 34 | the old dylibs we use to run the tests with different ones. |
| 35 | EOF |
| 36 | } |
| 37 | |
| 38 | while [[ $# -gt 0 ]]; do |
| 39 | case ${1} in |
| 40 | -h|--help) |
| 41 | usage |
| 42 | exit 0 |
| 43 | ;; |
| 44 | --llvm-root) |
| 45 | MONOREPO_ROOT="${2}" |
| 46 | shift; shift |
| 47 | ;; |
Louis Dionne | 04bf103 | 2020-11-05 19:09:03 -0500 | [diff] [blame] | 48 | --build-dir) |
| 49 | BUILD_DIR="${2}" |
| 50 | shift; shift |
| 51 | ;; |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 52 | --osx-roots) |
| 53 | OSX_ROOTS="${2}" |
| 54 | shift; shift |
| 55 | ;; |
| 56 | *) |
| 57 | BUILDER="${1}" |
| 58 | shift |
| 59 | ;; |
| 60 | esac |
| 61 | done |
| 62 | |
| 63 | MONOREPO_ROOT="${MONOREPO_ROOT:="$(git rev-parse --show-toplevel)"}" |
Louis Dionne | 04bf103 | 2020-11-05 19:09:03 -0500 | [diff] [blame] | 64 | BUILD_DIR="${BUILD_DIR:=${MONOREPO_ROOT}/build/${BUILDER}}" |
Louis Dionne | 485f4c0 | 2021-01-07 17:37:09 -0500 | [diff] [blame] | 65 | INSTALL_DIR="${BUILD_DIR}/install" |
Louis Dionne | ce55605 | 2020-09-23 09:20:03 -0400 | [diff] [blame] | 66 | |
Louis Dionne | 6f96e99 | 2021-05-07 13:14:57 -0400 | [diff] [blame] | 67 | # If we can find Ninja/CMake provided by Xcode, use those since we know their |
| 68 | # version will generally work with the Clang shipped in Xcode (e.g. if Clang |
| 69 | # knows about -std=c++20, the CMake bundled in Xcode will probably know about |
| 70 | # that flag too). |
| 71 | if xcrun --find ninja &>/dev/null; then NINJA="$(xcrun --find ninja)"; else NINJA="ninja"; fi |
| 72 | if xcrun --find cmake &>/dev/null; then CMAKE="$(xcrun --find cmake)"; else CMAKE="cmake"; fi |
Louis Dionne | 7a8d536 | 2021-03-04 16:01:36 -0500 | [diff] [blame] | 73 | |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 74 | function clean() { |
| 75 | rm -rf "${BUILD_DIR}" |
| 76 | } |
| 77 | |
Martin Storsjö | 47cd346 | 2021-04-06 00:17:30 +0300 | [diff] [blame] | 78 | function generate-cmake-base() { |
Louis Dionne | f9c11b0 | 2020-10-23 10:02:14 -0400 | [diff] [blame] | 79 | echo "--- Generating CMake" |
Louis Dionne | 6f96e99 | 2021-05-07 13:14:57 -0400 | [diff] [blame] | 80 | ${CMAKE} \ |
Louis Dionne | 076fd0c | 2021-10-07 16:19:11 -0400 | [diff] [blame] | 81 | -S "${MONOREPO_ROOT}/runtimes" \ |
Louis Dionne | f9c11b0 | 2020-10-23 10:02:14 -0400 | [diff] [blame] | 82 | -B "${BUILD_DIR}" \ |
Louis Dionne | 7a8d536 | 2021-03-04 16:01:36 -0500 | [diff] [blame] | 83 | -GNinja -DCMAKE_MAKE_PROGRAM="${NINJA}" \ |
Louis Dionne | f9c11b0 | 2020-10-23 10:02:14 -0400 | [diff] [blame] | 84 | -DCMAKE_BUILD_TYPE=RelWithDebInfo \ |
| 85 | -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \ |
Louis Dionne | f9c11b0 | 2020-10-23 10:02:14 -0400 | [diff] [blame] | 86 | -DLLVM_LIT_ARGS="-sv --show-unsupported --xunit-xml-output test-results.xml" \ |
Martin Storsjö | 47cd346 | 2021-04-06 00:17:30 +0300 | [diff] [blame] | 87 | "${@}" |
| 88 | } |
| 89 | |
| 90 | function generate-cmake() { |
| 91 | generate-cmake-base \ |
Louis Dionne | 076fd0c | 2021-10-07 16:19:11 -0400 | [diff] [blame] | 92 | -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" \ |
Louis Dionne | f9c11b0 | 2020-10-23 10:02:14 -0400 | [diff] [blame] | 93 | -DLIBCXX_CXX_ABI=libcxxabi \ |
Louis Dionne | 662aaa2 | 2020-11-05 10:47:06 -0500 | [diff] [blame] | 94 | "${@}" |
| 95 | } |
| 96 | |
Martin Storsjö | 47cd346 | 2021-04-06 00:17:30 +0300 | [diff] [blame] | 97 | function generate-cmake-libcxx-win() { |
| 98 | # TODO: Clang-cl in MSVC configurations don't have access to compiler_rt |
| 99 | # builtins helpers for int128 division. See |
| 100 | # https://reviews.llvm.org/D91139#2429595 for a comment about longterm |
| 101 | # intent for handling the issue. In the meantime, define |
| 102 | # -D_LIBCPP_HAS_NO_INT128 (both when building the library itself and |
| 103 | # when building tests) to allow enabling filesystem for running tests, |
| 104 | # even if it uses a non-permanent ABI. |
| 105 | |
| 106 | generate-cmake-base \ |
Louis Dionne | 076fd0c | 2021-10-07 16:19:11 -0400 | [diff] [blame] | 107 | -DLLVM_ENABLE_RUNTIMES="libcxx" \ |
Martin Storsjö | 47cd346 | 2021-04-06 00:17:30 +0300 | [diff] [blame] | 108 | -DCMAKE_C_COMPILER=clang-cl \ |
| 109 | -DCMAKE_CXX_COMPILER=clang-cl \ |
| 110 | -DLIBCXX_ENABLE_FILESYSTEM=YES \ |
| 111 | -DCMAKE_CXX_FLAGS="-D_LIBCPP_HAS_NO_INT128" \ |
| 112 | -DLIBCXX_TEST_COMPILER_FLAGS="-D_LIBCPP_HAS_NO_INT128" \ |
| 113 | "${@}" |
| 114 | } |
| 115 | |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 116 | function check-runtimes() { |
| 117 | echo "--- Installing libc++, libc++abi and libunwind to a fake location" |
| 118 | ${NINJA} -vC "${BUILD_DIR}" install-cxx install-cxxabi install-unwind |
Louis Dionne | eacce54 | 2021-03-24 09:50:59 -0400 | [diff] [blame] | 119 | |
Louis Dionne | f9c11b0 | 2020-10-23 10:02:14 -0400 | [diff] [blame] | 120 | echo "+++ Running the libc++ tests" |
Louis Dionne | 1fcb041 | 2021-03-19 16:26:15 -0700 | [diff] [blame] | 121 | ${NINJA} -vC "${BUILD_DIR}" check-cxx |
Louis Dionne | f9c11b0 | 2020-10-23 10:02:14 -0400 | [diff] [blame] | 122 | |
| 123 | echo "+++ Running the libc++abi tests" |
Louis Dionne | 1fcb041 | 2021-03-19 16:26:15 -0700 | [diff] [blame] | 124 | ${NINJA} -vC "${BUILD_DIR}" check-cxxabi |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 125 | |
| 126 | echo "+++ Running the libunwind tests" |
| 127 | ${NINJA} -vC "${BUILD_DIR}" check-unwind |
Louis Dionne | f9c11b0 | 2020-10-23 10:02:14 -0400 | [diff] [blame] | 128 | } |
| 129 | |
Louis Dionne | dfbd00e | 2020-11-26 15:00:42 -0500 | [diff] [blame] | 130 | # TODO: The goal is to test this against all configurations. We should also move |
| 131 | # this to the Lit test suite instead of being a separate CMake target. |
| 132 | function check-abi-list() { |
| 133 | echo "+++ Running the libc++ ABI list test" |
Louis Dionne | 1fcb041 | 2021-03-19 16:26:15 -0700 | [diff] [blame] | 134 | ${NINJA} -vC "${BUILD_DIR}" check-cxx-abilist || ( |
Marek Kurdej | 718b62c | 2020-12-02 08:57:02 +0100 | [diff] [blame] | 135 | echo "+++ Generating the libc++ ABI list after failed check" |
Louis Dionne | 1fcb041 | 2021-03-19 16:26:15 -0700 | [diff] [blame] | 136 | ${NINJA} -vC "${BUILD_DIR}" generate-cxx-abilist |
Marek Kurdej | 718b62c | 2020-12-02 08:57:02 +0100 | [diff] [blame] | 137 | false |
| 138 | ) |
Louis Dionne | dfbd00e | 2020-11-26 15:00:42 -0500 | [diff] [blame] | 139 | } |
| 140 | |
Louis Dionne | f9c11b0 | 2020-10-23 10:02:14 -0400 | [diff] [blame] | 141 | function check-cxx-benchmarks() { |
| 142 | echo "--- Running the benchmarks" |
Louis Dionne | 1fcb041 | 2021-03-19 16:26:15 -0700 | [diff] [blame] | 143 | ${NINJA} -vC "${BUILD_DIR}" check-cxx-benchmarks |
Louis Dionne | f9c11b0 | 2020-10-23 10:02:14 -0400 | [diff] [blame] | 144 | } |
Louis Dionne | ce55605 | 2020-09-23 09:20:03 -0400 | [diff] [blame] | 145 | |
Louis Dionne | 6bd3e65 | 2021-04-01 13:40:04 -0400 | [diff] [blame] | 146 | # Print the version of a few tools to aid diagnostics in some cases |
Louis Dionne | 6f96e99 | 2021-05-07 13:14:57 -0400 | [diff] [blame] | 147 | ${CMAKE} --version |
Louis Dionne | 6bd3e65 | 2021-04-01 13:40:04 -0400 | [diff] [blame] | 148 | ${NINJA} --version |
| 149 | |
Louis Dionne | ce55605 | 2020-09-23 09:20:03 -0400 | [diff] [blame] | 150 | case "${BUILDER}" in |
Marek Kurdej | 0544936 | 2021-02-04 21:13:22 +0100 | [diff] [blame] | 151 | check-format) |
| 152 | clean |
| 153 | echo "+++ Checking formatting" |
| 154 | # We need to set --extensions so that clang-format checks extensionless files. |
| 155 | mkdir -p ${BUILD_DIR} |
| 156 | git-clang-format \ |
| 157 | --binary /usr/bin/clang-format --diff \ |
| 158 | --extensions ',h,hh,hpp,hxx,c,cc,cxx,cpp' HEAD~1 \ |
| 159 | -- \ |
| 160 | libcxx/{benchmarks,include,src,test} \ |
| 161 | libcxxabi/{fuzz,include,src,test} \ |
| 162 | | tee ${BUILD_DIR}/clang-format.patch |
| 163 | # Check if the diff is empty, fail otherwise. |
| 164 | ! grep -q '^--- a' ${BUILD_DIR}/clang-format.patch |
| 165 | ;; |
Mark de Wever | 53efa10 | 2021-04-04 20:11:48 +0200 | [diff] [blame] | 166 | check-generated-output) |
Mark de Wever | b10c97d | 2021-04-28 19:13:52 +0200 | [diff] [blame] | 167 | # `! foo` doesn't work properly with `set -e`, use `! foo || false` instead. |
| 168 | # https://stackoverflow.com/questions/57681955/set-e-does-not-respect-logical-not |
Mark de Wever | 53efa10 | 2021-04-04 20:11:48 +0200 | [diff] [blame] | 169 | clean |
Louis Dionne | 8096e24 | 2021-07-15 10:19:39 -0400 | [diff] [blame] | 170 | generate-cmake |
| 171 | |
| 172 | # Reject patches that forgot to re-run the generator scripts. |
| 173 | echo "+++ Making sure the generator scripts were run" |
| 174 | ${NINJA} -vC "${BUILD_DIR}" libcxx-generate-files |
Mark de Wever | 53efa10 | 2021-04-04 20:11:48 +0200 | [diff] [blame] | 175 | git diff | tee ${BUILD_DIR}/generated_output.patch |
Mark de Wever | dfd86e3 | 2021-07-22 11:17:53 +0200 | [diff] [blame] | 176 | git ls-files -o --exclude-standard | tee ${BUILD_DIR}/generated_output.status |
Mark de Wever | b10c97d | 2021-04-28 19:13:52 +0200 | [diff] [blame] | 177 | ! grep -q '^--- a' ${BUILD_DIR}/generated_output.patch || false |
Mark de Wever | dfd86e3 | 2021-07-22 11:17:53 +0200 | [diff] [blame] | 178 | if [ -s ${BUILD_DIR}/generated_output.status ]; then |
| 179 | echo "It looks like not all the generator scripts were run," |
| 180 | echo "did you forget to build the libcxx-generate-files target?" |
| 181 | echo "Did you add all new files it generated?" |
| 182 | false |
| 183 | fi |
Louis Dionne | 8096e24 | 2021-07-15 10:19:39 -0400 | [diff] [blame] | 184 | |
Mark de Wever | b10c97d | 2021-04-28 19:13:52 +0200 | [diff] [blame] | 185 | # Reject patches that introduce non-ASCII characters or hard tabs. |
Arthur O'Dwyer | 757d5bd | 2021-04-30 14:43:33 -0400 | [diff] [blame] | 186 | # Depends on LC_COLLATE set at the top of this script. |
Mark de Wever | b10c97d | 2021-04-28 19:13:52 +0200 | [diff] [blame] | 187 | ! grep -rn '[^ -~]' libcxx/include/ || false |
Louis Dionne | 8096e24 | 2021-07-15 10:19:39 -0400 | [diff] [blame] | 188 | |
| 189 | # Reject patches that introduce dependency cycles in the headers. |
Arthur O'Dwyer | bba78c3 | 2021-04-17 09:56:34 -0400 | [diff] [blame] | 190 | python3 libcxx/utils/graph_header_deps.py >/dev/null |
Mark de Wever | 53efa10 | 2021-04-04 20:11:48 +0200 | [diff] [blame] | 191 | ;; |
Louis Dionne | 6f8038c | 2020-10-01 13:55:39 -0400 | [diff] [blame] | 192 | generic-cxx03) |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 193 | clean |
Louis Dionne | 77fc7de | 2021-02-26 13:18:21 -0500 | [diff] [blame] | 194 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx03.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 195 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 196 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 197 | check-runtimes |
Louis Dionne | dfbd00e | 2020-11-26 15:00:42 -0500 | [diff] [blame] | 198 | check-abi-list |
Louis Dionne | ce55605 | 2020-09-23 09:20:03 -0400 | [diff] [blame] | 199 | ;; |
Louis Dionne | 6f8038c | 2020-10-01 13:55:39 -0400 | [diff] [blame] | 200 | generic-cxx11) |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 201 | clean |
Louis Dionne | 77fc7de | 2021-02-26 13:18:21 -0500 | [diff] [blame] | 202 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx11.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 203 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 204 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 205 | check-runtimes |
Louis Dionne | dfbd00e | 2020-11-26 15:00:42 -0500 | [diff] [blame] | 206 | check-abi-list |
Louis Dionne | ce55605 | 2020-09-23 09:20:03 -0400 | [diff] [blame] | 207 | ;; |
Louis Dionne | 6f8038c | 2020-10-01 13:55:39 -0400 | [diff] [blame] | 208 | generic-cxx14) |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 209 | clean |
Louis Dionne | 77fc7de | 2021-02-26 13:18:21 -0500 | [diff] [blame] | 210 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx14.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 211 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 212 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 213 | check-runtimes |
Louis Dionne | dfbd00e | 2020-11-26 15:00:42 -0500 | [diff] [blame] | 214 | check-abi-list |
Louis Dionne | ce55605 | 2020-09-23 09:20:03 -0400 | [diff] [blame] | 215 | ;; |
Louis Dionne | 6f8038c | 2020-10-01 13:55:39 -0400 | [diff] [blame] | 216 | generic-cxx17) |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 217 | clean |
Louis Dionne | 77fc7de | 2021-02-26 13:18:21 -0500 | [diff] [blame] | 218 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx17.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 219 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 220 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 221 | check-runtimes |
Louis Dionne | dfbd00e | 2020-11-26 15:00:42 -0500 | [diff] [blame] | 222 | check-abi-list |
Louis Dionne | ce55605 | 2020-09-23 09:20:03 -0400 | [diff] [blame] | 223 | ;; |
Marek Kurdej | 24b4c51 | 2021-01-07 12:29:04 +0100 | [diff] [blame] | 224 | generic-cxx20) |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 225 | clean |
Louis Dionne | 77fc7de | 2021-02-26 13:18:21 -0500 | [diff] [blame] | 226 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx20.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 227 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 228 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 229 | check-runtimes |
Louis Dionne | dfbd00e | 2020-11-26 15:00:42 -0500 | [diff] [blame] | 230 | check-abi-list |
Louis Dionne | ce55605 | 2020-09-23 09:20:03 -0400 | [diff] [blame] | 231 | ;; |
Marek Kurdej | 758067c | 2021-01-08 18:40:42 +0100 | [diff] [blame] | 232 | generic-cxx2b) |
Marek Kurdej | 758067c | 2021-01-08 18:40:42 +0100 | [diff] [blame] | 233 | clean |
Louis Dionne | 77fc7de | 2021-02-26 13:18:21 -0500 | [diff] [blame] | 234 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx2b.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 235 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 236 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 237 | check-runtimes |
Marek Kurdej | 758067c | 2021-01-08 18:40:42 +0100 | [diff] [blame] | 238 | check-abi-list |
| 239 | ;; |
Louis Dionne | 732192e | 2021-06-09 09:41:27 -0400 | [diff] [blame] | 240 | generic-assertions) |
Louis Dionne | 732192e | 2021-06-09 09:41:27 -0400 | [diff] [blame] | 241 | clean |
Louis Dionne | 81b7dc2 | 2021-05-31 12:44:48 -0400 | [diff] [blame] | 242 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-assertions.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 243 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 244 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 245 | check-runtimes |
Louis Dionne | 732192e | 2021-06-09 09:41:27 -0400 | [diff] [blame] | 246 | check-abi-list |
| 247 | ;; |
Arthur O'Dwyer | 64e0247 | 2021-04-20 11:27:03 -0400 | [diff] [blame] | 248 | generic-debug-iterators) |
Arthur O'Dwyer | 64e0247 | 2021-04-20 11:27:03 -0400 | [diff] [blame] | 249 | clean |
Louis Dionne | 81b7dc2 | 2021-05-31 12:44:48 -0400 | [diff] [blame] | 250 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-debug-iterators.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 251 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 252 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 253 | check-runtimes |
Arthur O'Dwyer | 64e0247 | 2021-04-20 11:27:03 -0400 | [diff] [blame] | 254 | check-abi-list |
| 255 | ;; |
Louis Dionne | 6f8038c | 2020-10-01 13:55:39 -0400 | [diff] [blame] | 256 | generic-noexceptions) |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 257 | clean |
Louis Dionne | 81b7dc2 | 2021-05-31 12:44:48 -0400 | [diff] [blame] | 258 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-noexceptions.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 259 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 260 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 261 | check-runtimes |
Louis Dionne | ce55605 | 2020-09-23 09:20:03 -0400 | [diff] [blame] | 262 | ;; |
Louis Dionne | 00005a9 | 2021-06-02 17:07:57 -0400 | [diff] [blame] | 263 | generic-modules) |
Louis Dionne | 00005a9 | 2021-06-02 17:07:57 -0400 | [diff] [blame] | 264 | clean |
Louis Dionne | 81b7dc2 | 2021-05-31 12:44:48 -0400 | [diff] [blame] | 265 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-modules.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 266 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 267 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 268 | check-runtimes |
Louis Dionne | 00005a9 | 2021-06-02 17:07:57 -0400 | [diff] [blame] | 269 | ;; |
Louis Dionne | eacce54 | 2021-03-24 09:50:59 -0400 | [diff] [blame] | 270 | generic-static) |
Louis Dionne | eacce54 | 2021-03-24 09:50:59 -0400 | [diff] [blame] | 271 | clean |
Louis Dionne | 77fc7de | 2021-02-26 13:18:21 -0500 | [diff] [blame] | 272 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-static.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 273 | -DLIBCXX_TEST_CONFIG="llvm-libc++-static.cfg.in" \ |
| 274 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-static.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 275 | check-runtimes |
Louis Dionne | eacce54 | 2021-03-24 09:50:59 -0400 | [diff] [blame] | 276 | ;; |
Mark de Wever | d535299 | 2021-10-23 13:08:01 +0200 | [diff] [blame] | 277 | generic-clang-12) |
| 278 | export CC=clang-12 |
| 279 | export CXX=clang++-12 |
Louis Dionne | 6f4796b | 2021-07-08 12:26:33 -0400 | [diff] [blame] | 280 | clean |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 281 | generate-cmake -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 282 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 283 | check-runtimes |
Louis Dionne | 6f4796b | 2021-07-08 12:26:33 -0400 | [diff] [blame] | 284 | ;; |
Mark de Wever | d535299 | 2021-10-23 13:08:01 +0200 | [diff] [blame] | 285 | generic-clang-13) |
| 286 | export CC=clang-13 |
| 287 | export CXX=clang++-13 |
Louis Dionne | 6f4796b | 2021-07-08 12:26:33 -0400 | [diff] [blame] | 288 | clean |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 289 | generate-cmake -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 290 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 291 | check-runtimes |
Louis Dionne | 6f4796b | 2021-07-08 12:26:33 -0400 | [diff] [blame] | 292 | ;; |
Louis Dionne | 6f8038c | 2020-10-01 13:55:39 -0400 | [diff] [blame] | 293 | generic-gcc) |
Louis Dionne | 566a51d | 2021-06-15 15:07:03 -0400 | [diff] [blame] | 294 | export CC=gcc-11 |
| 295 | export CXX=g++-11 |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 296 | clean |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 297 | generate-cmake -DLIBCXX_TEST_CONFIG="llvm-libc++-shared-gcc.cfg.in" \ |
| 298 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 299 | check-runtimes |
Louis Dionne | ce55605 | 2020-09-23 09:20:03 -0400 | [diff] [blame] | 300 | ;; |
Louis Dionne | 657b479 | 2021-07-15 09:46:36 -0400 | [diff] [blame] | 301 | generic-gcc-cxx11) |
| 302 | export CC=gcc-11 |
| 303 | export CXX=g++-11 |
| 304 | clean |
Louis Dionne | 1cb657a | 2021-10-07 14:54:14 -0400 | [diff] [blame] | 305 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx11.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 306 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared-gcc.cfg.in" \ |
| 307 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 308 | check-runtimes |
Louis Dionne | 657b479 | 2021-07-15 09:46:36 -0400 | [diff] [blame] | 309 | ;; |
Louis Dionne | 6f8038c | 2020-10-01 13:55:39 -0400 | [diff] [blame] | 310 | generic-asan) |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 311 | clean |
Louis Dionne | 81b7dc2 | 2021-05-31 12:44:48 -0400 | [diff] [blame] | 312 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-asan.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 313 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 314 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 315 | check-runtimes |
Louis Dionne | ce55605 | 2020-09-23 09:20:03 -0400 | [diff] [blame] | 316 | ;; |
Louis Dionne | 6f8038c | 2020-10-01 13:55:39 -0400 | [diff] [blame] | 317 | generic-msan) |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 318 | clean |
Louis Dionne | 81b7dc2 | 2021-05-31 12:44:48 -0400 | [diff] [blame] | 319 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-msan.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 320 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 321 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 322 | check-runtimes |
Louis Dionne | ce55605 | 2020-09-23 09:20:03 -0400 | [diff] [blame] | 323 | ;; |
Louis Dionne | 6f8038c | 2020-10-01 13:55:39 -0400 | [diff] [blame] | 324 | generic-tsan) |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 325 | clean |
Louis Dionne | 81b7dc2 | 2021-05-31 12:44:48 -0400 | [diff] [blame] | 326 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-tsan.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 327 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 328 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 329 | check-runtimes |
Louis Dionne | ce55605 | 2020-09-23 09:20:03 -0400 | [diff] [blame] | 330 | ;; |
Louis Dionne | 6f8038c | 2020-10-01 13:55:39 -0400 | [diff] [blame] | 331 | generic-ubsan) |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 332 | clean |
Louis Dionne | 81b7dc2 | 2021-05-31 12:44:48 -0400 | [diff] [blame] | 333 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-ubsan.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 334 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 335 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 336 | check-runtimes |
Louis Dionne | ce55605 | 2020-09-23 09:20:03 -0400 | [diff] [blame] | 337 | ;; |
Louis Dionne | 6f8038c | 2020-10-01 13:55:39 -0400 | [diff] [blame] | 338 | generic-with_llvm_unwinder) |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 339 | clean |
Louis Dionne | 81b7dc2 | 2021-05-31 12:44:48 -0400 | [diff] [blame] | 340 | generate-cmake -DLIBCXXABI_USE_LLVM_UNWINDER=ON \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 341 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 342 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 343 | check-runtimes |
Louis Dionne | ce55605 | 2020-09-23 09:20:03 -0400 | [diff] [blame] | 344 | ;; |
Louis Dionne | 6f8038c | 2020-10-01 13:55:39 -0400 | [diff] [blame] | 345 | generic-singlethreaded) |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 346 | clean |
Louis Dionne | 81b7dc2 | 2021-05-31 12:44:48 -0400 | [diff] [blame] | 347 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-singlethreaded.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 348 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 349 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 350 | check-runtimes |
Louis Dionne | ce55605 | 2020-09-23 09:20:03 -0400 | [diff] [blame] | 351 | ;; |
Louis Dionne | abcfdbc | 2021-03-23 14:09:52 -0400 | [diff] [blame] | 352 | generic-no-debug) |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 353 | clean |
Louis Dionne | 81b7dc2 | 2021-05-31 12:44:48 -0400 | [diff] [blame] | 354 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-no-debug.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 355 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 356 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 357 | check-runtimes |
Louis Dionne | 4396f9b | 2020-10-06 16:46:58 -0400 | [diff] [blame] | 358 | ;; |
Louis Dionne | db84e12 | 2021-01-18 12:18:18 -0500 | [diff] [blame] | 359 | generic-no-filesystem) |
Louis Dionne | db84e12 | 2021-01-18 12:18:18 -0500 | [diff] [blame] | 360 | clean |
Louis Dionne | 81b7dc2 | 2021-05-31 12:44:48 -0400 | [diff] [blame] | 361 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-no-filesystem.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 362 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 363 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 364 | check-runtimes |
Louis Dionne | db84e12 | 2021-01-18 12:18:18 -0500 | [diff] [blame] | 365 | ;; |
Louis Dionne | 3777e68 | 2020-10-15 10:32:09 -0400 | [diff] [blame] | 366 | generic-no-random_device) |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 367 | clean |
Louis Dionne | 81b7dc2 | 2021-05-31 12:44:48 -0400 | [diff] [blame] | 368 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-no-random_device.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 369 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 370 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 371 | check-runtimes |
Louis Dionne | 3777e68 | 2020-10-15 10:32:09 -0400 | [diff] [blame] | 372 | ;; |
Louis Dionne | 8d053eb | 2020-10-09 15:31:05 -0400 | [diff] [blame] | 373 | generic-no-localization) |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 374 | clean |
Louis Dionne | 81b7dc2 | 2021-05-31 12:44:48 -0400 | [diff] [blame] | 375 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-no-localization.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 376 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 377 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 378 | check-runtimes |
Louis Dionne | 8d053eb | 2020-10-09 15:31:05 -0400 | [diff] [blame] | 379 | ;; |
Mark de Wever | ebbd3b6 | 2021-05-25 20:11:08 +0200 | [diff] [blame] | 380 | generic-no-unicode) |
Mark de Wever | ebbd3b6 | 2021-05-25 20:11:08 +0200 | [diff] [blame] | 381 | clean |
Louis Dionne | 24a32ac | 2021-10-05 13:37:43 -0400 | [diff] [blame] | 382 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-no-unicode.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 383 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 384 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 385 | check-runtimes |
Mark de Wever | ebbd3b6 | 2021-05-25 20:11:08 +0200 | [diff] [blame] | 386 | ;; |
Louis Dionne | 8925814 | 2021-08-23 15:32:36 -0400 | [diff] [blame] | 387 | generic-no-wide-characters) |
| 388 | clean |
| 389 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-no-wide-characters.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 390 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 391 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 8925814 | 2021-08-23 15:32:36 -0400 | [diff] [blame] | 392 | check-runtimes |
| 393 | ;; |
Louis Dionne | a93dd78 | 2021-10-15 00:21:26 -0400 | [diff] [blame] | 394 | apple-system) |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 395 | clean |
Louis Dionne | a93dd78 | 2021-10-15 00:21:26 -0400 | [diff] [blame] | 396 | |
| 397 | sdk_root="$(xcrun --sdk macosx --show-sdk-path)" |
| 398 | arch="$(uname -m)" |
| 399 | |
| 400 | ${MONOREPO_ROOT}/libcxx/utils/ci/apple-install-libcxx.sh \ |
| 401 | --llvm-root ${MONOREPO_ROOT} \ |
| 402 | --build-dir ${BUILD_DIR} \ |
| 403 | --install-dir ${INSTALL_DIR} \ |
| 404 | --symbols-dir "${BUILD_DIR}/symbols" \ |
| 405 | --sdk "macosx" \ |
| 406 | --architectures "${arch}" \ |
| 407 | --version "999.99" |
| 408 | |
| 409 | # TODO: It would be better to run the tests against the fake-installed version of libc++ instead |
| 410 | xcrun --sdk macosx ninja -vC "${BUILD_DIR}/${arch}" check-cxx check-cxxabi |
Louis Dionne | 89d0eb2 | 2020-10-01 08:55:40 -0400 | [diff] [blame] | 411 | ;; |
Louis Dionne | a93dd78 | 2021-10-15 00:21:26 -0400 | [diff] [blame] | 412 | apple-system-backdeployment-*) |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 413 | clean |
Louis Dionne | 662aaa2 | 2020-11-05 10:47:06 -0500 | [diff] [blame] | 414 | |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 415 | if [[ "${OSX_ROOTS}" == "" ]]; then |
| 416 | echo "--- Downloading previous macOS dylibs" |
Louis Dionne | c767535 | 2021-03-25 14:14:20 -0400 | [diff] [blame] | 417 | PREVIOUS_DYLIBS_URL="https://dl.dropboxusercontent.com/s/liu4fmc53qzlfly/libcxx-roots.tar.gz" |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 418 | OSX_ROOTS="${BUILD_DIR}/macos-roots" |
| 419 | mkdir -p "${OSX_ROOTS}" |
| 420 | curl "${PREVIOUS_DYLIBS_URL}" | tar -xz --strip-components=1 -C "${OSX_ROOTS}" |
| 421 | fi |
Louis Dionne | 662aaa2 | 2020-11-05 10:47:06 -0500 | [diff] [blame] | 422 | |
Louis Dionne | a93dd78 | 2021-10-15 00:21:26 -0400 | [diff] [blame] | 423 | DEPLOYMENT_TARGET="${BUILDER#apple-system-backdeployment-}" |
Louis Dionne | 84ad13b | 2020-07-08 16:38:54 -0400 | [diff] [blame] | 424 | |
| 425 | # TODO: On Apple platforms, we never produce libc++abi.1.dylib, always libc++abi.dylib. |
| 426 | # Fix that in the build so that the tests stop searching for @rpath/libc++abi.1.dylib. |
| 427 | cp "${OSX_ROOTS}/macOS/libc++abi/${DEPLOYMENT_TARGET}/libc++abi.dylib" \ |
| 428 | "${OSX_ROOTS}/macOS/libc++abi/${DEPLOYMENT_TARGET}/libc++abi.1.dylib" |
| 429 | |
Louis Dionne | a93dd78 | 2021-10-15 00:21:26 -0400 | [diff] [blame] | 430 | arch="$(uname -m)" |
| 431 | PARAMS="target_triple=${arch}-apple-macosx${DEPLOYMENT_TARGET}" |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 432 | PARAMS+=";cxx_runtime_root=${OSX_ROOTS}/macOS/libc++/${DEPLOYMENT_TARGET}" |
Louis Dionne | 84ad13b | 2020-07-08 16:38:54 -0400 | [diff] [blame] | 433 | PARAMS+=";abi_runtime_root=${OSX_ROOTS}/macOS/libc++abi/${DEPLOYMENT_TARGET}" |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 434 | PARAMS+=";use_system_cxx_lib=True" |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 435 | |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 436 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Apple.cmake" \ |
| 437 | -DLIBCXX_TEST_PARAMS="${PARAMS}" \ |
| 438 | -DLIBCXXABI_TEST_PARAMS="${PARAMS}" |
| 439 | |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 440 | check-runtimes |
Louis Dionne | 662aaa2 | 2020-11-05 10:47:06 -0500 | [diff] [blame] | 441 | ;; |
Louis Dionne | f9c11b0 | 2020-10-23 10:02:14 -0400 | [diff] [blame] | 442 | benchmarks) |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 443 | clean |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 444 | generate-cmake -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 445 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | f9c11b0 | 2020-10-23 10:02:14 -0400 | [diff] [blame] | 446 | check-cxx-benchmarks |
Louis Dionne | 89d0eb2 | 2020-10-01 08:55:40 -0400 | [diff] [blame] | 447 | ;; |
Louis Dionne | aa4e44f | 2020-11-05 14:34:29 -0500 | [diff] [blame] | 448 | documentation) |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 449 | clean |
| 450 | generate-cmake -DLLVM_ENABLE_SPHINX=ON |
| 451 | |
| 452 | echo "+++ Generating documentation" |
Louis Dionne | 1fcb041 | 2021-03-19 16:26:15 -0700 | [diff] [blame] | 453 | ${NINJA} -vC "${BUILD_DIR}" docs-libcxx-html |
Louis Dionne | aa4e44f | 2020-11-05 14:34:29 -0500 | [diff] [blame] | 454 | ;; |
Louis Dionne | 64a3f22 | 2021-10-20 17:43:55 -0400 | [diff] [blame] | 455 | bootstrapping-build) |
Louis Dionne | 61b63fd | 2021-03-16 11:57:42 -0700 | [diff] [blame] | 456 | clean |
| 457 | |
| 458 | echo "--- Generating CMake" |
Louis Dionne | 64a3f22 | 2021-10-20 17:43:55 -0400 | [diff] [blame] | 459 | # TODO: We currently enable modules and assertions in the bootstrapping build |
Louis Dionne | 65faaa7 | 2021-06-14 14:36:13 -0400 | [diff] [blame] | 460 | # because that provides coverage for some specific Clang failures |
| 461 | # we've been seeing recently, however it would be better to instead |
| 462 | # run all CI configurations against a Clang that has assertions enabled. |
Louis Dionne | 6f96e99 | 2021-05-07 13:14:57 -0400 | [diff] [blame] | 463 | ${CMAKE} \ |
| 464 | -S "${MONOREPO_ROOT}/llvm" \ |
Louis Dionne | 61b63fd | 2021-03-16 11:57:42 -0700 | [diff] [blame] | 465 | -B "${BUILD_DIR}" \ |
Louis Dionne | 6f96e99 | 2021-05-07 13:14:57 -0400 | [diff] [blame] | 466 | -GNinja -DCMAKE_MAKE_PROGRAM="${NINJA}" \ |
Mark de Wever | 6ede28e | 2021-12-08 17:58:51 +0100 | [diff] [blame] | 467 | -DCMAKE_BUILD_TYPE=RelWithDebInfo \ |
Louis Dionne | 61b63fd | 2021-03-16 11:57:42 -0700 | [diff] [blame] | 468 | -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \ |
| 469 | -DLLVM_ENABLE_PROJECTS="clang" \ |
| 470 | -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" \ |
Louis Dionne | 0b523d1 | 2021-11-11 11:55:20 -0500 | [diff] [blame] | 471 | -DLLVM_RUNTIME_TARGETS="$(c++ --print-target-triple)" \ |
Matheus Izvekov | 3f0e0e1 | 2021-11-16 00:32:48 +0100 | [diff] [blame] | 472 | -DLLVM_TARGETS_TO_BUILD="host" \ |
Louis Dionne | 0b523d1 | 2021-11-11 11:55:20 -0500 | [diff] [blame] | 473 | -DRUNTIMES_BUILD_ALLOW_DARWIN=ON \ |
Louis Dionne | 65faaa7 | 2021-06-14 14:36:13 -0400 | [diff] [blame] | 474 | -DLLVM_ENABLE_ASSERTIONS=ON \ |
Louis Dionne | 81b7dc2 | 2021-05-31 12:44:48 -0400 | [diff] [blame] | 475 | -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-modules.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 476 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 477 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 61b63fd | 2021-03-16 11:57:42 -0700 | [diff] [blame] | 478 | |
| 479 | echo "+++ Running the libc++ and libc++abi tests" |
| 480 | ${NINJA} -C "${BUILD_DIR}" check-runtimes |
| 481 | |
| 482 | echo "--- Installing libc++ and libc++abi to a fake location" |
Louis Dionne | 4b1b70d | 2021-07-06 10:39:01 -0400 | [diff] [blame] | 483 | ${NINJA} -C "${BUILD_DIR}" install-runtimes |
Louis Dionne | 61b63fd | 2021-03-16 11:57:42 -0700 | [diff] [blame] | 484 | ;; |
Louis Dionne | 77fc7de | 2021-02-26 13:18:21 -0500 | [diff] [blame] | 485 | legacy-test-config) |
Louis Dionne | 77fc7de | 2021-02-26 13:18:21 -0500 | [diff] [blame] | 486 | clean |
Louis Dionne | 6be4405 | 2021-09-29 15:26:05 -0400 | [diff] [blame] | 487 | generate-cmake -DLIBCXX_TEST_CONFIG="legacy.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 488 | check-runtimes |
Louis Dionne | 77fc7de | 2021-02-26 13:18:21 -0500 | [diff] [blame] | 489 | ;; |
Louis Dionne | 076fd0c | 2021-10-07 16:19:11 -0400 | [diff] [blame] | 490 | legacy-project-build) |
| 491 | clean |
| 492 | |
| 493 | echo "--- Generating CMake" |
| 494 | ${CMAKE} \ |
| 495 | -S "${MONOREPO_ROOT}/llvm" \ |
| 496 | -B "${BUILD_DIR}" \ |
| 497 | -DLLVM_ENABLE_PROJECTS="libcxx;libunwind;libcxxabi" \ |
| 498 | -GNinja -DCMAKE_MAKE_PROGRAM="${NINJA}" \ |
| 499 | -DCMAKE_BUILD_TYPE=RelWithDebInfo \ |
| 500 | -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \ |
| 501 | -DLLVM_LIT_ARGS="-sv --show-unsupported --xunit-xml-output test-results.xml" \ |
| 502 | -DLIBCXX_CXX_ABI=libcxxabi |
| 503 | check-runtimes |
| 504 | ;; |
Louis Dionne | 435c36b | 2020-10-23 16:27:41 -0400 | [diff] [blame] | 505 | legacy-standalone) |
Louis Dionne | bb7be75 | 2020-11-05 19:02:32 -0500 | [diff] [blame] | 506 | clean |
| 507 | |
Louis Dionne | 435c36b | 2020-10-23 16:27:41 -0400 | [diff] [blame] | 508 | echo "--- Generating CMake" |
Louis Dionne | 6f96e99 | 2021-05-07 13:14:57 -0400 | [diff] [blame] | 509 | ${CMAKE} \ |
| 510 | -S "${MONOREPO_ROOT}/libcxx" \ |
Louis Dionne | 435c36b | 2020-10-23 16:27:41 -0400 | [diff] [blame] | 511 | -B "${BUILD_DIR}/libcxx" \ |
Louis Dionne | 7a8d536 | 2021-03-04 16:01:36 -0500 | [diff] [blame] | 512 | -GNinja -DCMAKE_MAKE_PROGRAM="${NINJA}" \ |
Louis Dionne | 435c36b | 2020-10-23 16:27:41 -0400 | [diff] [blame] | 513 | -DCMAKE_BUILD_TYPE=RelWithDebInfo \ |
| 514 | -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \ |
| 515 | -DLLVM_PATH="${MONOREPO_ROOT}/llvm" \ |
| 516 | -DLIBCXX_CXX_ABI=libcxxabi \ |
Louis Dionne | 6517525 | 2021-11-09 14:44:19 -0500 | [diff] [blame] | 517 | -DLIBCXX_INCLUDE_BENCHMARKS=OFF \ |
Louis Dionne | 435c36b | 2020-10-23 16:27:41 -0400 | [diff] [blame] | 518 | -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${MONOREPO_ROOT}/libcxxabi/include" \ |
| 519 | -DLIBCXX_CXX_ABI_LIBRARY_PATH="${BUILD_DIR}/libcxxabi/lib" |
| 520 | |
Louis Dionne | 6f96e99 | 2021-05-07 13:14:57 -0400 | [diff] [blame] | 521 | ${CMAKE} \ |
| 522 | -S "${MONOREPO_ROOT}/libcxxabi" \ |
Louis Dionne | 435c36b | 2020-10-23 16:27:41 -0400 | [diff] [blame] | 523 | -B "${BUILD_DIR}/libcxxabi" \ |
Louis Dionne | 7a8d536 | 2021-03-04 16:01:36 -0500 | [diff] [blame] | 524 | -GNinja -DCMAKE_MAKE_PROGRAM="${NINJA}" \ |
Louis Dionne | 435c36b | 2020-10-23 16:27:41 -0400 | [diff] [blame] | 525 | -DCMAKE_BUILD_TYPE=RelWithDebInfo \ |
| 526 | -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \ |
| 527 | -DLLVM_PATH="${MONOREPO_ROOT}/llvm" \ |
| 528 | -DLIBCXXABI_LIBCXX_PATH="${MONOREPO_ROOT}/libcxx" \ |
Louis Dionne | 94870d8 | 2020-06-26 12:08:59 -0400 | [diff] [blame] | 529 | -DLIBCXXABI_LIBCXX_INCLUDES="${BUILD_DIR}/libcxx/include/c++/v1" \ |
Louis Dionne | 5be8b09 | 2020-10-26 14:25:49 -0400 | [diff] [blame] | 530 | -DLIBCXXABI_LIBCXX_LIBRARY_PATH="${BUILD_DIR}/libcxx/lib" |
Louis Dionne | 435c36b | 2020-10-23 16:27:41 -0400 | [diff] [blame] | 531 | |
Louis Dionne | 94870d8 | 2020-06-26 12:08:59 -0400 | [diff] [blame] | 532 | echo "+++ Generating libc++ headers" |
| 533 | ${NINJA} -vC "${BUILD_DIR}/libcxx" generate-cxx-headers |
| 534 | |
Louis Dionne | 435c36b | 2020-10-23 16:27:41 -0400 | [diff] [blame] | 535 | echo "+++ Building libc++abi" |
Louis Dionne | 1fcb041 | 2021-03-19 16:26:15 -0700 | [diff] [blame] | 536 | ${NINJA} -vC "${BUILD_DIR}/libcxxabi" cxxabi |
Louis Dionne | 435c36b | 2020-10-23 16:27:41 -0400 | [diff] [blame] | 537 | |
| 538 | echo "+++ Building libc++" |
Louis Dionne | 1fcb041 | 2021-03-19 16:26:15 -0700 | [diff] [blame] | 539 | ${NINJA} -vC "${BUILD_DIR}/libcxx" cxx |
Louis Dionne | 435c36b | 2020-10-23 16:27:41 -0400 | [diff] [blame] | 540 | |
| 541 | echo "+++ Running the libc++ tests" |
Louis Dionne | 1fcb041 | 2021-03-19 16:26:15 -0700 | [diff] [blame] | 542 | ${NINJA} -vC "${BUILD_DIR}/libcxx" check-cxx |
Louis Dionne | 435c36b | 2020-10-23 16:27:41 -0400 | [diff] [blame] | 543 | |
| 544 | echo "+++ Running the libc++abi tests" |
Louis Dionne | 1fcb041 | 2021-03-19 16:26:15 -0700 | [diff] [blame] | 545 | ${NINJA} -vC "${BUILD_DIR}/libcxxabi" check-cxxabi |
Louis Dionne | 435c36b | 2020-10-23 16:27:41 -0400 | [diff] [blame] | 546 | ;; |
David Spickett | 77471a1 | 2021-02-08 10:43:21 +0000 | [diff] [blame] | 547 | aarch64) |
| 548 | clean |
Louis Dionne | 81b7dc2 | 2021-05-31 12:44:48 -0400 | [diff] [blame] | 549 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/AArch64.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 550 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 551 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 552 | check-runtimes |
David Spickett | 77471a1 | 2021-02-08 10:43:21 +0000 | [diff] [blame] | 553 | ;; |
| 554 | aarch64-noexceptions) |
| 555 | clean |
| 556 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/AArch64.cmake" \ |
Louis Dionne | 4b85fc3 | 2021-07-15 13:29:47 -0400 | [diff] [blame] | 557 | -DLIBCXX_ENABLE_EXCEPTIONS=OFF \ |
Louis Dionne | 81b7dc2 | 2021-05-31 12:44:48 -0400 | [diff] [blame] | 558 | -DLIBCXXABI_ENABLE_EXCEPTIONS=OFF \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 559 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 560 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 561 | check-runtimes |
David Spickett | 77471a1 | 2021-02-08 10:43:21 +0000 | [diff] [blame] | 562 | ;; |
David Spickett | a16b886 | 2021-03-02 15:07:19 +0000 | [diff] [blame] | 563 | # Aka Armv8 32 bit |
| 564 | armv8) |
| 565 | clean |
Louis Dionne | 81b7dc2 | 2021-05-31 12:44:48 -0400 | [diff] [blame] | 566 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Armv8Arm.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 567 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 568 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 569 | check-runtimes |
David Spickett | a16b886 | 2021-03-02 15:07:19 +0000 | [diff] [blame] | 570 | ;; |
| 571 | armv8-noexceptions) |
| 572 | clean |
Louis Dionne | 81b7dc2 | 2021-05-31 12:44:48 -0400 | [diff] [blame] | 573 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Armv8Thumb-noexceptions.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 574 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 575 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 576 | check-runtimes |
David Spickett | a16b886 | 2021-03-02 15:07:19 +0000 | [diff] [blame] | 577 | ;; |
| 578 | # Armv7 32 bit. One building Arm only one Thumb only code. |
| 579 | armv7) |
| 580 | clean |
Louis Dionne | 81b7dc2 | 2021-05-31 12:44:48 -0400 | [diff] [blame] | 581 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Armv7Arm.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 582 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 583 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 584 | check-runtimes |
David Spickett | a16b886 | 2021-03-02 15:07:19 +0000 | [diff] [blame] | 585 | ;; |
| 586 | armv7-noexceptions) |
| 587 | clean |
Louis Dionne | 81b7dc2 | 2021-05-31 12:44:48 -0400 | [diff] [blame] | 588 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Armv7Thumb-noexceptions.cmake" \ |
Louis Dionne | 16b20d0 | 2021-10-12 12:46:21 -0400 | [diff] [blame] | 589 | -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ |
| 590 | -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" |
Louis Dionne | 1f54452 | 2021-09-30 15:11:48 -0400 | [diff] [blame] | 591 | check-runtimes |
David Spickett | a16b886 | 2021-03-02 15:07:19 +0000 | [diff] [blame] | 592 | ;; |
Martin Storsjö | e208154 | 2021-10-01 23:08:57 +0300 | [diff] [blame] | 593 | clang-cl-dll) |
Martin Storsjö | 2ffae01 | 2021-03-17 12:10:42 +0200 | [diff] [blame] | 594 | clean |
Martin Storsjö | 2ffae01 | 2021-03-17 12:10:42 +0200 | [diff] [blame] | 595 | # TODO: Currently, building with the experimental library breaks running |
| 596 | # tests (the test linking look for the c++experimental library with the |
| 597 | # wrong name, and the statically linked c++experimental can't be linked |
| 598 | # correctly when libc++ visibility attributes indicate dllimport linkage |
| 599 | # anyway), thus just disable the experimental library. Remove this |
| 600 | # setting when cmake and the test driver does the right thing automatically. |
Martin Storsjö | 47cd346 | 2021-04-06 00:17:30 +0300 | [diff] [blame] | 601 | generate-cmake-libcxx-win -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF |
| 602 | echo "+++ Running the libc++ tests" |
| 603 | ${NINJA} -vC "${BUILD_DIR}" check-cxx |
| 604 | ;; |
Martin Storsjö | e208154 | 2021-10-01 23:08:57 +0300 | [diff] [blame] | 605 | clang-cl-static) |
Martin Storsjö | 47cd346 | 2021-04-06 00:17:30 +0300 | [diff] [blame] | 606 | clean |
| 607 | generate-cmake-libcxx-win -DLIBCXX_ENABLE_SHARED=OFF |
Martin Storsjö | 2ffae01 | 2021-03-17 12:10:42 +0200 | [diff] [blame] | 608 | echo "+++ Running the libc++ tests" |
| 609 | ${NINJA} -vC "${BUILD_DIR}" check-cxx |
| 610 | ;; |
Martin Storsjö | e208154 | 2021-10-01 23:08:57 +0300 | [diff] [blame] | 611 | mingw-dll) |
| 612 | clean |
| 613 | # Explicitly specify the compiler with a triple prefix. The CI |
| 614 | # environment has got two installations of Clang; the default one |
| 615 | # defaults to MSVC mode, while there's an installation of llvm-mingw |
| 616 | # further back in PATH. By calling the compiler with an explicit |
| 617 | # triple prefix, we use the one that is bundled with a mingw sysroot. |
| 618 | generate-cmake \ |
| 619 | -DCMAKE_C_COMPILER=x86_64-w64-mingw32-clang \ |
| 620 | -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-clang++ \ |
| 621 | -C "${MONOREPO_ROOT}/libcxx/cmake/caches/MinGW.cmake" |
| 622 | echo "+++ Running the libc++ tests" |
| 623 | ${NINJA} -vC "${BUILD_DIR}" check-cxx |
| 624 | ;; |
| 625 | mingw-static) |
| 626 | clean |
| 627 | generate-cmake \ |
| 628 | -DCMAKE_C_COMPILER=x86_64-w64-mingw32-clang \ |
| 629 | -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-clang++ \ |
| 630 | -C "${MONOREPO_ROOT}/libcxx/cmake/caches/MinGW.cmake" \ |
| 631 | -DLIBCXX_ENABLE_SHARED=OFF \ |
| 632 | -DLIBUNWIND_ENABLE_SHARED=OFF |
| 633 | echo "+++ Running the libc++ tests" |
| 634 | ${NINJA} -vC "${BUILD_DIR}" check-cxx |
| 635 | ;; |
David Tenty | 823e74d | 2021-10-13 11:41:47 -0400 | [diff] [blame] | 636 | aix) |
| 637 | export CC=ibm-clang |
| 638 | export CXX=ibm-clang++_r |
| 639 | clean |
David Tenty | 51f4f2e | 2021-11-09 12:44:44 -0500 | [diff] [blame] | 640 | generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/AIX.cmake" \ |
David Tenty | 823e74d | 2021-10-13 11:41:47 -0400 | [diff] [blame] | 641 | -DLIBCXX_TEST_CONFIG="ibm-libc++-shared.cfg.in" \ |
David Tenty | 51f4f2e | 2021-11-09 12:44:44 -0500 | [diff] [blame] | 642 | -DLIBCXXABI_TEST_CONFIG="ibm-libc++abi-shared.cfg.in" \ |
| 643 | -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" |
David Tenty | 823e74d | 2021-10-13 11:41:47 -0400 | [diff] [blame] | 644 | # TODO: use check-runtimes once libunwind builds cleanly on AIX. |
| 645 | ${NINJA} -vC "${BUILD_DIR}" install-cxx install-cxxabi |
| 646 | ${NINJA} -vC "${BUILD_DIR}" check-cxx check-cxxabi |
| 647 | ;; |
Louis Dionne | 04915f9 | 2021-05-27 16:51:38 -0400 | [diff] [blame] | 648 | ################################################################# |
| 649 | # Insert vendor-specific internal configurations below. |
| 650 | # |
| 651 | # This allows vendors to extend this file with their own internal |
| 652 | # configurations without running into merge conflicts with upstream. |
| 653 | ################################################################# |
| 654 | |
| 655 | ################################################################# |
Louis Dionne | ce55605 | 2020-09-23 09:20:03 -0400 | [diff] [blame] | 656 | *) |
| 657 | echo "${BUILDER} is not a known configuration" |
| 658 | exit 1 |
| 659 | ;; |
| 660 | esac |