diff --git a/libretro-build-win32.sh b/libretro-build-win32.sh index 5dd7154c..f2f50bca 100755 --- a/libretro-build-win32.sh +++ b/libretro-build-win32.sh @@ -1,5 +1,11 @@ #!/bin/sh +SCRIPT=$(readlink -f $0) +BASE_DIR=$(dirname $SCRIPT) +RARCH_DIR=$BASE_DIR/dist +RARCH_DIST_DIR=$RARCH_DIR/windows +JOBS=4 + die() { echo $1 @@ -41,8 +47,9 @@ build_libretro_bsnes() if [ -d "libretro-bsnes/perf" ]; then echo "=== Building bSNES performance ===" cd libretro-bsnes/perf/higan - $MAKE platform=win compiler="$CC" ui=target-libretro profile=performance -j4 || die "Failed to build bSNES performance core" - cp -f out/retro.dll ../../libretro-092-bsnes-performance.dll + $MAKE platform=win compiler="$CC" ui=target-libretro profile=performance -j$JOBS clean || die "Failed to clean bSNES performance core" + $MAKE platform=win compiler="$CC" ui=target-libretro profile=performance -j$JOBS || die "Failed to build bSNES performance core" + cp -f out/retro.dll "$RARCH_DIST_DIR"/libretro-092-bsnes-performance.dll cd ../../.. else echo "bSNES performance not fetched, skipping ..." @@ -51,8 +58,9 @@ build_libretro_bsnes() if [ -d "libretro-bsnes/balanced" ]; then echo "=== Building bSNES balanced ===" cd libretro-bsnes/balanced/higan - $MAKE platform=win compiler="$CC" ui=target-libretro profile=balanced -j4 || die "Failed to build bSNES balanced core" - cp -f out/retro.dll ../../libretro-092-bsnes-balanced.dll + $MAKE platform=win compiler="$CC" ui=target-libretro profile=balanced -j$JOBS clean || die "Failed to clean bSNES balanced core" + $MAKE platform=win compiler="$CC" ui=target-libretro profile=balanced -j$JOBS || die "Failed to build bSNES balanced core" + cp -f out/retro.dll "$RARCH_DIST_DIR"/libretro-092-bsnes-balanced.dll cd ../../.. else echo "bSNES compat not fetched, skipping ..." @@ -61,8 +69,9 @@ build_libretro_bsnes() if [ -d "libretro-bsnes" ]; then echo "=== Building bSNES accuracy ===" cd libretro-bsnes/higan - $MAKE platform=win compiler="$CC" ui=target-libretro profile=accuracy -j4 || die "Failed to build bSNES accuracy core" - cp -f out/retro.dll ../libretro-092-bsnes-accuracy.dll + $MAKE platform=win compiler="$CC" ui=target-libretro profile=accuracy -j$JOBS clean || die "Failed to clean bSNES accuracy core" + $MAKE platform=win compiler="$CC" ui=target-libretro profile=accuracy -j$JOBS || die "Failed to build bSNES accuracy core" + cp -f out/retro.dll "$RARCH_DIST_DIR"/libretro-092-bsnes-accuracy.dll cd ../.. fi } @@ -74,21 +83,24 @@ build_libretro_mednafen() cd libretro-mednafen cd psx - $MAKE core=psx platform=win CC=$CC CXX=$CXX -j4 || die "Failed to build mednafen/psx" - cp retro.dll ../libretro-0928-mednafen-psx.dll + $MAKE core=psx platform=win CC=$CC CXX=$CXX -j$JOBS clean || die "Failed to clean mednafen/psx" + $MAKE core=psx platform=win CC=$CC CXX=$CXX -j$JOBS || die "Failed to build mednafen/psx" + cp retro.dll "$RARCH_DIST_DIR"/libretro-0928-mednafen-psx.dll "$STRIP" ../libretro-0928-mednafen-psx.dll cd .. cd pce-fast - $MAKE core=pce-fast platform=win CC=$CC CXX=$CXX -j4 || die "Failed to build mednafen/pce-fast" - cp retro.dll ../libretro-0928-mednafen-pce-fast.dll - "$STRIP" ../libretro-0928-mednafen-pce-fast.dll + $MAKE core=pce-fast platform=win CC=$CC CXX=$CXX -j$JOBS clean || die "Failed to clean mednafen/pce-fast" + $MAKE core=pce-fast platform=win CC=$CC CXX=$CXX -j$JOBS || die "Failed to build mednafen/pce-fast" + cp retro.dll "$RARCH_DIST_DIR"/libretro-0928-mednafen-pce-fast.dll + "$STRIP" "$RARCH_DIST_DIR"/libretro-0928-mednafen-pce-fast.dll cd .. cd wswan - $MAKE core=wswan platform=win CC=$CC CXX=$CXX -j4 || die "Failed to build mednafen/wswan" - cp retro.dll ../libretro-0928-mednafen-wswan.dll - "$STRIP" ../libretro-0928-mednafen-wswan.dll + $MAKE core=wswan platform=win CC=$CC CXX=$CXX -j$JOBS clean || die "Failed to clean mednafen/wswan" + $MAKE core=wswan platform=win CC=$CC CXX=$CXX -j$JOBS || die "Failed to build mednafen/wswan" + cp retro.dll "$RARCH_DIST_DIR"/libretro-0928-mednafen-wswan.dll + "$STRIP" "$RARCH_DIST_DIR"/libretro-0928-mednafen-wswan.dll cd .. cd .. @@ -102,8 +114,9 @@ build_libretro_s9x() if [ -d "libretro-s9x" ]; then echo "=== Building SNES9x ===" cd libretro-s9x/libretro - $MAKE CC=$CC CXX=$CXX platform=win -j4 || die "Failed to build SNES9x" - cp libretro.dll ../libretro-git-snes9x.dll + $MAKE CC=$CC CXX=$CXX platform=win -j$JOBS clean || die "Failed to clean SNES9x" + $MAKE CC=$CC CXX=$CXX platform=win -j$JOBS || die "Failed to build SNES9x" + cp libretro.dll "$RARCH_DIST_DIR"/libretro-git-snes9x.dll cd ../.. else echo "SNES9x not fetched, skipping ..." @@ -115,8 +128,9 @@ build_libretro_s9x_next() if [ -d "libretro-s9x-next" ]; then echo "=== Building SNES9x-Next ===" cd libretro-s9x-next/ - $MAKE CC=$CC CXX=$CXX platform=win -f Makefile.libretro -j4 || die "Failed to build SNES9x-Next" - cp snes9x_next_retro.dll libretro-git-snes9x-next.dll + $MAKE CC=$CC CXX=$CXX platform=win -f Makefile.libretro -j$JOBS clean || die "Failed to clean SNES9x-Next" + $MAKE CC=$CC CXX=$CXX platform=win -f Makefile.libretro -j$JOBS || die "Failed to build SNES9x-Next" + cp snes9x_next_retro.dll "$RARCH_DIST_DIR"/libretro-git-snes9x-next.dll cd .. else echo "SNES9x-Next not fetched, skipping ..." @@ -128,8 +142,9 @@ build_libretro_genplus() if [ -d "libretro-genplus" ]; then echo "=== Building Genplus GX ===" cd libretro-genplus/ - $MAKE CC=$CC CXX=$CXX platform=win -f Makefile.libretro -j4 || die "Failed to build Genplus GX" - cp genesis_plus_gx_retro.dll libretro-git-genplus.dll + $MAKE CC=$CC CXX=$CXX platform=win -f Makefile.libretro -j$JOBS clean || die "Failed to clean Genplus GX" + $MAKE CC=$CC CXX=$CXX platform=win -f Makefile.libretro -j$JOBS || die "Failed to build Genplus GX" + cp genesis_plus_gx_retro.dll "$RARCH_DIST_DIR"/libretro-git-genplus.dll cd .. else echo "Genplus GX not fetched, skipping ..." @@ -141,8 +156,9 @@ build_libretro_fba() if [ -d "libretro-fba" ]; then echo "=== Building Final Burn Alpha ===" cd libretro-fba/svn-current/trunk - $MAKE CC=$CC CXX=$CXX platform=win -f makefile.libretro -j4 || die "Failed to build Final Burn Alpha" - cp fb_alpha_retro.dll ../../libretro-git-fba.dll + $MAKE CC=$CC CXX=$CXX platform=win -f makefile.libretro -j$JOBS clean || die "Failed to clean Final Burn Alpha" + $MAKE CC=$CC CXX=$CXX platform=win -f makefile.libretro -j$JOBS || die "Failed to build Final Burn Alpha" + cp fb_alpha_retro.dll "$RARCH_DIST_DIR"/libretro-git-fba.dll cd ../../.. else echo "Final Burn Alpha not fetched, skipping ..." @@ -154,8 +170,9 @@ build_libretro_vba() if [ -d "libretro-vba" ]; then echo "=== Building VBA-Next ===" cd libretro-vba/ - $MAKE CC=$CC CXX=$CXX platform=win -f Makefile.libretro -j4 || die "Failed to build VBA-Next" - cp vba_next_retro.dll libretro-git-vba.dll + $MAKE CC=$CC CXX=$CXX platform=win -f Makefile.libretro -j$JOBS clean || die "Failed to clean VBA-Next" + $MAKE CC=$CC CXX=$CXX platform=win -f Makefile.libretro -j$JOBS || die "Failed to build VBA-Next" + cp vba_next_retro.dll "$RARCH_DIST_DIR"/libretro-git-vba.dll cd .. else echo "VBA-Next not fetched, skipping ..." @@ -168,8 +185,9 @@ build_libretro_bnes() echo "=== Building bNES ===" cd libretro-bnes mkdir -p obj - $MAKE CC=$CC CXX=$CXX platform=win -j4 || die "Failed to build bNES" - cp retro.dll libretro-git-bnes.dll + $MAKE CC=$CC CXX=$CXX platform=win -j$JOBS clean || die "Failed to clean bNES" + $MAKE CC=$CC CXX=$CXX platform=win -j$JOBS || die "Failed to build bNES" + cp retro.dll "$RARCH_DIST_DIR"/libretro-git-bnes.dll cd .. else echo "bNES not fetched, skipping ..." @@ -181,8 +199,9 @@ build_libretro_fceu() if [ -d "libretro-fceu" ]; then echo "=== Building FCEU ===" cd libretro-fceu - $MAKE CC=$CC CXX=$CXX platform=win -C fceumm-code -f Makefile.libretro -j4 || die "Failed to build FCEU" - cp fceumm-code/fceumm_retro.dll libretro-git-fceu.dll + $MAKE CC=$CC CXX=$CXX platform=win -C fceumm-code -f Makefile.libretro -j$JOBS clean || die "Failed to clean FCEU" + $MAKE CC=$CC CXX=$CXX platform=win -C fceumm-code -f Makefile.libretro -j$JOBS || die "Failed to build FCEU" + cp fceumm-code/fceumm_retro.dll "$RARCH_DIST_DIR"/libretro-git-fceu.dll cd .. else echo "FCEU not fetched, skipping ..." @@ -194,8 +213,9 @@ build_libretro_gambatte() if [ -d "libretro-gambatte" ]; then echo "=== Building Gambatte ===" cd libretro-gambatte/libgambatte - $MAKE CC=$CC CXX=$CXX platform=win -f Makefile.libretro -j4 || die "Failed to build Gambatte" - cp gambatte_retro.dll ../libretro-git-gambatte.dll + $MAKE CC=$CC CXX=$CXX platform=win -f Makefile.libretro -j$JOBS clean || die "Failed to clean Gambatte" + $MAKE CC=$CC CXX=$CXX platform=win -f Makefile.libretro -j$JOBS || die "Failed to build Gambatte" + cp gambatte_retro.dll "$RARCH_DIST_DIR"/libretro-git-gambatte.dll cd ../.. else echo "Gambatte not fetched, skipping ..." @@ -207,8 +227,9 @@ build_libretro_meteor() if [ -d "libretro-meteor" ]; then echo "=== Building Meteor ===" cd libretro-meteor/libretro - $MAKE platform=win CC=$CC CXX=$CXX -j4 || die "Failed to build Meteor" - cp retro.dll ../libretro-git-meteor.dll + $MAKE platform=win CC=$CC CXX=$CXX -j$JOBS clean || die "Failed to clean Meteor" + $MAKE platform=win CC=$CC CXX=$CXX -j$JOBS || die "Failed to build Meteor" + cp retro.dll "$RARCH_DIST_DIR"/libretro-git-meteor.dll cd ../.. else echo "Meteor not fetched, skipping ..." @@ -220,8 +241,9 @@ build_libretro_stella() if [ -d "libretro-stella" ]; then echo "=== Building Stella ===" cd libretro-stella - $MAKE platform=win CC=$CC CXX=$CXX -j4 || die "Failed to build Stella" - cp stella_retro.dll libretro-git-stella.dll + $MAKE platform=win CC=$CC CXX=$CXX -j$JOBS clean || die "Failed to clean Stella" + $MAKE platform=win CC=$CC CXX=$CXX -j$JOBS || die "Failed to build Stella" + cp stella_retro.dll "$RARCH_DIST_DIR"/libretro-git-stella.dll cd ../ else echo "Stella not fetched, skipping ..." @@ -233,8 +255,9 @@ build_libretro_desmume() if [ -d "libretro-desmume" ]; then echo "=== Building Desmume ===" cd libretro-desmume - $MAKE platform=win CC=$CC CXX=$CXX -f Makefile.libretro -j4 || die "Failed to build Desmume" - cp retro.dll libretro-git-desmume.dll + $MAKE platform=win CC=$CC CXX=$CXX -f Makefile.libretro -j$JOBS clean || die "Failed to clean Desmume" + $MAKE platform=win CC=$CC CXX=$CXX -f Makefile.libretro -j$JOBS || die "Failed to build Desmume" + cp retro.dll "$RARCH_DIST_DIR"/libretro-git-desmume.dll cd ../ else echo "Desmume not fetched, skipping ..." @@ -246,8 +269,9 @@ build_libretro_quicknes() if [ -d "libretro-quicknes" ]; then echo "=== Building QuickNES ===" cd libretro-quicknes/libretro - $MAKE platform=win CC=$CC CXX=$CXX -j4 || die "Failed to build QuickNES" - cp quicknes_retro.dll ../libretro-git-quicknes.dll + $MAKE platform=win CC=$CC CXX=$CXX -j$JOBS clean || die "Failed to clean QuickNES" + $MAKE platform=win CC=$CC CXX=$CXX -j$JOBS || die "Failed to build QuickNES" + cp quicknes_retro.dll "$RARCH_DIST_DIR"/libretro-git-quicknes.dll cd ../.. else echo "QuickNES not fetched, skipping ..." @@ -259,14 +283,17 @@ build_libretro_nestopia() if [ -d "libretro-nestopia" ]; then echo "=== Building Nestopia ===" cd libretro-nestopia/libretro - $MAKE platform=win CC=$CC CXX=$CXX -j4 || die "Failed to build Nestopia" - cp nestopia_retro.dll ../libretro-144-nestopia.dll + $MAKE platform=win CC=$CC CXX=$CXX -j$JOBS clean || die "Failed to clean Nestopia" + $MAKE platform=win CC=$CC CXX=$CXX -j$JOBS || die "Failed to build Nestopia" + cp nestopia_retro.dll "$RARCH_DIST_DIR"/libretro-144-nestopia.dll cd ../.. else echo "Nestopia not fetched, skipping ..." fi } +mkdir -p "$RARCH_DIST_DIR" + build_libretro_bsnes build_libretro_mednafen build_libretro_s9x diff --git a/libretro-install-win32.sh b/libretro-install-win32.sh index c0ab980e..d4d3525c 100755 --- a/libretro-install-win32.sh +++ b/libretro-install-win32.sh @@ -1,53 +1,14 @@ #!/bin/sh -if [ -z "$1" ]; then - LIBRETRO_DIR="libretro" -else - LIBRETRO_DIR="$1" -fi +ARCH_EXT="$1" -ARCH_EXT="$2" +SCRIPT=$(readlink -f $0) +BASE_DIR=$(dirname $SCRIPT) +RARCH_DIR=$BASE_DIR/dist +RARCH_DIST_DIR=$RARCH_DIR/windows -if [ ! -d "$LIBRETRO_DIR" ]; then - mkdir -p "$LIBRETRO_DIR" -fi - -LIBS="" -LIBS="$LIBS libretro-bsnes/libretro-092-bsnes-performance.dll" -LIBS="$LIBS libretro-bsnes/libretro-092-bsnes-balanced.dll" -LIBS="$LIBS libretro-bsnes/libretro-092-bsnes-accuracy.dll" -LIBS="$LIBS libretro-s9x/libretro-git-snes9x.dll" -LIBS="$LIBS libretro-s9x-next/libretro-git-snes9x-next.dll" -LIBS="$LIBS libretro-genplus/libretro-git-genplus.dll" -LIBS="$LIBS libretro-fba/libretro-git-fba.dll" -LIBS="$LIBS libretro-vba/libretro-git-vba.dll" -LIBS="$LIBS libretro-fceu/libretro-git-fceu.dll" -LIBS="$LIBS libretro-bnes/libretro-git-bnes.dll" -LIBS="$LIBS libretro-gambatte/libretro-git-gambatte.dll" -LIBS="$LIBS libretro-meteor/libretro-git-meteor.dll" -LIBS="$LIBS libretro-stella/libretro-git-stella.dll" -LIBS="$LIBS libretro-desmume/libretro-git-desmume.dll" -LIBS="$LIBS libretro-mednafen/libretro-0928-mednafen-psx.dll" -LIBS="$LIBS libretro-mednafen/libretro-0928-mednafen-pce-fast.dll" -LIBS="$LIBS libretro-mednafen/libretro-0928-mednafen-wswan.dll" -LIBS="$LIBS libretro-quicknes/libretro-git-quicknes.dll" - -#note -not sure about what kind of versioning you're doing here - so just going to make an assumption -LIBS="$LIBS libretro-tyrquake/libretro-git-tyrquake.dll" - -LIBS="$LIBS libretro-nestopia/libretro-144-nestopia.dll" - -for lib in $LIBS -do - if [ -f $lib ]; then - install -v -m644 $lib "$LIBRETRO_DIR" - else - echo "Library $lib not found, skipping ..." - fi -done - -cd "$LIBRETRO_DIR" -for file in `find . -name "*.dll"` +cd "$RARCH_DIST_DIR" +for file in *.dll do REGEX_MV="s|^\(.*\)\.dll$|\1-${ARCH_EXT}.dll|" REGEX="s|^\(.*\)\.dll$|\1-${ARCH_EXT}.zip|" diff --git a/libretro-install.sh b/libretro-install.sh index 4ec745ca..3767c9ac 100755 --- a/libretro-install.sh +++ b/libretro-install.sh @@ -3,7 +3,7 @@ SCRIPT=$(readlink -f $0) BASE_DIR=$(dirname $SCRIPT) RARCH_DIR=$BASE_DIR/dist -RARCH_DIST_DIR=$RARCH_DIR/pc +RARCH_DIST_DIR=$RARCH_DIR/windows if [ -z "$1" ]; then LIBRETRO_DIR="/usr/local/lib/libretro" @@ -11,10 +11,6 @@ else LIBRETRO_DIR="$1" fi -if [ ! -d "$LIBRETRO_DIR" ]; then - mkdir -p "$LIBRETRO_DIR" -fi - for lib in "$RARCH_DIST_DIR"/* do if [ -f $lib ]; then