forked from mirrors/gecko-dev
		
	 7025e04613
			
		
	
	
		7025e04613
		
	
	
	
	
		
			
			Now that docker images have been upgraded to Debian buster, we can install a native zstd binary and use tar's native support rather than relying on piping the output of tar to a python script that uses the python-zstandard module. At least we can do that for toolchain tasks that run on such docker images, which also means we can't on Mac and Windows. Differential Revision: https://phabricator.services.mozilla.com/D112894
		
			
				
	
	
		
			96 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| set -e
 | |
| 
 | |
| target=$1
 | |
| shift
 | |
| 
 | |
| clang=$MOZ_FETCHES_DIR/clang/bin/clang
 | |
| 
 | |
| case "$target" in
 | |
| aarch64-apple-darwin)
 | |
|   arch=arm64
 | |
|   sdk=11.0
 | |
|   compiler_wrapper() {
 | |
|     echo exec \$MOZ_FETCHES_DIR/clang/bin/$1 -mcpu=apple-a12 \"\$@\" > $1
 | |
|     chmod +x $1
 | |
|   }
 | |
|   compiler_wrapper clang
 | |
|   compiler_wrapper clang++
 | |
|   clang=$PWD/clang
 | |
|   ;;
 | |
| x86_64-apple-darwin)
 | |
|   arch=x86_64
 | |
|   sdk=10.12
 | |
|   ;;
 | |
| esac
 | |
| 
 | |
| case "$target" in
 | |
| *-apple-darwin)
 | |
|   libdir=lib/darwin
 | |
|   EXTRA_CMAKE_FLAGS="
 | |
|     -DCMAKE_LINKER=$MOZ_FETCHES_DIR/cctools/bin/$target-ld
 | |
|     -DCMAKE_LIPO=$MOZ_FETCHES_DIR/cctools/bin/lipo
 | |
|     -DCMAKE_SYSTEM_NAME=Darwin
 | |
|     -DCMAKE_SYSTEM_VERSION=$sdk
 | |
|     -DCMAKE_OSX_SYSROOT=$MOZ_FETCHES_DIR/MacOSX$sdk.sdk
 | |
|     -DDARWIN_osx_ARCHS=$arch
 | |
|     -DDARWIN_osx_SYSROOT=$MOZ_FETCHES_DIR/MacOSX$sdk.sdk
 | |
|     -DDARWIN_macosx_OVERRIDE_SDK_VERSION=$sdk
 | |
|     -DDARWIN_osx_BUILTIN_ARCHS=$arch
 | |
|   "
 | |
|   # compiler-rt build script expects to find `codesign` in $PATH.
 | |
|   # Give it a fake one.
 | |
|   echo "#!/bin/sh" > codesign
 | |
|   chmod +x codesign
 | |
|   PATH="$PWD:$MOZ_FETCHES_DIR/cctools/bin:$PATH"
 | |
|   ;;
 | |
| aarch64-unknown-linux-gnu)
 | |
|   libdir=lib/linux
 | |
|   EXTRA_CMAKE_FLAGS="
 | |
|     -DCMAKE_SYSROOT=$MOZ_FETCHES_DIR/sysroot
 | |
|     -DCMAKE_LINKER=$MOZ_FETCHES_DIR/clang/bin/ld.lld
 | |
|   "
 | |
|   PATH="$MOZ_FETCHES_DIR/binutils/bin:$PATH"
 | |
|   ;;
 | |
| *)
 | |
|   echo $target is not supported yet
 | |
|   exit 1
 | |
|   ;;
 | |
| esac
 | |
| 
 | |
| if [ -n "$TOOLTOOL_MANIFEST" ]; then
 | |
|   . $GECKO_PATH/taskcluster/scripts/misc/tooltool-download.sh
 | |
| fi
 | |
| 
 | |
| mkdir compiler-rt
 | |
| cd compiler-rt
 | |
| 
 | |
| for patchfile in "$@"; do
 | |
|   patch -d $MOZ_FETCHES_DIR/llvm-project -p1 < $GECKO_PATH/$patchfile
 | |
| done
 | |
| 
 | |
| cmake \
 | |
|   $MOZ_FETCHES_DIR/llvm-project/compiler-rt \
 | |
|   -GNinja \
 | |
|   -DCMAKE_C_COMPILER=$clang \
 | |
|   -DCMAKE_CXX_COMPILER=$clang++ \
 | |
|   -DCMAKE_C_COMPILER_TARGET=$target \
 | |
|   -DCMAKE_CXX_COMPILER_TARGET=$target \
 | |
|   -DCMAKE_ASM_COMPILER_TARGET=$target \
 | |
|   -DCMAKE_AR=$MOZ_FETCHES_DIR/clang/bin/llvm-ar \
 | |
|   -DCMAKE_RANLIB=$MOZ_FETCHES_DIR/clang/bin/llvm-ranlib \
 | |
|   -DCMAKE_BUILD_TYPE=Release \
 | |
|   -DLLVM_ENABLE_ASSERTIONS=OFF \
 | |
|   -DLLVM_CONFIG_PATH=$MOZ_FETCHES_DIR/clang/bin/llvm-config \
 | |
|   -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
 | |
|   $EXTRA_CMAKE_FLAGS
 | |
| 
 | |
| ninja -v
 | |
| 
 | |
| cd ..
 | |
| 
 | |
| tar caf compiler-rt.tar.zst compiler-rt/$libdir
 | |
| 
 | |
| mkdir -p "$UPLOAD_DIR"
 | |
| mv "compiler-rt.tar.zst" "$UPLOAD_DIR"
 |