Hello
Im trying to update my gnustep2 packages for Debian13
As Debian 13 comes with gnustep with the old GNU runtime which is
incompatible with modern objective C technologies such as ARC, I always
have to build separate packages.
To separate them from the old runtime so they could coexist on a Linux
system, I use separate directory layouts so applications with old and
new runtimes could coexist.
This worked for many years but now with Debian13 I run into the issue
that GNUstep make always adds -DGNUSTEP_RUNTIME=1 and thus subsequent
code fails to compile as it thinks it uses the old runtime.
The setup is like this:
export CC="/usr/bin/clang"
export CXX="/usr/bin/clang++"
export PREFIX="/"
export
PATH="/usr/GNUstep2/System/Tools:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
export PKG_CONFIG_PATH="/usr/lib/pkgconfig/:/usr/local/lib/pkgconfig/"
export RUNTIME_VERSION="gnustep-2.0"
export OBJCFLAGS="-fblocks"
export GNUSTEP_INSTALLATION_DOMAIN="SYSTEM"
./configure \
--with-layout=gnustep2 \
--disable-importing-config-file \
--enable-native-objc-exceptions \
--enable-objc-arc \
--enable-install-ld-so-conf \
--with-library-combo=ng-gnu-gnu \
--with-config-file=/etc/GNUstep/GNUstep.conf \
--with-user-config-file='.GNUstep.conf' \
--with-user-defaults-dir='GNUstep/Library/Defaults' \
--with-objc-lib-flag="-l:libobjc.so.4.6"
especially the RUNTIME_VERSION environment variable and
the --with-library-combo=ng-gnu-gnu should enforce the newer runtime.
but when I install gnustep make and then run
# /usr/GNUstep2/System/Tools/gnustep-config --objc-flags
-MMD -MP -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 -fblocks -fobjc-runtime=gnustep-2.0
-fblocks -I. -I/root/GNUstep/Library/Headers -I/usr/local/include
this is especially troublesome:
-DGNUSTEP_RUNTIME=1 && -fobjc-runtime=gnustep-2.0 ??
Does anyone have an idea whats wrong with GNUstep make here or how this
could be worked around?