tor-browser

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

build-clang.sh (1862B)


      1 #!/bin/bash
      2 set -x -e -v
      3 
      4 # This script is for building clang.
      5 
      6 ORIGPWD="$PWD"
      7 CONFIGS=$(for c; do echo -n " -c $GECKO_PATH/$c"; done)
      8 
      9 cd $GECKO_PATH
     10 
     11 if [ -d "$MOZ_FETCHES_DIR/binutils/bin" ]; then
     12  export PATH="$MOZ_FETCHES_DIR/binutils/bin:$PATH"
     13 fi
     14 
     15 # Make the installed compiler-rt(s) available to clang.
     16 UPLOAD_DIR= taskcluster/scripts/misc/repack-clang.sh
     17 
     18 case "$CONFIGS" in
     19 *macosx64*)
     20  # cmake makes decisions based on the output of the mac-only sw_vers, which is
     21  # obviously missing when cross-compiling, so create a fake one. The exact
     22  # version doesn't really matter: as of writing, cmake checks at most for 10.5.
     23  mkdir -p $ORIGPWD/bin
     24  echo "#!/bin/sh" > $ORIGPWD/bin/sw_vers
     25  echo echo 10.15 >> $ORIGPWD/bin/sw_vers
     26  chmod +x $ORIGPWD/bin/sw_vers
     27  # these variables are used in build-clang.py
     28  export OSX_SYSROOT=$(ls -d $MOZ_FETCHES_DIR/MacOSX*.sdk)
     29  export PATH=$PATH:$ORIGPWD/bin
     30  ;;
     31 *win64*)
     32  case "$(uname -s)" in
     33  MINGW*|MSYS*)
     34    export UPLOAD_DIR=$ORIGPWD/public/build
     35    # Set up all the Visual Studio paths.
     36    . taskcluster/scripts/misc/vs-setup.sh
     37 
     38    # LLVM_ENABLE_DIA_SDK is set if the directory "$ENV{VSINSTALLDIR}DIA SDK"
     39    # exists.
     40    export VSINSTALLDIR="${VSPATH}/"
     41    ;;
     42  *)
     43    export VSINSTALLDIR="$MOZ_FETCHES_DIR/vs"
     44    ;;
     45  esac
     46  ;;
     47 esac
     48 
     49 if test -d "$MOZ_FETCHES_DIR/cmake"; then
     50    export PATH="$(cd $MOZ_FETCHES_DIR/cmake && pwd)/bin:${PATH}"
     51 fi
     52 if test -d "$MOZ_FETCHES_DIR/ninja"; then
     53    export PATH="$(cd $MOZ_FETCHES_DIR/ninja && pwd)/bin:${PATH}"
     54 fi
     55 
     56 # gets a bit too verbose here
     57 set +x
     58 
     59 cd $MOZ_FETCHES_DIR/llvm-project
     60 python3 $GECKO_PATH/build/build-clang/build-clang.py $CONFIGS
     61 
     62 set -x
     63 
     64 if [ -f clang*.tar.zst ]; then
     65    # Put a tarball in the artifacts dir
     66    mkdir -p $UPLOAD_DIR
     67    cp clang*.tar.zst $UPLOAD_DIR
     68 fi
     69 
     70 . $GECKO_PATH/taskcluster/scripts/misc/vs-cleanup.sh