Hey, After a bit of experimenting I got libobjc2 working on Windows. I also built llvm and clang, and simple programs using Objective-C 2 properties seem to work. :-)
In order to build libobjc2, I had to make a tweak to gnustep/core/make/instance/library.make; commenting out the following section: # On windows, this is unfortunately required. ifeq ($(BUILD_DLL), yes) LINK_AGAINST_ALL_LIBS = yes endif Otherwise, building libobjc2 fails because GNUstep make attempts to link it with gnustep-base and -gui; obviously a problem. I didn't see any ill effects from commenting this out. Perhaps it is no longer needed? Other than that, it should be straightforward to set up. I built and installed libobjc2 (with gcc) , and reconfigured and build base, gui, and back. I installed clang using the instructions here: http://clang.llvm.org/get_started.html after I installed cmake. Clang didn't seem to find my mingw include directory with the standard C headers, so I added -I/c/GNUstep/mingw/include when compiling things with it. I also hit this bug http://llvm.org/bugs/show_bug.cgi?id=7955 , an interaction between mingw and clang. After doing the header file tweak described there, I was able to compile Ink with clang like this: make CC=clang CPPFLAGS=-I/c/GNUstep/mingw/include OBJCFLAGS=-fobjc-non-fragile-abi Things I coulnd't get working, yet: - compiling libobjc2 with clang, failed looking for the unwind.h header. I didn't try copying the gcc one. - compiling base with clang, I get weird link errors like "undefined reference to `libmsvcrt_a_iname'". There are some hits on the mingw mailing list if you search for this error, but I haven't tried to fix it yet. - throwing exceptions with @throw seems to be broken; abort() is being called. Anyway, it's a start. :-) Regards, Eric _______________________________________________ Gnustep-dev mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnustep-dev
