Everything but pcsx_rearmed_interpreter now uses libretro_build_core

This commit is contained in:
T. Joseph Carter 2015-03-12 01:14:21 -07:00
parent 696489556e
commit 40d4d0584b
3 changed files with 225 additions and 220 deletions

View File

@ -342,23 +342,6 @@ build_libretro_test() {
}
build_libretro_emux() {
if build_should_skip emux "$WORKDIR/libretro-emux"; then
echo "Cores for emux are already built, skipping..."
return
fi
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"
# TODO: Check for more than emux_sms here...
build_save_revision $? "emux"
}
build_libretro_mame_modern() {
build_dir="$WORKDIR/libretro-mame"
if [ -d "$build_dir" ]; then
@ -393,55 +376,6 @@ build_libretro_mame_modern() {
fi
}
build_libretro_mame_prerule() {
build_dir="$WORKDIR/libretro-mame"
if build_should_skip mame "$build_dir"; then
echo "Core mame is already built, skipping..."
return
fi
if [ -d "$build_dir" ]; then
echo ''
echo "=== Building MAME ==="
echo_cmd "cd \"$build_dir\""
local extra_args
[ "$X86_64" = "true" ] && extra_args="PTR64=1"
if [ -z "$NOCLEAN" ]; then
echo_cmd "$MAKE -f Makefile.libretro $extra_args platform=\"$FORMAT_COMPILER_TARGET\" \"-j$JOBS\" clean" || die 'Failed to clean MAME'
fi
if [ -n "$IOS" ]; then
# FIXME: iOS doesn't build right now, so let's leave this simple until it does.
target=mame
echo_cmd "$MAKE -f Makefile.libretro \"TARGET=$target\" platform=\"$FORMAT_COMPILER_TARGET\" CC=\"$CC\" CXX=\"$CXX\" \"NATIVE=1\" buildtools \"-j$JOBS\""
ret=$?
if [ "$ret" = 0 ]; then
echo_cmd "$MAKE -f Makefile.libretro \"TARGET=$target\" platform=\"$FORMAT_COMPILER_TARGET\" CC=\"$CC\" CXX=\"$CXX\" emulator \"-j$JOBS\""
ret=$?
fi
[ "$ret" -gt 0 ] && die 'Failed to build MAME'
build_summary_log $ret "$target"
else
for target in mame mess ume; do
echo_cmd "$MAKE -f Makefile.libretro $extra_args \"TARGET=$target\" platform=\"$FORMAT_COMPILER_TARGET\" $COMPILER \"-j$JOBS\" emulator" || die "Failed to build $target"
copy_core_to_dist "$target"
ret=$?
# If a target fails, stop here...
[ $ret -eq 0 ] || break
done
fi
else
echo 'MAME not fetched, skipping ...'
fi
build_save_revision $ret mame
}
# radius uses these, let's not pull them out from under him just yet
build_libretro_mame() {
build_libretro_mame_modern "MAME" "mame" ""
@ -459,145 +393,6 @@ rebuild_libretro_ume() {
build_libretro_mame_modern "UME" "ume" "1"
}
# $1 is corename
# $2 is profile shortname.
# $3 is profile name
build_libretro_bsnes_modern() {
build_dir="$WORKDIR/libretro-$1"
if [ -d "$build_dir" ]; then
echo "=== Building $1 $3 ==="
echo_cmd "cd \"$build_dir\""
if [ -z "$NOCLEAN" ]; then
echo_cmd "rm -f obj/*.{o,\"$FORMAT_EXT\"}"
echo_cmd "rm -f out/*.{o,\"$FORMAT_EXT\"}"
fi
cmdline="$MAKE target=libretro -j$JOBS"
cmdline="$cmdline platform=\"$FORMAT_COMPILER_TARGET\""
cmdline="$cmdline compiler=\"$CXX11\""
ret=0
for a in accuracy balanced performance; do
echo_cmd "$cmdline profile=$a"
copy_core_to_dist "out/${1}_$a" "${1}_$a"
[ $ret -eq 0 ] || break
done
return $ret
else
echo "$1 not fetched, skipping ..."
fi
}
build_libretro_bsnes() {
if build_should_skip bsnes "$WORKDIR/libretro-bsnes"; then
echo "Core bsnes is already built, skipping..."
return
fi
build_libretro_bsnes_modern "bsnes"
build_save_revision $? bsnes
}
build_libretro_bsnes_mercury() {
if build_should_skip bsnes_mercury "$WORKDIR/libretro-bsnes"; then
echo "Core bsnes_mercury is already built, skipping..."
return
fi
build_libretro_bsnes_modern "bsnes_mercury"
build_save_revision $? bsnes_mercury
}
build_libretro_bsnes_cplusplus98() {
CORENAME="bsnes_cplusplus98"
build_dir="$WORKDIR/libretro-$CORENAME"
if build_should_skip $CORENAME "$build_dir"; then
echo "Core $CORENAME is already built, skipping..."
return
fi
if [ -d "$build_dir" ]; then
echo "=== Building $CORENAME ==="
echo_cmd "cd \"$build_dir\""
if [ -z "$NOCLEAN" ]; then
# byuu's "make clean" doesn't
echo_cmd "rm -f obj/*.{o,\"$FORMAT_EXT\"}"
echo_cmd "rm -f out/*.{o,\"$FORMAT_EXT\"}"
fi
echo_cmd "$MAKE platform=\"$FORMAT_COMPILER_TARGET\" $COMPILER \"-j$JOBS\""
copy_core_to_dist "out/$CORENAME" "$CORENAME"
build_save_revision $? $CORENAME
else
echo "$CORENAME not fetched, skipping ..."
fi
}
build_libretro_bnes() {
build_dir="$WORKDIR/libretro-bnes"
if build_should_skip bnes "$build_dir"; then
echo "Core bnes is already built, skipping..."
return
fi
if [ -d "$build_dir" ]; then
echo '=== Building bNES ==='
echo_cmd "cd \"$build_dir\""
mkdir -p obj
if [ -z "$NOCLEAN" ]; then
echo_cmd "$MAKE -f Makefile \"-j$JOBS\" clean" || die 'Failed to clean bNES'
fi
echo_cmd "$MAKE -f Makefile $COMPILER \"-j$JOBS\" compiler=\"${CXX11}\"" || die 'Failed to build bNES'
copy_core_to_dist "bnes"
build_save_revision $? "bnes"
else
echo 'bNES not fetched, skipping ...'
fi
}
build_libretro_mupen64() {
if check_opengl; then
build_dir="$WORKDIR/libretro-mupen64plus"
if build_should_skip mupen64plus "$build_dir"; then
echo "Core mupen64plus is already built, skipping..."
return
fi
if [ -d "$build_dir" ]; then
echo_cmd "cd \"$build_dir\""
mkdir -p obj
if iscpu_x86_64 $ARCH; then
dynarec="WITH_DYNAREC=x86_64"
elif iscpu_x86 $ARCH; then
dynarec="WITH_DYNAREC=x86"
elif [ "${CORTEX_A8}" ] || [ "${CORTEX_A9}" ] || [ "$platform" = "ios" ]; then
dynarec="WITH_DYNAREC=arm"
fi
echo '=== Building Mupen 64 Plus ==='
if [ -z "$NOCLEAN" ]; then
echo_cmd "$MAKE $dynarec platform=\"$FORMAT_COMPILER_TARGET_ALT\" \"-j$JOBS\" clean" || die 'Failed to clean Mupen 64'
fi
echo_cmd "$MAKE $dynarec platform=\"$FORMAT_COMPILER_TARGET_ALT\" $COMPILER \"-j$JOBS\"" || die 'Failed to build Mupen 64'
copy_core_to_dist "mupen64plus"
build_save_revision $? "mupen64plus"
else
echo 'Mupen64 Plus not fetched, skipping ...'
fi
reset_compiler_targets
fi
}
build_summary() {
if [ -z "$NOBUILD_SUMMARY" ]; then
if command -v fmt > /dev/null; then
@ -638,7 +433,7 @@ create_dist_dir
########## LEGACY RULES
# TODO: delete these
# TODO: Safe to delete these when scripts no longer reference them
build_libretro_2048() {
libretro_build_core 2048
@ -802,3 +597,208 @@ build_libretro_gw() {
build_libretro_lutro() {
libretro_build_core lutro
}
########## LEGACY RULES
# TODO: Port these to modern rules
build_libretro_bsnes_modern() {
build_dir="$WORKDIR/libretro-$1"
if [ -d "$build_dir" ]; then
echo "=== Building $1 ==="
echo_cmd "cd \"$build_dir\""
if [ -z "$NOCLEAN" ]; then
echo_cmd "rm -f obj/*.{o,\"$FORMAT_EXT\"}"
echo_cmd "rm -f out/*.{o,\"$FORMAT_EXT\"}"
fi
cmdline="$MAKE target=libretro -j$JOBS"
cmdline="$cmdline platform=\"$FORMAT_COMPILER_TARGET\""
cmdline="$cmdline compiler=\"$CXX11\""
ret=0
for a in accuracy balanced performance; do
echo_cmd "$cmdline profile=$a"
copy_core_to_dist "out/${1}_$a" "${1}_$a"
[ $ret -eq 0 ] || break
done
return $ret
else
echo "$1 not fetched, skipping ..."
fi
}
build_libretro_bsnes() {
if build_should_skip bsnes "$WORKDIR/libretro-bsnes"; then
echo "Core bsnes is already built, skipping..."
return
fi
build_libretro_bsnes_modern "bsnes"
build_save_revision $? bsnes
}
build_libretro_bnes() {
build_dir="$WORKDIR/libretro-bnes"
if build_should_skip bnes "$build_dir"; then
echo "Core bnes is already built, skipping..."
return
fi
if [ -d "$build_dir" ]; then
echo '=== Building bNES ==='
echo_cmd "cd \"$build_dir\""
mkdir -p obj
if [ -z "$NOCLEAN" ]; then
echo_cmd "$MAKE -f Makefile \"-j$JOBS\" clean" || die 'Failed to clean bNES'
fi
echo_cmd "$MAKE -f Makefile $COMPILER \"-j$JOBS\" compiler=\"${CXX11}\"" || die 'Failed to build bNES'
copy_core_to_dist "bnes"
build_save_revision $? "bnes"
else
echo 'bNES not fetched, skipping ...'
fi
}
build_libretro_bsnes_cplusplus98() {
CORENAME="bsnes_cplusplus98"
build_dir="$WORKDIR/libretro-$CORENAME"
if build_should_skip $CORENAME "$build_dir"; then
echo "Core $CORENAME is already built, skipping..."
return
fi
if [ -d "$build_dir" ]; then
echo "=== Building $CORENAME ==="
echo_cmd "cd \"$build_dir\""
if [ -z "$NOCLEAN" ]; then
# byuu's "make clean" doesn't
echo_cmd "rm -f obj/*.{o,\"$FORMAT_EXT\"}"
echo_cmd "rm -f out/*.{o,\"$FORMAT_EXT\"}"
fi
echo_cmd "$MAKE platform=\"$FORMAT_COMPILER_TARGET\" $COMPILER \"-j$JOBS\""
copy_core_to_dist "out/$CORENAME" "$CORENAME"
build_save_revision $? $CORENAME
else
echo "$CORENAME not fetched, skipping ..."
fi
}
build_libretro_bsnes_mercury() {
if build_should_skip bsnes_mercury "$WORKDIR/libretro-bsnes"; then
echo "Core bsnes_mercury is already built, skipping..."
return
fi
build_libretro_bsnes_modern "bsnes_mercury"
build_save_revision $? bsnes_mercury
}
build_libretro_emux() {
if build_should_skip emux "$WORKDIR/libretro-emux"; then
echo "Cores for emux are already built, skipping..."
return
fi
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"
# TODO: Check for more than emux_sms here...
build_save_revision $? "emux"
}
build_libretro_mupen64() {
if check_opengl; then
build_dir="$WORKDIR/libretro-mupen64plus"
if build_should_skip mupen64plus "$build_dir"; then
echo "Core mupen64plus is already built, skipping..."
return
fi
if [ -d "$build_dir" ]; then
echo_cmd "cd \"$build_dir\""
mkdir -p obj
if iscpu_x86_64 $ARCH; then
dynarec="WITH_DYNAREC=x86_64"
elif iscpu_x86 $ARCH; then
dynarec="WITH_DYNAREC=x86"
elif [ "${CORTEX_A8}" ] || [ "${CORTEX_A9}" ] || [ "$platform" = "ios" ]; then
dynarec="WITH_DYNAREC=arm"
fi
echo '=== Building Mupen 64 Plus ==='
if [ -z "$NOCLEAN" ]; then
echo_cmd "$MAKE $dynarec platform=\"$FORMAT_COMPILER_TARGET_ALT\" \"-j$JOBS\" clean" || die 'Failed to clean Mupen 64'
fi
echo_cmd "$MAKE $dynarec platform=\"$FORMAT_COMPILER_TARGET_ALT\" $COMPILER \"-j$JOBS\"" || die 'Failed to build Mupen 64'
copy_core_to_dist "mupen64plus"
build_save_revision $? "mupen64plus"
else
echo 'Mupen64 Plus not fetched, skipping ...'
fi
reset_compiler_targets
fi
}
build_libretro_mame_prerule() {
build_dir="$WORKDIR/libretro-mame"
if build_should_skip mame "$build_dir"; then
echo "Core mame is already built, skipping..."
return
fi
if [ -d "$build_dir" ]; then
echo ''
echo "=== Building MAME ==="
echo_cmd "cd \"$build_dir\""
local extra_args
[ "$X86_64" = "true" ] && extra_args="PTR64=1"
if [ -z "$NOCLEAN" ]; then
echo_cmd "$MAKE -f Makefile.libretro $extra_args platform=\"$FORMAT_COMPILER_TARGET\" \"-j$JOBS\" clean" || die 'Failed to clean MAME'
fi
if [ -n "$IOS" ]; then
# FIXME: iOS doesn't build right now, so let's leave this simple until it does.
target=mame
echo_cmd "$MAKE -f Makefile.libretro \"TARGET=$target\" platform=\"$FORMAT_COMPILER_TARGET\" CC=\"$CC\" CXX=\"$CXX\" \"NATIVE=1\" buildtools \"-j$JOBS\""
ret=$?
if [ "$ret" = 0 ]; then
echo_cmd "$MAKE -f Makefile.libretro \"TARGET=$target\" platform=\"$FORMAT_COMPILER_TARGET\" CC=\"$CC\" CXX=\"$CXX\" emulator \"-j$JOBS\""
ret=$?
fi
[ "$ret" -gt 0 ] && die 'Failed to build MAME'
build_summary_log $ret "$target"
else
for target in mame mess ume; do
echo_cmd "$MAKE -f Makefile.libretro $extra_args \"TARGET=$target\" platform=\"$FORMAT_COMPILER_TARGET\" $COMPILER \"-j$JOBS\" emulator" || die "Failed to build $target"
copy_core_to_dist "$target"
ret=$?
# If a target fails, stop here...
[ $ret -eq 0 ] || break
done
fi
else
echo 'MAME not fetched, skipping ...'
fi
build_save_revision $ret mame
}

View File

@ -126,12 +126,17 @@ build_default_cores() {
# Nothing past here supports theos
[ "$platform" = "theos_ios" ] && return
libretro_build_core bsnes
libretro_build_core bsnes_cplusplus98
libretro_build_core bsnes_mercury
libretro_build_core dinothawr
libretro_build_core emux
libretro_build_core fuse
libretro_build_core genesis_plus_gx
libretro_build_core gw
libretro_build_core hatari
libretro_build_core lutro
libretro_build_core mame
libretro_build_core mame078
libretro_build_core mednafen_gba
libretro_build_core mednafen_lynx
@ -143,18 +148,12 @@ build_default_cores() {
libretro_build_core mednafen_supergrafx
libretro_build_core mednafen_vb
libretro_build_core mednafen_wswan
libretro_build_core mupen64plus
libretro_build_core picodrive
libretro_build_core scummvm
libretro_build_core stonesoup
libretro_build_core yabause
build_libretro_bsnes
build_libretro_bsnes_cplusplus98
build_libretro_bsnes_mercury
build_libretro_emux
build_libretro_mame_prerule
build_libretro_mupen64
if [ $platform != "win" ]; then
libretro_build_core pcsx_rearmed
fi
@ -166,7 +165,7 @@ build_default_cores() {
libretro_build_core ffmpeg
libretro_build_core ppsspp
build_libretro_bnes
libretro_build_core bnes
fi
build_libretro_test

View File

@ -3,7 +3,8 @@
register_core "bsnes" -theos_ios -ngc -ps3 -psp1 -qnx -wii
libretro_bsnes_name="bsnes/higan"
libretro_bsnes_git_url="https://github.com/libretro/bsnes-libretro.git"
libretro_bsnes_build_rule=none # NEED CUSTOM RULE
libretro_bsnes_build_rule=legacy
libretro_bsnes_build_legacy=build_libretro_bsnes
register_core "snes9x" -ngc -ps3 -psp1 -wii
libretro_snes9x_name="SNES9x"
@ -183,7 +184,8 @@ libretro_mame139_build_rule=none # NEED A BUILD RULE
register_core "mame" -theos_ios -ngc -ps3 -psp1 -qnx -wii
libretro_mame_name="MAME (git)"
libretro_mame_git_url="https://github.com/libretro/mame.git"
libretro_mame_build_rule=none # NEED CUSTOM RULE
libretro_mame_build_rule=legacy
libretro_mame_build_legacy=build_libretro_mame_prerule
register_core "ffmpeg" -ios -theos_ios -osx -ngc -ps3 -psp1 -qnx -wii
libretro_ffmpeg_name="FFmpeg"
@ -194,12 +196,14 @@ libretro_ffmpeg_build_opengl="optional"
register_core "bsnes_cplusplus98" -theos_ios -ngc -ps3 -psp1 -wii
libretro_bsnes_cplusplus98_name="bsnes C++98 (v0.85)"
libretro_bsnes_cplusplus98_git_url="https://github.com/libretro/bsnes-libretro-cplusplus98.git"
libretro_bsnes_cplusplus98_build_rule=none # NEED CUSTOM RULE
libretro_bsnes_cplusplus98_build_rule=legacy
libretro_bsnes_cplusplus98_build_legacy=build_libretro_bsnes_cplusplus98
register_core "bsnes_mercury" -theos_ios -ngc -ps3 -psp1 -qnx -wii
libretro_bsnes_mercury_name="bsnes-mercury"
libretro_bsnes_mercury_git_url="https://github.com/libretro/bsnes-mercury.git"
libretro_bsnes_mercury_build_rule=none # NEED CUSTOM RULE
libretro_bsnes_mercury_build_rule=legacy
libretro_bsnes_mercury_build_legacy=build_libretro_bsnes_mercury
register_core "picodrive" -theos_ios -ngc -ps3 -wii
libretro_picodrive_name="Picodrive"
@ -214,7 +218,8 @@ libretro_tgbdual_git_url="https://github.com/libretro/tgbdual-libretro.git"
register_core "mupen64plus" -theos_ios -ngc -ps3 -psp1 -wii
libretro_mupen64plus_name="Mupen64Plus"
libretro_mupen64plus_git_url="https://github.com/libretro/mupen64plus-libretro.git"
libretro_mupen64plus_build_rule=none # NEED CUSTOM RULE
libretro_mupen64plus_build_rule=legacy
libretro_mupen64plus_build_legacy=build_libretro_mupen64
register_core "dinothawr" -theos_ios -ngc -ps3 -psp1 -qnx -wii
libretro_dinothawr_name="Dinothawr"
@ -300,7 +305,8 @@ libretro_gpsp_git_url="https://github.com/libretro/gpsp.git"
register_core "emux" -theos_ios -ngc -ps3 -psp1 -qnx -wii
libretro_emux_name="Emux"
libretro_emux_git_url="https://github.com/libretro/emux.git"
libretro_emux_build_rule=none # NEED CUSTOM RULE
libretro_emux_build_rule=legacy
libretro_emux_build_legacy=build_libretro_emux
register_core "fuse" -theos_ios -ngc -ps3 -psp1 -qnx -wii
libretro_fuse_name="Fuse"