diff --git a/README.iKarith.md b/README.iKarith.md index 4cce0189..32eaccc7 100644 --- a/README.iKarith.md +++ b/README.iKarith.md @@ -19,6 +19,10 @@ iKarith, 2015-02-07 ## History +2015-02-17.0: Updated to reflect the now deleted iKarith files + There are changes to the planned implementation not discussed + here yet, so just know that that section is still obsolete. It + is still in the RFC stage, though, so it can wait a day or two. 2015-02-08.1: Extensive rewrite of future direction portions 2015-02-08.0: Added discussion of dependencies 2015-02-07.1: Changed heading levels @@ -59,12 +63,17 @@ additional set of build scripts replacing most of these almost in their entirety written for the buildbot. And then there's the Makefiles which are often just as much of a mess (but a separate problem…) -This is why the iKarith-\*.sh scripts. If you touch any of the mainline -scripts to do what we need to do, you *will* break something. In fact, I -happen to know that most of the scripts need a (fairly trivial) patch as it -is. Mea culpa for introducing the need, but those scripts that don't get -patched before I get to them are the ones I can assume may have suffered other -forms of bit rot and will require additional care/testing. +Originally I began working on this using iKarith-\*.sh scripts which were +copies of the build scripts in libretro-super, but were a safe sandbox for +changing stuff. The reason was that if you touch the mainline scripts in any +significant way, you *will* break something. Indeed, many of the more minor +platform build scripts will not function at present without a (fairly trivial) +patch to enable them to be used outside of the libretro-super directory. + +I'm personally leaving them in their known slightly-broken state. Justified +by the fact that any script that goes unpatched hasn't been tested in awhile +and needs more careful scrutiny when its features are incorporated into the +new build system. ### The Political Problem? @@ -444,19 +453,4 @@ of adding an extension to COPYING. I also chose to give it a version designation. -## Porting features - -Porting features from the iKarith scripts to the standard scripts is fine, -indeed it's welcome. Just keep in mind that while it's possible to do, you -really need to test everything you can if you do. At the very least, make -sure that you test Linux, Windows, and OS X if possible. You might also want -to check with radius as to whether or not your changes will break his -buildbot. - -That's about all I can think of for now. This file will see updates as the -concepts contained herein evolve. - - - - diff --git a/iKarith-libretro-build-common.sh b/iKarith-libretro-build-common.sh deleted file mode 100755 index ed344c03..00000000 --- a/iKarith-libretro-build-common.sh +++ /dev/null @@ -1,652 +0,0 @@ -# vim: set ts=3 sw=3 noet ft=sh : bash - -die() { - echo $1 - #exit 1 -} - -# -# FIXME: Okay regarding COMPILER... It's no longer used to build any targets -# in this file because it doesn't let you specify arguments to the compiler -# such as CC="gcc -something". We need to be able to do that on the Mac in -# particular because we need to be able to specify -arch to build on a CPU -# other than the default. -# -# Basically, if you use this variable, you should stop. :) -# -if [ "${CC}" ] && [ "${CXX}" ]; then - COMPILER="CC=\"${CC}\" CXX=\"${CXX}\"" -else - COMPILER="" -fi - -echo "Compiler: CC=\"$CC\" CXX=\"$CXX\"" - -[[ "${ARM_NEON}" ]] && echo '=== ARM NEON opts enabled... ===' && export FORMAT_COMPILER_TARGET="${FORMAT_COMPILER_TARGET}-neon" -[[ "${CORTEX_A8}" ]] && echo '=== Cortex A8 opts enabled... ===' && export FORMAT_COMPILER_TARGET="${FORMAT_COMPILER_TARGET}-cortexa8" -[[ "${CORTEX_A9}" ]] && echo '=== Cortex A9 opts enabled... ===' && export FORMAT_COMPILER_TARGET="${FORMAT_COMPILER_TARGET}-cortexa9" -[[ "${ARM_HARDFLOAT}" ]] && echo '=== ARM hardfloat ABI enabled... ===' && export FORMAT_COMPILER_TARGET="${FORMAT_COMPILER_TARGET}-hardfloat" -[[ "${ARM_SOFTFLOAT}" ]] && echo '=== ARM softfloat ABI enabled... ===' && export FORMAT_COMPILER_TARGET="${FORMAT_COMPILER_TARGET}-softfloat" -[[ "${X86}" ]] && echo '=== x86 CPU detected... ===' -[[ "${X86}" ]] && [[ "${X86_64}" ]] && echo '=== x86_64 CPU detected... ===' -[[ "${IOS}" ]] && echo '=== iOS ==' - -echo "${FORMAT_COMPILER_TARGET}" -echo "${FORMAT_COMPILER_TARGET_ALT}" -RESET_FORMAT_COMPILER_TARGET=$FORMAT_COMPILER_TARGET -RESET_FORMAT_COMPILER_TARGET_ALT=$FORMAT_COMPILER_TARGET_ALT - -build_summary_log() { - if [ -n "${BUILD_SUMMARY}" ]; then - if [ "${1}" -eq "0" ]; then - echo ${2} >> ${BUILD_SUCCESS} - else - echo ${2} >> ${BUILD_FAIL} - fi - fi -} - -check_opengl() { - if [ "${BUILD_LIBRETRO_GL}" ]; then - if [ "${ENABLE_GLES}" ]; then - echo '=== OpenGL ES enabled ===' - export FORMAT_COMPILER_TARGET="${FORMAT_COMPILER_TARGET}-gles" - export FORMAT_COMPILER_TARGET_ALT="${FORMAT_COMPILER_TARGET}" - else - echo '=== OpenGL enabled ===' - export FORMAT_COMPILER_TARGET="${FORMAT_COMPILER_TARGET}-opengl" - export FORMAT_COMPILER_TARGET_ALT="${FORMAT_COMPILER_TARGET}" - fi - else - echo '=== OpenGL disabled in build ===' - fi -} - -reset_compiler_targets() { - export FORMAT_COMPILER_TARGET=$RESET_FORMAT_COMPILER_TARGET - export FORMAT_COMPILER_TARGET_ALT=$RESET_FORMAT_COMPILER_TARGET_ALT -} - -build_libretro_pcsx_rearmed_interpreter() { - build_dir="${WORKDIR}/libretro-pcsx_rearmed" - if [ -d "${build_dir}" ]; then - echo '=== Building PCSX ReARMed Interpreter ===' - cd "${build_dir}" - - if [ -z "${NOCLEAN}" ]; then - "${MAKE}" -f Makefile.libretro platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" clean || die 'Failed to clean PCSX ReARMed' - fi - "${MAKE}" -f Makefile.libretro USE_DYNAREC=0 platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" || die 'Failed to build PCSX ReARMed' - cp "pcsx_rearmed_libretro${FORMAT}.${FORMAT_EXT}" "${RARCH_DIST_DIR}/pcsx_rearmed_interpreter${FORMAT}.${FORMAT_EXT}" - build_summary_log ${?} "pcsx_rearmed_interpreter" - else - echo 'PCSX ReARMed not fetched, skipping ...' - fi -} - -# $1 is corename -# $2 is subcorename -# $3 is subdir. In case there is no subdir, enter "." here -# $4 is Makefile name -# $5 is preferred platform -build_libretro_generic_makefile_subcore() { - build_dir="${WORKDIR}/libretro-${1}" - if [ -d "${build_dir}" ]; then - echo "=== Building ${2} ===" - cd "${build_dir}/${3}" - - if [ -z "${NOCLEAN}" ]; then - make -f ${4} platform=${5} -j$JOBS clean || die "Failed to clean ${2}" - fi - make -f ${4} platform=${5} -j$JOBS || die "Failed to build ${2}" - cp ${2}_libretro$FORMAT.${FORMAT_EXT} $RARCH_DIST_DIR/${2}_libretro$FORMAT.${FORMAT_EXT} - build_summary_log ${?} ${2} - fi -} - -build_libretro_fba_cps2() { - build_libretro_generic_makefile_subcore "fb_alpha" "fba_cores_cps2" "svn-current/trunk/fbacores/cps2" "makefile.libretro" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_fba_neogeo() { - build_libretro_generic_makefile_subcore "fb_alpha" "fba_cores_neo" "svn-current/trunk/fbacores/neogeo" "makefile.libretro" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_fba_cps1() { - build_libretro_generic_makefile_subcore "fb_alpha" "fba_cores_cps1" "svn-current/trunk/fbacores/cps1" "makefile.libretro" ${FORMAT_COMPILER_TARGET} -} - - -copy_core_to_dist() { - if [ "$FORMAT_COMPILER_TARGET" = "theos_ios" ]; then - cp "objs/obj/${1}_libretro${FORMAT}.${FORMAT_EXT}" "${RARCH_DIST_DIR}" - build_summary_log ${?} ${1} - else - cp "${1}_libretro${FORMAT}.${FORMAT_EXT}" "${RARCH_DIST_DIR}" - build_summary_log ${?} ${1} - fi -} - -# $1 is corename -# $2 is subdir. In case there is no subdir, enter "." here -# $3 is Makefile name -# $4 is preferred platform -build_libretro_generic_makefile() { - build_dir="${WORKDIR}/libretro-${1}" - if [ -d "${build_dir}" ]; then - echo "=== Building ${1} ===" - cd "${build_dir}/${2}" - - if [ -z "${NOCLEAN}" ]; then - "${MAKE}" -f ${3} platform="${4}" CC="$CC" CXX="$CXX" "-j${JOBS}" clean || die "Failed to build ${1}" - fi - echo "${MAKE}" -f ${3} platform="${4}" CC="$CC" CXX="$CXX" "-j${JOBS}" - "${MAKE}" -f ${3} platform="${4}" CC="$CC" CXX="$CXX" "-j${JOBS}" || die "Failed to build ${1}" - if [ -z "${5}" ]; then - copy_core_to_dist $1 - fi - else - echo "${1} not fetched, skipping ..." - fi -} - -build_libretro_stonesoup() { - build_libretro_generic_makefile "stonesoup" "crawl-ref" "Makefile.libretro" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_hatari() { - build_libretro_generic_makefile "hatari" "." "Makefile.libretro" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_prosystem() { - build_libretro_generic_makefile "prosystem" "." "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_4do() { - build_libretro_generic_makefile "4do" "." "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_o2em() { - build_libretro_generic_makefile "o2em" "." "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_virtualjaguar() { - build_libretro_generic_makefile "virtualjaguar" "." "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_tgbdual() { - build_libretro_generic_makefile "tgbdual" "." "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_nx() { - build_libretro_generic_makefile "nxengine" "." "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_catsfc() { - build_libretro_generic_makefile "catsfc" "." "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_emux() { - build_libretro_generic_makefile "emux" "libretro" "Makefile" ${FORMAT_COMPILER_TARGET} 1 - copy_core_to_dist "emux_chip8" - copy_core_to_dist "emux_gb" - copy_core_to_dist "emux_nes" - copy_core_to_dist "emux_sms" -} - -build_libretro_picodrive() { - build_libretro_generic_makefile "picodrive" "." "Makefile.libretro" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_tyrquake() { - build_libretro_generic_makefile "tyrquake" "." "Makefile.libretro" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_2048() { - build_libretro_generic_makefile "2048" "." "Makefile.libretro" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_vecx() { - build_libretro_generic_makefile "vecx" "." "Makefile.libretro" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_stella() { - build_libretro_generic_makefile "stella" "." "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_bluemsx() { - build_libretro_generic_makefile "bluemsx" "." "Makefile.libretro" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_handy() { - build_libretro_generic_makefile "handy" "." "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_fmsx() { - build_libretro_generic_makefile "fmsx" "." "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_gpsp() { - build_libretro_generic_makefile "gpsp" "." "Makefile" ${FORMAT_COMPILER_TARGET_ALT} -} - -build_libretro_vba_next() { - build_libretro_generic_makefile "vba_next" "." "Makefile.libretro" ${FORMAT_COMPILER_TARGET_ALT} -} - -build_libretro_vbam() { - build_libretro_generic_makefile "vbam" "src/libretro" "Makefile" ${FORMAT_COMPILER_TARGET_ALT} -} - -build_libretro_snes9x_next() { - build_libretro_generic_makefile "snes9x_next" "." "Makefile.libretro" ${FORMAT_COMPILER_TARGET_ALT} -} - -build_libretro_dinothawr() { - build_libretro_generic_makefile "dinothawr" "." "Makefile" ${FORMAT_COMPILER_TARGET_ALT} -} - -build_libretro_genesis_plus_gx() { - build_libretro_generic_makefile "genesis_plus_gx" "." "Makefile.libretro" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_mame078() { - build_libretro_generic_makefile "mame078" "." "makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_prboom() { - build_libretro_generic_makefile "prboom" "." "Makefile" ${FORMAT_COMPILER_TARGET_ALT} -} - -build_libretro_pcsx_rearmed() { - build_libretro_generic_makefile "pcsx_rearmed" "." "Makefile.libretro" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_fceumm() { - build_libretro_generic_makefile "fceumm" "." "Makefile.libretro" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_beetle_snes() { - build_libretro_generic_makefile "mednafen_snes" "." "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_beetle_lynx() { - build_libretro_generic_makefile "mednafen_lynx" "." "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_beetle_wswan() { - build_libretro_generic_makefile "mednafen_wswan" "." "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_beetle_gba() { - build_libretro_generic_makefile "mednafen_gba" "." "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_beetle_ngp() { - build_libretro_generic_makefile "mednafen_ngp" "." "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_beetle_pce_fast() { - build_libretro_generic_makefile "mednafen_pce_fast" "." "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_beetle_vb() { - build_libretro_generic_makefile "mednafen_vb" "." "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_beetle_pcfx() { - build_libretro_generic_makefile "mednafen_pcfx" "." "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_beetle_psx() { - build_libretro_generic_makefile "beetle_psx" "." "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_mednafen_psx() { - build_libretro_generic_makefile "mednafen_psx" "." "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_beetle_supergrafx() { - build_libretro_generic_makefile "mednafen_supergrafx" "." "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_meteor() { - build_libretro_generic_makefile "meteor" "libretro" "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_nestopia() { - build_libretro_generic_makefile "nestopia" "libretro" "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_gambatte() { - build_libretro_generic_makefile "gambatte" "libgambatte" "Makefile.libretro" ${FORMAT_COMPILER_TARGET_ALT} -} - -build_libretro_yabause() { - build_libretro_generic_makefile "yabause" "libretro" "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_desmume() { - build_libretro_generic_makefile "desmume" "desmume" "Makefile.libretro" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_snes9x() { - build_libretro_generic_makefile "snes9x" "libretro" "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_quicknes() { - build_libretro_generic_makefile "quicknes" "libretro" "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_dosbox() { - build_libretro_generic_makefile "dosbox" "." "Makefile.libretro" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_fb_alpha() { - build_libretro_generic_makefile "fb_alpha" "svn-current/trunk" "makefile.libretro" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_ffmpeg() { - check_opengl - build_libretro_generic_makefile "ffmpeg" "libretro" "Makefile" ${FORMAT_COMPILER_TARGET} - reset_compiler_targets -} - -build_libretro_3dengine() { - check_opengl - build_libretro_generic_makefile "3dengine" "." "Makefile" ${FORMAT_COMPILER_TARGET} - reset_compiler_targets -} - -build_libretro_scummvm() { - build_libretro_generic_makefile "scummvm" "backends/platform/libretro/build" "Makefile" ${FORMAT_COMPILER_TARGET} -} - -build_libretro_ppsspp() { - check_opengl - build_libretro_generic_makefile "ppsspp" "libretro" "Makefile" ${FORMAT_COMPILER_TARGET} - reset_compiler_targets -} - - -build_libretro_mame() { - build_dir="${WORKDIR}/libretro-mame" - if [ -d "${build_dir}" ]; then - echo '' - echo '=== Building MAME ===' - cd "${build_dir}" - - if [ "$IOS" ]; then - echo '=== Building MAME (iOS) ===' - if [ -z "${NOCLEAN}" ]; then - "${MAKE}" -f Makefile.libretro "TARGET=mame" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" clean || die 'Failed to clean MAME' - fi - "${MAKE}" -f Makefile.libretro "TARGET=mame" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "NATIVE=1" buildtools "-j${JOBS}" || die 'Failed to build MAME buildtools' - "${MAKE}" -f Makefile.libretro "TARGET=mame" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" emulator "-j${JOBS}" || die 'Failed to build MAME (iOS)' - elif [ "$X86_64" = "true" ]; then - echo '=== Building MAME64 ===' - if [ -z "${NOCLEAN}" ]; then - "${MAKE}" PTR64=1 -f Makefile.libretro "TARGET=mame" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" clean || die 'Failed to clean MAME' - fi - "${MAKE}" PTR64=1 -f Makefile.libretro "TARGET=mame" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" || die 'Failed to build MAME' - else - echo '=== Building MAME32 ===' - if [ -z "${NOCLEAN}" ]; then - "${MAKE}" -f Makefile.libretro "TARGET=mame" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" clean || die 'Failed to clean MAME' - fi - "${MAKE}" -f Makefile.libretro "TARGET=mame" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" || die 'Failed to build MAME' - fi - cp "mame_libretro${FORMAT}.${FORMAT_EXT}" "${RARCH_DIST_DIR}" - else - echo 'MAME not fetched, skipping ...' - fi -} - -build_libretro_mess() { - build_dir="${WORKDIR}/libretro-mame" - if [ -d "${build_dir}" ]; then - echo '' - echo '=== Building MESS ===' - cd "${build_dir}" - - if [ "$X86_64" = "true" ]; then - echo '=== Building MESS64 ===' - if [ -z "${NOCLEAN}" ]; then - "${MAKE}" PTR64=1 -f Makefile.libretro "TARGET=mess" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" clean || die 'Failed to clean MAME' - fi - "${MAKE}" PTR64=1 -f Makefile.libretro "TARGET=mess" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" || die 'Failed to build MAME' - else - echo '=== Building MESS32 ===' - if [ -z "${NOCLEAN}" ]; then - "${MAKE}" -f Makefile.libretro "TARGET=mess" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" clean || die 'Failed to clean MAME' - fi - "${MAKE}" -f Makefile.libretro "TARGET=mess" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" || die 'Failed to build MAME' - fi - cp "mess_libretro${FORMAT}.${FORMAT_EXT}" "${RARCH_DIST_DIR}" - build_summary_log ${?} "mess" - else - echo 'MAME not fetched, skipping ...' - fi -} - -rebuild_libretro_mess() { - build_dir="${WORKDIR}/libretro-mame" - if [ -d "${build_dir}" ]; then - echo '' - echo '=== Building MESS ===' - cd "${build_dir}" - - if [ "$X86_64" = "true" ]; then - echo '=== Building MESS64 ===' - if [ -z "${NOCLEAN}" ]; then - "${MAKE}" PTR64=1 -f Makefile.libretro "TARGET=mess" "PARTIAL=1" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" clean || die 'Failed to clean MAME' - fi - "${MAKE}" PTR64=1 -f Makefile.libretro "TARGET=mess" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" || die 'Failed to build MAME' - else - echo '=== Building MESS32 ===' - if [ -z "${NOCLEAN}" ]; then - "${MAKE}" -f Makefile.libretro "TARGET=mess" "PARTIAL=1" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" clean || die 'Failed to clean MAME' - fi - "${MAKE}" -f Makefile.libretro "TARGET=mess" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" || die 'Failed to build MAME' - fi - cp "mess_libretro${FORMAT}.${FORMAT_EXT}" "${RARCH_DIST_DIR}" - build_summary_log ${?} "mess" - else - echo 'MAME not fetched, skipping ...' - fi -} - -build_libretro_ume() { - build_dir="${WORKDIR}/libretro-mame" - if [ -d "${build_dir}" ]; then - echo '' - echo '=== Building UME ===' - cd "${build_dir}" - - if [ "$X86_64" = "true" ]; then - echo '=== Building UME64 ===' - if [ -z "${NOCLEAN}" ]; then - "${MAKE}" PTR64=1 -f Makefile.libretro "TARGET=ume" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" clean || die 'Failed to clean MAME' - fi - "${MAKE}" PTR64=1 -f Makefile.libretro "TARGET=ume" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" || die 'Failed to build MAME' - else - echo '=== Building UME32 ===' - if [ -z "${NOCLEAN}" ]; then - "${MAKE}" -f Makefile.libretro "TARGET=ume" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" clean || die 'Failed to clean MAME' - fi - "${MAKE}" -f Makefile.libretro "TARGET=ume" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" || die 'Failed to build MAME' - fi - cp "ume_libretro${FORMAT}.${FORMAT_EXT}" "${RARCH_DIST_DIR}" - build_summary_log ${?} "ume" - else - echo 'MAME not fetched, skipping ...' - fi -} - -rebuild_libretro_ume() { - build_dir="${WORKDIR}/libretro-mame" - if [ -d "${build_dir}" ]; then - echo '' - echo '=== Building UME ===' - cd "${build_dir}" - - if [ "$X86_64" = "true" ]; then - echo '=== Building UME64 ===' - if [ -z "${NOCLEAN}" ]; then - "${MAKE}" PTR64=1 -f Makefile.libretro "TARGET=ume" "PARTIAL=1" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" clean || die 'Failed to clean MAME' - fi - "${MAKE}" PTR64=1 -f Makefile.libretro "TARGET=ume" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" || die 'Failed to build MAME' - else - echo '=== Building UME32 ===' - if [ -z "${NOCLEAN}" ]; then - "${MAKE}" -f Makefile.libretro "TARGET=ume" "PARTIAL=1" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" clean || die 'Failed to clean MAME' - fi - "${MAKE}" -f Makefile.libretro "TARGET=ume" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" || die 'Failed to build MAME' - fi - cp "ume_libretro${FORMAT}.${FORMAT_EXT}" "${RARCH_DIST_DIR}" - build_summary_log ${?} "ume" - else - echo 'MAME not fetched, skipping ...' - fi -} - -# $1 is corename -# $2 is profile shortname. -# $3 is profile name -# $4 is compiler -build_libretro_bsnes_modern() { - build_dir="${WORKDIR}/libretro-${1}" - if [ -d "${build_dir}" ]; then - echo "=== Building ${1} ${3} ===" - cd ${build_dir} - - if [ -z "${NOCLEAN}" ]; then - rm -f obj/*.{o,"${FORMAT_EXT}"} - rm -f out/*.{o,"${FORMAT_EXT}"} - fi - "${MAKE}" -f Makefile platform="${FORMAT_COMPILER_TARGET}" compiler="$CXX11" ui='target-libretro' profile="${3}" "-j${JOBS}" || die "Failed to build ${1} ${3} core" - cp -f "out/${1}_libretro${FORMAT}.${FORMAT_EXT}" "${RARCH_DIST_DIR}/${1}_${3}_libretro${FORMAT}.${FORMAT_EXT}" - build_summary_log ${?} "${1}_${3}" - else - echo "${1} ${3} not fetched, skipping ..." - fi -} - -build_libretro_bsnes() { - build_libretro_bsnes_modern "bsnes" "perf" "performance" - build_libretro_bsnes_modern "bsnes" "balanced" "balanced" - build_libretro_bsnes_modern "bsnes" "." "accuracy" -} - -build_libretro_bsnes_mercury() { - build_libretro_bsnes_modern "bsnes_mercury" "perf" "performance" - build_libretro_bsnes_modern "bsnes_mercury" "balanced" "balanced" - build_libretro_bsnes_modern "bsnes_mercury" "." "accuracy" -} - -build_libretro_bsnes_cplusplus98() { - CORENAME="bsnes_cplusplus98" - build_dir="${WORKDIR}/libretro-${CORENAME}" - if [ -d "${build_dir}" ]; then - echo "=== Building ${CORENAME} ===" - cd ${build_dir} - - if [ -z "${NOCLEAN}" ]; then - "${MAKE}" clean || die "Failed to clean ${CORENAME}" - fi - "${MAKE}" platform="${FORMAT_COMPILER_TARGET}" CC="$CC" CXX="$CXX" "-j${JOBS}" - cp "out/libretro.${FORMAT_EXT}" "${RARCH_DIST_DIR}/${CORENAME}_libretro${FORMAT}.${FORMAT_EXT}" - build_summary_log ${?} ${CORENAME} - else - echo "${CORENAME} not fetched, skipping ..." - fi -} - -build_libretro_bnes() { - build_dir="${WORKDIR}/libretro-bnes" - if [ -d "${build_dir}" ]; then - echo '=== Building bNES ===' - cd ${build_dir} - - mkdir -p obj - if [ -z "${NOCLEAN}" ]; then - "${MAKE}" -f Makefile "-j${JOBS}" clean || die 'Failed to clean bNES' - fi - "${MAKE}" -f Makefile CC="$CC" CXX="$CXX" "-j${JOBS}" compiler="${CXX11}" || die 'Failed to build bNES' - cp "libretro${FORMAT}.${FORMAT_EXT}" "${RARCH_DIST_DIR}/bnes_libretro${FORMAT}.${FORMAT_EXT}" - build_summary_log ${?} "bnes" - else - echo 'bNES not fetched, skipping ...' - fi -} - -build_libretro_mupen64() { - check_opengl - build_dir="${WORKDIR}/libretro-mupen64plus" - if [ -d "${build_dir}" ]; then - cd "${build_dir}" - - mkdir -p obj - if [ "${X86}" ] && [ "${X86_64}" ]; then - echo '=== Building Mupen 64 Plus (x86_64 dynarec) ===' - if [ -z "${NOCLEAN}" ]; then - "${MAKE}" WITH_DYNAREC='x86_64' platform="${FORMAT_COMPILER_TARGET_ALT}" "-j${JOBS}" clean || die 'Failed to clean Mupen 64 (x86_64 dynarec)' - fi - "${MAKE}" WITH_DYNAREC='x86_64' platform="${FORMAT_COMPILER_TARGET_ALT}" CC="$CC" CXX="$CXX" "-j${JOBS}" || die 'Failed to build Mupen 64 (x86_64 dynarec)' - elif [ "${X86}" ]; then - echo '=== Building Mupen 64 Plus (x86 32bit dynarec) ===' - if [ -z "${NOCLEAN}" ]; then - "${MAKE}" WITH_DYNAREC='x86' platform="${FORMAT_COMPILER_TARGET_ALT}" "-j${JOBS}" clean || die 'Failed to clean Mupen 64 (x86 dynarec)' - fi - "${MAKE}" WITH_DYNAREC='x86' platform="${FORMAT_COMPILER_TARGET_ALT}" CC="$CC" CXX="$CXX" "-j${JOBS}" || die 'Failed to build Mupen 64 (x86 dynarec)' - elif [ "${CORTEX_A8}" ] || [ "${CORTEX_A9}" ] || [ "${IOS}" ]; then - echo '=== Building Mupen 64 Plus (ARM dynarec) ===' - if [ -z "${NOCLEAN}" ]; then - "${MAKE}" WITH_DYNAREC='arm' platform="${FORMAT_COMPILER_TARGET_ALT}" "-j${JOBS}" clean || die 'Failed to clean Mupen 64 (ARM dynarec)' - fi - "${MAKE}" WITH_DYNAREC='arm' platform="${FORMAT_COMPILER_TARGET_ALT}" CC="$CC" CXX="$CXX" "-j${JOBS}" || die 'Failed to build Mupen 64 (ARM dynarec)' - else - echo '=== Building Mupen 64 Plus ===' - if [ -z "${NOCLEAN}" ]; then - "${MAKE}" "-j${JOBS}" clean || die 'Failed to clean Mupen 64' - fi - "${MAKE}" platform="${FORMAT_COMPILER_TARGET_ALT}" CC="$CC" CXX="$CXX" "-j${JOBS}" || die 'Failed to build Mupen 64' - fi - cp "mupen64plus_libretro${FORMAT}.${FORMAT_EXT}" "${RARCH_DIST_DIR}" - build_summary_log ${?} "mupen64plus" - else - echo 'Mupen64 Plus not fetched, skipping ...' - fi - reset_compiler_targets -} - -build_summary() { - if [ -z "${NOBUILD_SUMMARY}" ]; then - echo "=== Core Build Summary ===" > ${BUILD_SUMMARY} - if [ -r "${BUILD_SUCCESS}" ]; then - echo "`wc -l < ${BUILD_SUCCESS}` core(s) successfully built:" >> ${BUILD_SUMMARY} - ${BUILD_SUMMARY_FMT} ${BUILD_SUCCESS} >> ${BUILD_SUMMARY} - else - echo " 0 cores successfully built. :(" >> ${BUILD_SUMMARY} - echo "`wc -l < ${BUILD_FAIL}` core(s) failed to build:" - fi - if [ -r "${BUILD_FAIL}" ]; then - echo "`wc -l < ${BUILD_FAIL}` core(s) failed to build:" >> ${BUILD_SUMMARY} - ${BUILD_SUMMARY_FMT} ${BUILD_FAIL} >> ${BUILD_SUMMARY} - else - echo " 0 cores failed to build! :D" >> ${BUILD_SUMMARY} - fi - rm -f $BUILD_SUCCESS $BUILD_FAIL - cat ${BUILD_SUMMARY} - fi -} - -create_dist_dir() { - if [ -d "${RARCH_DIST_DIR}" ]; then - echo "Directory ${RARCH_DIST_DIR} already exists, skipping creation..." - else - mkdir -p "${RARCH_DIST_DIR}" - fi -} - -create_dist_dir diff --git a/iKarith-libretro-build.sh b/iKarith-libretro-build.sh deleted file mode 100755 index 4bd065d3..00000000 --- a/iKarith-libretro-build.sh +++ /dev/null @@ -1,152 +0,0 @@ -#! /usr/bin/env bash -# vim: set ts=3 sw=3 noet ft=sh : bash - -SCRIPT="${0#./}" -BASE_DIR="${SCRIPT%/*}" -WORKDIR=$(pwd) - -if [ "$BASE_DIR" = "$SCRIPT" ]; then - BASE_DIR="$WORKDIR" -else - if [[ "$0" != /* ]]; then - # Make the path absolute - BASE_DIR="$WORKDIR/$BASE_DIR" - fi -fi - -. ${BASE_DIR}/iKarith-libretro-config.sh - -if [ -z "$RARCH_DIST_DIR" ]; then - RARCH_DIR="${WORKDIR}/dist" - RARCH_DIST_DIR="$RARCH_DIR/$DIST_DIR" -fi - -if [ -z "$JOBS" ]; then - JOBS=7 -fi - -die() -{ - echo $1 - #exit 1 -} - -if [ "$HOST_CC" ]; then - CC="${HOST_CC}-gcc" - CXX="${HOST_CC}-g++" - CXX11="${HOST_CC}-g++" - STRIP="${HOST_CC}-strip" -fi - -if [ -z "$MAKE" ]; then - if uname -s | grep -i MINGW32 > /dev/null 2>&1; then - MAKE=mingw32-make - else - if type gmake > /dev/null 2>&1; then - MAKE=gmake - else - MAKE=make - fi - fi -fi - - -if [ -z "$CC" ]; then - if [ $FORMAT_COMPILER_TARGET = "osx" ]; then - CC=cc - elif uname -s | grep -i MINGW32 > /dev/null 2>&1; then - CC=mingw32-gcc - else - CC=gcc - fi -fi - -if [ -z "$CXX" ]; then - if [ $FORMAT_COMPILER_TARGET = "osx" ]; then - CXX=c++ - CXX11="clang++ -std=c++11 -stdlib=libc++" - elif uname -s | grep -i MINGW32 > /dev/null 2>&1; then - CXX=mingw32-g++ - CXX11=mingw32-g++ - else - CXX=g++ - CXX11=g++ - fi -fi - -FORMAT_COMPILER_TARGET_ALT=$FORMAT_COMPILER_TARGET -echo "CC = $CC" -echo "CXX = $CXX" -echo "STRIP = $STRIP" - -. ${BASE_DIR}/iKarith-libretro-build-common.sh - -mkdir -p "$RARCH_DIST_DIR" - -if [ -n "${1}" ]; then - NOBUILD_SUMMARY=1 - while [ -n "${1}" ]; do - "${1}" - shift - done -else - build_libretro_2048 - build_libretro_4do - build_libretro_bluemsx - build_libretro_fmsx - build_libretro_bsnes_cplusplus98 - build_libretro_bsnes - build_libretro_bsnes_mercury - build_libretro_beetle_lynx - build_libretro_beetle_gba - build_libretro_beetle_ngp - build_libretro_beetle_pce_fast - build_libretro_beetle_supergrafx - build_libretro_beetle_pcfx - build_libretro_beetle_vb - build_libretro_beetle_wswan - build_libretro_mednafen_psx - build_libretro_beetle_snes - build_libretro_catsfc - build_libretro_snes9x - build_libretro_snes9x_next - build_libretro_genesis_plus_gx - build_libretro_fb_alpha - build_libretro_vbam - build_libretro_vba_next - build_libretro_bnes - build_libretro_fceumm - build_libretro_gambatte - build_libretro_meteor - build_libretro_nx - build_libretro_prboom - build_libretro_stella - build_libretro_quicknes - build_libretro_nestopia - build_libretro_tyrquake - build_libretro_mame078 - build_libretro_mame - build_libretro_dosbox - build_libretro_scummvm - build_libretro_picodrive - build_libretro_handy - build_libretro_desmume - if [ $FORMAT_COMPILER_TARGET != "win" ]; then - build_libretro_pcsx_rearmed - fi - build_libretro_yabause - build_libretro_vecx - build_libretro_tgbdual - build_libretro_prosystem - build_libretro_dinothawr - build_libretro_virtualjaguar - build_libretro_mupen64 - build_libretro_ffmpeg - build_libretro_3dengine - build_libretro_ppsspp - build_libretro_o2em - build_libretro_hatari - build_libretro_gpsp - build_libretro_emux - build_summary -fi diff --git a/iKarith-libretro-config.sh b/iKarith-libretro-config.sh deleted file mode 100755 index 1241121c..00000000 --- a/iKarith-libretro-config.sh +++ /dev/null @@ -1,220 +0,0 @@ -# vim: set ts=3 sw=3 noet ft=sh : bash - -# Architecture Assignment -config_cpu() { - [ -n "${2}" ] && ARCH=${1} - [ -z "${ARCH}" ] && ARCH="`uname -m`" - case "${ARCH}" in - x86_64) - X86=true - X86_64=true - ;; - i386|i686) - X86=true - ;; - armv*) - ARM=true - export FORMAT_COMPILER_TARGET=armv - export RARCHCFLAGS="${RARCHCFLAGS} -marm" - case "${ARCH}" in - armv5tel) ARMV5=true ;; - armv6l) ARMV6=true ;; - armv7l) ARMV7=true ;; - esac - ;; - esac - if [ -n "${PROCESSOR_ARCHITEW6432}" -a "${PROCESSOR_ARCHITEW6432}" = "AMD64" ]; then - ARCH=x86_64 - X86=true && X86_64=true - fi -} - -# Platform Assignment -config_platform() { - [ -n "${1}" ] && platform="${1}" - [ -z "${platform}" ] && platform="`uname`" - case "${platform}" in - *BSD*) - FORMAT_EXT="so" - FORMAT_COMPILER_TARGET="unix" - DIST_DIR="bsd" - ;; - osx|*Darwin*) - FORMAT_EXT="dylib" - FORMAT_COMPILER_TARGET="osx" - DIST_DIR="osx" - ;; - win|*mingw32*|*MINGW32*|*MSYS_NT*) - FORMAT_EXT="dll" - FORMAT_COMPILER_TARGET="win" - DIST_DIR="win_x86" - ;; - win64|*mingw64*|*MINGW64*) - FORMAT_EXT="dll" - FORMAT_COMPILER_TARGET="win" - DIST_DIR="win_x64" - ;; - *psp1*) - FORMAT_EXT="a" - FORMAT_COMPILER_TARGET="psp1" - DIST_DIR="psp1" - ;; - *ios|theos_ios*) - FORMAT_EXT="dylib" - FORMAT_COMPILER_TARGET="theos_ios" - DIST_DIR="theos" - ;; - android) - FORMAT_EXT="so" - FORMAT_COMPILER_TARGET="android" - DIST_DIR="android" - ;; - *android-armv7*) - FORMAT_EXT="so" - FORMAT_COMPILER_TARGET="android-armv7" - DIST_DIR="android/armeabi-v7a" - ;; - *) - FORMAT_EXT="so" - FORMAT_COMPILER_TARGET="unix" - DIST_DIR="unix" - ;; - esac - export FORMAT_COMPILER_TARGET_ALT="$FORMAT_COMPILER_TARGET" -} - -config_log_build_host() { - echo "PLATFORM: ${platform}" - echo "ARCHITECTURE: ${ARCH}" - echo "TARGET: ${FORMAT_COMPILER_TARGET}" -} - -config_cpu -config_platform -config_log_build_host - -if [ -z "${JOBS}" ]; then - if command -v nproc >/dev/null; then - JOBS=`nproc` - else - JOBS=1 - fi -fi - -#if uncommented, will fetch repos with read+write access. Useful for committers -#export WRITERIGHTS=1 - - -#if uncommented, will build experimental cores as well which are not yet fit for release. -#export BUILD_EXPERIMENTAL=1 - -#ARM DEFINES -#=========== - -#if uncommented, will build cores with Cortex A8 compiler optimizations -#export CORTEX_A8=1 - -#if uncommented, will build cores with Cortex A9 compiler optimizations -#export CORTEX_A9=1 - -#if uncommented, will build cores with ARM hardfloat ABI -#export ARM_HARDFLOAT=1 - -#if uncommented, will build cores with ARM softfloat ABI -#export ARM_SOFTFLOAT=1 - -#if uncommented, will build cores with ARM NEON support (ARMv7+ only) -#export ARM_NEON=1 - -#OPENGL DEFINES -#============== - -#if uncommented, will build libretro GL cores. Ignored for mobile platforms - GL cores will always be built there. -export BUILD_LIBRETRO_GL=1 - -#if uncommented, will build cores with OpenGL ES 2 support. Not needed -#for platform-specific cores - only for generic core builds (ie. libretro-build.sh) -#export ENABLE_GLES=1 - -#ANDROID DEFINES -#================ - -export TARGET_ABIS="armeabi armeabi-v7a x86" - -#uncomment to define NDK standalone toolchain for ARM -#export NDK_ROOT_DIR_ARM = - -#uncomment to define NDK standalone toolchain for MIPS -#export NDK_ROOT_DIR_MIPS = - -#uncomment to define NDK standalone toolchain for x86 -#export NDK_ROOT_DIR_X86 = - -# android version target if GLES is in use -export NDK_GL_HEADER_VER=android-18 - -# android version target if GLES is not in use -export NDK_NO_GL_HEADER_VER=android-9 - -# Retroarch target android API level -export RA_ANDROID_API=android-18 - -# Retroarch minimum API level (defines low end android version compatability) -export RA_ANDROID_MIN_API=android-9 - -#OSX DEFINES -#=========== - -# Define this to skip the universal build -# export NOUNIVERSAL=1 - -# ARCHFLAGS is a very convenient way of doing this for simple/obvious cores -# that don't need anything defined on the command line for 32 vs 64 bit -# systems, however it won't work for anything that does. For that, you need -# to do two separate builds, one for each arch, and then do something like: -# lipo -create core_i386.dylib core_x86_64.dylib -output core_ub.dylib -# -# If building on 10.5/10.6, it's possible that you could actually build a UB -# for Intel/PowerPC, but please don't. ;) Consider this a proof of concept -# for now just to test a few cores. - -if [[ "${FORMAT_COMPILER_TARGET}" = "osx" && -z "${NOUNIVERSAL}" ]]; then - case "${ARCH}" in - i385|x86_64) - export ARCHFLAGS="-arch i386 -arch x86_64" - ;; - ppc|ppc64) - export ARCHFLAGS="-arch ppc -arch ppc64" - ;; - *) - echo "Universal build requested with unknown ARCH=\"${ARCH}\"" - esac -fi - -#CORE BUILD SUMMARY -#================== - -# Remove this to enable the core build summary -export BUILD_SUMMARY=1 - -BUILD_SUMMARY=${WORKDIR}/build-summary.log -BUILD_SUCCESS=${WORKDIR}/build-success.log -BUILD_FAIL=${WORKDIR}/build-fail.log -if [ -z "${BUILD_SUMMARY_FMT}" ]; then - if command -v column >/dev/null; then - BUILD_SUMMARY_FMT=column - else - BUILD_SUMMARY_FMT=cat - fi -fi - - -#USER DEFINES -#------------ -#These options should be defined inside your own -#local libretro-config-user.sh file rather than here. -#The following below is just a sample. - -if [ -f "${WORKDIR}/libretro-config-user.sh" ]; then - . ${WORKDIR}/libretro-config-user.sh -fi diff --git a/iKarith-retroarch-build.sh b/iKarith-retroarch-build.sh deleted file mode 100755 index 5d5671c5..00000000 --- a/iKarith-retroarch-build.sh +++ /dev/null @@ -1,129 +0,0 @@ -#! /usr/bin/env bash -# vim: set ts=3 sw=3 noet ft=sh : bash - -SCRIPT="${0#./}" -BASE_DIR="${SCRIPT%/*}" -WORKDIR=$(pwd) - -if [ "$BASE_DIR" = "$SCRIPT" ]; then - BASE_DIR="$WORKDIR" -else - if [[ "$0" != /* ]]; then - # Make the path absolute - BASE_DIR="$WORKDIR/$BASE_DIR" - fi -fi - -. $BASE_DIR/iKarith-libretro-config.sh - -if [ -z "$RARCH_DIST_DIR" ]; then - RARCH_DIR="$BASE_DIR/dist" - RARCH_DIST_DIR="$RARCH_DIR/$DIST_DIR" -fi - -die() -{ - echo $1 - #exit 1 -} - -if [ "$HOST_CC" ]; then - CC="${HOST_CC}-gcc" - CXX="${HOST_CC}-g++" - STRIP="${HOST_CC}-strip" -fi - -if [ -z "$MAKE" ]; then - if [ "$(expr substr $(uname -s) 1 7)" = "MINGW32" ]; then - MAKE=mingw32-make - else - MAKE=make - fi -fi - -if [ -z "$CC" ]; then - if [ $FORMAT_COMPILER_TARGET = "osx" ]; then - CC=clang - elif [ "$(expr substr $(uname -s) 1 7)" = "MINGW32" ]; then - CC=mingw32-gcc - else - CC=gcc - fi -fi - -if [ -z "$CXX" ]; then - if [ $FORMAT_COMPILER_TARGET = "osx" ]; then - CXX=clang++ - elif [ "$(expr substr $(uname -s) 1 7)" = "MINGW32" ]; then - CXX=mingw32-g++ - else - CXX=g++ - fi -fi - -echo "CC = $CC" -echo "CXX = $CXX" -echo "STRIP = $STRIP" - -mkdir -p "$RARCH_DIST_DIR" - -export RARCHCFLAGS="" - -check_deps() -{ - if [ $ENABLE_GLES ]; then - echo "=== Enabling OpenGL ES ===" - export ENABLE_GLES="--enable-gles" - fi - if [ $ARM_NEON ]; then - echo "=== Enabling ARM NEON support ===" - export ENABLE_NEON="--enable-neon" - fi - - if [ $ARM_HARDFLOAT ]; then - echo "=== Enabling ARM Hard float ABI support ===" - export RARCHCFLAGS="${RARCHCFLAGS} -mfloat-abi=hard" - fi - if [ $ARM_SOFTFLOAT ]; then - echo "=== Enabling ARM Soft float ABI support ===" - export RARCHCFLAGS="${RARCHCFLAGS} -mfloat-abi=softfp" - fi - if [ "$CORTEX_A8" ]; then - echo "=== Enabling Cortex A8 CFLAGS ===" - export RARCHCFLAGS="${RARCHCFLAGS} -mcpu=cortex-a8 -mtune=cortex-a8" - fi - if [ "$CORTEX_A9" ]; then - echo "=== Enabling Cortex A9 CFLAGS ===" - export RARCHCFLAGS="${RARCHCFLAGS} -mcpu=cortex-a9 -mtune=cortex-a9" - fi - - if [ $ARM_NEON ]; then - echo "=== Enabling ARM NEON support (CFLAGS) ===" - export RARCHCFLAGS="${RARCHCFLAGS} -mfpu=neon" - fi -} - -build_retroarch() -{ - cd "$BASE_DIR" - pwd - if [ -d "retroarch" ]; then - echo "=== Building RetroArch ===" - cd retroarch - check_deps - - if [ -z "${NOCLEAN}" ]; then - ./configure $ENABLE_GLES $ENABLE_NEON - ${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} CC="gcc ${RARCHCFLAGS}" $COMPILER -j$JOBS clean || die "Failed to clean RetroArch" - fi - ${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} CC="gcc ${RARCHCFLAGS}" $COMPILER -j$JOBS || die "Failed to build RetroArch" - else - echo "RetroArch not fetched, skipping ..." - fi -} - -if [ $1 ]; then - $1 -else - build_retroarch -fi