aboutsummaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorblobb <dr.blobb@gmail.com>2017-05-24 16:09:45 +0200
committerHarald Welte <laforge@gnumonks.org>2017-05-26 09:05:11 +0000
commitcd8e7a46b66e9b2c883867efab9c8db586f764ba (patch)
tree6bc2ee3f61a4a1668cb8ced3b3bbdaaa032263b8 /contrib
parent2d899a015756cbf0da66d2a74b64b086b408af84 (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
Diffstat (limited to 'contrib')
-rwxr-xr-xcontrib/jenkins-arm.sh33
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