[Scummvm-cvs-logs] SF.net SVN: scummvm:[50732] scummvm/branches/gsoc2010-plugins/backends
toneman1138 at users.sourceforge.net
toneman1138 at users.sourceforge.net
Wed Jul 7 03:55:12 CEST 2010
Revision: 50732
http://scummvm.svn.sourceforge.net/scummvm/?rev=50732&view=rev
Author: toneman1138
Date: 2010-07-07 01:55:11 +0000 (Wed, 07 Jul 2010)
Log Message:
-----------
various fixes for ds dynamic plugins
Modified Paths:
--------------
scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/makefile
scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/source/dsloader.cpp
scummvm/branches/gsoc2010-plugins/backends/platform/ds/makefile
scummvm/branches/gsoc2010-plugins/backends/platform/ds/module.mk
scummvm/branches/gsoc2010-plugins/backends/plugins/ds/ds-provider.cpp
Added Paths:
-----------
scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/source/plugin.syms
Modified: scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/makefile
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/makefile 2010-07-07 01:05:32 UTC (rev 50731)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/makefile 2010-07-07 01:55:11 UTC (rev 50732)
@@ -5,7 +5,7 @@
libndsdir = $(DEVKITPRO)/libnds
#libndsdir = /home/neil/devkitpror21/libnds
-ifdef DYNAMIC_MODULES
+ifeq ($(DYNAMIC_MODULES),1)
ENABLED = DYNAMIC_PLUGIN
else
ENABLED = STATIC_PLUGIN
@@ -81,7 +81,7 @@
ifdef DS_BUILD_K
else
- USE_MAD = 1
+ #USE_MAD = 1
endif
endif
endif
@@ -208,7 +208,6 @@
#endif
ARM7BIN := -7 $(CURDIR)/../../arm7/arm7.bin
-ICON := -b ../../../logo.bmp "ScummVM;By Neil Millstone;"
CC = arm-eabi-gcc
CXX = arm-eabi-g++
@@ -254,9 +253,6 @@
DEFINES += -DREDUCE_MEMORY_USAGE
-# Removed, as these are done in portdefs.h
-# -DDISABLE_TEXT_CONSOLE -DDISABLE_COMMAND_LINE
-
LDFLAGS = -specs=ds_arm9.specs -mthumb-interwork -mno-fpu -Wl,-Map,map.txt -Wl,--gc-sections
ifdef WRAP_MALLOC
@@ -269,6 +265,7 @@
-I$(portdir)/source -I$(portdir)/source/mad -I$(portdir)/source/libcartreset \
-I$(libndsdir)/include -include $(srcdir)/common/scummsys.h
+CXX_UPDATE_DEP_FLAG = -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d",-MQ,"$@",-MP
LIBS = -lm -L$(libndsdir)/lib -L$(portdir)/lib -lnds9
ifdef USE_MAD
@@ -282,8 +279,8 @@
EXECUTABLE = scummvm.elf
PLUGIN_PREFIX =
PLUGIN_SUFFIX = .plg
-PLUGIN_EXTRA_DEPS = plugin.ld plugin.syms scummvm.elf
-PLUGIN_LDFLAGS = -nostartfiles -Wl,-q,-Tplugin.ld,--just-symbols,scummvm.elf,--retain-symbols-file,plugin.syms
+PLUGIN_EXTRA_DEPS = $(portdir)/plugin.ld $(portdir)/plugin.syms $(EXECUTABLE)
+PLUGIN_LDFLAGS = -nostartfiles -Wl,-q,-T$(portdir)/plugin.ld,--just-symbols,$(EXECUTABLE),--retain-symbols-file,$(portdir)/plugin.syms -lstdc++ -lc
MKDIR = mkdir -p
RM = rm -f
RM_REC = rm -rf
@@ -293,7 +290,7 @@
AS = arm-eabi-as
HAVE_GCC3 = true
-ifdef DYNAMIC_MODULES
+ifeq ($(DYNAMIC_MODULES),1)
DEFINES += -DDYNAMIC_MODULES
PRE_OBJS_FLAGS = -Wl,--whole-archive
POST_OBJS_FLAGS = -Wl,--no-whole-archive
@@ -301,14 +298,11 @@
PORT_OBJS := $(portdir)/source/blitters_arm.o $(portdir)/source/cdaudio.o $(portdir)/source/dsmain.o \
$(portdir)/../../../fs/ds/ds-fs.o $(portdir)/source/gbampsave.o $(portdir)/source/scummhelp.o\
- $(portdir)/source/osystem_ds.o $(portdir)/source/portdefs.o $(portdir)/source/ramsave.o\
+ $(portdir)/source/osystem_ds.o $(portdir)/source/ramsave.o\
$(portdir)/source/touchkeyboard.o $(portdir)/source/zipreader.o\
$(portdir)/source/dsoptions.o $(portdir)/source/keys.o $(portdir)/source/wordcompletion.o\
- $(portdir)/source/interrupt.o
-
-ifdef DYNAMIC_MODULES
- PORT_OBJS += $(portdir)/source/dsloader.o
-endif
+ $(portdir)/source/interrupt.o\
+ $(portdir)/source/dsloader.o
ifdef USE_PROFILER
PORT_OBJS += $(portdir)/source/profiler/cyg-profile.o
@@ -365,10 +359,8 @@
OBJS := $(DATA_OBJS) $(LIBCARTRESET_OBJS) $(PORT_OBJS) $(COMPRESSOR_OBJS) $(FAT_OBJS)
+MODULE_DIRS += ./
-
-MODULE_DIRS += .
-
ndsall:
@[ -d $(BUILD) ] || mkdir -p $(BUILD)
make -C ./$(BUILD) -f ../makefile scummvm.nds
@@ -489,6 +481,7 @@
#---------------------------------------------------------------------------------
# FIXME: The following rule hardcodes the input & output filename -- shouldn't it use $< and $@ instead?
+
%.bin: %.elf
$(OBJCOPY) -S scummvm.elf scummvm-stripped.elf
$(OBJCOPY) -O binary scummvm-stripped.elf scummvm.bin
Modified: scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/source/dsloader.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/source/dsloader.cpp 2010-07-07 01:05:32 UTC (rev 50731)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/source/dsloader.cpp 2010-07-07 01:55:11 UTC (rev 50732)
@@ -33,7 +33,7 @@
#include <unistd.h>
#include <sys/fcntl.h>
-#include "backends/platform/ds/dsloader.h"
+#include "backends/platform/ds/arm9/source/dsloader.h"
#define __DS_DEBUG_PLUGINS__
Added: scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/source/plugin.syms
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/source/plugin.syms (rev 0)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/source/plugin.syms 2010-07-07 01:55:11 UTC (rev 50732)
@@ -0,0 +1,8 @@
+PLUGIN_getVersion
+PLUGIN_getType
+PLUGIN_getTypeVersion
+PLUGIN_getObject
+___plugin_ctors
+___plugin_ctors_end
+___plugin_dtors
+___plugin_dtors_end
Property changes on: scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/source/plugin.syms
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Modified: scummvm/branches/gsoc2010-plugins/backends/platform/ds/makefile
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/ds/makefile 2010-07-07 01:05:32 UTC (rev 50731)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/ds/makefile 2010-07-07 01:55:11 UTC (rev 50732)
@@ -1,8 +1,6 @@
#SUBDIRS:= `ls | egrep -v '^(CVS|tools)$$'`
-
-
export PATH := $(DEVKITARM)/bin:$(PATH)
export portdir = $(CURDIR)/arm9
Modified: scummvm/branches/gsoc2010-plugins/backends/platform/ds/module.mk
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/ds/module.mk 2010-07-07 01:05:32 UTC (rev 50731)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/ds/module.mk 2010-07-07 01:55:11 UTC (rev 50732)
@@ -12,23 +12,15 @@
arm9/source/gbampsave.o \
arm9/source/scummhelp.o \
arm9/source/osystem_ds.o \
- arm9/source/portdefs.o \
arm9/source/ramsave.o \
arm9/source/touchkeyboard.o \
arm9/source/zipreader.o \
arm9/source/dsoptions.o \
arm9/source/keys.o \
arm9/source/wordcompletion.o \
- arm9/source/interrupt.o
+ arm9/source/interrupt.o \
+ arm9/source/dsloader.o
-ifdef USE_PROFILER
- PORT_OBJS += arm9/source/profiler/cyg-profile.o
-endif
-
-ifdef DYNAMIC_MODULES
- PORT_OBJS += arm9/source/dsloader.o
-endif
-
DATA_OBJS := \
arm9/data/icons.o \
arm9/data/keyboard.o \
@@ -59,17 +51,71 @@
# arm9/source/fat/io_sd_common.o arm9/source/fat/io_scsd_s.o \
# arm9/source/fat/io_sc_common.o arm9/source/fat/io_sd_common.o
-LIBCARTRESET_OBJS :=
- #arm9/source/libcartreset/cartreset.o
+LIBCARTRESET_OBJS := \
+# arm9/source/libcartreset/cartreset.o
-MODULE_OBJS :=
+#MODULE_OBJS := $(PORT_OBJS) $(DATA_OBJS) $(FAT_OBJS)
+MODULE_OBJS := $(DATA_OBJS) $(LIBCARTRESET_OBJS) $(PORT_OBJS) $(COMPRESSOR_OBJS) $(FAT_OBJS)
+#---------------------------------------------------------------------------------
+# canned command sequence for binary data
+#---------------------------------------------------------------------------------
+define bin2o
+ $(MKDIR) $(*D)
+ bin2s $< | $(AS) -mthumb -mthumb-interwork -o $(@)
+endef
-# TODO: Should add more dirs to MODULE_DIRS so that "make distclean" can remove .deps dirs.
+define bin2h
+ $(MKDIR) $(*D)
+ echo "extern const u8" `(echo $(<F) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`"_end[];" > $@
+ echo "extern const u8" `(echo $(<F) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`"[];" >> $@
+ echo "extern const u32" `(echo $(<F) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`_size";" >> $@
+endef
+
+vpath %.raw $(srcdir)
+vpath %.pal $(srcdir)
+vpath %.bin $(srcdir)
+
+%.o: %.raw
+ $(bin2o)
+
+%_raw.h: %.raw
+ $(bin2h)
+
+%.o: %.pal
+ $(bin2o)
+
+%_raw.h: %.pal
+ $(bin2h)
+
+%.o: %.bin
+ $(bin2o)
+
+%_raw.h: %.bin
+ $(bin2h)
+
+
+# Mark files which require the *_raw.h files manually (for now, at least)
+$(MODULE)/arm9/source/dsmain.o: \
+ $(MODULE)/arm9/data/icons_raw.h \
+ $(MODULE)/arm9/data/keyboard_raw.h \
+ $(MODULE)/arm9/data/keyboard_pal_raw.h
+
+$(MODULE)/arm9/source/touchkeyboard.o: \
+ $(MODULE)/arm9/data/keyboard_raw.h \
+ $(MODULE)/arm9/data/keyboard_pal_raw.h \
+ $(MODULE)/arm9/data/8x8font_tga_raw.h
+
+
MODULE_DIRS += \
- backends/platform/ds/
+ backends/platform/ds/ \
+ backends/platform/ds/arm7/source/ \
+ backends/platform/ds/arm7/source/libcartreset/ \
+ backends/platform/ds/arm9/source/ \
+ backends/platform/ds/arm9/source/fat/ \
+ backends/platform/ds/arm9/source/libcartreset/
# We don't use the rules.mk here on purpose
OBJS := $(addprefix $(MODULE)/, $(MODULE_OBJS)) $(OBJS)
Modified: scummvm/branches/gsoc2010-plugins/backends/plugins/ds/ds-provider.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/plugins/ds/ds-provider.cpp 2010-07-07 01:05:32 UTC (rev 50731)
+++ scummvm/branches/gsoc2010-plugins/backends/plugins/ds/ds-provider.cpp 2010-07-07 01:55:11 UTC (rev 50732)
@@ -29,7 +29,7 @@
#include "backends/plugins/dynamic-plugin.h"
#include "common/fs.h"
-#include "backends/platform/ds/dsloader.h"
+#include "backends/platform/ds/arm9/source/dsloader.h"
class DSPlugin : public DynamicPlugin {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list