[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
GNUstep on 64 bit Windows - Patch for gnustep base submitted
From: |
Roland Schwingel |
Subject: |
GNUstep on 64 bit Windows - Patch for gnustep base submitted |
Date: |
Mon, 17 Nov 2008 15:19:24 +0100 |
User-agent: |
Thunderbird 2.0.0.17 (Windows/20080914) |
Hi...
A few days ago, I already submitted the patch for gnustep libobjc to run
on windows 64bit.
Here is now the patch for gnustep-base (I wanted to give a bit more testing)
The patch for gnustep-base is patch #6677 in savannah's patch manager.
It requires the toolchain from November 15th to be buildt
(there were some fixes/extensions required to get gnustep working.)
If you want to compile on your own get it from:
http://mingw-w64.sourceforge.net/
The patch mainly adresses general gcc4.4 issues. Only around 25% of the
patch
are windows 64bit specific. The whole patch is quite trivial and it
should be easy
to be applied. The patch is relative to GNUstep's svn from revision 27063.
With this patch basically everything is working now for 64bit windows, even
we yet haven't done testing for all classes, but most of our code
already runs
now on windows 64bit. But testing has to continue for a longer time to
verify
that EVERYTHING runs fine. I will send new patches as we encounter/fix
new problems.
There is just on thing left which should be done to make GNUstep fully happy
for 64bit windows/systems in general ... I will outline it now briefly:
On linxu/mac 64bit long is defined to be 64bit, too. On Windows this is not
the case. Long stays 32bit, even on 64bit. This and the circumstance that
many methods/classes are using unsigned as storage class for sizes limit
gnustep's ability to eg. pack a 10 GB image into a NSData instance.
+[NSData dataWithBytes:length:] has an unsigned int defined for the length
parameter. This is a problem not only for NSData, for nearly
any class is this a problem! The source for this is the initial OpenStep
spec. There all methods were defined to be of that size. Changing this
implies a break in spec compatibility.
Apple has defined NSInteger/NSUInteger with Mac OS 10.5 and also has
changed the method signatures for ALL classes showing these limitations.
I have seen you have already started to also define these datatypes
and to slowly use it. IMHO the whole gnustep should also be adapted to
use NSInteger/NSUInteger to on one side be method compatible with
Mac OS X and on the other side to fully use the potential of
64bit cpus/operating systems.
Are there any plans/schedules to also do the NSInteger/NSUInteger
transistion?
IMHO it should be done the sooner the better.
i.A. Roland Schwingel
--
OneVision Software Entwicklungs GmbH & Co. KG, Dr.-Leo-Ritter-Strasse 9,
93049 Regensburg
Sitz der Gesellschaft: Regensburg, Handelsregister: HRA 6744,
Amtsgericht Regensburg
Persönlich haftende Gesellschafterin: OneVision Software Entwicklungs
Verwaltungs GmbH
Dr.-Leo-Ritter-Strasse 9, 93049 Regensburg Sitz der Gesellschaft:
Regensburg Handelsregister: HRB 8932,
Amtsgericht Regensburg Geschäftsführerin: Manuela Kluger