Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature lowcode linux build scripts update #168

Open
wants to merge 7 commits into
base: Cog
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@ matrix:
on:
branch: Cog
repo: OpenSmalltalk/opensmalltalk-vm
- os: linux
env: ARCH="linux64x64" FLAVOR="pharo.cog.spur.lowcode" HEARTBEAT="threaded"
- os: linux
env: ARCH="linux64x64" FLAVOR="pharo.cog.spur.lowcode" HEARTBEAT="itimer"
- os: linux
env: ARCH="linux32x86" FLAVOR="newspeak.cog.spur"
- os: linux
Expand Down Expand Up @@ -72,6 +76,10 @@ matrix:
on:
branch: Cog
repo: OpenSmalltalk/opensmalltalk-vm
- os: linux
env: ARCH="linux32x86" FLAVOR="pharo.cog.spur.lowcode" HEARTBEAT="threaded"
- os: linux
env: ARCH="linux32x86" FLAVOR="pharo.cog.spur.lowcode" HEARTBEAT="itimer"
- os: osx
env: ARCH="macos64x64" FLAVOR="newspeak.cog.spur"
- os: osx
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ i*86) ;; # we're good
fi ;;
esac
# assert VM with VM profiler and itimer heartbeat
INSTALLDIR=assert/phcoglowcodelinuxht
INSTALLDIR=assert/phcoglowcodelinux
OPT="-g3 -O1 -fwrapv -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -DDEBUGVM=0"

if [ $# -ge 1 ]; then
Expand All @@ -28,7 +28,7 @@ test -f config.h || ../../../platforms/unix/config/configure --without-npsqueak
CC="gcc -m32" \
CXX="g++ -m32" \
CFLAGS="$OPT -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DCOGMTVM=0 -DITIMER_HEARTBEAT=1" \
LIBS="-lpthread -luuid" \
LIBS="-lpthread -luuid -Wl,-rpath,'\$\$ORIGIN' " \
LDFLAGS=-Wl,-z,now
rm -f vm/sqUnixMain.o # nuke version info
rm -rf ../../../products/$INSTALLDIR
Expand Down
2 changes: 1 addition & 1 deletion build.linux32x86/pharo.cog.spur.lowcode/build.assert/mvm
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ test -f config.h || ../../../platforms/unix/config/configure \
CC="gcc -m32" \
CXX="g++ -m32" \
CFLAGS="$OPT -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DCOGMTVM=0" \
LIBS="-lpthread -luuid" \
LIBS="-lpthread -luuid -Wl,-rpath,'\$\$ORIGIN' " \
LDFLAGS=-Wl,-z,now
rm -f vm/sqUnixMain.o # nuke version info
rm -rf ../../../products/$INSTALLDIR
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ i*86) ;; # we're good
fi ;;
esac
# debug Spur VM with VM profiler and itimer heartbeat
INSTALLDIR=debug/phcoglowcodelinuxht
INSTALLDIR=debug/phcoglowcodelinux
OPT="-g3 -O0 -fwrapv -DDEBUGVM=1"

if [ $# -ge 1 ]; then
Expand All @@ -28,7 +28,7 @@ test -f config.h || ../../../platforms/unix/config/configure --without-npsqueak
CC="gcc -m32" \
CXX="g++ -m32" \
CFLAGS="$OPT -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DCOGMTVM=0 -DITIMER_HEARTBEAT=1" \
LIBS="-lpthread -luuid" \
LIBS="-lpthread -luuid -Wl,-rpath,'\$\$ORIGIN' " \
LDFLAGS=-Wl,-z,now
rm -f vm/sqUnixMain.o # nuke version info
rm -rf ../../../products/$INSTALLDIR
Expand Down
2 changes: 1 addition & 1 deletion build.linux32x86/pharo.cog.spur.lowcode/build.debug/mvm
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ test -f config.h || ../../../platforms/unix/config/configure \
CC="gcc -m32" \
CXX="g++ -m32" \
CFLAGS="$OPT -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DCOGMTVM=0" \
LIBS="-lpthread -luuid" \
LIBS="-lpthread -luuid -Wl,-rpath,'\$\$ORIGIN' " \
LDFLAGS=-Wl,-z,now
rm -f vm/sqUnixMain.o # nuke version info
rm -rf ../../../products/$INSTALLDIR
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ i*86) ;; # we're good
fi ;;
esac

THIRDPARTYLIBS="libsdl2 libssh2 libgit2"
INSTALLDIR=phcoglowcodelinuxht
THIRDPARTYLIBS="libsdl2 openssl libssh2 libgit2"
INSTALLDIR=phcoglowcodelinux

# Some gcc versions create a broken VM using -O2
case `gcc -v 2>&1 | grep version | sed 's/gcc version *//'` in
Expand All @@ -29,14 +29,14 @@ case $a in
n|no|N|NO) echo "ok but this isn't safe!!";;
*) test -f Makefile && make reallyclean
# for lib in ${THIRDPARTYLIBS}; do
# ../../third-party/${lib}/mvm clean
# ../../third-party/mvm ${lib} clean
# done
esac
test -f plugins.int || (test -f ../plugins.int && cp -p ../plugins.int . || cp -p ../../plugins.int .)
test -f plugins.ext || (test -f ../plugins.ext && cp -p ../plugins.ext . || cp -p ../../plugins.ext .)

for lib in ${THIRDPARTYLIBS}; do
../../third-party/${lib}/mvm
../../third-party/mvm ${lib}
done

test -f config.h || ../../../platforms/unix/config/configure --without-npsqueak \
Expand All @@ -45,14 +45,16 @@ test -f config.h || ../../../platforms/unix/config/configure --without-npsqueak
CC="gcc -m32" \
CXX="g++ -m32" \
CFLAGS="$OPT -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DCOGMTVM=0 -DITIMER_HEARTBEAT=1" \
LIBS="-lpthread -luuid" \
LIBS="-lpthread -luuid -Wl,-rpath,'\$\$ORIGIN' " \
LDFLAGS=-Wl,-z,now
rm -f vm/sqUnixMain.o # nuke version info
rm -rf ../../../products/$INSTALLDIR
# prefer make install prefix=`readlink -f \`pwd\`/../../../products/$INSTALLDIR`
# but older linux readlinks lack the -f flag
make install-squeak install-plugins prefix=`(cd ../../../;pwd)`/products/$INSTALLDIR 2>&1 | tee LOG
productDir=`find ../../../products/$INSTALLDIR -name "5.0*"`
productDir=`(cd $productDir;pwd)`
for lib in ${THIRDPARTYLIBS}; do
../../third-party/${lib}/mvm install `find ../../../products/$INSTALLDIR -name "5.0*"`
../../third-party/mvm ${lib} install $productDir
done
../../editpharoinstall.sh ../../../products/$INSTALLDIR "$@"
12 changes: 7 additions & 5 deletions build.linux32x86/pharo.cog.spur.lowcode/build/mvm
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash -e
# PharoVM with VM profiler and threaded heartbeat
THIRDPARTYLIBS="libsdl2 libssh2 libgit2"
THIRDPARTYLIBS="libsdl2 openssl libssh2 libgit2"

case "`uname -m`" in # ensure we see x86 as machine type
i*86) ;; # we're good
Expand Down Expand Up @@ -29,15 +29,15 @@ n|no|N|NO) echo "ok but this isn't safe!!";;
*)
test -f Makefile && make reallyclean
# for lib in ${THIRDPARTYLIBS}; do
# ../../third-party/${lib}/mvm clean
# ../../third-party/mvm ${lib} clean
# done
esac

test -f plugins.int || (test -f ../plugins.int && cp -p ../plugins.int . || cp -p ../../plugins.int .)
test -f plugins.ext || (test -f ../plugins.ext && cp -p ../plugins.ext . || cp -p ../../plugins.ext .)

for lib in ${THIRDPARTYLIBS}; do
../../third-party/${lib}/mvm
../../third-party/mvm ${lib}
done

test -f config.h || ../../../platforms/unix/config/configure \
Expand All @@ -47,14 +47,16 @@ test -f config.h || ../../../platforms/unix/config/configure \
CC="gcc -m32" \
CXX="g++ -m32" \
CFLAGS="$OPT -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DCOGMTVM=0" \
LIBS="-lpthread -luuid" \
LIBS="-lpthread -luuid -Wl,-rpath,'\$\$ORIGIN' " \
LDFLAGS=-Wl,-z,now
rm -f vm/sqUnixMain.o # nuke version info
rm -rf ../../../products/$INSTALLDIR
# prefer make install prefix=`readlink -f \`pwd\`/../../../products/$INSTALLDIR`
# but older linux readlinks lack the -f flag
make install-squeak install-plugins prefix=`(cd ../../../;pwd)`/products/$INSTALLDIR 2>&1 | tee LOG
productDir=`find ../../../products/$INSTALLDIR -name "5.0*"`
productDir=`(cd $productDir;pwd)`
for lib in ${THIRDPARTYLIBS}; do
../../third-party/${lib}/mvm install `find ../../../products/$INSTALLDIR -name "5.0*"`
../../third-party/mvm ${lib} install $productDir
done
../../editpharoinstall.sh ../../../products/$INSTALLDIR "$@"
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ i*86) ;; # we're good
fi ;;
esac
# assert VM with VM profiler and itimer heartbeat
INSTALLDIR=assert/phstacklowcodelinuxht
INSTALLDIR=assert/phstacklowcodelinux
OPT="-g3 -O1 -fwrapv -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -DDEBUGVM=0"

if [ $# -ge 1 ]; then
Expand All @@ -28,7 +28,7 @@ test -f config.h || ../../../platforms/unix/config/configure --without-npsqueak
CC="gcc -m32" \
CXX="g++ -m32" \
CFLAGS="$OPT -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DITIMER_HEARTBEAT=1" \
LIBS="-lpthread -luuid" \
LIBS="-lpthread -luuid -Wl,-rpath,'\$\$ORIGIN' " \
LDFLAGS=-Wl,-z,now
rm -f vm/sqUnixMain.o # nuke version info
rm -rf ../../../products/$INSTALLDIR
Expand Down
2 changes: 1 addition & 1 deletion build.linux32x86/pharo.stack.spur.lowcode/build.assert/mvm
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ test -f config.h || ../../../platforms/unix/config/configure \
CC="gcc -m32" \
CXX="g++ -m32" \
CFLAGS="$OPT -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64" \
LIBS="-lpthread -luuid" \
LIBS="-lpthread -luuid -Wl,-rpath,'\$\$ORIGIN' " \
LDFLAGS=-Wl,-z,now
rm -f vm/sqUnixMain.o # nuke version info
rm -rf ../../../products/$INSTALLDIR
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ i*86) ;; # we're good
fi ;;
esac
# debug Spur VM with VM profiler and itimer heartbeat
INSTALLDIR=debug/phstacklowcodelinuxht
INSTALLDIR=debug/phstacklowcodelinux
OPT="-g3 -O0 -fwrapv -DDEBUGVM=1"

if [ $# -ge 1 ]; then
Expand All @@ -28,7 +28,7 @@ test -f config.h || ../../../platforms/unix/config/configure --without-npsqueak
CC="gcc -m32" \
CXX="g++ -m32" \
CFLAGS="$OPT -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DITIMER_HEARTBEAT=1" \
LIBS="-lpthread -luuid" \
LIBS="-lpthread -luuid -Wl,-rpath,'\$\$ORIGIN' " \
LDFLAGS=-Wl,-z,now
rm -f vm/sqUnixMain.o # nuke version info
rm -rf ../../../products/$INSTALLDIR
Expand Down
2 changes: 1 addition & 1 deletion build.linux32x86/pharo.stack.spur.lowcode/build.debug/mvm
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ test -f config.h || ../../../platforms/unix/config/configure \
CC="gcc -m32" \
CXX="g++ -m32" \
CFLAGS="$OPT -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 " \
LIBS="-lpthread -luuid" \
LIBS="-lpthread -luuid -Wl,-rpath,'\$\$ORIGIN' " \
LDFLAGS=-Wl,-z,now
rm -f vm/sqUnixMain.o # nuke version info
rm -rf ../../../products/$INSTALLDIR
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ fi ;;
esac

THIRDPARTYLIBS="libsdl2 libssh2 libgit2"
INSTALLDIR=phstacklowcodelinuxht
INSTALLDIR=phstacklowcodelinux

# Some gcc versions create a broken VM using -O2
case `gcc -v 2>&1 | grep version | sed 's/gcc version *//'` in
Expand All @@ -36,7 +36,7 @@ test -f plugins.int || (test -f ../plugins.int && cp -p ../plugins.int . || cp -
test -f plugins.ext || (test -f ../plugins.ext && cp -p ../plugins.ext . || cp -p ../../plugins.ext .)

for lib in ${THIRDPARTYLIBS}; do
../../third-party/${lib}/mvm
../../third-party/mvm ${lib}
done

test -f config.h || ../../../platforms/unix/config/configure --without-npsqueak \
Expand All @@ -45,14 +45,16 @@ test -f config.h || ../../../platforms/unix/config/configure --without-npsqueak
CC="gcc -m32" \
CXX="g++ -m32" \
CFLAGS="$OPT -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DITIMER_HEARTBEAT=1" \
LIBS="-lpthread -luuid" \
LIBS="-lpthread -luuid -Wl,-rpath,'\$\$ORIGIN' " \
LDFLAGS=-Wl,-z,now
rm -f vm/sqUnixMain.o # nuke version info
rm -rf ../../../products/$INSTALLDIR
# prefer make install prefix=`readlink -f \`pwd\`/../../../products/$INSTALLDIR`
# but older linux readlinks lack the -f flag
make install-squeak install-plugins prefix=`(cd ../../../;pwd)`/products/$INSTALLDIR 2>&1 | tee LOG
productDir=`find ../../../products/$INSTALLDIR -name "5.0*"`
productDir=`(cd $productDir;pwd)`
for lib in ${THIRDPARTYLIBS}; do
../../third-party/${lib}/mvm install `find ../../../products/$INSTALLDIR -name "5.0*"`
../../third-party/mvm ${lib} install $productDir
done
../../editpharoinstall.sh ../../../products/$INSTALLDIR "$@"
8 changes: 5 additions & 3 deletions build.linux32x86/pharo.stack.spur.lowcode/build/mvm
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ test -f plugins.int || (test -f ../plugins.int && cp -p ../plugins.int . || cp -
test -f plugins.ext || (test -f ../plugins.ext && cp -p ../plugins.ext . || cp -p ../../plugins.ext .)

for lib in ${THIRDPARTYLIBS}; do
../../third-party/${lib}/mvm
../../third-party/mvm ${lib}
done

test -f config.h || ../../../platforms/unix/config/configure \
Expand All @@ -47,14 +47,16 @@ test -f config.h || ../../../platforms/unix/config/configure \
CC="gcc -m32" \
CXX="g++ -m32" \
CFLAGS="$OPT -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64" \
LIBS="-lpthread -luuid" \
LIBS="-lpthread -luuid -Wl,-rpath,'\$\$ORIGIN' " \
LDFLAGS=-Wl,-z,now
rm -f vm/sqUnixMain.o # nuke version info
rm -rf ../../../products/$INSTALLDIR
# prefer make install prefix=`readlink -f \`pwd\`/../../../products/$INSTALLDIR`
# but older linux readlinks lack the -f flag
make install-squeak install-plugins prefix=`(cd ../../../;pwd)`/products/$INSTALLDIR 2>&1 | tee LOG
productDir=`find ../../../products/$INSTALLDIR -name "5.0*"`
productDir=`(cd $productDir;pwd)`
for lib in ${THIRDPARTYLIBS}; do
../../third-party/${lib}/mvm install `find ../../../products/$INSTALLDIR -name "5.0*"`
../../third-party/mvm ${lib} install $productDir
done
../../editpharoinstall.sh ../../../products/$INSTALLDIR "$@"
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/bin/bash -e
# assert VM with VM profiler and itimer heartbeat
INSTALLDIR=assert/phcogspurlowcode64linux
OPT="-g3 -O1 -fwrapv -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -DDEBUGVM=0 -DPharoVM"

if [ $# -ge 1 ]; then
INSTALLDIR="$1"; shift
fi

echo -n "clean? "
read a
case $a in
n|no|N|NO) echo "ok but this isn't safe!!";;
*) test -f Makefile && make reallyclean
esac
test -f plugins.int || (test -f ../plugins.int && cp -p ../plugins.int . || cp -p ../../plugins.int .)
test -f plugins.ext || (test -f ../plugins.ext && cp -p ../plugins.ext . || cp -p ../../plugins.ext .)
test -f config.h || ../../../platforms/unix/config/configure \
--without-npsqueak \
--with-vmversion=5.0 \
--with-src=spurlowcode64src \
CC="gcc -m64" \
CXX="g++ -m64" \
CFLAGS="$OPT -msse2 -D_GNU_SOURCE -DCOGMTVM=0 -DITIMER_HEARTBEAT=1" \
LIBS="-lpthread -luuid -Wl,-rpath,'\$\$ORIGIN' " \
LDFLAGS=-Wl,-z,now
rm -f vm/sqUnixMain.o # nuke version info
rm -rf ../../../products/$INSTALLDIR
# prefer make install prefix=`readlink -f \`pwd\`/../../../products/$INSTALLDIR`
# but older linux readlinks lack the -f flag
make install-squeak install-plugins prefix=`(cd ../../../;pwd)`/products/$INSTALLDIR 2>&1 | tee LOG
../../editpharoinstall.sh ../../../products/$INSTALLDIR "$@"
32 changes: 32 additions & 0 deletions build.linux64x64/pharo.cog.spur.lowcode/build.assert/mvm
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/bin/bash -e
# assert PharoVM with VM profiler and threaded heartbeat
INSTALLDIR=assert/phcogspurlowcode64linuxht
OPT="-g3 -O1 -fwrapv -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -DDEBUGVM=0 -DPharoVM -DIMMUTABILITY=1"

if [ $# -ge 1 ]; then
INSTALLDIR="$1"; shift
fi

echo -n "clean? "
read a
case $a in
n|no|N|NO) echo "ok but this isn't safe!!";;
*) test -f Makefile && make reallyclean
esac
test -f plugins.int || (test -f ../plugins.int && cp -p ../plugins.int . || cp -p ../../plugins.int .)
test -f plugins.ext || (test -f ../plugins.ext && cp -p ../plugins.ext . || cp -p ../../plugins.ext .)
test -f config.h || ../../../platforms/unix/config/configure \
--without-npsqueak \
--with-vmversion=5.0 \
--with-src=spurlowcode64src \
CC="gcc -m64" \
CXX="g++ -m64" \
CFLAGS="$OPT -msse2 -D_GNU_SOURCE -DCOGMTVM=0" \
LIBS="-lpthread -luuid -Wl,-rpath,'\$\$ORIGIN' " \
LDFLAGS=-Wl,-z,now
rm -f vm/sqUnixMain.o # nuke version info
rm -rf ../../../products/$INSTALLDIR
# prefer make install prefix=`readlink -f \`pwd\`/../../../products/$INSTALLDIR`
# but older linux readlinks lack the -f flag
make install-squeak install-plugins prefix=`(cd ../../../;pwd)`/products/$INSTALLDIR 2>&1 | tee LOG
../../editpharoinstall.sh ../../../products/$INSTALLDIR "$@"
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/bin/bash -e
# debug Spur VM with VM profiler and itimer heartbeat
INSTALLDIR=debug/phcogspurlowcode64linux
OPT="-g3 -O0 -fwrapv -DDEBUGVM=1 -DPharoVM"

if [ $# -ge 1 ]; then
INSTALLDIR="$1"; shift
fi

echo -n "clean? "
read a
case $a in
n|no|N|NO) echo "ok but this isn't safe!!";;
*) test -f Makefile && make reallyclean
esac
test -f plugins.int || (test -f ../plugins.int && cp -p ../plugins.int . || cp -p ../../plugins.int .)
test -f plugins.ext || (test -f ../plugins.ext && cp -p ../plugins.ext . || cp -p ../../plugins.ext .)
test -f config.h || ../../../platforms/unix/config/configure \
--without-npsqueak \
--with-vmversion=5.0 \
--with-src=spurlowcode64src \
CC="gcc -m64" \
CXX="g++ -m64" \
CFLAGS="$OPT -msse2 -D_GNU_SOURCE -DCOGMTVM=0 -DITIMER_HEARTBEAT=1" \
LIBS="-lpthread -luuid -Wl,-rpath,'\$\$ORIGIN' " \
LDFLAGS=-Wl,-z,now
rm -f vm/sqUnixMain.o # nuke version info
rm -rf ../../../products/$INSTALLDIR
# prefer make install prefix=`readlink -f \`pwd\`/../../../products/$INSTALLDIR`
# but older linux readlinks lack the -f flag
make install-squeak install-plugins prefix=`(cd ../../../;pwd)`/products/$INSTALLDIR 2>&1 | tee LOG
../../editpharoinstall.sh ../../../products/$INSTALLDIR "$@"
Loading