Hi, attached patch will introduce MODGNUSTEP_OBJC, and use it in the ports WANTLIB where needed.
For now, MODGNUSTEP_OBJC = objc in gnustep.port.mk. A couple of gnustep related ports have WANTLIB += objc. At some point in time, hope not too far in the future, I want to introduce libobjc2, which will be named libobjc2. However, since as far as I can see it will not work on all architectures, some have to link against libobjc (or libobjc1). This patch below is just a preparation, for this architecture dependency, allows me to surround MODGNUSTEP_OBJC with .ifdef ${MACHINE_ARCH} ... The first part contains patch to gnustep.port.mk and to the Makefiles of the few ports that had objc in its WANTLIB. Only gnustep base needed some more special tweak and an additional patch to configure and SUBST_CMD to correctly detect which libobjc is the right one to use at configure stage. Didn't bumped it, since it doesn't do anything to the package itself. The second part contains patches to the Makefiles of the three other gnustep related ports, not under x11/gnustep. Since there is no change to a package, no bump at all. Bumps will then be needed later when switching to other libobjc runtimes. Is that OK? Sebastian Index: gnustep.port.mk =================================================================== RCS file: /cvs/ports/x11/gnustep/gnustep.port.mk,v retrieving revision 1.16 diff -u -r1.16 gnustep.port.mk --- gnustep.port.mk 19 Jul 2011 06:19:49 -0000 1.16 +++ gnustep.port.mk 4 Jan 2012 18:12:57 -0000 @@ -20,12 +20,14 @@ MAKE_ENV += INSTALL_AS_GROUP=${BINGRP} MAKE_ENV += GS_DEFAULTS_LOCKDIR=${WRKDIR} +MODGNUSTEP_OBJC = objc + MODGNUSTEP_NEEDS_BASE ?= Yes MODGNUSTEP_NEEDS_GUI ?= Yes MODGNUSTEP_NEEDS_BACK ?= Yes .if ${MODGNUSTEP_NEEDS_GUI:L} == yes -MODGNUSTEP_WANTLIB += objc gnustep-base gnustep-gui +MODGNUSTEP_WANTLIB += ${MODGNUSTEP_OBJC} gnustep-base gnustep-gui MODGNUSTEP_LIB_DEPENDS += x11/gnustep/gui . if ${MODGNUSTEP_NEEDS_BACK:L} == yes MODGNUSTEP_RUN_DEPENDS += x11/gnustep/back Index: base/Makefile =================================================================== RCS file: /cvs/ports/x11/gnustep/base/Makefile,v retrieving revision 1.40 diff -u -r1.40 Makefile --- base/Makefile 16 Sep 2011 12:29:15 -0000 1.40 +++ base/Makefile 4 Jan 2012 18:12:57 -0000 @@ -13,8 +13,8 @@ HOMEPAGE= http://www.gnustep.org/ -WANTLIB += c crypto gcrypt m objc pthread ssl xml2 z ffi gmp xslt gnutls -WANTLIB += avahi-client avahi-common icudata icui18n icuuc +WANTLIB += c crypto gcrypt m pthread ssl xml2 z ffi gmp xslt gnutls +WANTLIB += avahi-client avahi-common icudata icui18n icuuc ${MODGNUSTEP_OBJC} .if ${MACHINE_ARCH} != "i386" && ${MACHINE_ARCH} != "amd64" WANTLIB += iberty @@ -38,9 +38,11 @@ CONFIGURE_ARGS += --disable-procfs \ --disable-procfs-psinfo +SUBST_VARS += MODGNUSTEP_OBJC pre-configure: @perl -pi -e 's,^MAJOR_VERSION=.*,MAJOR_VERSION=${LIBgnustep-base_VERSION:R},g;' \ -e 's,^MINOR_VERSION=.*,MINOR_VERSION=${LIBgnustep-base_VERSION:E},g' \ ${WRKSRC}/Version + ${SUBST_CMD} ${WRKSRC}/configure .include <bsd.port.mk> Index: base/patches/patch-configure =================================================================== RCS file: base/patches/patch-configure diff -N base/patches/patch-configure --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ base/patches/patch-configure 4 Jan 2012 18:12:57 -0000 @@ -0,0 +1,21 @@ +$OpenBSD$ +--- configure.orig Wed Dec 28 15:36:34 2011 ++++ configure Wed Dec 28 15:37:22 2011 +@@ -5400,7 +5400,7 @@ $as_echo_n "checking the Objective-C runtime... " >&6; + if test "$OBJC_RUNTIME_LIB" = "nx" -o "$OBJC_RUNTIME_LIB" = "apple"; then + { $as_echo "$as_me:$LINENO: result: NeXT" >&5 + $as_echo "NeXT" >&6; } +- LIBOBJC='-lobjc' ++ LIBOBJC='-l${MODGNUSTEP_OBJC}' + OBJCFLAGS="$OBJCFLAGS -fnext-runtime -DNeXT_RUNTIME" + elif test "$OBJC_RUNTIME_LIB" = "gnugc"; then + { $as_echo "$as_me:$LINENO: result: GNU" >&5 +@@ -5411,7 +5411,7 @@ $as_echo "GNU" >&6; } + else + { $as_echo "$as_me:$LINENO: result: GNU" >&5 + $as_echo "GNU" >&6; } +- LIBOBJC='-lobjc' ++ LIBOBJC='-l${MODGNUSTEP_OBJC}' + OBJCFLAGS="$OBJCFLAGS -fgnu-runtime" + fi + Index: dbuskit/Makefile =================================================================== RCS file: /cvs/ports/x11/gnustep/dbuskit/Makefile,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 Makefile --- dbuskit/Makefile 14 May 2011 08:32:30 -0000 1.1.1.1 +++ dbuskit/Makefile 4 Jan 2012 18:12:57 -0000 @@ -15,7 +15,8 @@ MODULES += x11/gnustep MODGNUSTEP_NEEDS_GUI = No -WANTLIB += c dbus-1 m pthread gnustep-base objc +WANTLIB += c dbus-1 m pthread gnustep-base +WANTLIB += ${MODGNUSTEP_OBJC} BUILD_DEPENDS += print/texlive/base \ textproc/texi2html Index: gui/Makefile =================================================================== RCS file: /cvs/ports/x11/gnustep/gui/Makefile,v retrieving revision 1.24 diff -u -r1.24 Makefile --- gui/Makefile 18 Apr 2011 11:56:01 -0000 1.24 +++ gui/Makefile 4 Jan 2012 18:12:58 -0000 @@ -12,7 +12,7 @@ HOMEPAGE= http://www.gnustep.org/ -WANTLIB += objc gnustep-base asn1 crypto gssapi krb5 ssl stdc++ +WANTLIB += ${MODGNUSTEP_OBJC} gnustep-base asn1 crypto gssapi krb5 ssl stdc++ WANTLIB += tiff z ao jpeg ungif png cups aspell c m pthread sndfile MASTER_SITES= ${MASTER_SITE_GNUSTEP:=core/} Index: renaissance/Makefile =================================================================== RCS file: /cvs/ports/x11/gnustep/renaissance/Makefile,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 Makefile --- renaissance/Makefile 19 Jul 2011 13:52:40 -0000 1.1.1.1 +++ renaissance/Makefile 4 Jan 2012 18:12:58 -0000 @@ -13,7 +13,7 @@ MASTER_SITES = ${HOMEPAGE:=Download/} MODULES = x11/gnustep -WANTLIB += c gnustep-base gnustep-gui m objc pthread +WANTLIB += c gnustep-base gnustep-gui m pthread ${MODGNUSTEP_OBJC} MAKE_FLAGS = Renaissance_INTERFACE_VERSION=${LIBRenaissance_VERSION} Index: sqlclient/Makefile =================================================================== RCS file: /cvs/ports/x11/gnustep/sqlclient/Makefile,v retrieving revision 1.2 diff -u -r1.2 Makefile --- sqlclient/Makefile 15 Oct 2011 08:02:23 -0000 1.2 +++ sqlclient/Makefile 4 Jan 2012 18:12:58 -0000 @@ -17,7 +17,7 @@ MODULES = x11/gnustep MODGNUSTEP_NEEDS_GUI = No WANTLIB += Performance pq ecpg mysqlclient sqlite3 -WANTLIB += gnustep-base m objc +WANTLIB += gnustep-base m ${MODGNUSTEP_OBJC} LIB_DEPENDS += x11/gnustep/performance \ databases/mysql \ databases/postgresql \ Index: games/oolite/Makefile =================================================================== RCS file: /cvs/ports/games/oolite/Makefile,v retrieving revision 1.5 diff -u -r1.5 Makefile --- games/oolite/Makefile 18 Apr 2011 12:19:21 -0000 1.5 +++ games/oolite/Makefile 4 Jan 2012 18:15:37 -0000 @@ -27,7 +27,8 @@ LIB_DEPENDS= devel/sdl-mixer \ graphics/png -WANTLIB += GL GLU SDL c m pthread SDL_mixer objc gnustep-base png +WANTLIB += GL GLU SDL c m pthread SDL_mixer gnustep-base png +WANTLIB += ${MODGNUSTEP_OBJC} MAKE_FILE = Makefile ALL_TARGET= release Index: www/sope/Makefile =================================================================== RCS file: /cvs/ports/www/sope/Makefile,v retrieving revision 1.19 diff -u -r1.19 Makefile --- www/sope/Makefile 18 Nov 2011 11:12:44 -0000 1.19 +++ www/sope/Makefile 4 Jan 2012 18:15:37 -0000 @@ -35,12 +35,13 @@ MODULES= converters/libiconv x11/gnustep MODGNUSTEP_NEEDS_GUI= No -WANTLIB-main = gnustep-base m objc c pthread crypto ssl z lber ldap xml2 \ - ${MODLIBICONV_WANTLIB} +WANTLIB-main = gnustep-base m c pthread crypto ssl z lber ldap xml2 \ + ${MODLIBICONV_WANTLIB} ${MODGNUSTEP_OBJC} -WANTLIB-mysql = gnustep-base m objc GDLAccess EOControl \ - mysqlclient crypto ssl z -WANTLIB-postgres = gnustep-base m objc GDLAccess EOControl pq +WANTLIB-mysql = gnustep-base m GDLAccess EOControl \ + mysqlclient crypto ssl z ${MODGNUSTEP_OBJC} +WANTLIB-postgres = gnustep-base m GDLAccess EOControl pq \ + ${MODGNUSTEP_OBJC} LIB_DEPENDS-main= x11/gnustep/base \ databases/openldap \ Index: www/sogo/Makefile =================================================================== RCS file: /cvs/ports/www/sogo/Makefile,v retrieving revision 1.17 diff -u -r1.17 Makefile --- www/sogo/Makefile 18 Nov 2011 11:15:13 -0000 1.17 +++ www/sogo/Makefile 4 Jan 2012 18:15:37 -0000 @@ -29,7 +29,7 @@ WANTLIB += c m pthread crypto memcached WOExtensions SBJson WANTLIB += DOM EOControl GDLAccess NGExtensions NGLdap XmlRpc WANTLIB += NGMime NGObjWeb NGStreams SaxObjC WEExtensions -WANTLIB += objc gnustep-base +WANTLIB += ${MODGNUSTEP_OBJC} gnustep-base LIB_DEPENDS += devel/libmemcached \ www/sope