| author | |
| committer | |
| log | 5b486b1851ce3ee930236653fc0f8b0ec3eef5e6 |
| tree | 5afced6e929e10d015b5557a9800023b3943fc94 |
| parent | a8f86291d2c108fbc70de175660742a737b78823 |
For both macOS and FreeBSD.2 files changed, 40 insertions(+), 37 deletions(-)
ci/azure/macos_script+10-17| ... | @@ -34,13 +34,11 @@ git fetch --tags | ... | @@ -34,13 +34,11 @@ git fetch --tags |
| 34 | mkdir build | 34 | mkdir build |
| 35 | cd build | 35 | cd build |
| 36 | cmake .. \ | 36 | cmake .. \ |
| 37 | -DCMAKE_INSTALL_PREFIX="$(pwd)/stage2" \ | ||
| 38 | -DCMAKE_PREFIX_PATH="$PREFIX" \ | 37 | -DCMAKE_PREFIX_PATH="$PREFIX" \ |
| 39 | -DCMAKE_BUILD_TYPE=Release \ | 38 | -DCMAKE_BUILD_TYPE=Release \ |
| 40 | -DZIG_TARGET_TRIPLE="$TARGET" \ | 39 | -DZIG_TARGET_TRIPLE="$TARGET" \ |
| 41 | -DZIG_TARGET_MCPU="$MCPU" \ | 40 | -DZIG_TARGET_MCPU="$MCPU" \ |
| 42 | -DZIG_STATIC=ON \ | 41 | -DZIG_STATIC=ON |
| 43 | -DZIG_OMIT_STAGE2=ON | ||
| 44 | 42 | ||
| 45 | # Now cmake will use zig as the C/C++ compiler. We reset the environment variables | 43 | # Now cmake will use zig as the C/C++ compiler. We reset the environment variables |
| 46 | # so that installation and testing do not get affected by them. | 44 | # so that installation and testing do not get affected by them. |
| ... | @@ -49,13 +47,8 @@ unset CXX | ... | @@ -49,13 +47,8 @@ unset CXX |
| 49 | 47 | ||
| 50 | make $JOBS install | 48 | make $JOBS install |
| 51 | 49 | ||
| 52 | # Here we rebuild zig but this time using the Zig binary we just now produced to | 50 | stage2/bin/zig build \ |
| 53 | # build zig1.o rather than relying on the one built with stage0. See | 51 | --prefix stage3-release \ |
| 54 | # https://github.com/ziglang/zig/issues/6830 for more details. | ||
| 55 | cmake .. -DZIG_EXECUTABLE="$(pwd)/stage2/bin/zig" | ||
| 56 | make $JOBS install | ||
| 57 | |||
| 58 | stage2/bin/zig build -p release \ | ||
| 59 | --search-prefix "$PREFIX" \ | 52 | --search-prefix "$PREFIX" \ |
| 60 | -Dstatic-llvm \ | 53 | -Dstatic-llvm \ |
| 61 | -Drelease \ | 54 | -Drelease \ |
| ... | @@ -63,21 +56,21 @@ stage2/bin/zig build -p release \ | ... | @@ -63,21 +56,21 @@ stage2/bin/zig build -p release \ |
| 63 | -Dtarget="$TARGET" \ | 56 | -Dtarget="$TARGET" \ |
| 64 | -Denable-stage1 | 57 | -Denable-stage1 |
| 65 | 58 | ||
| 66 | release/bin/zig build test docs \ | 59 | stage3-release/bin/zig build test docs \ |
| 67 | -Denable-macos-sdk \ | 60 | -Denable-macos-sdk \ |
| 68 | -Dstatic-llvm \ | 61 | -Dstatic-llvm \ |
| 69 | --search-prefix "$PREFIX" | 62 | --search-prefix "$PREFIX" |
| 70 | 63 | ||
| 71 | if [ "${BUILD_REASON}" != "PullRequest" ]; then | 64 | if [ "${BUILD_REASON}" != "PullRequest" ]; then |
| 72 | mv ../LICENSE release/ | 65 | mv ../LICENSE stage3-release/ |
| 73 | mv ../zig-cache/langref.html release/ | 66 | mv ../zig-cache/langref.html stage3-release/ |
| 74 | mv release/bin/zig release/ | 67 | mv stage3-release/bin/zig stage3-release/ |
| 75 | rmdir release/bin | 68 | rmdir stage3-release/bin |
| 76 | 69 | ||
| 77 | VERSION=$(release/zig version) | 70 | VERSION=$(stage3-release/zig version) |
| 78 | DIRNAME="zig-macos-$ARCH-$VERSION" | 71 | DIRNAME="zig-macos-$ARCH-$VERSION" |
| 79 | TARBALL="$DIRNAME.tar.xz" | 72 | TARBALL="$DIRNAME.tar.xz" |
| 80 | mv release "$DIRNAME" | 73 | mv stage3-release "$DIRNAME" |
| 81 | tar cfJ "$TARBALL" "$DIRNAME" | 74 | tar cfJ "$TARBALL" "$DIRNAME" |
| 82 | 75 | ||
| 83 | mv "$DOWNLOADSECUREFILE_SECUREFILEPATH" "$HOME/.s3cfg" | 76 | mv "$DOWNLOADSECUREFILE_SECUREFILEPATH" "$HOME/.s3cfg" |
ci/srht/freebsd_script+30-20| ... | @@ -7,7 +7,9 @@ sudo pkg update -fq | ... | @@ -7,7 +7,9 @@ sudo pkg update -fq |
| 7 | sudo pkg install -y cmake py39-s3cmd wget curl jq samurai | 7 | sudo pkg install -y cmake py39-s3cmd wget curl jq samurai |
| 8 | 8 | ||
| 9 | ZIGDIR="$(pwd)" | 9 | ZIGDIR="$(pwd)" |
| 10 | CACHE_BASENAME="zig+llvm+lld+clang-x86_64-freebsd-gnu-0.10.0-dev.3524+74673b7f6" | 10 | TARGET="x86_64-freebsd-gnu" |
| 11 | MCPU="baseline" | ||
| 12 | CACHE_BASENAME="zig+llvm+lld+clang-$TARGET-0.10.0-dev.3524+74673b7f6" | ||
| 11 | PREFIX="$HOME/$CACHE_BASENAME" | 13 | PREFIX="$HOME/$CACHE_BASENAME" |
| 12 | 14 | ||
| 13 | cd $HOME | 15 | cd $HOME |
| ... | @@ -30,38 +32,46 @@ export TERM=dumb | ... | @@ -30,38 +32,46 @@ export TERM=dumb |
| 30 | mkdir build | 32 | mkdir build |
| 31 | cd build | 33 | cd build |
| 32 | cmake .. \ | 34 | cmake .. \ |
| 33 | -DCMAKE_BUILD_TYPE=Release \ | 35 | -DCMAKE_BUILD_TYPE=Release \ |
| 34 | -DCMAKE_PREFIX_PATH=$PREFIX \ | 36 | -DCMAKE_PREFIX_PATH=$PREFIX \ |
| 35 | "-DCMAKE_INSTALL_PREFIX=$(pwd)/release" \ | 37 | -DZIG_TARGET_TRIPLE="$TARGET" \ |
| 36 | -DZIG_STATIC=ON \ | 38 | -DZIG_TARGET_MCPU="$MCPU" \ |
| 37 | -DZIG_TARGET_TRIPLE=x86_64-freebsd-gnu \ | 39 | -DZIG_STATIC=ON \ |
| 38 | -GNinja | 40 | -GNinja |
| 39 | samu install | 41 | samu install |
| 40 | 42 | ||
| 41 | # Here we rebuild zig but this time using the Zig binary we just now produced to | 43 | # TODO: eliminate this workaround. Without this, zig does not end up passing |
| 42 | # build zig1.o rather than relying on the one built with stage0. This makes it | 44 | # -isystem /usr/include when building libc++, resulting in #include <sys/endian.h> |
| 43 | # a stage3 build rather than a stage2 build. | 45 | # "file not found" errors. |
| 44 | cmake .. -DZIG_EXECUTABLE="$PREFIX/bin/zig" | 46 | stage2/bin/zig libc >libc.txt |
| 45 | samu install | ||
| 46 | 47 | ||
| 47 | # Here we skip some tests to save time. | 48 | ZIG_LIBC=libc.txt stage2/bin/zig build \ |
| 48 | release/bin/zig build test docs \ | 49 | --prefix stage3-release \ |
| 49 | --search-prefix "$PREFIX" \ | 50 | --search-prefix "$PREFIX" \ |
| 50 | -Dstatic-llvm \ | 51 | -Dstatic-llvm \ |
| 52 | -Drelease \ | ||
| 53 | -Dstrip \ | ||
| 54 | -Dtarget="$TARGET" \ | ||
| 55 | -Denable-stage1 | ||
| 56 | |||
| 57 | # Here we skip some tests to save time. | ||
| 58 | stage3-release/bin/zig build test docs \ | ||
| 59 | -Dstatic-llvm \ | ||
| 60 | --search-prefix "$PREFIX" \ | ||
| 51 | -Dskip-stage1 \ | 61 | -Dskip-stage1 \ |
| 52 | -Dskip-non-native | 62 | -Dskip-non-native |
| 53 | 63 | ||
| 54 | if [ -f ~/.s3cfg ]; then | 64 | if [ -f ~/.s3cfg ]; then |
| 55 | mv ../LICENSE release/ | 65 | mv ../LICENSE stage3-release/ |
| 56 | mv ../zig-cache/langref.html release/ | 66 | mv ../zig-cache/langref.html stage3-release/ |
| 57 | mv release/bin/zig release/ | 67 | mv stage3-release/bin/zig stage3-release/ |
| 58 | rmdir release/bin | 68 | rmdir stage3-release/bin |
| 59 | 69 | ||
| 60 | GITBRANCH=$(basename $GITHUB_REF) | 70 | GITBRANCH=$(basename $GITHUB_REF) |
| 61 | VERSION=$(release/zig version) | 71 | VERSION=$(stage3-release/zig version) |
| 62 | DIRNAME="zig-freebsd-x86_64-$VERSION" | 72 | DIRNAME="zig-freebsd-x86_64-$VERSION" |
| 63 | TARBALL="$DIRNAME.tar.xz" | 73 | TARBALL="$DIRNAME.tar.xz" |
| 64 | mv release "$DIRNAME" | 74 | mv stage3-release "$DIRNAME" |
| 65 | tar cfJ "$TARBALL" "$DIRNAME" | 75 | tar cfJ "$TARBALL" "$DIRNAME" |
| 66 | 76 | ||
| 67 | s3cmd put -P --add-header="cache-control: public, max-age=31536000, immutable" "$TARBALL" s3://ziglang.org/builds/ | 77 | s3cmd put -P --add-header="cache-control: public, max-age=31536000, immutable" "$TARBALL" s3://ziglang.org/builds/ |