I ran into some extra time tonight and put something together. Wasn't at all hard since I used NSByteOrder.h in base as a template.
The one thing I found weird is that none of the SwappedFloat functions in -base actually swap anything. It seems like they just return the same value. Richard, your name is on that file, can you confirm that that's correct? I'm still not sure what to do with the CFRuntime issue. Can anyone else suggest something? Stef On Thu, Jun 9, 2011 at 10:32 AM, Sebastian Reitenbach < [email protected]> wrote: > > On Thursday, June 9, 2011 17:22 CEST, Stefan Bidi <[email protected]> > wrote: > > > Fixing CFByteOrder is on my to-do list, but I won't be able to get to it > > until next week. I see what the problem is... it includes > > Foundation/NSByteOrder.h which, in turn, uses #import. > No hurry at all! > I only promised to report potential problems or success, unfortunately I > had to report problems. > > > > > Not sure what the second error is. Line 90 of CFRuntime.h is the > defintion > > of INIT_CFRUNTIME_BASE(), right? Is this a problem because of the "..." > > argument? Does gcc-2.95 not recognize this? > yes, I guess that's the problem. IIRC, I've seen the problems with ... > somewhere else too, with regard to gcc-2.95. > > cheers, > Sebastian > > > > > On Thu, Jun 9, 2011 at 8:28 AM, Sebastian Reitenbach < > > [email protected]> wrote: > > > > > Hi, > > > > > > I run into a weird error, where I don't know where it comes from when I > try > > > to compile corebase from svn on OpenBSD sparc, using gcc-2.95. I get > the > > > following error message: > > > > > > Making all for library libgnustep-corebase... > > > cc CFByteOrder.c -c \ > > > -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 > -DGNU_RUNTIME=1 > > > -DGNUSTEP_BASE_LIBRARY=1 -D_REENTRANT -fPIC -Wall -DGSWARN -DGSDIAGNOSE > > > -Wno-import -fno-stack-protector -I../Headers -I. -I/usr/local/include > > > -I/home/sebastia/GNUstep/Library/Headers -I/usr/local/include \ > > > -o obj/libgnustep-corebase.obj/CFByteOrder.c.o > > > In file included from ../Headers/CoreFoundation/CFBase.h:33, > > > from ../Headers/CoreFoundation/CFByteOrder.h:30, > > > from CFByteOrder.c:27: > > > /usr/local/include/GNUstepBase/GSVersionMacros.h:31: undefined or > invalid # > > > directive > > > In file included from CFByteOrder.c:28: > > > /usr/local/include/Foundation/NSByteOrder.h:27: undefined or invalid # > > > directive > > > /usr/local/include/Foundation/NSByteOrder.h:29: undefined or invalid # > > > directive > > > /usr/local/include/Foundation/NSByteOrder.h:65: syntax error before > > > `GSSwapI128' > > > /usr/local/include/Foundation/NSByteOrder.h:65: syntax error before > `in' > > > /usr/local/include/Foundation/NSByteOrder.h:65: warning: type defaults > to > > > `int' in declaration of `GSSwapI128' > > > /usr/local/include/Foundation/NSByteOrder.h:65: warning: data > definition > > > has no type or storage class > > > /usr/local/include/Foundation/NSByteOrder.h:74: syntax error before > > > `GSSwapBigI128ToHost' > > > /usr/local/include/Foundation/NSByteOrder.h:74: syntax error before > `in' > > > /usr/local/include/Foundation/NSByteOrder.h:74: warning: type defaults > to > > > `int' in declaration of `GSSwapBigI128ToHost' > > > /usr/local/include/Foundation/NSByteOrder.h:74: warning: data > definition > > > has no type or storage class > > > /usr/local/include/Foundation/NSByteOrder.h:83: syntax error before > > > `GSSwapHostI128ToBig' > > > /usr/local/include/Foundation/NSByteOrder.h:83: syntax error before > `in' > > > ... many more syntax errors... > > > > > > The undefined or invalid # directive is a normal #import <> statement. > > > The problem is that gcc-2.95 treats the *.c files as c, and there is no > > > #import, when I add ADDITIONAL_CFLAGS=-x objective-c then it adds it > more at > > > the end of the compiler invocation, and I get this: > > > > > > cc CFByteOrder.c -c \ > > > -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 > -DGNU_RUNTIME=1 > > > -DGNUSTEP_BASE_LIBRARY=1 -D_REENTRANT -fPIC -g -DDEBUG > > > -fno-omit-frame-pointer -Wall -DGSWARN -DGSDIAGNOSE -Wno-import > > > -fno-stack-protector -x objective-c -I../Headers -I. > -I/usr/local/include > > > -I/gnustep-corebase-0.1_writes_to_HOME/GNUstep/Library/Headers > > > -I/usr/local/include \ > > > -o obj/libgnustep-corebase.obj/CFByteOrder.c.o > > > cc: Warning: `-x objective-c' after last input file has no effect > > > > > > So I defined CC="cc -x objective-c", then it seems to take the input > file > > > as objective-c and is able to handle the #import, but now I run into > the > > > following trouble: > > > > > > ===> Building for gnustep-corebase-0.1 > > > This is gnustep-make 2.6.1. Type 'gmake print-gnustep-make-help' for > help. > > > Running in gnustep-make version 2 strict mode. > > > Making all in Source ... > > > gmake[1]: Entering directory > > > `/home/ports/pobj/gnustep-corebase-0.1/corebase-0.1/Source' > > > Making all for library libgnustep-corebase... > > > cc -x objective-c CFCalendar.c -c \ > > > -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 > -DGNU_RUNTIME=1 > > > -DGNUSTEP_BASE_LIBRARY=1 -D_REENTRANT -fPIC -g -DDEBUG > > > -fno-omit-frame-pointer -Wall -DGSWARN -DGSDIAGNOSE -Wno-import > > > -fno-stack-protector -x objective-c -I../Headers -I. > -I/usr/local/include > > > -I/gnustep-corebase-0.1_writes_to_HOME/GNUstep/Library/Headers > > > -I/usr/local/include \ > > > -o obj/libgnustep-corebase.obj/CFCalendar.c.o > > > cc: Warning: `-x objective-c' after last input file has no effect > > > In file included from CFCalendar.c:31: > > > ../Headers/CoreFoundation/CFRuntime.h:90: warning: invalid character in > > > macro parameter name > > > ../Headers/CoreFoundation/CFRuntime.h:90: badly punctuated parameter > list > > > in `#define' > > > gmake[4]: *** [obj/libgnustep-corebase.obj/CFCalendar.c.o] Error 1 > > > gmake[3]: *** [internal-library-all_] Error 2 > > > gmake[2]: *** [libgnustep-corebase.all.library.variables] Error 2 > > > gmake[1]: *** [internal-all] Error 2 > > > gmake[1]: Leaving directory > > > `/home/ports/pobj/gnustep-corebase-0.1/corebase-0.1/Source' > > > gmake: *** [internal-all] Error 2 > > > *** Error code 2 > > > > > > Then I thought I can trick gcc using -D#import=#include, but I then I > got > > > malformed option `-D #import=#include' warning, and then I tried with > > > removed # -Dimport=include, but then I get the original error message > again, > > > it seems to ignore the -D. > > > > > > any ideas what I can try now to get it to compile with gcc-2.95 would > be > > > appreciated, sine I now ran about out of ideas. > > > > > > > > > Sebastian > > > > > > > >
_______________________________________________ Discuss-gnustep mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnustep
