diff options
author | blobb <dr.blobb@gmail.com> | 2017-05-24 16:09:45 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2017-05-26 09:05:11 +0000 |
commit | cd8e7a46b66e9b2c883867efab9c8db586f764ba (patch) | |
tree | 6bc2ee3f61a4a1668cb8ced3b3bbdaaa032263b8 | |
parent | 2d899a015756cbf0da66d2a74b64b086b408af84 (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" and "amd64". 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: I0db83ad2c94ada65c00fd1bcf867830dec80085d
-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..d5fc31fb --- /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 \ + --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 |