diff --git a/scripts/buildVm.sh b/scripts/buildVm.sh index 8e677a4..0aabd96 100755 --- a/scripts/buildVm.sh +++ b/scripts/buildVm.sh @@ -99,16 +99,21 @@ function buildBeOSToolchain() { # Add Haiku 32 bit headers and libraries to Haiku toolchain folders. pushd ${EHOME}/cross/haiku32 - pushd generated/cross-tools-x86_gcc2/i586-pc-haiku - #mv ../../../boot/system/develop/headers/* include/. - #mv ../../../boot/system/develop/lib/x86/* lib/. - popd + cp -LRf boot/system/develop/headers/* generated/cross-tools-x86_gcc2/i586-pc-haiku/include/. || true + cp -LRf boot/system/develop/lib/* generated/cross-tools-x86_gcc2/i586-pc-haiku/lib/. || true rm -rf boot rm -f fetch_packages.sh rm -f package_extract.sh popd - # ***TODO*** Haiku headers and libraries. + # Add Haiku 64 bit headers and libraries to Haiku toolchain folders. + pushd ${EHOME}/cross/haiku64 + cp -LRf boot/system/develop/headers/* generated/cross-tools-x86_64/x86_64-unknown-haiku/include/. || true + cp -LRf boot/system/develop/lib/* generated/cross-tools-x86_64/x86_64-unknown-haiku/lib/. || true + rm -rf boot + rm -f fetch_packages.sh + rm -f package_extract.sh + popd } @@ -733,6 +738,12 @@ function doInstall() { setCompiler beos i386 buildSDL12 + setCompiler haiku i386 + buildSDL12 + + setCompiler haiku x86_64 + buildSDL2 ${SDL2_NEW} + rebuildJoeyLib if [[ ! -f /etc/rc.local ]]; then @@ -804,6 +815,12 @@ function rebuildJoeyLib() { setCompiler beos i386 buildJoeyLib + + setCompiler haiku i386 + buildJoeyLib + + setCompiler haiku x86_64 + buildJoeyLib rm -f dist.tar.bz2 || true tar cJf dist.tar.bz2 dist @@ -825,6 +842,7 @@ function setCompiler() { TRIPLE="i586-pc-haiku" DIR=${EHOME}/cross/beos/generated/cross-tools-x86_gcc2/bin HEADERS=${EHOME}/cross/beos/generated/cross-tools-x86_gcc2/i586-pc-haiku/include + ;; esac BACKEND=SDL12 export CFLAGS="-I${HEADERS} -I${HEADERS}/be -I${HEADERS}/be/app -I${HEADERS}/be/kernel -I${HEADERS}/be/interface -I${HEADERS}/be/support -I${HEADERS}/be/storage -I${HEADERS}/be/game -I${HEADERS}/be/media -I${HEADERS}/be/device -I${HEADERS}/be/drivers -I${HEADERS}/be/opengl -I${HEADERS}/be/add-ons/graphics -I${HEADERS}/posix" \ @@ -847,6 +865,36 @@ function setCompiler() { export PATH=${OLD_PATH}:${IIGS} "${IIGS}/mountORCA.sh" ;; + + haiku) + case ${CPU} in + i386) + NAME="haiku-intel" + ARCH=i386 + TRIPLE="i586-pc-haiku" + DIR=${EHOME}/cross/haiku32/generated/cross-tools-x86_gcc2/bin + HEADERS=${EHOME}/cross/haiku32/generated/cross-tools-x86_gcc2/i586-pc-haiku/include + export CFLAGS="-I${HEADERS}/c++/2.95.3" + BACKEND=SDL12 + ;; + + x86_64) + NAME="haiku-intel" + ARCH=x86_64 + TRIPLE="x86_64-unknown-haiku" + DIR=${EHOME}/cross/haiku64/generated/cross-tools-x86_64/bin + HEADERS=${EHOME}/cross/haiku64/generated/cross-tools-x86_64/x86_64-unknown-haiku/include + export CFLAGS="-I${HEADERS}/c++/11.3.0" + BACKEND=SDL2 + ;; + esac + export CFLAGS="${CFLAGS} -I${HEADERS} -I${HEADERS}/glibc -I${HEADERS}/be -I${HEADERS}/be/app -I${HEADERS}/be/kernel -I${HEADERS}/be/interface -I${HEADERS}/be/support -I${HEADERS}/be/storage -I${HEADERS}/be/game -I${HEADERS}/be/media -I${HEADERS}/be/device -I${HEADERS}/be/drivers -I${HEADERS}/be/opengl -I${HEADERS}/be/add-ons/graphics -I${HEADERS}/posix" \ + export LDFLAGS= + export PATH=${DIR}:${OLD_PATH} + export LD_LIBRARY_PATH= + export CC=${TRIPLE}-gcc + export AR=${TRIPLE}-ar + ;; linux) case ${CPU} in @@ -1118,7 +1166,5 @@ function updateSystem() { } -#scriptIsDownloaded "$1" "$2" "$3" +scriptIsDownloaded "$1" "$2" "$3" -setCompiler beos i386 -buildJoeyLib