libretro / mame2015-libretro

Late 2014/Early 2015 version of MAME (0.160-ish) for libretro. Compatible with MAME 0.160 sets.
17 stars 36 forks source link

Allow others toolchains on Linux. #48

Closed sergiobenrocha2 closed 7 years ago

joolswills commented 7 years ago

This seems to break building on Linux Ubuntu 16.10 / X86_64 as it seems to switch to using ld directly to link rather than using g++ (and ld doesn't like the gcc parameters) - eg

0b269538767118b6ae7d9dea5391562823c80334 -

ld  -fPIC -shared -Wl,--version-script=src/osd/retro/link.T -Wl,--no-undefined  obj/version.o obj/mame/mame.o obj/mame/mame/drivlist.o obj/mame/acorn.a obj/mame/alba.a obj/mame/alliedl.a obj/mame/alpha.a obj/mame/amiga.a obj/mame/aristocr.a obj/mame/ascii.a obj/mame/atari.a obj/mame/atlus.a obj/mame/barcrest.a obj/mame/bfm.a obj/mame/bmc.a obj/mame/capcom.a obj/mame/cinemat.a obj/mame/comad.a obj/mame/cvs.a obj/mame/dataeast.a obj/mame/dgrm.a obj/mame/dooyong.a obj/mame/dynax.a obj/mame/edevices.a obj/mame/eolith.a obj/mame/excelent.a obj/mame/exidy.a obj/mame/f32.a obj/mame/funworld.a obj/mame/fuuki.a obj/mame/gaelco.a obj/mame/gameplan.a obj/mame/gametron.a obj/mame/gottlieb.a obj/mame/ibmpc.a obj/mame/igs.a obj/mame/irem.a obj/mame/itech.a obj/mame/jaleco.a obj/mame/jpm.a obj/mame/kaneko.a obj/mame/konami.a obj/mame/matic.a obj/mame/maygay.a obj/mame/meadows.a obj/mame/merit.a obj/mame/metro.a obj/mame/midcoin.a obj/mame/midw8080.a obj/mame/midway.a obj/mame/namco.a obj/mame/nasco.a obj/mame/neogeo.a obj/mame/nichibut.a obj/mame/nintendo.a obj/mame/nix.a obj/mame/nmk.a obj/mame/omori.a obj/mame/olympia.a obj/mame/orca.a obj/mame/pacific.a obj/mame/pacman.a obj/mame/pce.a obj/mame/phoenix.a obj/mame/playmark.a obj/mame/psikyo.a obj/mame/ramtek.a obj/mame/rare.a obj/mame/sanritsu.a obj/mame/sega.a obj/mame/seibu.a obj/mame/seta.a obj/mame/sigma.a obj/mame/snk.a obj/mame/sony.a obj/mame/stern.a obj/mame/subsino.a obj/mame/sun.a obj/mame/suna.a obj/mame/sure.a obj/mame/taito.a obj/mame/tatsumi.a obj/mame/tch.a obj/mame/tecfri.a obj/mame/technos.a obj/mame/tehkan.a obj/mame/thepit.a obj/mame/toaplan.a obj/mame/tong.a obj/mame/unico.a obj/mame/univers.a obj/mame/upl.a obj/mame/valadon.a obj/mame/veltmjr.a obj/mame/venture.a obj/mame/vsystem.a obj/mame/yunsung.a obj/mame/zaccaria.a obj/mame/misc.a obj/mame/pinball.a obj/mame/shared.a obj/osd/retro/libretro.o obj/osd/retro/retromain.o obj/osd/modules/midi/none.o obj/mame/mame/libbus.a obj/mame/mame/liboptional.a obj/libemu.a obj/mame/mame/libdasm.a obj/libutil.a obj/libexpat.a obj/libsoftfloat.a obj/libjpeg.a obj/libflac.a obj/lib7z.a obj/libformats.a obj/libz.a obj/libocore.a  -lstdc++ -lpthread -ldl -lpthread -o mame2014_libretro.so
ld: unrecognised option '-Wl,--version-script=src/osd/retro/link.T'
ld: use the --help option for usage information
Makefile:907: recipe for target 'mame2014' failed

previous commit - ee898d836cde870f79b72aa926afcb035feeecd3

Linking mame2014_libretro.so
g++  -fPIC -shared -Wl,--version-script=src/osd/retro/link.T -Wl,--no-undefined  obj/version.o obj/mame/mame.o obj/mame/mame/drivlist.o obj/mame/acorn.a obj/mame/alba.a obj/mame/alliedl.a obj/mame/alpha.a obj/mame/amiga.a obj/mame/aristocr.a obj/mame/ascii.a obj/mame/atari.a obj/mame/atlus.a obj/mame/barcrest.a obj/mame/bfm.a obj/mame/bmc.a obj/mame/capcom.a obj/mame/cinemat.a obj/mame/comad.a obj/mame/cvs.a obj/mame/dataeast.a obj/mame/dgrm.a obj/mame/dooyong.a obj/mame/dynax.a obj/mame/edevices.a obj/mame/eolith.a obj/mame/excelent.a obj/mame/exidy.a obj/mame/f32.a obj/mame/funworld.a obj/mame/fuuki.a obj/mame/gaelco.a obj/mame/gameplan.a obj/mame/gametron.a obj/mame/gottlieb.a obj/mame/ibmpc.a obj/mame/igs.a obj/mame/irem.a obj/mame/itech.a obj/mame/jaleco.a obj/mame/jpm.a obj/mame/kaneko.a obj/mame/konami.a obj/mame/matic.a obj/mame/maygay.a obj/mame/meadows.a obj/mame/merit.a obj/mame/metro.a obj/mame/midcoin.a obj/mame/midw8080.a obj/mame/midway.a obj/mame/namco.a obj/mame/nasco.a obj/mame/neogeo.a obj/mame/nichibut.a obj/mame/nintendo.a obj/mame/nix.a obj/mame/nmk.a obj/mame/omori.a obj/mame/olympia.a obj/mame/orca.a obj/mame/pacific.a obj/mame/pacman.a obj/mame/pce.a obj/mame/phoenix.a obj/mame/playmark.a obj/mame/psikyo.a obj/mame/ramtek.a obj/mame/rare.a obj/mame/sanritsu.a obj/mame/sega.a obj/mame/seibu.a obj/mame/seta.a obj/mame/sigma.a obj/mame/snk.a obj/mame/sony.a obj/mame/stern.a obj/mame/subsino.a obj/mame/sun.a obj/mame/suna.a obj/mame/sure.a obj/mame/taito.a obj/mame/tatsumi.a obj/mame/tch.a obj/mame/tecfri.a obj/mame/technos.a obj/mame/tehkan.a obj/mame/thepit.a obj/mame/toaplan.a obj/mame/tong.a obj/mame/unico.a obj/mame/univers.a obj/mame/upl.a obj/mame/valadon.a obj/mame/veltmjr.a obj/mame/venture.a obj/mame/vsystem.a obj/mame/yunsung.a obj/mame/zaccaria.a obj/mame/misc.a obj/mame/pinball.a obj/mame/shared.a obj/osd/retro/libretro.o obj/osd/retro/retromain.o obj/osd/modules/midi/none.o obj/mame/mame/libbus.a obj/mame/mame/liboptional.a obj/libemu.a obj/mame/mame/libdasm.a obj/libutil.a obj/libexpat.a obj/libsoftfloat.a obj/libjpeg.a obj/libflac.a obj/lib7z.a obj/libformats.a obj/libz.a obj/libocore.a  -lstdc++ -lpthread -ldl -lpthread -o mame2014_libretro.so
joolswills commented 7 years ago

This is because they don't get assigned -

https://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html

It's enough to have them as before and override them with make CC=whatever

joolswills commented 7 years ago

@Alcaro := is also good. thanks.

r-type commented 7 years ago

maybe we should revert as it seem to break win buildbot build

sergiobenrocha2 commented 7 years ago

Eh, how did it break windows build? I changed only unix side in that makefile

sergiobenrocha2 commented 7 years ago

I can build with clang now using:

make CXX=clang++ REALCC=clang NATIVECC=clang++ TARGET=mame PARTIAL=0
r-type commented 7 years ago

Lol yes sorry I think I was tired when I wrote this ! Btw that change are also usefull for me to toggle toolchain version without play with alternative.