From cd8e7a46b66e9b2c883867efab9c8db586f764ba Mon Sep 17 00:00:00 2001 From: blobb Date: Wed, 24 May 2017 16:09:45 +0200 Subject: [PATCH] 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 --- contrib/jenkins-arm.sh | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 contrib/jenkins-arm.sh diff --git a/contrib/jenkins-arm.sh b/contrib/jenkins-arm.sh new file mode 100755 index 000000000..d5fc31fb6 --- /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