aboutsummaryrefslogtreecommitdiff
path: root/tools/buildsteps/linux64
diff options
context:
space:
mode:
Diffstat (limited to 'tools/buildsteps/linux64')
-rwxr-xr-xtools/buildsteps/linux64/configure-depends2
-rwxr-xr-xtools/buildsteps/linux64/make-binary-addons28
-rwxr-xr-xtools/buildsteps/linux64/make-depends4
-rwxr-xr-xtools/buildsteps/linux64/make-native-depends9
-rwxr-xr-xtools/buildsteps/linux64/prepare-depends6
-rwxr-xr-xtools/buildsteps/linux64/prepare-xbmc3
6 files changed, 46 insertions, 6 deletions
diff --git a/tools/buildsteps/linux64/configure-depends b/tools/buildsteps/linux64/configure-depends
index 80e990b427..44edac1431 100755
--- a/tools/buildsteps/linux64/configure-depends
+++ b/tools/buildsteps/linux64/configure-depends
@@ -2,7 +2,7 @@ WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )}
XBMC_PLATFORM_DIR=linux64
. $WORKSPACE/tools/buildsteps/defaultenv
-if [ "$(rebuildDepends)" == "1" ]
+if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ]
then
cd $WORKSPACE/tools/depends;./configure \
--with-toolchain=/usr --prefix=$XBMC_DEPENDS_ROOT --host=x86_64-linux-gnu --with-tarballs=$TARBALLS
diff --git a/tools/buildsteps/linux64/make-binary-addons b/tools/buildsteps/linux64/make-binary-addons
new file mode 100755
index 0000000000..0f57b9ad15
--- /dev/null
+++ b/tools/buildsteps/linux64/make-binary-addons
@@ -0,0 +1,28 @@
+WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )}
+XBMC_PLATFORM_DIR=linux64
+. $WORKSPACE/tools/buildsteps/defaultenv
+
+. $WORKSPACE/tools/buildsteps/$XBMC_PLATFORM_DIR/make-native-depends
+
+#clear the build failed file
+rm -f $WORKSPACE/project/cmake/$FAILED_BUILD_FILENAME
+
+ALL_BINARY_ADDONS_BUILT="1"
+#only build binary addons if something in the addons metadata changed
+if [ "$(pathChanged $WORKSPACE/project/cmake)" == "1" ]
+then
+ for addon in $BINARY_ADDONS
+ do
+ echo "building $addon"
+ git clean -xffd $WORKSPACE/$BINARY_ADDONS_ROOT/$addon
+ cd $WORKSPACE/$BINARY_ADDONS_ROOT/$addon;make -j $BUILDTHREADS || ALL_BINARY_ADDONS_BUILT="0"
+ done
+fi
+
+if [ "$ALL_BINARY_ADDONS_BUILT" == "1" ]
+then
+ tagSuccessFulBuild $WORKSPACE/project/cmake
+else
+ #mark the build failure in the filesystem but leave jenkins running
+ tagFailedBuild $WORKSPACE/project/cmake
+fi
diff --git a/tools/buildsteps/linux64/make-depends b/tools/buildsteps/linux64/make-depends
index ef58af723f..1730a618c7 100755
--- a/tools/buildsteps/linux64/make-depends
+++ b/tools/buildsteps/linux64/make-depends
@@ -2,8 +2,8 @@ WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )}
XBMC_PLATFORM_DIR=linux64
. $WORKSPACE/tools/buildsteps/defaultenv
-if [ "$(rebuildDepends)" == "1" ]
+if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ]
then
- cd $WORKSPACE/tools/depends;make -j $BUILDTHREADS || make && tagSuccessFulDependsBuild
+ cd $WORKSPACE/tools/depends;make -j $BUILDTHREADS || make && tagSuccessFulBuild $WORKSPACE/tools/depends
fi
diff --git a/tools/buildsteps/linux64/make-native-depends b/tools/buildsteps/linux64/make-native-depends
new file mode 100755
index 0000000000..c05850f7f3
--- /dev/null
+++ b/tools/buildsteps/linux64/make-native-depends
@@ -0,0 +1,9 @@
+WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )}
+XBMC_PLATFORM_DIR=linux64
+. $WORKSPACE/tools/buildsteps/defaultenv
+
+if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ]
+then
+ git clean -xffd $WORKSPACE/tools/depends/native
+ cd $WORKSPACE/tools/depends/native;make -j $BUILDTHREADS && tagSuccessFulBuild $WORKSPACE/tools/depends
+fi \ No newline at end of file
diff --git a/tools/buildsteps/linux64/prepare-depends b/tools/buildsteps/linux64/prepare-depends
index 31fde7a0f5..ae0a027a06 100755
--- a/tools/buildsteps/linux64/prepare-depends
+++ b/tools/buildsteps/linux64/prepare-depends
@@ -3,9 +3,11 @@ XBMC_PLATFORM_DIR=linux64
. $WORKSPACE/tools/buildsteps/defaultenv
#clean without depends for skipping depends build if possible
-cd $WORKSPACE;git clean -xfd -e "project/cmake/.last_success_revision" -e "tools/depends"
+#also skip binary addons (pvr, audioencoder) as long as they are deployed in tree
+cd $WORKSPACE;git clean -xfd -e "project/cmake/.last_success_revision" -e "tools/depends" ${DEPLOYED_BINARY_ADDONS}
-if [ "$(rebuildDepends)" == "1" ]
+# if depends path has changed - cleanout everything and do a full rebuild
+if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ]
then
#clean up the rest too
cd $WORKSPACE;git clean -xffd
diff --git a/tools/buildsteps/linux64/prepare-xbmc b/tools/buildsteps/linux64/prepare-xbmc
index f71fcf6fef..6d6db0fcb2 100755
--- a/tools/buildsteps/linux64/prepare-xbmc
+++ b/tools/buildsteps/linux64/prepare-xbmc
@@ -2,4 +2,5 @@ WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )}
XBMC_PLATFORM_DIR=linux64
. $WORKSPACE/tools/buildsteps/defaultenv
-#nothing on linux
+#build binary addons before building xbmc...
+. $WORKSPACE/tools/buildsteps/$XBMC_PLATFORM_DIR/make-binary-addons