This will also require a bunch of fixes in Starcry.master
SHELL:=/bin/bash | SHELL:=/bin/bash | ||||
v8pp: | |||||
env | |||||
git clone https://github.com/rayburgemeestre/v8pp | |||||
v8: | |||||
# git clone https://github.com/rayburgemeestre/v8pp | |||||
# | |||||
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git | |||||
bash ../ubuntu1804.sh make build | bash ../ubuntu1804.sh make build | ||||
bash ../ubuntu1804.sh make archive # outside container not enough permissions | bash ../ubuntu1804.sh make archive # outside container not enough permissions | ||||
# will be factored out at some point | |||||
git clone https://github.com/pmed/v8pp | |||||
pushd v8pp && git checkout 8ad6c07b13a811d9132c202f48b4a902d5685a98 # master at time of writing | |||||
# also packages v8pp for now | |||||
make package | make package | ||||
build: | build: | ||||
update-alternatives --install /usr/bin/ld ld /usr/bin/ld.lld-9 40 | update-alternatives --install /usr/bin/ld ld /usr/bin/ld.lld-9 40 | ||||
apt-get update | apt-get update | ||||
apt-get install pkg-config -y | apt-get install pkg-config -y | ||||
cd v8pp && ./build-v8.sh | |||||
./build-v8.sh | |||||
archive: | archive: | ||||
rm -rf v8.a | rm -rf v8.a | ||||
cp -prv v8.a out/opt/cppse/build/v8pp/lib | cp -prv v8.a out/opt/cppse/build/v8pp/lib | ||||
cp -prv v8pp/v8pp out/opt/cppse/build/v8pp/include/ | cp -prv v8pp/v8pp out/opt/cppse/build/v8pp/include/ | ||||
cp -prv v8pp/v8/include out/opt/cppse/build/v8pp/include/v8 | |||||
cp -prv v8/include out/opt/cppse/build/v8pp/include/v8 | |||||
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -s dir -t deb -n v8pp --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "v8pp - build dependency" --url "https://github.com/rayburgemeestre/v8pp" --deb-generate-changes -C /src/out | docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -s dir -t deb -n v8pp --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "v8pp - build dependency" --url "https://github.com/rayburgemeestre/v8pp" --deb-generate-changes -C /src/out | ||||
clean: | clean: | ||||
rm -rf v8pp | rm -rf v8pp | ||||
rm -rf out | rm -rf out | ||||
rm -rf depot_tools | |||||
shell: | shell: | ||||
FLAGS="-i --privileged" bash ../ubuntu1804.sh /bin/bash | FLAGS="-i --privileged" bash ../ubuntu1804.sh /bin/bash |
#!/bin/bash | |||||
export PATH=`pwd`/depot_tools:"$PATH" | |||||
fetch v8 | |||||
#gclient sync -r 6.9.427.6 # 55da769bafac8b531cd8b388df56161b8b7c6416 | |||||
# gclient sync -r 7.1.69 # | |||||
#gclient sync -r lkgr/6.9 | |||||
# newest version I found supported via v8pp CI: | |||||
# gclient sync -r 6.9.427.13 # https://ci.appveyor.com/project/pmed/v8pp | |||||
cd v8 | |||||
gclient sync -r 7.5.288.23 #https://github.com/pmed/v8-nuget/ | |||||
# old version | |||||
#git checkout 5.5.372.7 | |||||
#GYP_DIR=build | |||||
#if [ ! -f "$GYP_DIR"/gyp_v8 ] ; then | |||||
# GYP_DIR=gypfiles | |||||
#fi | |||||
# Google got rid of this gyp stuff: https://chromium-review.googlesource.com/c/v8/v8/+/897566 | |||||
# Looks like we have to use GN now: https://github.com/v8/v8/wiki/Building-with-GN | |||||
# OLD | |||||
#GYP_GENERATORS=make "$GYP_DIR"/gyp_v8 --generator-output=out --depth=. -I"$GYP_DIR"/standalone.gypi -I../v8_options.gypi "$GYP_DIR"/all.gyp | |||||
#make v8 v8_libplatform -C out BUILDTYPE=Release -j8 builddir=$(pwd)/out/Release | |||||
# NEW | |||||
# ./build/install-build-deps.sh | |||||
./tools/dev/gm.py x64.release | |||||
# workaround, see notes.txt | |||||
echo "v8_enable_embedded_builtins = false" | tee -a out/x64.release/args.gn | |||||
./tools/dev/gm.py x64.release | |||||
#mkdir -p lib | |||||
#cp out/Release/lib.target/*.so lib | |||||
#cp out/Release/lib* lib | |||||
#cp out/x64.release/obj/*.a lib | |||||
#cp out/x64.release/obj/*.so lib | |||||
#cp out/x64.release/obj/libv8* lib | |||||
#./v8/out/x64.release/obj/libv8_libbase.a |
./v8pp/v8/out/x64.release/obj/buildtools/third_party/libc++abi/libc++abi | |||||
./v8pp/v8/out/x64.release/obj/buildtools/third_party/libc++/libc++ | |||||
./v8pp/v8/out/x64.release/obj/d8 | |||||
./v8pp/v8/out/x64.release/obj/mksnapshot | |||||
./v8pp/v8/out/x64.release/obj/src/inspector/inspector | |||||
./v8pp/v8/out/x64.release/obj/third_party/antlr4/antlr4 | |||||
./v8pp/v8/out/x64.release/obj/third_party/icu/icui18n | |||||
./v8pp/v8/out/x64.release/obj/third_party/icu/icuuc | |||||
./v8pp/v8/out/x64.release/obj/torque | |||||
./v8pp/v8/out/x64.release/obj/torque_generated_initializers | |||||
./v8pp/v8/out/x64.release/obj/v8_base | |||||
./v8pp/v8/out/x64.release/obj/v8_init | |||||
./v8pp/v8/out/x64.release/obj/v8_initializers | |||||
./v8pp/v8/out/x64.release/obj/v8_libbase | |||||
./v8pp/v8/out/x64.release/obj/v8_libplatform | |||||
./v8pp/v8/out/x64.release/obj/v8_libsampler | |||||
./v8pp/v8/out/x64.release/obj/v8_nosnapshot | |||||
./v8/out/x64.release/obj/buildtools/third_party/libc++abi/libc++abi | |||||
./v8/out/x64.release/obj/buildtools/third_party/libc++/libc++ | |||||
./v8/out/x64.release/obj/d8 | |||||
./v8/out/x64.release/obj/mksnapshot | |||||
./v8/out/x64.release/obj/src/inspector/inspector | |||||
./v8/out/x64.release/obj/third_party/icu/icui18n | |||||
./v8/out/x64.release/obj/third_party/icu/icuuc | |||||
./v8/out/x64.release/obj/torque | |||||
./v8/out/x64.release/obj/torque_generated_initializers | |||||
./v8/out/x64.release/obj/v8_init | |||||
./v8/out/x64.release/obj/v8_initializers | |||||
./v8/out/x64.release/obj/v8_libbase | |||||
./v8/out/x64.release/obj/v8_libplatform | |||||
./v8/out/x64.release/obj/v8_libsampler | |||||
./v8/out/x64.release/obj/v8_nosnapshot |