From 3a869cc0f6a6097b2bfc8183e414db2236dc5095 Mon Sep 17 00:00:00 2001 From: Aaron Kling Date: Wed, 27 Sep 2017 13:42:48 -0500 Subject: [PATCH 1/3] Android cmake support --- libretro-buildbot-recipe.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libretro-buildbot-recipe.sh b/libretro-buildbot-recipe.sh index c75167b8..312a5ba6 100755 --- a/libretro-buildbot-recipe.sh +++ b/libretro-buildbot-recipe.sh @@ -306,14 +306,17 @@ build_libretro_generic_makefile() { fi if [ "${COMMAND}" = "CMAKE" ]; then + if [ "${PLATFORM}" = "android" ]; then + EXTRAARGS="-DCMAKE_SYSTEM_NAME=Android -DCMAKE_SYSTEM_VERSION=${API_LEVEL} -DCMAKE_ANDROID_ARCH_ABI=${ABI_OVERRIDE} -DCMAKE_ANDROID_NDK=${NDK_ROOT}" + fi if [ -z "${ARGS}" ]; then echo "BUILD CMD: ${CMAKE}" 2>&1 | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log ${CMAKE} | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log echo "BUILD CMD: ${HELPER} ${MAKE} -f ${MAKEFILE} -j${JOBS}" 2>&1 | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log ${HELPER} ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} -j${JOBS} 2>&1 | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log else - echo "BUILD CMD: ${CMAKE} ${ARGS}" 2>&1 | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log - echo ${ARGS} | xargs ${CMAKE} 2>&1 | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log + echo "BUILD CMD: ${CMAKE} ${EXTRAARGS} ${ARGS}" 2>&1 | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log + echo ${EXTRAARGS} ${ARGS} | xargs ${CMAKE} 2>&1 | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log echo "BUILD CMD: ${HELPER} ${MAKE} -f ${MAKEFILE} -j${JOBS}" 2>&1 | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log ${HELPER} ${MAKE} -f ${MAKEFILE} -j${JOBS} 2>&1 | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log fi From b067987f682be0d6a69abe5154269634b35dbab2 Mon Sep 17 00:00:00 2001 From: Aaron Kling Date: Wed, 27 Sep 2017 13:43:11 -0500 Subject: [PATCH 2/3] Initial buildbot clone should recursively clone submodules For instance, ppsspp uses this --- libretro-buildbot-recipe.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libretro-buildbot-recipe.sh b/libretro-buildbot-recipe.sh index 312a5ba6..6bea52e5 100755 --- a/libretro-buildbot-recipe.sh +++ b/libretro-buildbot-recipe.sh @@ -1022,7 +1022,7 @@ while read line; do echo "cloning repo $URL..." git clone --depth=1 -b "$GIT_BRANCH" "$URL" "$DIR" cd $DIR - git submodule update --init + git submodule update --init --recursive BUILD="YES" fi cd $WORK From 75f0daa71d6a4344a69f8f69cb5f83cbe5f7500f Mon Sep 17 00:00:00 2001 From: Aaron Kling Date: Wed, 27 Sep 2017 14:07:15 -0500 Subject: [PATCH 3/3] Build ppsspp for android using cmake --- recipes/android/cores-android-cmake-aarch64 | 1 + recipes/android/cores-android-cmake-aarch64.conf | 15 +++++++++++++++ recipes/android/cores-android-cmake-armv7 | 1 + recipes/android/cores-android-cmake-armv7.conf | 15 +++++++++++++++ recipes/android/cores-android-cmake-x86 | 1 + recipes/android/cores-android-cmake-x86.conf | 15 +++++++++++++++ recipes/android/cores-android-jni | 2 -- recipes/android/cores-android-jni-aarch64 | 1 - 8 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 recipes/android/cores-android-cmake-aarch64 create mode 100644 recipes/android/cores-android-cmake-aarch64.conf create mode 100644 recipes/android/cores-android-cmake-armv7 create mode 100644 recipes/android/cores-android-cmake-armv7.conf create mode 100644 recipes/android/cores-android-cmake-x86 create mode 100644 recipes/android/cores-android-cmake-x86.conf diff --git a/recipes/android/cores-android-cmake-aarch64 b/recipes/android/cores-android-cmake-aarch64 new file mode 100644 index 00000000..5000c295 --- /dev/null +++ b/recipes/android/cores-android-cmake-aarch64 @@ -0,0 +1 @@ +ppsspp libretro-ppsspp https://github.com/libretro/ppsspp.git master SUBMODULE YES CMAKE Makefile build -DLIBRETRO=ON -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang -DCMAKE_ANDROID_STL_TYPE=c++_static -DCMAKE_BUILD_TYPE=Release .. diff --git a/recipes/android/cores-android-cmake-aarch64.conf b/recipes/android/cores-android-cmake-aarch64.conf new file mode 100644 index 00000000..2553872f --- /dev/null +++ b/recipes/android/cores-android-cmake-aarch64.conf @@ -0,0 +1,15 @@ +ANDROID_HOME /home/buildbot/tools/android/android-sdk-linux +NDK_ROOT /home/buildbot/tools/android/android-ndk-r15c/ +ANDROID_NDK /home/buildbot/tools/android/android-ndk-r15c/ +PATH /home/buildbot/tools/android/android-ndk-r15c:/home/buildbot/tools/android/android-sdk-linux/tools +PLATFORM android +platform android +MAKE make +NDK ndk-build +NDK_TOOLCHAIN_VERSION 4.9 +RA NO +LIBSUFFIX _android +CORE_JOB YES +ABI_OVERRIDE arm64-v8a +API_LEVEL 21 +CMAKE cmake diff --git a/recipes/android/cores-android-cmake-armv7 b/recipes/android/cores-android-cmake-armv7 new file mode 100644 index 00000000..5000c295 --- /dev/null +++ b/recipes/android/cores-android-cmake-armv7 @@ -0,0 +1 @@ +ppsspp libretro-ppsspp https://github.com/libretro/ppsspp.git master SUBMODULE YES CMAKE Makefile build -DLIBRETRO=ON -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang -DCMAKE_ANDROID_STL_TYPE=c++_static -DCMAKE_BUILD_TYPE=Release .. diff --git a/recipes/android/cores-android-cmake-armv7.conf b/recipes/android/cores-android-cmake-armv7.conf new file mode 100644 index 00000000..c1dda01f --- /dev/null +++ b/recipes/android/cores-android-cmake-armv7.conf @@ -0,0 +1,15 @@ +ANDROID_HOME /home/buildbot/tools/android/android-sdk-linux +NDK_ROOT /home/buildbot/tools/android/android-ndk-r15c/ +ANDROID_NDK /home/buildbot/tools/android/android-ndk-r15c/ +PATH /home/buildbot/tools/android/android-ndk-r15c:/home/buildbot/tools/android/android-sdk-linux/tools +PLATFORM android +platform android +MAKE make +NDK ndk-build +NDK_TOOLCHAIN_VERSION 4.9 +RA NO +LIBSUFFIX _android +CORE_JOB YES +ABI_OVERRIDE armeabi-v7a +API_LEVEL 9 +CMAKE cmake diff --git a/recipes/android/cores-android-cmake-x86 b/recipes/android/cores-android-cmake-x86 new file mode 100644 index 00000000..5000c295 --- /dev/null +++ b/recipes/android/cores-android-cmake-x86 @@ -0,0 +1 @@ +ppsspp libretro-ppsspp https://github.com/libretro/ppsspp.git master SUBMODULE YES CMAKE Makefile build -DLIBRETRO=ON -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang -DCMAKE_ANDROID_STL_TYPE=c++_static -DCMAKE_BUILD_TYPE=Release .. diff --git a/recipes/android/cores-android-cmake-x86.conf b/recipes/android/cores-android-cmake-x86.conf new file mode 100644 index 00000000..53b6e691 --- /dev/null +++ b/recipes/android/cores-android-cmake-x86.conf @@ -0,0 +1,15 @@ +ANDROID_HOME /home/buildbot/tools/android/android-sdk-linux +NDK_ROOT /home/buildbot/tools/android/android-ndk-r15c/ +ANDROID_NDK /home/buildbot/tools/android/android-ndk-r15c/ +PATH /home/buildbot/tools/android/android-ndk-r15c:/home/buildbot/tools/android/android-sdk-linux/tools +PLATFORM android +platform android +MAKE make +NDK ndk-build +NDK_TOOLCHAIN_VERSION 4.9 +RA NO +LIBSUFFIX _android +CORE_JOB YES +ABI_OVERRIDE x86 +API_LEVEL 9 +CMAKE cmake diff --git a/recipes/android/cores-android-jni b/recipes/android/cores-android-jni index 7190211f..9a6608ac 100644 --- a/recipes/android/cores-android-jni +++ b/recipes/android/cores-android-jni @@ -58,7 +58,6 @@ pcsx_rearmed_interpreter libretro-pcsx_rearmed_interpreter https://github.com/li pocketcdg libretro-pocketcdg https://github.com/libretro/libretro-pocketcdg.git master PROJECT YES GENERIC_JNI Makefile jni picodrive libretro-picodrive https://github.com/libretro/picodrive.git master SUBMODULE YES GENERIC_JNI Makefile.libretro jni pokemini libretro-pokemini https://github.com/libretro/PokeMini.git master PROJECT YES GENERIC_JNI Makefile jni -ppsspp libretro-ppsspp https://github.com/libretro/ppsspp.git master SUBMODULE YES GENERIC_JNI Makefile.libretro libretro/jni prboom libretro-prboom https://github.com/libretro/libretro-prboom.git master PROJECT YES GENERIC_JNI Makefile jni prosystem libretro-prosystem https://github.com/libretro/prosystem-libretro.git master PROJECT YES GENERIC_JNI Makefile jni px68k libretro-px68k https://github.com/libretro/px68k-libretro.git master PROJECT YES GENERIC_JNI Makefile.libretro libretro/jni @@ -74,4 +73,3 @@ xrick libretro-xrick https://github.com/libretro/xrick-libretro.git master PROJE yabause libretro-yabause https://github.com/libretro/yabause.git master PROJECT YES GENERIC_JNI Makefile libretro/jni uzem libretro-uzem https://github.com/libretro/libretro-uzem.git master PROJECT YES GENERIC_JNI Makefile jni puae libretro-puae https://github.com/libretro/libretro-uae.git master PROJECT YES GENERIC_JNI Makefile jni -ppsspp libretro-ppsspp-cmake-v7a https://github.com/webgeek1234/ppsspp.git master SUBMODULE YES CMAKE Makefile build -DLIBRETRO=ON -DCMAKE_SYSTEM_NAME=Android -DCMAKE_SYSTEM_VERSION=9 -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a -DCMAKE_ANDROID_NDK=${NDK_ROOT} -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang -DCMAKE_ANDROID_STL_TYPE=c++_static -DCMAKE_BUILD_TYPE=Release .. diff --git a/recipes/android/cores-android-jni-aarch64 b/recipes/android/cores-android-jni-aarch64 index 0e420acf..b783efb7 100644 --- a/recipes/android/cores-android-jni-aarch64 +++ b/recipes/android/cores-android-jni-aarch64 @@ -57,7 +57,6 @@ pcsx_rearmed_interpreter libretro64-pcsx_rearmed_interpreter https://github.com/ pocketcdg libretro64-pocketcdg https://github.com/libretro/libretro-pocketcdg.git master PROJECT YES GENERIC_JNI Makefile jni picodrive libretro64-picodrive https://github.com/libretro/picodrive.git master SUBMODULE YES GENERIC_JNI Makefile.libretro jni pokemini libretro64-pokemini https://github.com/libretro/PokeMini.git master PROJECT YES GENERIC_JNI Makefile jni -ppsspp libretro64-ppsspp https://github.com/libretro/ppsspp.git master SUBMODULE YES GENERIC_JNI Makefile.libretro libretro/jni prboom libretro64-prboom https://github.com/libretro/libretro-prboom.git master PROJECT YES GENERIC_JNI Makefile jni prosystem libretro64-prosystem https://github.com/libretro/prosystem-libretro.git master PROJECT YES GENERIC_JNI Makefile jni px68k libretro64-px68k https://github.com/libretro/px68k-libretro.git master PROJECT YES GENERIC_JNI Makefile.libretro libretro/jni