summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Sanders <vincent.sanders@collabora.co.uk>2013-05-10 10:20:24 +0100
committerVincent Sanders <vincent.sanders@collabora.co.uk>2013-05-10 10:20:24 +0100
commit05ea2c91ae79ebae197615b92c06894c38dd35f2 (patch)
treed2722a982b60fc9cd4337850056adf568a0f83e3
parent0d03c5fbf0b1cc00fb176c9e5ed8e745869018ac (diff)
downloadbuildsystem-05ea2c91ae79ebae197615b92c06894c38dd35f2.tar.gz
buildsystem-05ea2c91ae79ebae197615b92c06894c38dd35f2.tar.bz2
Add ci system tools
-rw-r--r--Makefile7
-rwxr-xr-xcitools/jenkins-build.sh66
2 files changed, 72 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 07873ba..660d9ac 100644
--- a/Makefile
+++ b/Makefile
@@ -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