diff options
author | Vincent Sanders <vincent.sanders@collabora.co.uk> | 2013-05-10 10:20:24 +0100 |
---|---|---|
committer | Vincent Sanders <vincent.sanders@collabora.co.uk> | 2013-05-10 10:20:24 +0100 |
commit | 05ea2c91ae79ebae197615b92c06894c38dd35f2 (patch) | |
tree | d2722a982b60fc9cd4337850056adf568a0f83e3 | |
parent | 0d03c5fbf0b1cc00fb176c9e5ed8e745869018ac (diff) | |
download | buildsystem-05ea2c91ae79ebae197615b92c06894c38dd35f2.tar.gz buildsystem-05ea2c91ae79ebae197615b92c06894c38dd35f2.tar.bz2 |
Add ci system tools
-rw-r--r-- | Makefile | 7 | ||||
-rwxr-xr-x | citools/jenkins-build.sh | 66 |
2 files changed, 72 insertions, 1 deletions
@@ -30,14 +30,19 @@ MAKEFILES := $(patsubst %,Makefile.%, \ TESTTOOLS := testrunner.pl +CITOOLS := jenkins-build.sh + install: - mkdir -p $(BASE)/makefiles $(BASE)/testtools + mkdir -p $(BASE)/makefiles $(BASE)/testtools $(BASE)/citools for M in $(MAKEFILES); do \ cp makefiles/$$M $(BASE)/makefiles/; \ done for T in $(TESTTOOLS); do \ cp testtools/$$T $(BASE)/testtools/; \ done + for C in $(CITOOLS); do \ + cp citools/$$C $(BASE)/citools/; \ + done # Distribution # This constructs a distribution tar from the last git tag. It ensures diff --git a/citools/jenkins-build.sh b/citools/jenkins-build.sh new file mode 100755 index 0000000..6d45fe0 --- /dev/null +++ b/citools/jenkins-build.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# +# Copyright © 2013 Vincent Sanders <vince@netsurf-browser.org> +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# * The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +# NetSurf continuius integration build script for jenkins +# +# This script may be executed by jenkins jobs that use the core buildsystem + + +# The target for built artifacts - This does mean the artifacts of a +# target must all be built on the same slave instance +ARTIFACT_HOME=${JENKINS_HOME}/artifacts-${TARGET} + +# Ensure the artifact target directory exists +mkdir -p ${ARTIFACT_HOME} +# Configure all build paths relative to prefix +export PREFIX=${ARTIFACT_HOME} +export PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig +export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PREFIX}/lib +export PATH=${PATH}:${PREFIX}/bin + +# Obtain the native target +#NATIVE_TARGET=$(uname -s) +# Currently most tests do not work on targets except for Linux +NATIVE_TARGET="Linux" + +# currently core buildsystem doesnt use triplets so we need to adjust for that +case ${TARGET} in + "m68k-atari-mint") + make clean TARGET=atari + make install TARGET=atari + ;; + + "m5475-atari-mint") + make clean TARGET=m5475_atari + make install TARGET=m5475_atari + ;; + + *) + make clean + make + # run the tests on native platforms + if [ "${TARGET}" = "${NATIVE_TARGET}" ]; then + make test + fi + make install + ;; +esac |