@@ -141,6 +141,71 @@ jobs:
141141 eusg lib/llib/unittest.l '(progn (init-unit-test)(load "jskeus/irteus/irtrobot.l"))'
142142 eusg lib/llib/unittest.l '(progn (init-unit-test)(load "jskeus/irteus/irtsensor.l"))'
143143
144+ # test for non X11/GL environment, i.e. embedded environment
145+ linux-nox-crosscompile :
146+ runs-on : ubuntu-latest
147+ timeout-minutes : 60
148+ steps :
149+ - name : Checkout
150+ uses : actions/checkout@v2
151+ - name : Setup environmnet
152+ shell : bash
153+ run : |
154+ set -xe
155+ sudo apt update -y -qq
156+ # remove unused packages
157+ sudo dpkg -r --force-depends nginx || echo "OK"
158+ sudo apt purge -y -qq build-essential gcc-9 gcc-10 || echo "OK"
159+ sudo apt purge -y -qq libx11* x11* libgl1* libglx* || echo "OK"
160+ sudo apt autoremove -y -qq || echo "OK"
161+ # install deb environment
162+ sudo apt install -y -qq make binutils-aarch64-linux-gnu gcc-aarch64-linux-gnu g++-aarch64-linux-gnu qemu-user-static
163+ exit 0
164+ - name : Check environmnet
165+ shell : bash
166+ run : |
167+ set -xe
168+ dpkg --get-selections | egrep -e '(cc|ld)' || echo "OK" ## show selected X/GL
169+ dpkg --get-selections | egrep -e '(x11|gl)' || echo "OK" ## show selected X/GL
170+ #dpkg --get-selections | egrep -q -e '(x11|gl)' && exit 1 ## exit 1, when X/GL found
171+ exit 0
172+ - name : Compile eusg
173+ shell : bash
174+ run : |
175+ set -xe
176+ export EUSDIR=$(pwd)
177+ export CC=aarch64-linux-gnu-gcc
178+ export LD=aarch64-linux-gnu-ld
179+ export CXX=aarch64-linux-gnu-g++
180+ export QEMU_LD_PREFIX=/usr/aarch64-linux-gnu/
181+ cd lisp
182+ ln -sf Makefile.Linux Makefile
183+ CC=$CC LD=$LD make eus0 eus1 eus2 eusg
184+ (cd $EUSDIR/test; CXX=$CXX make)
185+ - name : Run test
186+ shell : bash
187+ run : |
188+ export EUSDIR=$(pwd)
189+ export ARCHDIR=LinuxARM
190+ export PATH=$EUSDIR/$ARCHDIR/bin:$EUSDIR/$ARCHDIR/lib:$PATH
191+ export LD_LIBRARY_PATH=$EUSDIR/$ARCHDIR/lib:$EUSDIR/$ARCHDIR/bin:$LD_LIBRARY_PATH
192+ export QEMU_LD_PREFIX=/usr/aarch64-linux-gnu/
193+ set -xe
194+ export EXIT_STATUS=0; for test_l in test/*.l; do eusg $test_l; export TMP_EXIT_STATUS=$?; export EXIT_STATUS=`expr $TMP_EXIT_STATUS + $EXIT_STATUS`; done; [ $EXIT_STATUS == 0 ] || exit 1
195+ - name : Check jskeus
196+ shell : bash
197+ run : |
198+ export EUSDIR=$(pwd)
199+ export ARCHDIR=LinuxARM
200+ export PATH=$EUSDIR/$ARCHDIR/bin:$EUSDIR/$ARCHDIR/lib:$PATH
201+ export LD_LIBRARY_PATH=$EUSDIR/$ARCHDIR/lib:$EUSDIR/$ARCHDIR/bin:$LD_LIBRARY_PATH
202+ export QEMU_LD_PREFIX=/usr/aarch64-linux-gnu/
203+ set -xe
204+ sudo apt install -y -qq git
205+ git clone --depth 1 https://github.com/euslisp/jskeus
206+ eusg lib/llib/unittest.l '(progn (init-unit-test)(load "jskeus/irteus/irtrobot.l"))'
207+ eusg lib/llib/unittest.l '(progn (init-unit-test)(load "jskeus/irteus/irtsensor.l"))'
208+
144209 osx :
145210 runs-on : macos-latest
146211 timeout-minutes : 60
0 commit comments