summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorblobb <dr.blobb@gmail.com>2017-05-24 16:09:45 +0200
committerHarald Welte <laforge@gnumonks.org>2017-05-25 00:06:07 +0000
commitba58167e1bf6ff8815c4e9e0d7b0b63ba1c529f8 (patch)
treea5fe06c0accfe3e3a855f818cc5d725db7a2205b
parent54ca30c8d3b26285bcf2f960265b2a50469f3af3 (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
-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..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