|
PATH="$HOME/toolchains/bin:$PATH" \
LD_LIBRARY_PATH="$HOME/toolchains/lib64:$HOME/libobjc2/lib" \
LFLAGS=" -Wl,-rpath,$HOME/toolchains/lib64 -L$HOME/toolchains/lib64 -L/usr/X11/lib -L$HOME/libobjc2/lib" \
CC=clang CFLAGS=" -fblocks -I$HOME/libobjc2/include" \
make
|
|
|
|
The clang compiler (LLVM 19.1.7) can be used to build mGSTEP. Support for the Libobjc2 runtime (v1.9) is limited and does not yet include Distributed Objects. Libobjc2 changes to the NSThread and NSLock classes are employed only when the GCC runtime is not used.
Avoiding build and runtime namespace collisions is critical when multiple compilers and Objective-C runtimes are installed. On my dev platform clang is not the system compiler, Libobjc2 is not the default runtime and there's also a Linux port of Apple's CoreFoundation-Lite installed. Building in this environment requires a make command line that explicitly specifies clang and prefers Libobjc2. I also move the CoreFoundation-Lite headers to avoid conflicts with mGSTEP's internal mini CoreFoundation. Tune the following to your environment: