[Scummvm-devel] RE : Re: RE : Re: Memory/speed loss in scumm engine

Max Horn max at quendi.de
Thu Apr 3 12:01:20 CEST 2008


Am Do, 3.04.2008, 00:31, schrieb Neil Millstone:
>

[...]
> So, the problem must have been introduced in revision 30473.  This is a
> seemingly minor change to the build system.  The build system on the DS
> port is odd, having had some hacks to work around some bugs in Devkitpro
> in the past, and my knowledge of makefiles is pretty poor.  But looking
> at the diff, I changed all occurances of the following:
>
> .cpp.o:
>
> to:
>
> %.o:%.cpp
>
> And all my problems went away!  I really don't know why, but that seems
> to have fixed both the big binary issue and the speed issues.
>

Ahhh, that explains a lot :). The reason is the precedence of "catch all"
rules like the above. The modern pattern based "%.o: %.cpp" has a higher
priority than the old style ".cpp.o". As a result, after the change to the
base build system, the custom DS build rule was not invoked anymore.

The fact that the DS ports uses a hacked up compile rule which differs
from our usual one is likely to cause more problems in the future. it
would be helpful to all, I guess, if we could find a way to get rid of it.
But right now, I see none :/

Oh, and it still compiles every source file twice. Is that really
necessary? One of the patches I sent to Neil long ago merged the two lines
(it's trivial to do), so that you got both the advanced dependency
tracking *and* the filter for the optimization settings.


Cheers,
Max




More information about the Scummvm-devel mailing list