Merge pull request #8301 from CompCom/classic-makefile-fix

Fix Nintendo Classic build.
This commit is contained in:
Twinaphex 2019-02-16 14:01:51 +01:00 committed by GitHub
commit b617bb5d64
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 10 additions and 26 deletions

View File

@ -4,16 +4,13 @@
# https://modmyclassic.com/comp and we will help in any way possible!
# Building Prerequisites ##############
# arm-linux-gnueabihf-gcc-8
# arm-linux-gnueabihf-g++-8
# arm-linux-gnueabihf-as
# arm-linux-gnueabihf-strip
# patchelf
# bc
include version.all
# Classic Readme Variables ############
# Classic Readme Variables ############
CLASSIC_ALT_VER := $(shell echo $(RARCH_VERSION) | tr . _)
CLASSIC_MODS_VER := Official_Retroarch_v$(CLASSIC_ALT_VER)c_COptimised
CLASSIC_MODS_NAME := RetroArch v$(RARCH_VERSION)c \(Official Classic Optimised\)
@ -28,10 +25,6 @@ HAKCHI_GIT := https://github.com/Classicmods/RA_Platform-Hakchi
# General Shared Variables ############
TARGET := retroarch
CC_V = arm-linux-gnueabihf-gcc-8
CXX_V = arm-linux-gnueabihf-g++-8
AS_V = arm-linux-gnueabihf-as
CC_AS_V = arm-linux-gnueabihf-gcc-8
# Libretro Defines ####################
#HAVE_CLASSIC = Classic Hook, disable some features
@ -41,15 +34,10 @@ CC_AS_V = arm-linux-gnueabihf-gcc-8
all: $(TARGET)
retroarch:
#Backup vanilla version files + ammend version
cp version.all version_BACKUP.all && cp version.dtd version_BACKUP.dtd
sed -i -e 's/RARCH_VERSION="[^"]*"/RARCH_VERSION="$(CLASSIC_VERSION)"/g' version.all
sed -i -e 's/PACKAGE_VERSION "[^"]*"/PACKAGE_VERSION "$(CLASSIC_VERSION)"/g' version.all
sed -i -e 's/ENTITY version "[^"]*"/ENTITY version "$(CLASSIC_VERSION)"/g' version.dtd
#Build the RetroArch Binary for cross platform classics (ARMv7 Cortex A7)
patchelf --version #Check if you have patchelf installed... (sudo apt-get install patchelf)
./configure --host=arm-linux-gnueabihf --enable-mali_fbdev --disable-freetype --enable-opengles --enable-udev --enable-alsa --enable-neon --enable-floathard --disable-discord
make CC=$(CC_V) CXX=$(CXX_V) AS=$(AS_V) CC_AS=$(CC_AS_V) LDFLAGS_SDL=-lSDL2 HAVE_CLASSIC=1 HAVE_C_A7A7=1 HAVE_HAKCHI=1 -j #Cook it
CFLAGS="-marm -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard" ./configure --host=arm-linux-gnueabihf --enable-mali_fbdev --disable-freetype --enable-opengles --enable-udev --enable-alsa --enable-neon --enable-floathard --disable-discord
make HAVE_CLASSIC=1 HAVE_C_A7A7=1 HAVE_HAKCHI=1 -j #Cook it
arm-linux-gnueabihf-strip -v retroarch
patchelf --replace-needed libSDL2-2.0.so.0 libSDL2.so retroarch #libSDL2-2.0.so.0 sym link doesn't exist on native build. Just patch the binary...
@ -78,11 +66,6 @@ retroarch:
@echo "** BUILT CLASSIC_MODS HAKCHI - $(CLASSIC_MODS_VER) HMOD PACKAGE **"
rm -fr /tmp/$(HAKCHI_DIR) #clean up tmp
#COMMODORE 64 MINI BUILD (WIP)
#Clean down dirty files
rm -f version.all version.dtd
mv version_BACKUP.all version.all && mv version_BACKUP.dtd version.dtd
@echo "*********************************************************************"
@echo "*** Classic ARM7 Cortex A7 build and packages built successfully! ***"
@echo "****************** Winner, Winner, Chicken Dinner! ******************"
@ -108,6 +91,4 @@ clean:
rm -f retroarch
rm -f $(CLASSIC_MODS_VER).hmod
rm -f version.all version.dtd
mv -f version_BACKUP.all version.all || echo "Backup Doesn't Exist - Ignoring..."
mv -f version_BACKUP.dtd version.dtd || echo "Backup Doesn't Exist - Ignoring..."
rm -f *_BACKUP*

View File

@ -552,7 +552,10 @@ endif
ifeq ($(HAVE_ALSA), 1)
OBJ += audio/drivers/alsa.o
OBJ += midi/drivers/alsa_midi.o
ifneq ($(HAVE_HAKCHI), 1)
OBJ += midi/drivers/alsa_midi.o
endif
ifeq ($(HAVE_THREADS), 1)
OBJ += audio/drivers/alsathread.o

View File

@ -439,7 +439,7 @@ static enum record_driver_enum RECORD_DEFAULT_DRIVER = RECORD_NULL;
#ifdef HAVE_WINMM
static enum midi_driver_enum MIDI_DEFAULT_DRIVER = MIDI_WINMM;
#elif defined HAVE_ALSA
#elif defined(HAVE_ALSA) && !defined(HAVE_HAKCHI)
static enum midi_driver_enum MIDI_DEFAULT_DRIVER = MIDI_ALSA;
#else
static enum midi_driver_enum MIDI_DEFAULT_DRIVER = MIDI_NULL;

View File

@ -30,7 +30,7 @@ extern midi_driver_t midi_winmm;
extern midi_driver_t midi_alsa;
static midi_driver_t *midi_drivers[] = {
#ifdef HAVE_ALSA
#if defined(HAVE_ALSA) && !defined(HAVE_HAKCHI)
&midi_alsa,
#endif
#ifdef HAVE_WINMM