tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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