build-geckodriver.sh (1976B)
1 #!/bin/bash 2 # This Source Code Form is subject to the terms of the Mozilla Public 3 # License, v. 2.0. If a copy of the MPL was not distributed with this 4 # file, You can obtain one at http://mozilla.org/MPL/2.0/. 5 set -x -e -v 6 7 # Needed by osx-cross-linker. 8 export TARGET="$1" 9 10 cd $GECKO_PATH 11 12 EXE= 13 COMPRESS_EXT=gz 14 15 case "$TARGET" in 16 *windows-msvc) 17 EXE=.exe 18 COMPRESS_EXT=zip 19 . $GECKO_PATH/taskcluster/scripts/misc/vs-setup.sh 20 # Bug 1584530: don't require the Microsoft MSVC runtime to be installed. 21 RUSTFLAGS="-Ctarget-feature=+crt-static -C linker=$MOZ_FETCHES_DIR/clang/bin/lld-link" 22 export TARGET_CFLAGS="-Xclang -ivfsoverlay -Xclang $MOZ_FETCHES_DIR/vs/overlay.yaml" 23 export TARGET_CXXFLAGS="-Xclang -ivfsoverlay -Xclang $MOZ_FETCHES_DIR/vs/overlay.yaml" 24 ;; 25 # OSX cross builds are a bit harder 26 *-apple-darwin) 27 export PATH="$MOZ_FETCHES_DIR/clang/bin:$PATH" 28 RUSTFLAGS="-Clinker=$MOZ_FETCHES_DIR/clang/bin/clang++ -C link-arg=-isysroot -C link-arg=$MOZ_FETCHES_DIR/MacOSX26.2.sdk -C link-arg=-fuse-ld=lld -C link-arg=--target=$TARGET" 29 if test "$TARGET" = "aarch64-apple-darwin"; then 30 export MACOSX_DEPLOYMENT_TARGET=11.0 31 else 32 export MACOSX_DEPLOYMENT_TARGET=10.15 33 fi 34 ;; 35 aarch64-unknown-linux-musl) 36 RUSTFLAGS="-C linker=$MOZ_FETCHES_DIR/clang/bin/clang -C link-arg=--target=$TARGET -C link-arg=-fuse-ld=lld" 37 ;; 38 esac 39 40 export PATH="$MOZ_FETCHES_DIR/rustc/bin:$PATH" 41 export RUSTFLAGS="-Dwarnings $RUSTFLAGS" 42 43 cd $GECKO_PATH/testing/geckodriver 44 45 cp $GECKO_PATH/.cargo/config.toml.in $GECKO_PATH/.cargo/config.toml 46 47 cargo build --frozen --verbose --release --target "$TARGET" 48 49 cd $GECKO_PATH 50 mkdir -p $UPLOAD_DIR 51 52 cp target/$TARGET/release/geckodriver$EXE . 53 if [ "$COMPRESS_EXT" = "zip" ]; then 54 zip geckodriver.zip geckodriver$EXE 55 cp geckodriver.zip $UPLOAD_DIR 56 else 57 tar -acf geckodriver.tar.$COMPRESS_EXT geckodriver$EXE 58 cp geckodriver.tar.$COMPRESS_EXT $UPLOAD_DIR 59 fi 60 61 . $GECKO_PATH/taskcluster/scripts/misc/vs-cleanup.sh