[Scummvm-devel] ScummVM 0.12.0: Release status -- 2008-07-13

Begasus Begasus at skynet.be
Mon Jul 14 14:20:34 CEST 2008


On 2008-07-14 at 09:20:27 [+0000], Max Horn <max at quendi.de> wrote:
> 
> Am 14.07.2008 um 12:46 schrieb Begasus:
> 
> > Forgot to add the BeOS port. ;)
> >
> > Just downloaded the latest svn repo (up to rev 33056) and did a make
> > in the
> > source.
> >
> > I just have a problem with the new plugin type (got the same problem
> > as
> > with the MSVC hack earlier it seems)
> 
> Could you be a bit more specific? What problem/error do you get? We
> can try to help, but only if we know a bit more :)
> 

Without the hack I'm getting parse errors for all the lines in plugins.cpp 
(PLUGIN_ENABLED_STATIC)

/boot/home/Desktop/develop/scummvm/base/plugins.cpp:89: `defined' without 
an identifier
/boot/home/Desktop/develop/scummvm/base/plugins.cpp:89: `defined' without 
an identifier
/boot/home/Desktop/develop/scummvm/base/plugins.cpp:89: parse error

If I only do a 'small hack' on the PLUGIN_ENABLED_STATIC I still have a 
problem with the PLUGIN_ENABLED_DYNAMIC in the detection.cpp files in the 
engines sources.

/boot/home/Desktop/develop/scummvm/engines/scumm/detection.cpp:969: 
`defined' without an identifier
/boot/home/Desktop/develop/scummvm/engines/scumm/detection.cpp:969: parse 
error
make: *** [engines/scumm/detection.o] Error 1

With the both hacks I am getting undefined errors when linking the build at 
the end.

g++  -L/boot/home/config/lib  backends/platform/sdl/events.o 
backends/platform/sdl/graphics.o backends/platform/sdl/main.o 
backends/platform/sdl/sdl.o base/libbase.a engines/scumm/libscumm.a 
engines/agi/libagi.a engines/agos/libagos.a engines/cine/libcine.a 
engines/drascula/libdrascula.a engines/gob/libgob.a engines/kyra/libkyra.a 
engines/lure/liblure.a engines/parallaction/libparallaction.a 
engines/queen/libqueen.a engines/saga/libsaga.a engines/sky/libsky.a 
engines/sword1/libsword1.a engines/sword2/libsword2.a 
engines/touche/libtouche.a gui/libgui.a graphics/libgraphics.a 
sound/libsound.a common/libcommon.a engines/libengines.a 
backends/libbackends.a sound/softsynth/mt32/libmt32.a   -lbind -lsocket   
-lvorbisfile -lvorbis -logg   -lFLAC -logg  -lmad  -lz  -lmpeg2 
-L/boot/home/config/lib -lSDL -o scummvm
base/libbase.a(plugins.o)(.StaticPluginProvider::gnu.linkonce.t.getPlugins(v
oid)+0x1ac): In function `StaticPluginProvider::getPlugins(void)':
: undefined reference to `g_CRUISE_type'
base/libbase.a(plugins.o)(.StaticPluginProvider::gnu.linkonce.t.getPlugins(v
oid)+0x1b4): In function `StaticPluginProvider::getPlugins(void)':
: undefined reference to `g_CRUISE_getObject(void)'
base/libbase.a(plugins.o)(.StaticPluginProvider::gnu.linkonce.t.getPlugins(v
oid)+0x2d1): In function `StaticPluginProvider::getPlugins(void)':
: undefined reference to `g_IGOR_type'
base/libbase.a(plugins.o)(.StaticPluginProvider::gnu.linkonce.t.getPlugins(v
oid)+0x2d9): In function `StaticPluginProvider::getPlugins(void)':
: undefined reference to `g_IGOR_getObject(void)'
base/libbase.a(plugins.o)(.StaticPluginProvider::gnu.linkonce.t.getPlugins(v
oid)+0x3f7): In function `StaticPluginProvider::getPlugins(void)':
: undefined reference to `g_M4_type'
base/libbase.a(plugins.o)(.StaticPluginProvider::gnu.linkonce.t.getPlugins(v
oid)+0x3ff): In function `StaticPluginProvider::getPlugins(void)':
: undefined reference to `g_M4_getObject(void)'
base/libbase.a(plugins.o)(.StaticPluginProvider::gnu.linkonce.t.getPlugins(v
oid)+0x45f): In function `StaticPluginProvider::getPlugins(void)':
: undefined reference to `g_MADE_type'
base/libbase.a(plugins.o)(.StaticPluginProvider::gnu.linkonce.t.getPlugins(v
oid)+0x467): In function `StaticPluginProvider::getPlugins(void)':
: undefined reference to `g_MADE_getObject(void)'
collect2: ld returned 1 exit status
make: *** [scummvm] Error 1

This is done for every engine that is listed in plugins.cpp (that is not 
build - despite not being enabled in config.mk).

Hope this helps a bit. 

> >
> > added the next lines in plugins.h to get the build going. This however
> > bypasses the detection of the plugin and the ones not enabled (m4,
> > made
> > ...) will give undefined references when linking the build at the end.
> > Manualy diving into plugins.cpp to commenting the lines out will
> > make the
> > build succesfully.
> >
> > // BeOS hack
> > #ifdef __BEOS__
> > #undef PLUGIN_ENABLED_STATIC
> > #define PLUGIN_ENABLED_STATIC(ID) 1
> > #endif
> >
> >
> > // BeOS hack
> > #ifdef __BEOS__
> > #undef PLUGIN_ENABLED_DYNAMIC
> > #define PLUGIN_ENABLED_DYNAMIC(ID) 0
> > #endif
> 
> Well, that just turns all engines always on, as static plugins. That's
> a pretty hackish "solution". So, it would be preferable to find a
> cleaner solution. As a first step, though, we'll need to know the
> problem you are trying to solve... :)
> 
> Anyway, in the very worst case, we can solve any problems with
> PLUGIN_ENABLED_STATIC by replacing the elegant
>    #if PLUGIN_ENABLED_STATIC(AGI)
> by the repetitive but definitely portable
>    #if defined(ENABLE_AGI) && !((ENABLE_AGI == DYNAMIC_PLUGIN) &&
> defined(DYNAMIC_MODULES))
> 
> 
> 
> >
> >
> > All in all with some manual work the build is uptodate for BeOS/ZETA/
> > Haiku
> > I would say.
> 
> OK!
> 
> Max
> 
> -------------------------------------------------------------------------
> Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
> Studies have shown that voting for your favorite open source project,
> along with a healthy diet, reduces your potential for chronic lameness
> and boredom. Vote Now at http://www.sourceforge.net/community/cca08
> _______________________________________________
> Scummvm-devel mailing list
> Scummvm-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/scummvm-devel




More information about the Scummvm-devel mailing list