[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gnustep-base-1.7.3 on Windows
From: |
Adam Fedor |
Subject: |
Re: gnustep-base-1.7.3 on Windows |
Date: |
Mon, 22 Sep 2003 09:47:32 -0600 |
On Saturday, September 20, 2003, at 09:10 AM, Carl Eugen Hoyos wrote:
I tested the gnustep base library 1.7.3 on Windows (XPProSP1), using
MinGW32 (MSYS-1.0.9 & MinGW-3.1.0-1) and cygwin (1.5.4), where I think
it
wasn't possible to produce executables before ;-)
To compile the base library on cygwin (gcc-3.3.1 with threads=posix), I
had to add -DBUILD_libgnustep_base_DLL=1 to the compiler options in
subdirectory Additions.
That's already in the Additions/Makefile.preamble. Are you sure it
wasn't in you build? I wonder why...
I compiled the base library on cygwin and mingw32 with libffi and
ffcall.
Both don't work perfectly, but the first problem is that
libgnustep-base.def doesn't know about libffi: configure should care if
it's libffi or ffcall!
The second problem with libgnustep-base.def is that for cygwin,
NSConcreteWindowsTask has to be changed into NSConcreteUnixTask.
Yes, libgnustep-base.def should be built at compile time. It should be
easy enough to do, but I haven't had time to put in the Makefile code
for it.
On cygwin, awake shows an error which also occurs with the following
tests: basic, call, containers, nsarchiver, nscharacterset, nsdata,
nsdate, nsfilemanager, nsnotification, nsprocessinfo, nsscanner,
nstask,
nstimer, nstimezone, string, thread, values.
[snip]
GNUSTEP Error:
A call to NSProcessInfo +initializeWithArguments:... must be made
as the first ObjC statment in main. This function is used to
establish the argv and environment variables.
On cyginw, the fake-main hack does not work, so I forced another
method, called pass-arguments to be used, where you need to have a line
like:
#ifdef GS_PASS_ARGUMENTS
[NSProcessInfo initializeWithArguments: argv count: argc environment:
env];
#endif
in main. MINGW uses some special Windows functions to get command line
arguments. I wonder if cygwin could use those as well?
Thanks for the testing...