diff options
author | Markus Pfau <pfau@peakwork.de> | 2016-09-29 21:55:01 +0200 |
---|---|---|
committer | wsnipex <wsnipex@a1.net> | 2016-10-09 11:21:48 +0200 |
commit | 8806efb212f7ce581b9bfe9f28852f14de3e88d0 (patch) | |
tree | d36b0991f2108459ca572aeb3cf4a9501a1a93bb | |
parent | feb1bb871dc5cc523e3bd10dfbf6135251c03f21 (diff) |
add aarch64 buildstep
-rw-r--r-- | tools/buildsteps/android-arm64-v8a/configure-depends | 21 | ||||
-rw-r--r-- | tools/buildsteps/android-arm64-v8a/configure-xbmc | 5 | ||||
-rw-r--r-- | tools/buildsteps/android-arm64-v8a/make-binary-addons | 31 | ||||
-rw-r--r-- | tools/buildsteps/android-arm64-v8a/make-depends | 9 | ||||
-rw-r--r-- | tools/buildsteps/android-arm64-v8a/make-native-depends | 9 | ||||
-rw-r--r-- | tools/buildsteps/android-arm64-v8a/make-xbmc | 5 | ||||
-rw-r--r-- | tools/buildsteps/android-arm64-v8a/package | 23 | ||||
-rw-r--r-- | tools/buildsteps/android-arm64-v8a/prepare-depends | 15 | ||||
-rw-r--r-- | tools/buildsteps/android-arm64-v8a/prepare-xbmc | 9 |
9 files changed, 127 insertions, 0 deletions
diff --git a/tools/buildsteps/android-arm64-v8a/configure-depends b/tools/buildsteps/android-arm64-v8a/configure-depends new file mode 100644 index 0000000000..7ab5d71f4b --- /dev/null +++ b/tools/buildsteps/android-arm64-v8a/configure-depends @@ -0,0 +1,21 @@ +WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )} +XBMC_PLATFORM_DIR=android +. $WORKSPACE/tools/buildsteps/defaultenv + +NDK_ARCH=aarch64 +#the following pathes must exist on the slave and use the defined scheme here! +NDK_PATH=$ANDROID_DEV_ROOT/android-ndk-r$NDK_VERSION +TOOLCHAIN=$ANDROID_DEV_ROOT/android-toolchain-$NDK_ARCH-$SDK_VERSION-r$NDK_VERSION + +if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ] +then + cd $WORKSPACE/tools/depends;./configure \ + --with-tarballs=$TARBALLS \ + --host=aarch64-linux-android \ + --with-sdk-path=$SDK_PATH \ + --with-ndk=$NDK_PATH \ + $(if [ "$SDK_VERSION" != "Default" ]; then echo --with-sdk=android-$SDK_VERSION;fi) \ + --with-toolchain=$TOOLCHAIN \ + --prefix=$XBMC_DEPENDS_ROOT \ + --enable-neon +fi diff --git a/tools/buildsteps/android-arm64-v8a/configure-xbmc b/tools/buildsteps/android-arm64-v8a/configure-xbmc new file mode 100644 index 0000000000..81c0d3c9b8 --- /dev/null +++ b/tools/buildsteps/android-arm64-v8a/configure-xbmc @@ -0,0 +1,5 @@ +WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )} +XBMC_PLATFORM_DIR=android +. $WORKSPACE/tools/buildsteps/defaultenv + +make -C $WORKSPACE/tools/depends/target/cmakebuildsys diff --git a/tools/buildsteps/android-arm64-v8a/make-binary-addons b/tools/buildsteps/android-arm64-v8a/make-binary-addons new file mode 100644 index 0000000000..19a9d85bac --- /dev/null +++ b/tools/buildsteps/android-arm64-v8a/make-binary-addons @@ -0,0 +1,31 @@ +WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )} +XBMC_PLATFORM_DIR=android +. $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 when requested by env/jenkins +if [ "$BUILD_BINARY_ADDONS" == "true" ] +then + for addon in $BINARY_ADDONS + do + echo "building $addon" + git clean -xffd $WORKSPACE/$BINARY_ADDONS_ROOT/$addon + + # Must match prefix in android/PathSetup.cmake + INSTALL_PREFIX="../../../../../build/install" + cd $WORKSPACE/$BINARY_ADDONS_ROOT/$addon;make -j $BUILDTHREADS V=99 VERBOSE=1 INSTALL_PREFIX="$INSTALL_PREFIX" || 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/android-arm64-v8a/make-depends b/tools/buildsteps/android-arm64-v8a/make-depends new file mode 100644 index 0000000000..c5869b26e2 --- /dev/null +++ b/tools/buildsteps/android-arm64-v8a/make-depends @@ -0,0 +1,9 @@ +WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )} +XBMC_PLATFORM_DIR=android +. $WORKSPACE/tools/buildsteps/defaultenv + +if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ] +then + cd $WORKSPACE/tools/depends;make -j $BUILDTHREADS && tagSuccessFulBuild $WORKSPACE/tools/depends +fi + diff --git a/tools/buildsteps/android-arm64-v8a/make-native-depends b/tools/buildsteps/android-arm64-v8a/make-native-depends new file mode 100644 index 0000000000..c327180f6d --- /dev/null +++ b/tools/buildsteps/android-arm64-v8a/make-native-depends @@ -0,0 +1,9 @@ +WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )} +XBMC_PLATFORM_DIR=android +. $WORKSPACE/tools/buildsteps/defaultenv + +if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ] && [ "$BINARY_ADDONS_CLEAN_NATIVETOOLS" != "0" ] +then + git clean -xffd $WORKSPACE/tools/depends/native + cd $WORKSPACE/tools/depends/native;make -j $BUILDTHREADS && tagSuccessFulBuild $WORKSPACE/tools/depends +fi diff --git a/tools/buildsteps/android-arm64-v8a/make-xbmc b/tools/buildsteps/android-arm64-v8a/make-xbmc new file mode 100644 index 0000000000..11d8d703f2 --- /dev/null +++ b/tools/buildsteps/android-arm64-v8a/make-xbmc @@ -0,0 +1,5 @@ +WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )} +XBMC_PLATFORM_DIR=android +. $WORKSPACE/tools/buildsteps/defaultenv + +cd $WORKSPACE/build;make -j$BUILDTHREADS || make diff --git a/tools/buildsteps/android-arm64-v8a/package b/tools/buildsteps/android-arm64-v8a/package new file mode 100644 index 0000000000..78b2b004c1 --- /dev/null +++ b/tools/buildsteps/android-arm64-v8a/package @@ -0,0 +1,23 @@ +WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )} +XBMC_PLATFORM_DIR=android +. $WORKSPACE/tools/buildsteps/defaultenv + +if [ "x$BUILD_OBB" == "xtrue" ]; then + TARGET=apk-obb-unsigned +else + TARGET=apk-unsigned +fi + +cd $WORKSPACE/build;make -j$BUILDTHREADS $TARGET +$RUN_SIGNSTEP + +cd $WORKSPACE + +#rename for upload +#e.x. xbmc-20130314-8c2fb31-Frodo-arm64-v8a.apk +UPLOAD_FILENAME="kodi-$(getBuildRevDateStr)-arm64-v8a" +mv kodiapp-arm64-v8a-*.apk $UPLOAD_FILENAME.apk +if [ -f *.obb ] +then + mv *.obb $UPLOAD_FILENAME.obb +fi diff --git a/tools/buildsteps/android-arm64-v8a/prepare-depends b/tools/buildsteps/android-arm64-v8a/prepare-depends new file mode 100644 index 0000000000..933ea4592e --- /dev/null +++ b/tools/buildsteps/android-arm64-v8a/prepare-depends @@ -0,0 +1,15 @@ +WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )} +XBMC_PLATFORM_DIR=android +. $WORKSPACE/tools/buildsteps/defaultenv + +#clean without depends for skipping depends build if possible +#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 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 + cd $WORKSPACE/tools/depends/;./bootstrap +fi diff --git a/tools/buildsteps/android-arm64-v8a/prepare-xbmc b/tools/buildsteps/android-arm64-v8a/prepare-xbmc new file mode 100644 index 0000000000..144ed52d88 --- /dev/null +++ b/tools/buildsteps/android-arm64-v8a/prepare-xbmc @@ -0,0 +1,9 @@ +WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )} +XBMC_PLATFORM_DIR=android +. $WORKSPACE/tools/buildsteps/defaultenv + +#build binary addons before building xbmc... +#make sure that binary_addons don't clean the native tools +#here (e.x. on release builds where pathChanged always returns 1 +BINARY_ADDONS_CLEAN_NATIVETOOLS="0" +. $WORKSPACE/tools/buildsteps/$XBMC_PLATFORM_DIR/make-binary-addons |