gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

success with libobjc2 and clang on Windows


From: Eric Wasylishen
Subject: success with libobjc2 and clang on Windows
Date: Wed, 29 Sep 2010 11:09:57 -0600

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]