From e5f193ced3aa513073b47e0f988e9f100341a5c9 Mon Sep 17 00:00:00 2001 From: AndresSM Date: Sat, 8 Nov 2014 12:02:21 -0800 Subject: [PATCH 1/7] Add BSNES profiles and remaining recipes, should build everything that libretro-build.sh builds now TODO: Add a configuration file per-recipe to allow chaning between toolchains for different recipes --- libretro-buildbot-recipe.sh | 82 ++++++++++++++++++++++++++++++++- recipes/recipes.info | 29 ++++++++++-- recipes/recipes.win-mingw64-seh | 32 +++++++++---- 3 files changed, 126 insertions(+), 17 deletions(-) diff --git a/libretro-buildbot-recipe.sh b/libretro-buildbot-recipe.sh index 5b466d22..6fde0bf2 100644 --- a/libretro-buildbot-recipe.sh +++ b/libretro-buildbot-recipe.sh @@ -142,6 +142,7 @@ build_libretro_generic_makefile() { cd $DIR cd $SUBDIR + if [ -z "${NOCLEAN}" ]; then echo "cleaning up..." @@ -172,6 +173,7 @@ build_libretro_generic_makefile() { else echo error while compiling $1 fi + } @@ -185,11 +187,12 @@ build_libretro_generic_gl_makefile() { PLATFORM=$5 ARGS=$6 - cd $DIR - cd $SUBDIR check_opengl + cd $DIR + cd $SUBDIR + if [ -z "${NOCLEAN}" ]; then echo "cleaning up..." @@ -222,6 +225,77 @@ build_libretro_generic_gl_makefile() { fi reset_compiler_targets + + +} + + +build_libretro_bsnes() { + + + NAME=$1 + DIR=$2 + PROFILE=$3 + MAKEFILE=$4 + PLATFORM=$5 + BSNESCOMPILER=$6 + + + cd $DIR + + + if [ -z "${NOCLEAN}" ]; + then + echo "cleaning up..." + + rm -f obj/*.{o,"${FORMAT_EXT}"} + rm -f out/*.{o,"${FORMAT_EXT}"} + + + if [ "${PROFILE}" == "cpp98" -o "${PROFILE}" == "bnes" ]; + then + ${MAKE} clean + fi + + + if [ $? -eq 0 ]; + then + echo success! + else + echo error while cleaning up + fi + fi + + echo "compiling..." + + + if [ "${PROFILE}" == "cpp98" ]; + then + ${MAKE} platform="${PLATFORM}" ${COMPILER} "-j${JOBS}" + elif [ "${PROFILE}" == "bnes" ]; + then + ${MAKE} -f Makefile ${COMPILER} "-j${JOBS}" compiler=${BSNESCOMPILER} + else + echo "buid command: ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} compiler=${BSNESCOMPILER} ui='target-libretro' profile=${PROFILE} -j${JOBS}" + ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} compiler=${BSNESCOMPILER} ui='target-libretro' profile=${PROFILE} -j${JOBS} + fi + + if [ $? -eq 0 ]; + then + echo success! + if [ "${PROFILE}" == "cpp98" ]; + then + cp -fv "out/libretro.${FORMAT_EXT}" "${RARCH_DIST_DIR}/${NAME}_libretro${FORMAT}.${FORMAT_EXT}" + elif [ "${PROFILE}" == "bnes" ]; + then + cp -fv "libretro.${FORMAT_EXT}" "${RARCH_DIST_DIR}/${NAME}_libretro${FORMAT}.${FORMAT_EXT}" + else + cp -fv "out/${NAME}_libretro$FORMAT.${FORMAT_EXT}" $RARCH_DIST_DIR/${NAME}_${PROFILE}_libretro$FORMAT.${FORMAT_EXT} + fi + else + echo error while compiling $1 + fi + } @@ -290,6 +364,8 @@ while read line; do ARGS="${ARGS} ${TEMP}" fi + ARGS="${ARGS%"${ARGS##*[![:space:]]}"}" + echo ARGS: $ARGS echo echo @@ -354,6 +430,8 @@ while read line; do build_libretro_generic_gl_makefile $NAME $DIR $SUBDIR $MAKEFILE ${FORMAT_COMPILER_TARGET} "${ARGS}" elif [ "${COMMAND}" == "GENERIC_ALT" ]; then build_libretro_generic_makefile $NAME $DIR $SUBDIR $MAKEFILE ${FORMAT_COMPILER_TARGET_ALT} "${ARGS}" + elif [ "${COMMAND}" == "BSNES" ]; then + build_libretro_bsnes $NAME $DIR "${ARGS}" $MAKEFILE ${FORMAT_COMPILER_TARGET} ${CXX11} fi else diff --git a/recipes/recipes.info b/recipes/recipes.info index d8915640..03a12f85 100644 --- a/recipes/recipes.info +++ b/recipes/recipes.info @@ -1,16 +1,30 @@ RECIPE FORMAT: -CORENAME COREDIR URL REPOTYPE ENABLED COMMAND MAKEFILE SUBDIR +CORENAME COREDIR URL REPOTYPE ENABLED COMMAND MAKEFILE SUBDIR ARGS The following are know to work for Windows x64 with the toolchain provided by MSYS2 by default (SEH exception model): +2048 libretro-2048 https://github.com/libretro/libretro-2048.git PROJECT NO GENERIC Makefile.libretro . +3dengine libretro-3dengine https://github.com/libretro/libretro-3dengine.git PROJECT NO GENERIC_GL Makefile . 4do libretro-4do https://github.com/libretro/4do-libretro.git PROJECT NO GENERIC Makefile . bluemsx libretro-bluemsx https://github.com/libretro/blueMSX-libretro.git PROJECT NO GENERIC Makefile.libretro . -bsnes libretro-bsnes https://github.com/libretro/bsnes-libretro.git PROJECT NO BSNES Makefile . +bnes libretro-bnes https://github.com/libretro/bnes-libretro.git PROJECT YES BSNES Makefile . bnes +bsnes libretro-bsnes https://github.com/libretro/bsnes-libretro.git PROJECT YES BSNES Makefile . accuracy +bsnes libretro-bsnes https://github.com/libretro/bsnes-libretro.git PROJECT YES BSNES Makefile . balanced +bsnes libretro-bsnes https://github.com/libretro/bsnes-libretro.git PROJECT YES BSNES Makefile . performance +bsnes_cplusplus98 libretro-bsnes_cplusplus98 https://github.com/libretro/bsnes-libretro-cplusplus98.git PROJECT YES BSNES Makefile . cpp98 +bsnes_mercury libretro-bsnes_mercury https://github.com/libretro/bsnes-mercury.git PROJECT YES BSNES Makefile . accuracy +bsnes_mercury libretro-bsnes_mercury https://github.com/libretro/bsnes-mercury.git PROJECT YES BSNES Makefile . balanced +bsnes_mercury libretro-bsnes_mercury https://github.com/libretro/bsnes-mercury.git PROJECT YES BSNES Makefile . performance +catsfc libretro-catsfc https://github.com/libretro/CATSFC-libretro.git PROJECT NO GENERIC Makefile . +desmume libretro-desmume https://github.com/libretro/desmume.git PROJECT NO GENERIC Makefile.libretro desmume dinothawr libretro-dinothawr https://github.com/libretro/Dinothawr.git PROJECT NO GENERIC_ALT Makefile . +dosbox libretro-dosbox https://github.com/libretro/dosbox-libretro.git PROJECT NO GENERIC Makefile.libretro . fb_alpha libretro-fba https://github.com/libretro/fba-libretro.git PROJECT NO GENERIC makefile.libretro svn-current/trunk fba_cores_cps1 libretro-fba https://github.com/libretro/fba-libretro.git PROJECT NO GENERIC makefile.libretro svn-current/trunk/fbacores/cps1 fba_cores_cps2 libretro-fba https://github.com/libretro/fba-libretro.git PROJECT NO GENERIC makefile.libretro svn-current/trunk/fbacores/cps2 fba_cores_neo libretro-fba https://github.com/libretro/fba-libretro.git PROJECT NO GENERIC makefile.libretro svn-current/trunk/fbacores/neogeo +fceumm libretro-fceuumm https://github.com/libretro/libretro-fceumm.git PROJECT NO GENERIC Makefile.libretro . +ffmpeg libretro-ffmpeg https://github.com/libretro/FFmpeg.git PROJECT NO GENERIC_GL Makefile libretro fmsx libretro-fmsx https://github.com/libretro/fmsx-libretro.git PROJECT NO GENERIC Makefile . gambatte libretro-gambatte https://github.com/libretro/gambatte-libretro.git PROJECT NO GENERIC_ALT Makefile.libretro libgambatte genesis_plus_gx libretro-genesis_plus_gx https://github.com/libretro/Genesis-Plus-GX.git PROJECT NO GENERIC Makefile.libretro . @@ -25,19 +39,26 @@ mednafen_snes libretro-mednafen_snes https://github.com/libretro/beetle-bsnes-li mednafen_supergrafx libretro-mednafen_supergrafx https://github.com/libretro/beetle-supergrafx-libretro.git PROJECT NO GENERIC Makefile . mednafen_vb libretro-mednafen_vb https://github.com/libretro/beetle-vb-libretro.git PROJECT NO GENERIC Makefile . mednafen_wswan libretro-mednafen_wswan https://github.com/libretro/beetle-wswan-libretro.git PROJECT NO GENERIC Makefile . +meteor libretro-meteor https://github.com/libretro/meteor-libretro.git PROJECT NO GENERIC Makefile libretro mupen64plus libretro-mupen64plus https://github.com/libretro/mupen64plus-libretro.git PROJECT NO GENERIC_GL Makefile . WITH_DYNAREC=x86_64 nestopia libretro-nestopia https://github.com/libretro/nestopia.git PROJECT NO GENERIC Makefile libretro nxengine libretro-nxengine https://github.com/libretro/nxengine-libretro.git PROJECT NO GENERIC Makefile . o2em libretro-o2em https://github.com/libretro/libretro-o2em.git PROJECT NO GENERIC Makefile . pcsx_rearmed libretro-pcsx_rearmed https://github.com/libretro/pcsx_rearmed.git PROJECT NO GENERIC Makefile.libretro . USE_DYNAREC=0 -picodrive libretro-picodrive https://github.com/libretro/picodrive.git SUBMODULE YES GENERIC Makefile.libretro . +picodrive libretro-picodrive https://github.com/libretro/picodrive.git SUBMODULE NO GENERIC Makefile.libretro . +prboom libretro-prboom https://github.com/libretro/libretro-prboom.git PROJECT NO GENERIC_ALT Makefile . prosystem libretro-prosystem https://github.com/libretro/prosystem-libretro.git PROJECT NO GENERIC Makefile . +quicknes libretro-quicknes https://github.com/libretro/QuickNES_Core.git PROJECT NO GENERIC Makefile libretro +remotejoy libretro-remotejoy https://github.com/libretro/libretro-remotejoy.git PROJECT NO GENERIC Makefile . +scummvm libretro-scummvm https://github.com/libretro/scummvm.git PROJECT NO GENERIC Makefile backends/platform/libretro/build snes9x libretro-snes9x https://github.com/libretro/snes9x.git PROJECT NO GENERIC Makefile libretro snes9x_next libretro-snes9x_next https://github.com/libretro/snes9x-next.git PROJECT NO GENERIC_ALT Makefile.libretro . +stella libretro-stella https://github.com/libretro/stella-libretro.git PROJECT NO GENERIC Makefile . tgbdual libretro-tgbdual https://github.com/libretro/tgbdual-libretro.git PROJECT NO GENERIC Makefile . tyrquake libretro-tyrquake https://github.com/libretro/tyrquake.git PROJECT NO GENERIC Makefile.libretro . vba_next libretro-vba_next https://github.com/libretro/vba-next.git PROJECT NO GENERIC_ALT Makefile.libretro . vbam libretro-vbam https://github.com/libretro/vbam-libretro.git PROJECT NO GENERIC_ALT Makefile src/libretro +vecx libretro-vecx https://github.com/libretro/libretro-vecx.git PROJECT NO GENERIC Makefile.libretro . virtualjaguar libretro-virtualjaguar https://github.com/libretro/virtualjaguar-libretro.git PROJECT NO GENERIC Makefile . yabause libretro-yabause https://github.com/libretro/yabause.git PROJECT NO GENERIC Makefile libretro @@ -50,5 +71,3 @@ mame libretro-mame https://github.com/libretro/mame.git PROJECT YES GENERIC Make The following are not working for Windows x64 at the moment catsfc libretro-catsfc https://github.com/libretro/CATSFC-libretro.git PROJECT NO GENERIC Makefile . ===>BROKEN -desmume libretro-desmume https://github.com/libretro/desmume.git PROJECT NO GENERIC Makefile.libretro desmume ===>BROKEN -dosbox libretro-dosbox https://github.com/libretro/dosbox-libretro.git PROJECT NO GENERIC Makefile.libretro . ===>BROKEN diff --git a/recipes/recipes.win-mingw64-seh b/recipes/recipes.win-mingw64-seh index 0efa49df..8f9df2d6 100644 --- a/recipes/recipes.win-mingw64-seh +++ b/recipes/recipes.win-mingw64-seh @@ -1,14 +1,25 @@ +2048 libretro-2048 https://github.com/libretro/libretro-2048.git PROJECT NO GENERIC Makefile.libretro . +3dengine libretro-3dengine https://github.com/libretro/libretro-3dengine.git PROJECT NO GENERIC_GL Makefile . 4do libretro-4do https://github.com/libretro/4do-libretro.git PROJECT NO GENERIC Makefile . bluemsx libretro-bluemsx https://github.com/libretro/blueMSX-libretro.git PROJECT NO GENERIC Makefile.libretro . -bsnes libretro-bsnes https://github.com/libretro/bsnes-libretro.git PROJECT NO BSNES Makefile . -catsfc libretro-catsfc https://github.com/libretro/CATSFC-libretro.git PROJECT NO GENERIC Makefile . ===>BROKEN -desmume libretro-desmume https://github.com/libretro/desmume.git PROJECT NO GENERIC Makefile.libretro desmume ===>BROKEN +bnes libretro-bnes https://github.com/libretro/bnes-libretro.git PROJECT YES BSNES Makefile . bnes +bsnes libretro-bsnes https://github.com/libretro/bsnes-libretro.git PROJECT YES BSNES Makefile . accuracy +bsnes libretro-bsnes https://github.com/libretro/bsnes-libretro.git PROJECT YES BSNES Makefile . balanced +bsnes libretro-bsnes https://github.com/libretro/bsnes-libretro.git PROJECT YES BSNES Makefile . performance +bsnes_cplusplus98 libretro-bsnes_cplusplus98 https://github.com/libretro/bsnes-libretro-cplusplus98.git PROJECT YES BSNES Makefile . cpp98 +bsnes_mercury libretro-bsnes_mercury https://github.com/libretro/bsnes-mercury.git PROJECT YES BSNES Makefile . accuracy +bsnes_mercury libretro-bsnes_mercury https://github.com/libretro/bsnes-mercury.git PROJECT YES BSNES Makefile . balanced +bsnes_mercury libretro-bsnes_mercury https://github.com/libretro/bsnes-mercury.git PROJECT YES BSNES Makefile . performance +catsfc libretro-catsfc https://github.com/libretro/CATSFC-libretro.git PROJECT NO GENERIC Makefile . +desmume libretro-desmume https://github.com/libretro/desmume.git PROJECT NO GENERIC Makefile.libretro desmume dinothawr libretro-dinothawr https://github.com/libretro/Dinothawr.git PROJECT NO GENERIC_ALT Makefile . -dosbox libretro-dosbox https://github.com/libretro/dosbox-libretro.git PROJECT NO GENERIC Makefile.libretro . ===>BROKEN +dosbox libretro-dosbox https://github.com/libretro/dosbox-libretro.git PROJECT NO GENERIC Makefile.libretro . fb_alpha libretro-fba https://github.com/libretro/fba-libretro.git PROJECT NO GENERIC makefile.libretro svn-current/trunk fba_cores_cps1 libretro-fba https://github.com/libretro/fba-libretro.git PROJECT NO GENERIC makefile.libretro svn-current/trunk/fbacores/cps1 fba_cores_cps2 libretro-fba https://github.com/libretro/fba-libretro.git PROJECT NO GENERIC makefile.libretro svn-current/trunk/fbacores/cps2 fba_cores_neo libretro-fba https://github.com/libretro/fba-libretro.git PROJECT NO GENERIC makefile.libretro svn-current/trunk/fbacores/neogeo +fceumm libretro-fceuumm https://github.com/libretro/libretro-fceumm.git PROJECT NO GENERIC Makefile.libretro . +ffmpeg libretro-ffmpeg https://github.com/libretro/FFmpeg.git PROJECT NO GENERIC_GL Makefile libretro fmsx libretro-fmsx https://github.com/libretro/fmsx-libretro.git PROJECT NO GENERIC Makefile . gambatte libretro-gambatte https://github.com/libretro/gambatte-libretro.git PROJECT NO GENERIC_ALT Makefile.libretro libgambatte genesis_plus_gx libretro-genesis_plus_gx https://github.com/libretro/Genesis-Plus-GX.git PROJECT NO GENERIC Makefile.libretro . @@ -23,24 +34,25 @@ mednafen_snes libretro-mednafen_snes https://github.com/libretro/beetle-bsnes-li mednafen_supergrafx libretro-mednafen_supergrafx https://github.com/libretro/beetle-supergrafx-libretro.git PROJECT NO GENERIC Makefile . mednafen_vb libretro-mednafen_vb https://github.com/libretro/beetle-vb-libretro.git PROJECT NO GENERIC Makefile . mednafen_wswan libretro-mednafen_wswan https://github.com/libretro/beetle-wswan-libretro.git PROJECT NO GENERIC Makefile . +meteor libretro-meteor https://github.com/libretro/meteor-libretro.git PROJECT NO GENERIC Makefile libretro mupen64plus libretro-mupen64plus https://github.com/libretro/mupen64plus-libretro.git PROJECT NO GENERIC_GL Makefile . WITH_DYNAREC=x86_64 nestopia libretro-nestopia https://github.com/libretro/nestopia.git PROJECT NO GENERIC Makefile libretro nxengine libretro-nxengine https://github.com/libretro/nxengine-libretro.git PROJECT NO GENERIC Makefile . o2em libretro-o2em https://github.com/libretro/libretro-o2em.git PROJECT NO GENERIC Makefile . pcsx_rearmed libretro-pcsx_rearmed https://github.com/libretro/pcsx_rearmed.git PROJECT NO GENERIC Makefile.libretro . USE_DYNAREC=0 picodrive libretro-picodrive https://github.com/libretro/picodrive.git SUBMODULE NO GENERIC Makefile.libretro . +prboom libretro-prboom https://github.com/libretro/libretro-prboom.git PROJECT NO GENERIC_ALT Makefile . prosystem libretro-prosystem https://github.com/libretro/prosystem-libretro.git PROJECT NO GENERIC Makefile . +quicknes libretro-quicknes https://github.com/libretro/QuickNES_Core.git PROJECT NO GENERIC Makefile libretro +remotejoy libretro-remotejoy https://github.com/libretro/libretro-remotejoy.git PROJECT NO GENERIC Makefile . +scummvm libretro-scummvm https://github.com/libretro/scummvm.git PROJECT NO GENERIC Makefile backends/platform/libretro/build snes9x libretro-snes9x https://github.com/libretro/snes9x.git PROJECT NO GENERIC Makefile libretro snes9x_next libretro-snes9x_next https://github.com/libretro/snes9x-next.git PROJECT NO GENERIC_ALT Makefile.libretro . +stella libretro-stella https://github.com/libretro/stella-libretro.git PROJECT NO GENERIC Makefile . tgbdual libretro-tgbdual https://github.com/libretro/tgbdual-libretro.git PROJECT NO GENERIC Makefile . tyrquake libretro-tyrquake https://github.com/libretro/tyrquake.git PROJECT NO GENERIC Makefile.libretro . vba_next libretro-vba_next https://github.com/libretro/vba-next.git PROJECT NO GENERIC_ALT Makefile.libretro . vbam libretro-vbam https://github.com/libretro/vbam-libretro.git PROJECT NO GENERIC_ALT Makefile src/libretro +vecx libretro-vecx https://github.com/libretro/libretro-vecx.git PROJECT NO GENERIC Makefile.libretro . virtualjaguar libretro-virtualjaguar https://github.com/libretro/virtualjaguar-libretro.git PROJECT NO GENERIC Makefile . yabause libretro-yabause https://github.com/libretro/yabause.git PROJECT NO GENERIC Makefile libretro -meteor libretro-meteor https://github.com/libretro/meteor-libretro.git PROJECT YES GENERIC Makefile libretro ===>BROKEN -prboom libretro-prboom https://github.com/libretro/libretro-prboom.git PROJECT YES GENERIC_ALT Makefile . -stella libretro-stella https://github.com/libretro/stella-libretro.git PROJECT YES GENERIC Makefile . -vecx libretro-vecx https://github.com/libretro/libretro-vecx.git PROJECT YES GENERIC Makefile.libretro . - - From b0aa103d598d2087e46f8788df060adb2b2ed9bd Mon Sep 17 00:00:00 2001 From: AndresSM Date: Sat, 8 Nov 2014 12:28:26 -0800 Subject: [PATCH 2/7] Now you can specify environment variables from a config file per recipe to allow building with different toolchains or crosscompiling, etc --- libretro-buildbot-recipe.sh | 25 ++++++++++++++++++++++++- recipes/recipes.win-mingw64-seh | 2 +- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/libretro-buildbot-recipe.sh b/libretro-buildbot-recipe.sh index 6fde0bf2..8215695e 100644 --- a/libretro-buildbot-recipe.sh +++ b/libretro-buildbot-recipe.sh @@ -8,7 +8,29 @@ # eg: FORCE=YES MAKE=mingw32-make ./libretro-fetch-and-build.sh buildbot.conf ####environment configuration: -echo configuring build environment +echo "Setting up Environment for $1" +echo ============================================ + +ORIGPATH=$PATH + +echo Original PATH: $PATH + +while read line; do + KEY=`echo $line | cut --fields=1 --delimiter=" "` + VALUE=`echo $line | cut --fields=2 --delimiter=" "` + + if [ "${KEY}" == "PATH" ]; + then + export PATH=${ORIGPATH}:${VALUE} + echo New PATH: $PATH + + else + export ${KEY}=${VALUE} + echo $KEY: $VALUE + + fi +done < $1.conf + . ./libretro-config.sh echo @@ -446,3 +468,4 @@ while read line; do done < $1 +PATH=$ORIGPATH diff --git a/recipes/recipes.win-mingw64-seh b/recipes/recipes.win-mingw64-seh index 8f9df2d6..3bb14b8f 100644 --- a/recipes/recipes.win-mingw64-seh +++ b/recipes/recipes.win-mingw64-seh @@ -1,4 +1,4 @@ -2048 libretro-2048 https://github.com/libretro/libretro-2048.git PROJECT NO GENERIC Makefile.libretro . +2048 libretro-2048 https://github.com/libretro/libretro-2048.git PROJECT YES GENERIC Makefile.libretro . 3dengine libretro-3dengine https://github.com/libretro/libretro-3dengine.git PROJECT NO GENERIC_GL Makefile . 4do libretro-4do https://github.com/libretro/4do-libretro.git PROJECT NO GENERIC Makefile . bluemsx libretro-bluemsx https://github.com/libretro/blueMSX-libretro.git PROJECT NO GENERIC Makefile.libretro . From a69ac32a6a15413abdd1b6538526f0f11ea5b18d Mon Sep 17 00:00:00 2001 From: AndresSM Date: Sat, 8 Nov 2014 12:36:00 -0800 Subject: [PATCH 3/7] Added recipe for an SJLJ mingw64-w64 toolchain, this assumes it's installed in C:\Tools\mingw64 and that python is in C:\Tools\python64. For MAME you might have to rename python.exe to python2.exe --- recipes/recipes.win-mingw64-seh.conf | 2 ++ recipes/recipes.win-mingw64-sjlj.conf | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 recipes/recipes.win-mingw64-seh.conf create mode 100644 recipes/recipes.win-mingw64-sjlj.conf diff --git a/recipes/recipes.win-mingw64-seh.conf b/recipes/recipes.win-mingw64-seh.conf new file mode 100644 index 00000000..b006e67d --- /dev/null +++ b/recipes/recipes.win-mingw64-seh.conf @@ -0,0 +1,2 @@ +PATH /mingw64/bin +platform MINGW64 diff --git a/recipes/recipes.win-mingw64-sjlj.conf b/recipes/recipes.win-mingw64-sjlj.conf new file mode 100644 index 00000000..82fb11f9 --- /dev/null +++ b/recipes/recipes.win-mingw64-sjlj.conf @@ -0,0 +1,2 @@ +PATH /c/Tools/mingw64/bin:/c/Tools/python64 +platform MINGW64 From bde4645079bdf1ec04a2d2b47efeaf82b1d233dd Mon Sep 17 00:00:00 2001 From: AndresSM Date: Sat, 8 Nov 2014 13:27:50 -0800 Subject: [PATCH 4/7] fix small issue with generic makefiles and additional arguments --- libretro-buildbot-recipe.sh | 8 ++++---- recipes/recipes.win-mingw64-sjlj | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libretro-buildbot-recipe.sh b/libretro-buildbot-recipe.sh index 8215695e..ad606d03 100644 --- a/libretro-buildbot-recipe.sh +++ b/libretro-buildbot-recipe.sh @@ -168,8 +168,8 @@ build_libretro_generic_makefile() { if [ -z "${NOCLEAN}" ]; then echo "cleaning up..." - echo "cleanup command: ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} ${COMPILER} -j${JOBS} clean" - ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} ${COMPILER} -j${JOBS} clean + echo "cleanup command: ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} ${COMPILER} -j${JOBS} ${ARGS} clean" + ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} ${COMPILER} -j${JOBS} ${ARGS} clean if [ $? -eq 0 ]; then echo success! @@ -179,7 +179,7 @@ build_libretro_generic_makefile() { fi echo "compiling..." - if [ -z ${ARGS} ]; + if [ -z "${ARGS}" ] then echo "buid command: ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} ${COMPILER} -j${JOBS}" ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} ${COMPILER} -j${JOBS} @@ -229,7 +229,7 @@ build_libretro_generic_gl_makefile() { fi echo "compiling..." - if [ -z ${ARGS} ]; + if [ -z "${ARGS}" ]; then echo "buid command: ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} ${COMPILER} -j${JOBS}" ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} ${COMPILER} -j${JOBS} diff --git a/recipes/recipes.win-mingw64-sjlj b/recipes/recipes.win-mingw64-sjlj index 083e7fe6..47ee3411 100644 --- a/recipes/recipes.win-mingw64-sjlj +++ b/recipes/recipes.win-mingw64-sjlj @@ -1,3 +1,3 @@ -mame libretro-mame https://github.com/libretro/mame.git PROJECT YES GENERIC Makefile.libretro . TARGET=mame PTR64=1 -mame libretro-mame https://github.com/libretro/mame.git PROJECT YES GENERIC Makefile.libretro . TARGET=mess PTR64=1 +mame libretro-mame https://github.com/libretro/mame.git PROJECT NO GENERIC Makefile.libretro . TARGET=mame PTR64=1 +mame libretro-mame https://github.com/libretro/mame.git PROJECT YES GENERIC Makefile.libretro . TARGET=mess PTR64=1 PARTIAL=1 mame libretro-mame https://github.com/libretro/mame.git PROJECT YES GENERIC Makefile.libretro . TARGET=ume PTR64=1 From 14334ba96f45ab14d709d4a927ced78352c4f383 Mon Sep 17 00:00:00 2001 From: AndresSM Date: Sat, 8 Nov 2014 13:32:30 -0800 Subject: [PATCH 5/7] enable all recipes by default --- recipes/recipes.win-mingw64-seh | 98 ++++++++++++++++---------------- recipes/recipes.win-mingw64-sjlj | 4 +- 2 files changed, 51 insertions(+), 51 deletions(-) diff --git a/recipes/recipes.win-mingw64-seh b/recipes/recipes.win-mingw64-seh index 3bb14b8f..9a725a1b 100644 --- a/recipes/recipes.win-mingw64-seh +++ b/recipes/recipes.win-mingw64-seh @@ -1,7 +1,7 @@ 2048 libretro-2048 https://github.com/libretro/libretro-2048.git PROJECT YES GENERIC Makefile.libretro . -3dengine libretro-3dengine https://github.com/libretro/libretro-3dengine.git PROJECT NO GENERIC_GL Makefile . -4do libretro-4do https://github.com/libretro/4do-libretro.git PROJECT NO GENERIC Makefile . -bluemsx libretro-bluemsx https://github.com/libretro/blueMSX-libretro.git PROJECT NO GENERIC Makefile.libretro . +3dengine libretro-3dengine https://github.com/libretro/libretro-3dengine.git PROJECT YES GENERIC_GL Makefile . +4do libretro-4do https://github.com/libretro/4do-libretro.git PROJECT YES GENERIC Makefile . +bluemsx libretro-bluemsx https://github.com/libretro/blueMSX-libretro.git PROJECT YES GENERIC Makefile.libretro . bnes libretro-bnes https://github.com/libretro/bnes-libretro.git PROJECT YES BSNES Makefile . bnes bsnes libretro-bsnes https://github.com/libretro/bsnes-libretro.git PROJECT YES BSNES Makefile . accuracy bsnes libretro-bsnes https://github.com/libretro/bsnes-libretro.git PROJECT YES BSNES Makefile . balanced @@ -10,49 +10,49 @@ bsnes_cplusplus98 libretro-bsnes_cplusplus98 https://github.com/libretro/bsnes-l bsnes_mercury libretro-bsnes_mercury https://github.com/libretro/bsnes-mercury.git PROJECT YES BSNES Makefile . accuracy bsnes_mercury libretro-bsnes_mercury https://github.com/libretro/bsnes-mercury.git PROJECT YES BSNES Makefile . balanced bsnes_mercury libretro-bsnes_mercury https://github.com/libretro/bsnes-mercury.git PROJECT YES BSNES Makefile . performance -catsfc libretro-catsfc https://github.com/libretro/CATSFC-libretro.git PROJECT NO GENERIC Makefile . -desmume libretro-desmume https://github.com/libretro/desmume.git PROJECT NO GENERIC Makefile.libretro desmume -dinothawr libretro-dinothawr https://github.com/libretro/Dinothawr.git PROJECT NO GENERIC_ALT Makefile . -dosbox libretro-dosbox https://github.com/libretro/dosbox-libretro.git PROJECT NO GENERIC Makefile.libretro . -fb_alpha libretro-fba https://github.com/libretro/fba-libretro.git PROJECT NO GENERIC makefile.libretro svn-current/trunk -fba_cores_cps1 libretro-fba https://github.com/libretro/fba-libretro.git PROJECT NO GENERIC makefile.libretro svn-current/trunk/fbacores/cps1 -fba_cores_cps2 libretro-fba https://github.com/libretro/fba-libretro.git PROJECT NO GENERIC makefile.libretro svn-current/trunk/fbacores/cps2 -fba_cores_neo libretro-fba https://github.com/libretro/fba-libretro.git PROJECT NO GENERIC makefile.libretro svn-current/trunk/fbacores/neogeo -fceumm libretro-fceuumm https://github.com/libretro/libretro-fceumm.git PROJECT NO GENERIC Makefile.libretro . -ffmpeg libretro-ffmpeg https://github.com/libretro/FFmpeg.git PROJECT NO GENERIC_GL Makefile libretro -fmsx libretro-fmsx https://github.com/libretro/fmsx-libretro.git PROJECT NO GENERIC Makefile . -gambatte libretro-gambatte https://github.com/libretro/gambatte-libretro.git PROJECT NO GENERIC_ALT Makefile.libretro libgambatte -genesis_plus_gx libretro-genesis_plus_gx https://github.com/libretro/Genesis-Plus-GX.git PROJECT NO GENERIC Makefile.libretro . -handy libretro-handy https://github.com/libretro/libretro-handy.git PROJECT NO GENERIC Makefile . -mednafen_gba libretro-mednafen_gba https://github.com/libretro/beetle-gba-libretro.git PROJECT NO GENERIC Makefile . -mednafen_lynx libretro-mednafen_lynx https://github.com/libretro/beetle-lynx-libretro.git PROJECT NO GENERIC Makefile . -mednafen_ngp libretro-mednafen_ngp https://github.com/libretro/beetle-ngp-libretro.git PROJECT NO GENERIC Makefile . -mednafen_pce_fast libretro-mednafen_pce_fast https://github.com/libretro/beetle-pce-fast-libretro.git PROJECT NO GENERIC Makefile . -mednafen_pcfx libretro-mednafen_pcfx https://github.com/libretro/beetle-pcfx-libretro.git PROJECT NO GENERIC Makefile . -mednafen_psx libretro-mednafen_psx https://github.com/libretro/beetle-psx-libretro.git PROJECT NO GENERIC Makefile . -mednafen_snes libretro-mednafen_snes https://github.com/libretro/beetle-bsnes-libretro.git PROJECT NO GENERIC Makefile . -mednafen_supergrafx libretro-mednafen_supergrafx https://github.com/libretro/beetle-supergrafx-libretro.git PROJECT NO GENERIC Makefile . -mednafen_vb libretro-mednafen_vb https://github.com/libretro/beetle-vb-libretro.git PROJECT NO GENERIC Makefile . -mednafen_wswan libretro-mednafen_wswan https://github.com/libretro/beetle-wswan-libretro.git PROJECT NO GENERIC Makefile . -meteor libretro-meteor https://github.com/libretro/meteor-libretro.git PROJECT NO GENERIC Makefile libretro -mupen64plus libretro-mupen64plus https://github.com/libretro/mupen64plus-libretro.git PROJECT NO GENERIC_GL Makefile . WITH_DYNAREC=x86_64 -nestopia libretro-nestopia https://github.com/libretro/nestopia.git PROJECT NO GENERIC Makefile libretro -nxengine libretro-nxengine https://github.com/libretro/nxengine-libretro.git PROJECT NO GENERIC Makefile . -o2em libretro-o2em https://github.com/libretro/libretro-o2em.git PROJECT NO GENERIC Makefile . -pcsx_rearmed libretro-pcsx_rearmed https://github.com/libretro/pcsx_rearmed.git PROJECT NO GENERIC Makefile.libretro . USE_DYNAREC=0 -picodrive libretro-picodrive https://github.com/libretro/picodrive.git SUBMODULE NO GENERIC Makefile.libretro . -prboom libretro-prboom https://github.com/libretro/libretro-prboom.git PROJECT NO GENERIC_ALT Makefile . -prosystem libretro-prosystem https://github.com/libretro/prosystem-libretro.git PROJECT NO GENERIC Makefile . -quicknes libretro-quicknes https://github.com/libretro/QuickNES_Core.git PROJECT NO GENERIC Makefile libretro -remotejoy libretro-remotejoy https://github.com/libretro/libretro-remotejoy.git PROJECT NO GENERIC Makefile . -scummvm libretro-scummvm https://github.com/libretro/scummvm.git PROJECT NO GENERIC Makefile backends/platform/libretro/build -snes9x libretro-snes9x https://github.com/libretro/snes9x.git PROJECT NO GENERIC Makefile libretro -snes9x_next libretro-snes9x_next https://github.com/libretro/snes9x-next.git PROJECT NO GENERIC_ALT Makefile.libretro . -stella libretro-stella https://github.com/libretro/stella-libretro.git PROJECT NO GENERIC Makefile . -tgbdual libretro-tgbdual https://github.com/libretro/tgbdual-libretro.git PROJECT NO GENERIC Makefile . -tyrquake libretro-tyrquake https://github.com/libretro/tyrquake.git PROJECT NO GENERIC Makefile.libretro . -vba_next libretro-vba_next https://github.com/libretro/vba-next.git PROJECT NO GENERIC_ALT Makefile.libretro . -vbam libretro-vbam https://github.com/libretro/vbam-libretro.git PROJECT NO GENERIC_ALT Makefile src/libretro -vecx libretro-vecx https://github.com/libretro/libretro-vecx.git PROJECT NO GENERIC Makefile.libretro . -virtualjaguar libretro-virtualjaguar https://github.com/libretro/virtualjaguar-libretro.git PROJECT NO GENERIC Makefile . -yabause libretro-yabause https://github.com/libretro/yabause.git PROJECT NO GENERIC Makefile libretro +catsfc libretro-catsfc https://github.com/libretro/CATSFC-libretro.git PROJECT YES GENERIC Makefile . +desmume libretro-desmume https://github.com/libretro/desmume.git PROJECT YES GENERIC Makefile.libretro desmume +dinothawr libretro-dinothawr https://github.com/libretro/Dinothawr.git PROJECT YES GENERIC_ALT Makefile . +dosbox libretro-dosbox https://github.com/libretro/dosbox-libretro.git PROJECT YES GENERIC Makefile.libretro . +fb_alpha libretro-fba https://github.com/libretro/fba-libretro.git PROJECT YES GENERIC makefile.libretro svn-current/trunk +fba_cores_cps1 libretro-fba https://github.com/libretro/fba-libretro.git PROJECT YES GENERIC makefile.libretro svn-current/trunk/fbacores/cps1 +fba_cores_cps2 libretro-fba https://github.com/libretro/fba-libretro.git PROJECT YES GENERIC makefile.libretro svn-current/trunk/fbacores/cps2 +fba_cores_neo libretro-fba https://github.com/libretro/fba-libretro.git PROJECT YES GENERIC makefile.libretro svn-current/trunk/fbacores/neogeo +fceumm libretro-fceuumm https://github.com/libretro/libretro-fceumm.git PROJECT YES GENERIC Makefile.libretro . +ffmpeg libretro-ffmpeg https://github.com/libretro/FFmpeg.git PROJECT YES GENERIC_GL Makefile libretro +fmsx libretro-fmsx https://github.com/libretro/fmsx-libretro.git PROJECT YES GENERIC Makefile . +gambatte libretro-gambatte https://github.com/libretro/gambatte-libretro.git PROJECT YES GENERIC_ALT Makefile.libretro libgambatte +genesis_plus_gx libretro-genesis_plus_gx https://github.com/libretro/Genesis-Plus-GX.git PROJECT YES GENERIC Makefile.libretro . +handy libretro-handy https://github.com/libretro/libretro-handy.git PROJECT YES GENERIC Makefile . +mednafen_gba libretro-mednafen_gba https://github.com/libretro/beetle-gba-libretro.git PROJECT YES GENERIC Makefile . +mednafen_lynx libretro-mednafen_lynx https://github.com/libretro/beetle-lynx-libretro.git PROJECT YES GENERIC Makefile . +mednafen_ngp libretro-mednafen_ngp https://github.com/libretro/beetle-ngp-libretro.git PROJECT YES GENERIC Makefile . +mednafen_pce_fast libretro-mednafen_pce_fast https://github.com/libretro/beetle-pce-fast-libretro.git PROJECT YES GENERIC Makefile . +mednafen_pcfx libretro-mednafen_pcfx https://github.com/libretro/beetle-pcfx-libretro.git PROJECT YES GENERIC Makefile . +mednafen_psx libretro-mednafen_psx https://github.com/libretro/beetle-psx-libretro.git PROJECT YES GENERIC Makefile . +mednafen_snes libretro-mednafen_snes https://github.com/libretro/beetle-bsnes-libretro.git PROJECT YES GENERIC Makefile . +mednafen_supergrafx libretro-mednafen_supergrafx https://github.com/libretro/beetle-supergrafx-libretro.git PROJECT YES GENERIC Makefile . +mednafen_vb libretro-mednafen_vb https://github.com/libretro/beetle-vb-libretro.git PROJECT YES GENERIC Makefile . +mednafen_wswan libretro-mednafen_wswan https://github.com/libretro/beetle-wswan-libretro.git PROJECT YES GENERIC Makefile . +meteor libretro-meteor https://github.com/libretro/meteor-libretro.git PROJECT YES GENERIC Makefile libretro +mupen64plus libretro-mupen64plus https://github.com/libretro/mupen64plus-libretro.git PROJECT YES GENERIC_GL Makefile . WITH_DYNAREC=x86_64 +nestopia libretro-nestopia https://github.com/libretro/nestopia.git PROJECT YES GENERIC Makefile libretro +nxengine libretro-nxengine https://github.com/libretro/nxengine-libretro.git PROJECT YES GENERIC Makefile . +o2em libretro-o2em https://github.com/libretro/libretro-o2em.git PROJECT YES GENERIC Makefile . +pcsx_rearmed libretro-pcsx_rearmed https://github.com/libretro/pcsx_rearmed.git PROJECT YES GENERIC Makefile.libretro . USE_DYNAREC=0 +picodrive libretro-picodrive https://github.com/libretro/picodrive.git SUBMODULE YES GENERIC Makefile.libretro . +prboom libretro-prboom https://github.com/libretro/libretro-prboom.git PROJECT YES GENERIC_ALT Makefile . +prosystem libretro-prosystem https://github.com/libretro/prosystem-libretro.git PROJECT YES GENERIC Makefile . +quicknes libretro-quicknes https://github.com/libretro/QuickNES_Core.git PROJECT YES GENERIC Makefile libretro +remotejoy libretro-remotejoy https://github.com/libretro/libretro-remotejoy.git PROJECT YES GENERIC Makefile . +scummvm libretro-scummvm https://github.com/libretro/scummvm.git PROJECT YES GENERIC Makefile backends/platform/libretro/build +snes9x libretro-snes9x https://github.com/libretro/snes9x.git PROJECT YES GENERIC Makefile libretro +snes9x_next libretro-snes9x_next https://github.com/libretro/snes9x-next.git PROJECT YES GENERIC_ALT Makefile.libretro . +stella libretro-stella https://github.com/libretro/stella-libretro.git PROJECT YES GENERIC Makefile . +tgbdual libretro-tgbdual https://github.com/libretro/tgbdual-libretro.git PROJECT YES GENERIC Makefile . +tyrquake libretro-tyrquake https://github.com/libretro/tyrquake.git PROJECT YES GENERIC Makefile.libretro . +vba_next libretro-vba_next https://github.com/libretro/vba-next.git PROJECT YES GENERIC_ALT Makefile.libretro . +vbam libretro-vbam https://github.com/libretro/vbam-libretro.git PROJECT YES GENERIC_ALT Makefile src/libretro +vecx libretro-vecx https://github.com/libretro/libretro-vecx.git PROJECT YES GENERIC Makefile.libretro . +virtualjaguar libretro-virtualjaguar https://github.com/libretro/virtualjaguar-libretro.git PROJECT YES GENERIC Makefile . +yabause libretro-yabause https://github.com/libretro/yabause.git PROJECT YES GENERIC Makefile libretro diff --git a/recipes/recipes.win-mingw64-sjlj b/recipes/recipes.win-mingw64-sjlj index 47ee3411..635ae6cc 100644 --- a/recipes/recipes.win-mingw64-sjlj +++ b/recipes/recipes.win-mingw64-sjlj @@ -1,3 +1,3 @@ -mame libretro-mame https://github.com/libretro/mame.git PROJECT NO GENERIC Makefile.libretro . TARGET=mame PTR64=1 +mame libretro-mame https://github.com/libretro/mame.git PROJECT YES GENERIC Makefile.libretro . TARGET=mame PTR64=1 mame libretro-mame https://github.com/libretro/mame.git PROJECT YES GENERIC Makefile.libretro . TARGET=mess PTR64=1 PARTIAL=1 -mame libretro-mame https://github.com/libretro/mame.git PROJECT YES GENERIC Makefile.libretro . TARGET=ume PTR64=1 +mame libretro-mame https://github.com/libretro/mame.git PROJECT YES GENERIC Makefile.libretro . TARGET=ume PTR64=1 PARTIAL=1 From d6d6426880963d43f97502aee710fa206507be87 Mon Sep 17 00:00:00 2001 From: AndresSM Date: Sat, 8 Nov 2014 14:27:58 -0800 Subject: [PATCH 6/7] fix some stuff with the mame recipes --- recipes/recipes.win-mingw64-sjlj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/recipes.win-mingw64-sjlj b/recipes/recipes.win-mingw64-sjlj index 635ae6cc..2a3caf89 100644 --- a/recipes/recipes.win-mingw64-sjlj +++ b/recipes/recipes.win-mingw64-sjlj @@ -1,3 +1,3 @@ -mame libretro-mame https://github.com/libretro/mame.git PROJECT YES GENERIC Makefile.libretro . TARGET=mame PTR64=1 -mame libretro-mame https://github.com/libretro/mame.git PROJECT YES GENERIC Makefile.libretro . TARGET=mess PTR64=1 PARTIAL=1 -mame libretro-mame https://github.com/libretro/mame.git PROJECT YES GENERIC Makefile.libretro . TARGET=ume PTR64=1 PARTIAL=1 +mame libretro-mame https://github.com/libretro/mame.git PROJECT NO GENERIC Makefile.libretro . TARGET=mame PTR64=1 +mess libretro-mame https://github.com/libretro/mame.git PROJECT YES GENERIC Makefile.libretro . TARGET=mess PTR64=1 PARTIAL=1 +ume libretro-mame https://github.com/libretro/mame.git PROJECT YES GENERIC Makefile.libretro . TARGET=ume PTR64=1 PARTIAL=1 From f533ec243c8b720a430343ece9724461a77c2ce3 Mon Sep 17 00:00:00 2001 From: AndresSM Date: Sat, 8 Nov 2014 14:57:11 -0800 Subject: [PATCH 7/7] aaaaand I'm done, assuming you have both toolchains setup these scripts and recipes should allow anyone to build winx64 cores with a single command (well one command per recipe) D all that's left to do is to build cores for win32 with different toolchains and check which toolchains work better for each core and create recipe files. Most stuff from the win64 seh recipe should work (notable exception is mednafen C Aa D --- libretro-buildbot-recipe.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libretro-buildbot-recipe.sh b/libretro-buildbot-recipe.sh index ad606d03..756c02d9 100644 --- a/libretro-buildbot-recipe.sh +++ b/libretro-buildbot-recipe.sh @@ -406,6 +406,13 @@ while read line; do else BUILD="YES" fi + if [ "${PREVCORE}" == "BSNES" -a "${PREVBUILD}" == "YES" -a "${COMMAND}" == "BSNES" ]; then + FORCE="YES" + BUILD="YES" + else + FORCE="NO" + fi + cd .. @@ -464,6 +471,8 @@ while read line; do fi cd "${BASE_DIR}" + PREVCORE=$COMMAND + PREVBUILD=$BUILD done < $1