diff options
author | blobb <dr.blobb@gmail.com> | 2017-05-24 16:09:45 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2017-05-25 00:06:07 +0000 |
commit | ba58167e1bf6ff8815c4e9e0d7b0b63ba1c529f8 (patch) | |
tree | a5fe06c0accfe3e3a855f818cc5d725db7a2205b /contrib/jenkins-arm.sh | |
parent | 54ca30c8d3b26285bcf2f960265b2a50469f3af3 (diff) |
Introduce build script for arm-none-eabi cross-compilations
This is a necessary step to use libosmocore-arm dep in OsmocomBB.
After this patch is submitted the "./contrib/jenkins.sh" line in
libosmocore jenkins jobs [1][2] needs to be replaced with:
if [[ "$JOB_NAME" == *"arch=arm-none-eabi,label=linux_amd64_debian8"* ]]
then
./contrib/jenkins-arm.sh
else
# (FreeBSD && debian8)_amd64 builds
./contrib/jenkins.sh
fi
Furthermore, the "arch" matrix-build axis has to be created,
holding "arm-none-eabi". Following combination filter is
necessary to skip cross-compilations on FreeBSD buildslave:
!(arch=="arm-none-eabi" && label=="FreeBSD_amd64")
[1] https://jenkins.osmocom.org/jenkins/job/libosmocore/
[2] https://jenkins.osmocom.org/jenkins/job/libosmocore-gerrit/
Change-Id: I9e07fb9e60830dbd585f22d9c658c46252ce399f
Diffstat (limited to 'contrib/jenkins-arm.sh')
-rwxr-xr-x | contrib/jenkins-arm.sh | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/contrib/jenkins-arm.sh b/contrib/jenkins-arm.sh new file mode 100755 index 00000000..e2798211 --- /dev/null +++ b/contrib/jenkins-arm.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +set -ex + +./contrib/verify_value_string_arrays_are_terminated.py $(find . -name "*.[hc]") + +autoreconf --install --force +./configure --enable-static --enable-sanitize \ + --prefix=/usr/local/arm-none-eabi \ + --host=arm-none-eabi \ + --enable-embedded \ + --disable-shared \ + CFLAGS="-Os -ffunction-sections -fdata-sections -nostartfiles -nodefaultlibs" + +$MAKE $PARALLEL_MAKE \ + || cat-testlogs.sh + +# verify build in dir other than source tree +rm -rf * +git checkout . +autoreconf --install --force +mkdir builddir +cd builddir + +../configure --enable-static \ + --prefix=/usr/local/arm-none-eabi \ + --host=arm-none-eabi \ + --enable-embedded \ + --disable-shared \ + CFLAGS="-Os -ffunction-sections -fdata-sections -nostartfiles -nodefaultlibs" + +$MAKE $PARALLEL_MAKE \ + || cat-testlogs.sh |