Javanaise/mrboom-libretro

Can't Compile mrboom-libretro on odroid Xu4

karatoso opened this issue · 11 comments

Hello, first congratulations for this bomberman! I would love to have it on my Odroid Xu4. I saw that there was an experimental package to install on Retropie, the problem is that it does not compile properly. Is there a way to make it work on this machine, I'm not familiar with c ++?

Thanks a lot for your help !

here are the compilation logs :
logs

Hi, did u forget the logs?

sorry I just added it ! :)

@karatoso could you please try again with this commit? 87a4af4

Would be better to use a flag so it can be set in any platforms that need it or passed manually to make (We don't compile setting the platform flag to armv7 etc). This is how it's done in other libretro cores. eg this snippet from mupen64plus (obviously you only need the audio bits).


ifeq ($(HAVE_NEON),1)
        SOURCES_CXX   += $(VIDEODIR_GLIDEN64)/src/3DMathNeon.cpp \
                                                  $(VIDEODIR_GLIDEN64)/src/gSPNeon.cpp

        SOURCES_ASM += $(LIBRETRO_COMM_DIR)/audio/conversion/float_to_s16_neon.S \
                                                $(LIBRETRO_COMM_DIR)/audio/conversion/s16_to_float_neon.S \
                                                $(LIBRETRO_COMM_DIR)/audio/resampler/drivers/sinc_resampler_neon.S
else
        SOURCES_CXX   += $(VIDEODIR_GLIDEN64)/src/3DMath.cpp
endif

ok @joolswills is this what you mean? ed4227d

Yep. I will test this thanks.

You will need to add the other sources as referenced in the code snippet above.

here's a diff against current HEAD.

diff --git a/Makefile.common b/Makefile.common
index 8121cfa..ce13ea9 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -3,7 +3,9 @@ AI_DIR          := $(CORE_DIR)/ai
 SOURCES_C :=   $(CORE_DIR)/mrboom.c
 
 ifeq ($(HAVE_NEON),1)
-       SOURCES_ASM := $(LIBRETRO_COMM_DIR)/audio/resampler/drivers/sinc_resampler_neon.S
+       SOURCES_ASM := $(LIBRETRO_COMM_DIR)/audio/conversion/float_to_s16_neon.S \
+               $(LIBRETRO_COMM_DIR)/audio/conversion/s16_to_float_neon.S \
+               $(LIBRETRO_COMM_DIR)/audio/resampler/drivers/sinc_resampler_neon.S
 endif

with that it works (building with make HAVE_NEON=1)

BTW - it took a while to checkout the repo even with --depth=1. I noticed you have 180MB+ of animated gifs in the tests/ folder. Are these needed to be on the repository or just generated by the testsuite? A full depth git clone on my PC ended up downloading about 400MB of data and requires 636MB of disk space (i assume because these large gif anims have been updated multiple times).

@joolswills OK I updated the latest commit.
Yes you're right the tests are simply generated, but are used by the README.md, is that an issue? what do you suggest?

I would probably host them elsewhere, and just reference them maybe. git is not ideal for large binaries as the repo will just keep getting bigger if these are changed often. There's no need for them to be in source control imho (since the code to generate them is).

it works friends, thank you very much, lr-mrboom compiles well on Odroid xu4 with your changes, thank you very much! I have not tested the game on this machine yet, I will do it, I will keep you informed !

thanks for the help @joolswills will close this