Defining -DOS_OBJECT_HAVE_OBJC_SUPPORT=1 in the ${TOOL_NAME}_CPPFLAGS variable in GNUmakefile successfully navigated that set of tests, and then it fell over because dispatch.h #includes <objc/NSObject.h> rather than <Foundation/NSObject.h>. A symlink fixed that :)
So now Server.m compiles. There’s still quite a long way to go to see if it works, apparently we don’t have NS{Mutable}OrderedSet in GNUstep just yet, so I’ll mock one up with an NS{Mutable}Array and an NS{Mutable}Set and see where it barfs next :)
The board that’s running all this is one of these - I still find it kind of amazing that something this small can run “Cocoa” apps :)
Cheers! Simon
David On 23/05/2019 15:13, Simon Gornall wrote: [I posted this in gnu.gnustep.discuss, but then realised that the last post before mine was back in January. Posting here where there’s more traffic :)] Hi all, So I've just installed Debian (Sid) and got GNUstep installed with runtime 2.0 / clang-8 etc. by following http://wiki.gnustep.org/index.php/Building_GNUstep_under_Debian_FreeBSD#libdispatch <http://wiki.gnustep.org/index.php/Building_GNUstep_under_Debian_FreeBSD#libdispatch> As far as I can tell, it all worked fine. I got a few tests fail where the above link didn't mention, but they seemed to be to do with Objc++, and I'm not planning on using that. I put that down to running sid. I have a project that compiles on my Mac, and I'm trying to port it over - part of it is a web-socket service, which uses libdispatch and blocks to process the data streams. On the Mac, there aren't any warnings. On the linux box, I get: nano:~/src/b-leet.com/bleetd <http://b-leet.com/bleetd>> make messages=yes This is gnustep-make 2.7.0. Type 'make print-gnustep-make-help' for help. Running in gnustep-make version 2 strict mode. Making all for tool bleetd... /usr/bin/clang-8 bleetd/classes/server/Server.m -c \ -MMD -MP -Ibleetd/classes/server -Ibleetd/classes/websockets -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNUSTEP_RUNTIME=1 -D_NONFRAGILE_ABI=1 -DGNUSTEP_BASE_LIBRARY=1 -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -pthread -fPIC -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -g -O2 -fblocks -fobjc-runtime=gnustep-2.0 -fblocks -fconstant-string-class=NSConstantString -I. -I/home/simon/GNUstep/Library/Headers -I/usr/local/include \ -o obj/bleetd.obj/bleetd/classes/server/Server.m.o In file included from bleetd/classes/server/Server.m:10: In file included from bleetd/classes/websockets/PSWebSocketServer.h:16: bleetd/classes/websockets/PSWebSocket.h:69:1: error: property with 'retain (or strong)' attribute must be of object type @property (nonatomic, strong) dispatch_queue_t delegateQueue; ^ In file included from bleetd/classes/server/Server.m:10: bleetd/classes/websockets/PSWebSocketServer.h:47:1: error: property with 'retain (or strong)' attribute must be of object type @property (nonatomic, strong) dispatch_queue_t delegateQueue; ^ 2 errors generated. The GNUmakefile I put together looks like: ---8<------8<------8<--- Cut Here ---8<------8<------8<--- include $(GNUSTEP_MAKEFILES)/common.make TOOL_NAME = bleetd bleetd_CPPFLAGS = -Ibleetd/classes/server \ -Ibleetd/classes/websockets bleetd_OBJC_FILES = $(shell find bleetd -name '*.m') include $(GNUSTEP_MAKEFILES)/tool.make ---8<------8<------8<--- Cut Here ---8<------8<------8<--- So the question: Would I normally expect a 'dispatch_queue_t' to still be something that can be put into a property in GNUstep ? I'm really only familiar with the Mac side of things - I’m new to GNUstep, and in Mac-land they're reference-counted objects. I guess I’m asking: is this a bug, did I do something wrong during install, or is it expected behaviour ? Cheers Simon _______________________________________________ Discuss-gnustep mailing list Discuss-gnustep@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnustep
_______________________________________________ Discuss-gnustep mailing list Discuss-gnustep@gnu.orghttps://lists.gnu.org/mailman/listinfo/discuss-gnustep
|