[Scummvm-devel] LUA on WinCE and PS2

Ismail Khatib ikhatib at gmail.com
Tue May 17 10:48:29 CEST 2011


I have checked the current compilation problem of the WinCE branch
yesterday, and again I have a question about how to handle this.
Compilation fails with "error: 'tmpfile' was not declared in this scope"
because tmpfile() is not available on WinCE. Should this problem be
adressed in the engine, or in the port's backend?
I'm asking this again in this special case because one could say
"tmpfile()" _is_ (if its not WinCE) normally portable, because it should
be defined in (c)stdio(.h) and it's also (AFAIK) part of ISO C/POSIX.

Hm. Now when I think about this a bit longer, this could also be said
about "errno" and friends. So what to do? Is this again a case for the
engine maintainer?

Regards,
Cerial

On 5/16/2011 11:21 AM, Ismail Khatib wrote:
> I had an email conversation (or was it IRC? don't remember) with Max
> about this some weeks ago, because on my development machine
> I had libpng for WinCE available and hence configure/make tried to build
> sword25 but failed with the error that error.h could not be found (which
> is completety correct, as WinCE doesn't have this). We came to the
> conclusion that this should be fixed in the engine (my current local
> setup now contains "--disable-sword25" because of this).
> I will check what the particular problem is this night, and will fix
> this if it should be fixable in the WinCE backend.
>
> Regards,
> Cerial
>
> On 5/15/2011 7:37 PM, Filippos Karapetis wrote:
>> The sword25 engine compiles now for PS2, but still fails for WinCE. I
>> am going to be away for work during next week, so if anyone wants to
>> have a look at this in the meantime, feel free to :)
>>
>> Regards
>> Filippos
>>
>> On Saturday, May 14, 2011, Max Horn <max at quendi.de> wrote:
>>> The port is not to blame when lua is using non-portable APIs, as has been mentioned here on several occasions. So, to solve this, don't add compatibility layers to the ports (eg a fake errno.h), the sword25 code should be made portable.
>>>
>>> Max
>>> Am 14.05.2011 um 11:43 schrieb Filippos Karapetis <bluegr at gmail.com>:
>>>
>>> Hello
>>> I've recently dropped the libpng requirement for the sword25 engine. This allowed the engine to be compiledfor the majority of platforms we support (with a few patches here and there). However, the engine (and in
>>> particular, the LUA library it uses) fails to compile under WinCE and PS2, and I would like some opinionson how to handle them.
>>> PS2: The errors there seem... odd. Seems like there's some weird problem with libc. Can the PS2 porter
>>> supply more information on them?/opt/toolchains/ps2/tools/ee/lib/gcc-lib/ee/3.2.2/../../../../ee/lib/libc.a(unlinkr.o)(.text+0x1c): In function `_unlink_r':../../../../../newlib/libc/reent/unlinkr.c:54: undefined reference to `unlink'
>>> /opt/toolchains/ps2/tools/ee/lib/gcc-lib/ee/3.2.2/../../../../ee/lib/libc.a(linkr.o)(.text+0x24): In function `_link_r':../../../../../newlib/libc/reent/linkr.c:61: undefined reference to `link'
>>>
>>> Also, there are tons of warnings like these:In file included from ../../src-master/src/engines/sword25/sword25.cpp:46:../../src-master/src/engines/sword25/kernel/kernel.h:73: warning: `class
>>>    Sword25::Kernel' only defines a private destructor and has no friends
>>> There's a comment inside that class that the constructor and destructor are private to make the class
>>> a singleton... this sounds odd to me. Why create a singleton in this manner inside engine code in the first place?
>>> Now, concerning WinCE... AFAIK, this port misses a ton of headers from the standard C library.
>>> The current error thrown is that errno.h is missing. According to a post I found while Googling, we could use aminimal errno.h:http://mailman.videolan.org/pipermail/vlc-devel/2009-November/068586.html
>>> and the minimal errno.h can be found at:http://altair.videolan.org/~linkfanel/errno
>>> Is the aforementioned solution viable? What else is missing from WinCE?
>>>
>>> RegardsFilippos
>>> --
>>> "Experience is the name every one gives to their mistakes" - Oscar Wilde
>>>
>>> ------------------------------------------------------------------------------
>>> Achieve unprecedented app performance and reliability
>>> What every C/C++ and Fortran developer should know.
>>> Learn how Intel has extended the reach of its next-generation tools
>>> to help boost performance applications - inlcuding clusters.
>>> http://p.sf.net/sfu/intel-dev2devmay_______________________________________________
>>> 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