Buenas,
Vengo a consultarles lo que ya me da hasta dolor de cabeza, Invoco a los Gurus del Foro!!! . Compilar REminiscence 0.1.9 de Saturn (mi idea final es migrar a la 0.2.1 como con la DC)
La cuestión es la siguiente, si bien son soy un usuario de Linux (ubuntu en este caso) no puedo compilar dicha version pero si la de PC.
Instalé el GNUSH kpit en su última versión v13.01_elf. Configuré el path como corresponde, incluso probe un sample que viene dentro y compila a la perfección.
Asi que por ahora descarto que sea esto. El problema creo yo que esta en el makefile. El cual es el siguiente
#
# SEGA SATURN Graphic library make file for GNU
# Modified May 4 2003 by Ex-Cyber
# Uncomment the GNUTARGET definition that matches your toolchain.
# sh-coff: For e.g. KPIT's GNUSH COFF toolchain.
# sh-elf: For e.g. a preexisting Dreamcast toolchain.
#GNUTARGET = sh-coff-
GNUTARGET = sh-elf-
CC = $(GNUTARGET)gcc
CXX = $(GNUTARGET)g++
LD = $(GNUTARGET)ld
CONV = $(GNUTARGET)objcopy
# The command to use for deleting files/directories.
RM = rm -R
#RM = deltree
#RM = del /s
DEVKIT = /home/facundo/Documents/SATURN
SGLDIR = $(DEVKIT)/SGL302J
SGLIDR = $(SGLDIR)/INC
SGLLDR = $(SGLDIR)/LIB
SBLDIR = $(DEVKIT)/SBL6
SBLIDR = $(SBLDIR)/SEGALIB/INCLUDE
SBLLDR = $(SBLDIR)/SEGALIB/LIB
OBJECTS = ./objects
# -D_PAR_UPLOAD_ to enable cdunlock needed when uploading the sw through PAR
# -D_352_CLOCK_ Enables 352xYYY resolution to set saturn clock speed to 28mhz, graphic stretching
# might cause some artifacts
# option
CCFLAGS = -D_SATURNPORT_ -D_PAR_UPLOAD_ -DSYS_BIG_ENDIAN -DBYPASS_PROTECTION -O2 -fno-rtti -fno-exceptions -m2 -c -I$(DEVKIT)/tooldir/include -I$(SRCDIR) -I$(SGLIDR) -I$(SBLIDR)
CXXFLAGS = -D_SATURNPORT_ -D_PAR_UPLOAD_ -DSYS_BIG_ENDIAN -DBYPASS_PROTECTION -O2 -fno-rtti -fno-exceptions -m2 -c -I$(DEVKIT)/tooldir/include -I$(SRCDIR) -I$(SGLIDR) -I$(SBLIDR)
# -m2 must be specified in LDFLAGS so the linker will search the SH2 lib dirs
# Specify path of libsgl.a by using "-L" option
# Sega's ld might not understand the --format command used here...
LDFLAGS = -m2 -L$(SGLLDR) -L$(SBLLDR) -Xlinker --strip-debug -Xlinker --format=coff-sh -Xlinker -T$(LDFILE) -Xlinker -Map \
-Xlinker $(MPFILE) -Xlinker -e -Xlinker ___Start -nostartfiles
DFLAGS =
# source_program
include $(OBJECTS)
TARGET = sl.elf
TARGET1 = sl.bin
LDFILE = $(CMNDIR)/saturn.lnk
MPFILE = $(TARGET:.elf=.map)
MAKEFILE = Makefile
all: $(TARGET) $(TARGET1)
# Use gcc to link so it will automagically find correct libs directory
$(TARGET) : $(SYSOBJS) $(OBJS) $(MAKEFILE) $(OBJECTS) $(LDFILE)
$(CXX) $(LDFLAGS) $(SYSOBJS) $(OBJS) $(LIBS) -o $@
$(TARGET1) : $(SYSOBJS) $(OBJS) $(MAKEFILE) $(LDFILE)
$(CONV) -O binary $(TARGET) $(TARGET1)
# Redundant linker script was here
# suffix
.SUFFIXES: .asm
.c.o:
ifndef GNUTARGET
@echo "You need to define GNUTARGET in Makefile.template."
@false
endif
ifndef SGLDIR
@echo "You need to define SGLDIR in Makefile.template."
@false
endif
$(CXX) $< $(DFLAGS) $(CXXFLAGS) -o $@
clean:
$(RM) $(OBJS) $(TARGET:.coff=.*)
Y por ultimo mis errores, que por lo que veo no encuentra definiciones en algunas clases "básicas" com cstring. Por lo que esta configurado esta utilizando g++. ¿Ha alguien le ha pasado esto?
facundo@facundo-VirtualBox:~/Desktop/REminiscence-saturn/saturnport$ make all
sh-elf-g++ -D_SATURNPORT_ -D_PAR_UPLOAD_ -DSYS_BIG_ENDIAN -DBYPASS_PROTECTION -O2 -fno-rtti -fno-exceptions -m2 -c -I/home/facundo/Documents/SATURN/tooldir/include -I../ -I/home/facundo/Documents/SATURN/SGL302J/INC -I/home/facundo/Documents/SATURN/SBL6/SEGALIB/INCLUDE -c -o ..//gfs_wrap.o ..//gfs_wrap.cpp
In file included from ..//intern.h:23:0,
from ..//systemstub.h:22,
from ..//gfs_wrap.cpp:14:
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstring:84:11: error: ‘::strcoll’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstring:87:11: error: ‘::strerror’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstring:93:11: error: ‘::strtok’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstring:94:11: error: ‘::strxfrm’ has not been declared
In file included from ..//intern.h:24:0,
from ..//systemstub.h:22,
from ..//gfs_wrap.cpp:14:
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:102:11: error: ‘::div_t’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:103:11: error: ‘::ldiv_t’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:105:11: error: ‘::abort’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:107:11: error: ‘::atexit’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:108:11: error: ‘::atof’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:111:11: error: ‘::bsearch’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:112:11: error: ‘::calloc’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:113:11: error: ‘::div’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:114:11: error: ‘::exit’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:115:11: error: ‘::free’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:116:11: error: ‘::getenv’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:117:11: error: ‘::labs’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:118:11: error: ‘::ldiv’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:119:11: error: ‘::malloc’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:121:11: error: ‘::mblen’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:122:11: error: ‘::mbstowcs’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:123:11: error: ‘::mbtowc’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:126:11: error: ‘::rand’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:127:11: error: ‘::realloc’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:128:11: error: ‘::srand’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:129:11: error: ‘::strtod’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:130:11: error: ‘::strtol’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:131:11: error: ‘::strtoul’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:132:11: error: ‘::system’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:134:11: error: ‘::wcstombs’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:135:11: error: ‘::wctomb’ has not been declared
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib: In function ‘long int std::abs(long int)’:
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:140:34: error: ‘labs’ was not declared in this scope
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib: At global scope:
/usr/share/gnush_v13.01_elf-1/lib/gcc/sh-elf/4.7-GNUSH_v13.01/../../../../sh-elf/include/c++/4.7-GNUSH_v13.01/cstdlib:142:10: error: ‘ldiv_t’ does not name a type
..//gfs_wrap.cpp: In function ‘GFS_FILE* sat_fopen(const char*)’:
..//gfs_wrap.cpp:125:32: error: ‘strtok’ was not declared in this scope
..//gfs_wrap.cpp:127:31: error: ‘strtok’ was not declared in this scope
..//gfs_wrap.cpp:131:47: error: ‘strtok’ was not declared in this scope
..//gfs_wrap.cpp:135:57: error: ‘strncasecmp’ was not declared in this scope
..//gfs_wrap.cpp: In function ‘char* sat_match(const char*)’:
..//gfs_wrap.cpp:236:32: error: ‘strtok’ was not declared in this scope
..//gfs_wrap.cpp:238:31: error: ‘strtok’ was not declared in this scope
..//gfs_wrap.cpp:241:47: error: ‘strtok’ was not declared in this scope
..//gfs_wrap.cpp:245:57: error: ‘strncasecmp’ was not declared in this scope
make: *** [..//gfs_wrap.o] Error 1
¿Me faltará algún include?
PD: Contacte con el developer original y me mando a freir churros (Me deseó suerte y que no tiene tiempo) :p