build-nodejs.sh (1146B)
1 #!/bin/bash 2 set -x -e -v 3 4 artifact=$(basename "$TOOLCHAIN_ARTIFACT") 5 project=${artifact%.tar.*} 6 workspace=$HOME/workspace 7 8 cd $MOZ_FETCHES_DIR/$project 9 10 gcc_major=10 11 export CFLAGS=--sysroot=$MOZ_FETCHES_DIR/sysroot 12 export CXXFLAGS"=--sysroot=$MOZ_FETCHES_DIR/sysroot -isystem $MOZ_FETCHES_DIR/sysroot/usr/include/c++/$gcc_major -isystem $MOZ_FETCHES_DIR/sysroot/usr/include/x86_64-linux-gnu/c++/$gcc_major" 13 export LDFLAGS="--sysroot=$MOZ_FETCHES_DIR/sysroot -L$MOZ_FETCHES_DIR/sysroot/lib/x86_64-linux-gnu -L$MOZ_FETCHES_DIR/sysroot/usr/lib/x86_64-linux-gnu -L$MOZ_FETCHES_DIR/sysroot/usr/lib/gcc/x86_64-linux-gnu/$gcc_major" 14 export CC=$MOZ_FETCHES_DIR/gcc/bin/gcc 15 export CXX=$MOZ_FETCHES_DIR/gcc/bin/g++ 16 17 # The glibc in our sysroot doesn't have `sys/random.h`/`getrandom`. 18 sed -i '/HAVE_SYS_RANDOM_H/d;/HAVE_GETRANDOM/d' deps/cares/config/linux/ares_config.h 19 20 # --partly-static allows the resulting binary to run on Ubuntu 18.04 (which has libstdc++ 8) 21 ./configure --verbose --prefix=/ --partly-static 22 make -j$(nproc) install DESTDIR=$workspace/$project 23 24 tar -C $workspace -acvf $artifact $project 25 mkdir -p $UPLOAD_DIR 26 mv $artifact $UPLOAD_DIR