Skip to content

Feature lowcode linux build scripts update #168

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

Open
wants to merge 7 commits into
base: Cog
Choose a base branch
from
Open
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
@@ -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
@@ -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
Original file line number Diff line number Diff line change
@@ -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
@@ -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
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
@@ -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
Original file line number Diff line number Diff line change
@@ -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
@@ -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
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
@@ -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
Original file line number Diff line number Diff line change
@@ -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
@@ -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 \
@@ -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
@@ -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 \
@@ -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
@@ -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
@@ -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
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
@@ -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
Original file line number Diff line number Diff line change
@@ -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
@@ -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
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
@@ -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
Original file line number Diff line number Diff line change
@@ -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
@@ -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 \
@@ -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
@@ -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 \
@@ -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