From 2e94391d982656a9120483796c36fd8d46529a36 Mon Sep 17 00:00:00 2001 From: Fabio Battaglia Date: Sun, 1 Aug 2010 17:16:39 +0000 Subject: CONFIGURE: add support for N64 port to configure svn-id: r51581 --- backends/platform/n64/module.mk | 7 +++++- configure | 48 +++++++++++++++++++++++++++++++++++++++-- 2 files changed, 52 insertions(+), 3 deletions(-) diff --git a/backends/platform/n64/module.mk b/backends/platform/n64/module.mk index 8fb6ba49ab..429b63802e 100644 --- a/backends/platform/n64/module.mk +++ b/backends/platform/n64/module.mk @@ -1,7 +1,12 @@ MODULE := backends/platform/n64 MODULE_OBJS := \ - nintendo64.o + nintendo64.o \ + osys_n64_base.o \ + osys_n64_events.o \ + osys_n64_utilities.o \ + pakfs_save_manager.o \ + framfs_save_manager.o # We don't use rules.mk but rather manually update OBJS and MODULE_DIRS. MODULE_OBJS := $(addprefix $(MODULE)/, $(MODULE_OBJS)) diff --git a/configure b/configure index 6e93c70899..7e3a6f45f0 100755 --- a/configure +++ b/configure @@ -362,7 +362,7 @@ get_system_exe_extension() { arm-riscos) _exeext=",ff8" ;; - dreamcast | gamecube | ds | ps2 | psp | wii) + dreamcast | gamecube | ds | ps2 | psp | wii | n64) _exeext=".elf" ;; gp2x-linux) @@ -975,6 +975,11 @@ ds) _host_cpu=arm _host_alias=arm-eabi ;; +n64) + _host_os=n64 + _host_cpu=mips + _host_alias=mips64 + ;; neuros) _host_os=linux _host_cpu=arm @@ -1418,6 +1423,11 @@ case $_host_os in DEFINES="$DEFINES -DSYSTEM_NOT_SUPPORTING_D_TYPE" _unix=yes ;; + n64) + DEFINES="$DEFINES -D__N64__ -DLIMIT_FPS -DNONSTANDARD_PORT" + DEFINES="$DEFINES -DDISABLE_DEFAULT_SAVEFILEMANAGER -DDISABLE_COMMAND_LINE" + DEFINES="$DEFINES -DDISABLE_FANCY_THEMES -DDISABLE_DOSBOX_OPL" + ;; ds) # TODO Nintendo DS DEFINES="$DEFINES -D__DS__ -DNDS -DARM9 -DARM -DNONSTANDARD_PORT" @@ -1636,6 +1646,33 @@ if test -n "$_host"; then _mt32emu="no" _port_mk="backends/platform/ds/ds.mk" ;; + n64) + CXXFLAGS="$CXXFLAGS -mno-extern-sdata -O2 --param max-inline-insns-auto=20 -fomit-frame-pointer" + CXXFLAGS="$CXXFLAGS -march=vr4300 -mtune=vr4300 -mhard-float -fno-rtti -fno-exceptions -Wno-multichar -Wshadow" + LDFLAGS="-march=vr4300 -mtune=vr4300 -nodefaultlibs -nostartfiles -mno-crt0" + LDFLAGS="$LDFLAGS -L/opt/mips64-toolchain/hkz-libn64 -L/opt/mips64-toolchain/lib" + LDFLAGS="$LDFLAGS -T n64ld_cpp.x -Xlinker -Map -Xlinker scummvm.map" + _ar="$_host_alias-ar cru" + _ranlib="$_host_alias-ranlib" + _backend="n64" + _endian=big + _need_memalign=yes + _mt32emu=no + _vkeybd=yes + _build_hq_scalers=no + _build_scalers=no + _indeo3=no + _translation=no + _keymapper=no + _text_console=no + _vkeybd=yes + _dynamic_modules=no + _plugins_default=static + # Force use of libmad, libtremor and zlib + _mad=yes + _tremor=yes + _zlib=yes + ;; neuros) DEFINES="$DEFINES -DNEUROS" _unix=yes @@ -2469,6 +2506,13 @@ case $_backend in INCLUDES="$INCLUDES "'-I$(srcdir)/backends/platform/ds/commoninclude' INCLUDES="$INCLUDES "'-Ibackends/platform/ds/arm9/data' ;; + n64) + INCLUDES="$INCLUDES "'-I/opt/mips64-toolchain/include' + INCLUDES="$INCLUDES "'-I/opt/mips64-toolchain/mips64/include' + INCLUDES="$INCLUDES "'-I/opt/mips64-toolchain/hkz-libn64' + INCLUDES="$INCLUDES "'-I$(srcdir)/backends/platform/n64' + LIBS="$LIBS -lpakfs -lframfs -ln64 -ln64utils -lromfs -lm -lstdc++ -lc -lgcc -lz -lnosys" + ;; null) DEFINES="$DEFINES -DUSE_NULL_DRIVER" ;; @@ -2561,7 +2605,7 @@ if test "$have_gcc" = yes ; then case $_host_os in # newlib-based system include files suppress non-C89 function # declarations under __STRICT_ANSI__ - mingw* | dreamcast | wii | gamecube | ds | psp | wince | amigaos* | android) + mingw* | dreamcast | wii | gamecube | ds | psp | wince | amigaos* | android | n64) CXXFLAGS="$CXXFLAGS -W -Wno-unused-parameter" ;; *) -- cgit v1.2.3