[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