Am 10/5/12 12:12 PM, schrieb David Chisnall:
> On 5 Oct 2012, at 10:56, Kal Conley wrote:
>
>> If I move to using 'Makefile' instead of GNUmakefile to build it then do
>> I only need to run core/make/configure once after I build libobjc2 and
>> pass the path of the library to configure?
> Yes. Part of the reason for the Makefile is to solve the circular dependency problem. GNUstep Make depends on a working libobjc, so using it to install libobjc doesn't work.
>
> On a modern platform for Objective-C development, you may not even have GCC installed, so the bootstrapping process on, for example, FreeBSD, was to install GCC and its libobjc, then install GNUstep Make, then uninstall GCC and its libobjc, then install GNUstep libobjc, then reconfigure and reinstall GNUstep Make, then proceed with the rest of the GNUstep install. Now, you just install libobjc first, then install the rest.
>
> David
>
> -- Sent from my Cray X1
>
OK. Thanks David.
I changed my install script to build libobjc manually and have GNUstep
find it. When I try to configure core/base I get:
configure:13162: checking whether objc really works
configure:13192: clang -o conftest -g -O2 -I/opt/local/include
-I/opt/local/GNUstep/System/Library/Headers
-I/opt/local/GNUstep/Local/Library/Headers
-I/opt/local/GNUstep/Local/Library/Headers -fgnu-runtime -x
objective-c -L/opt/local/GNUstep/System/Library/Libraries
-L/opt/local/GNUstep/Local/Library/Libraries
-L/opt/local/GNUstep/Local/Library/Libraries conftest.c -lrt -ldl
-lpthread -rdynamic -pthread -shared-libgcc -fexceptions -fgnu-runtime
-L/root/GNUstep/Library/Libraries
-L/opt/local/GNUstep/Local/Library/Libraries
-L/opt/local/GNUstep/System/Library/Libraries -lobjc -lm >&5
clang: warning: argument unused during compilation: '-shared-libgcc'
/usr/local/lib/libobjc.so: undefined reference to `dispatch_async_f'
/usr/local/lib/libobjc.so: undefined reference to `dispatch_queue_create'
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
It appears it is not trying to link to libdispatch. If I export
LDFLAGS="-ldispatch" before configure then the build works.
The old way I was doing things (letting GNUstep build libobjc) this
wasn't an issue. Why would this be the case?
Kal