12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #!/bin/bash
- echo Starting build.sh
- PATH=/usr/local/bin:$PATH:$HOME/bin
- SCRIPTPATH=$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)
- echo Building from from $SCRIPTPATH
- cd $SCRIPTPATH
- # exit when any command fails
- set -e
- ### Dependencies ###
- if [ ! -f ../BeefySysLib/third_party/libffi/Makefile ]; then
- echo Building libffi...
- cd ../BeefySysLib/third_party/libffi
- ./configure
- make
- cd $SCRIPTPATH
- fi
- if [ ! -d ../extern/llvm_linux_8_0_0/bin ]; then
- echo Building LLVM...
- cd ../extern
- ./llvm_build.sh
- cd $SCRIPTPATH
- fi
- ### LIBS ###
- cd ..
- if [ ! -d jbuild_d ]; then
- mkdir jbuild_d
- mkdir jbuild
- fi
- cd jbuild_d
- cmake -DCMAKE_BUILD_TYPE=Debug ../
- cmake --build .
- cd ../jbuild
- cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ../
- cmake --build .
- cd ../IDE/dist
- if [[ "$OSTYPE" == "darwin"* ]]; then
- LIBEXT=dylib
- LINKOPTS="-Wl,-no_compact_unwind -Wl,-rpath -Wl,@executable_path"
- else
- LIBEXT=so
- LINKOPTS="-ldl -lpthread -Wl,-rpath -Wl,\$ORIGIN"
- fi
- if [ ! -L libBeefRT_d.a ]; then
- ln -s ../../jbuild_d/Debug/bin/libBeefRT_d.a libBeefRT_d.a
- ln -s ../../jbuild_d/Debug/bin/libBeefySysLib_d.$LIBEXT libBeefySysLib_d.$LIBEXT
- ln -s ../../jbuild_d/Debug/bin/libIDEHelper_d.$LIBEXT libIDEHelper_d.$LIBEXT
- ln -s ../../jbuild/Release/bin/libBeefRT.a libBeefRT.a
- ln -s ../../jbuild/Release/bin/libBeefySysLib.$LIBEXT libBeefySysLib.$LIBEXT
- ln -s ../../jbuild/Release/bin/libIDEHelper.$LIBEXT libIDEHelper.$LIBEXT
- fi
- ### DEBUG ###
- echo Building BeefBuild_bootd
- ../../jbuild_d/Debug/bin/BeefBoot --out="BeefBuild_bootd" --src=../src --src=../../BeefBuild/src --src=../../BeefLibs/corlib/src --src=../../BeefLibs/Beefy2D/src --define=CLI --define=DEBUG --startup=BeefBuild.Program --linkparams="./libBeefRT_d.a ./libIDEHelper_d.$LIBEXT ./libBeefySysLib_d.$LIBEXT $(< ../../IDE/dist/IDEHelper_libs_d.txt) $LINKOPTS"
- echo Building BeefBuild_d
- ./BeefBuild_bootd -clean -proddir=../../BeefBuild -config=Debug
- echo Testing IDEHelper/Tests in BeefBuild_d
- ./BeefBuild_d -proddir=../../IDEHelper/Tests -test
- ### RELEASE ###
- echo Building BeefBuild_boot
- ../../jbuild/Release/bin/BeefBoot --out="BeefBuild_boot" --src=../src --src=../../BeefBuild/src --src=../../BeefLibs/corlib/src --src=../../BeefLibs/Beefy2D/src --define=CLI --startup=BeefBuild.Program --linkparams="./libBeefRT.a ./libIDEHelper.$LIBEXT ./libBeefySysLib.$LIBEXT $(< ../../IDE/dist/IDEHelper_libs.txt) $LINKOPTS"
- echo Building BeefBuild
- ./BeefBuild_boot -clean -proddir=../../BeefBuild -config=Release
- echo Testing IDEHelper/Tests in BeefBuild
- ./BeefBuild -proddir=../../IDEHelper/Tests -test
|