Added --with-objc-lib-flag=xxx option to gnustep-make's configure

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@28152 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Nicola Pero 2009-03-30 07:52:37 +00:00
parent 85a03b3339
commit 44e3a6e5cd
5 changed files with 82 additions and 14 deletions

View file

@ -1,3 +1,15 @@
2009-03-30 Nicola Pero <nicola.pero@meta-innovation.com>
From a suggestion by Truls Becken <truls.becken@gmail.com>:
* configure.ac (--with-objc-lib-flag): New option allowing to
replace the default -lobjc flag with a custom one such as
-l:libobjc.so.1, which can be used on some platforms to require
linking a specific version of libobjc - a handy trick when you
have more than one installed.
* configure: Regenerated.
* config.make.in (OBJC_LIB_FLAG): New variable.
* library-combo.make: Use OBJC_LIB_FLAG instead of -lobjc.
2009-03-24 Nicola Pero <nicola.pero@meta-innovation.com>
Fixed compiling software that contain both C/ObjC and C++/ObjC++

View file

@ -33,6 +33,7 @@ MAKE_WITH_INFO_FUNCTION = @MAKE_WITH_INFO_FUNCTION@
CC = @CC@
OPTFLAG = @CFLAGS@
OBJCFLAGS= @OBJCFLAGS@
OBJC_LIB_FLAG = @OBJC_LIB_FLAG@
CPPFLAGS = @CPPFLAGS@
CPP = @CPP@
CXX = @CXX@

41
configure vendored
View file

@ -714,6 +714,7 @@ GNUSTEP_LOCAL_ROOT
GNUSTEP_USER_DIR
GNUSTEP_MULTI_PLATFORM
BACKEND_BUNDLE
OBJC_LIB_FLAG
objc_threaded
ac_cv_objc_threaded
USE_OBJC_EXCEPTIONS
@ -1544,6 +1545,17 @@ Optional Packages:
Example: --with-user-defaults-dir='GNUstep/Library/Defaults'
--with-objc-lib-flag
Specify a different flag to link libobjc (the Objective-C runtime
library). The default is -lobjc. In some situations you may have
multiple versions of libobjc installed and if your linker supports
it you may want to specify exactly which one must be used; for
example on GNU/Linux you should be able to use
--with-objc-lib-flag=-l:libobjc.so.1
to request libobjc.so.1 (as opposed to, say, libobjc.so.2) to be
linked.
--with-thread-lib
Specify alternate thread library. Use this flag if configure can
not properly determine the thread library used by your libobjc.
@ -5304,24 +5316,42 @@ if test "$gs_cv_objc_libdir" != "NONE"; then
esac
fi
{ echo "$as_me:$LINENO: checking for the flag to link libobjc" >&5
echo $ECHO_N "checking for the flag to link libobjc... $ECHO_C" >&6; }
# Check whether --with-objc-lib-flag was given.
if test "${with_objc_lib_flag+set}" = set; then
withval=$with_objc_lib_flag; OBJC_LIB_FLAG="$withval"
else
OBJC_LIB_FLAG=""
fi
if test "$OBJC_LIB_FLAG" = ""; then
OBJC_LIB_FLAG="-lobjc"
fi
{ echo "$as_me:$LINENO: result: $OBJC_LIB_FLAG" >&5
echo "${ECHO_T}$OBJC_LIB_FLAG" >&6; }
saved_CFLAGS="$CFLAGS"
saved_LIBS="$LIBS"
CFLAGS="$CFLAGS -x objective-c -I$srcdir $OBJC_CPPFLAGS $OBJC_LDFLAGS"
if test "$OBJC_RUNTIME_LIB" = "gnu"; then
CFLAGS="$CFLAGS -fgnu-runtime -DGNU_RUNTIME"
OBJCRT="-lobjc"
OBJCRT="$OBJC_LIB_FLAG"
fi
if test "$OBJC_RUNTIME_LIB" = "gnugc"; then
CFLAGS="$CFLAGS -fgnu-runtime -DGNU_RUNTIME"
OBJCRT="-lobjc -ldl -lgc"
OBJCRT="$OBJC_LIB_FLAG -ldl -lgc"
fi
if test "$OBJC_RUNTIME_LIB" = "nx"; then
CFLAGS="$CFLAGS -DNeXT_RUNTIME"
OBJCRT="-lobjc"
OBJCRT="$OBJC_LIB_FLAG"
fi
if test "$OBJC_RUNTIME_LIB" = "apple"; then
CFLAGS="$CFLAGS -DAPPLE_RUNTIME"
OBJCRT="-lobjc"
OBJCRT="$OBJC_LIB_FLAG"
fi
@ -7210,6 +7240,7 @@ GNUSTEP_LOCAL_ROOT!$GNUSTEP_LOCAL_ROOT$ac_delim
GNUSTEP_USER_DIR!$GNUSTEP_USER_DIR$ac_delim
GNUSTEP_MULTI_PLATFORM!$GNUSTEP_MULTI_PLATFORM$ac_delim
BACKEND_BUNDLE!$BACKEND_BUNDLE$ac_delim
OBJC_LIB_FLAG!$OBJC_LIB_FLAG$ac_delim
objc_threaded!$objc_threaded$ac_delim
ac_cv_objc_threaded!$ac_cv_objc_threaded$ac_delim
USE_OBJC_EXCEPTIONS!$USE_OBJC_EXCEPTIONS$ac_delim
@ -7235,7 +7266,7 @@ LIBOBJS!$LIBOBJS$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 62; then
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 63; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5

View file

@ -1132,24 +1132,45 @@ if test "$gs_cv_objc_libdir" != "NONE"; then
esac
fi
AC_MSG_CHECKING(for the flag to link libobjc)
AC_ARG_WITH(objc-lib-flag,[
--with-objc-lib-flag
Specify a different flag to link libobjc (the Objective-C runtime
library). The default is -lobjc. In some situations you may have
multiple versions of libobjc installed and if your linker supports
it you may want to specify exactly which one must be used; for
example on GNU/Linux you should be able to use
--with-objc-lib-flag=-l:libobjc.so.1
to request libobjc.so.1 (as opposed to, say, libobjc.so.2) to be
linked.
],
OBJC_LIB_FLAG="$withval",
OBJC_LIB_FLAG=""
)
if test "$OBJC_LIB_FLAG" = ""; then
OBJC_LIB_FLAG="-lobjc"
fi
AC_MSG_RESULT($OBJC_LIB_FLAG)
AC_SUBST(OBJC_LIB_FLAG)
saved_CFLAGS="$CFLAGS"
saved_LIBS="$LIBS"
CFLAGS="$CFLAGS -x objective-c -I$srcdir $OBJC_CPPFLAGS $OBJC_LDFLAGS"
if test "$OBJC_RUNTIME_LIB" = "gnu"; then
CFLAGS="$CFLAGS -fgnu-runtime -DGNU_RUNTIME"
OBJCRT="-lobjc"
OBJCRT="$OBJC_LIB_FLAG"
fi
if test "$OBJC_RUNTIME_LIB" = "gnugc"; then
CFLAGS="$CFLAGS -fgnu-runtime -DGNU_RUNTIME"
OBJCRT="-lobjc -ldl -lgc"
OBJCRT="$OBJC_LIB_FLAG -ldl -lgc"
fi
if test "$OBJC_RUNTIME_LIB" = "nx"; then
CFLAGS="$CFLAGS -DNeXT_RUNTIME"
OBJCRT="-lobjc"
OBJCRT="$OBJC_LIB_FLAG"
fi
if test "$OBJC_RUNTIME_LIB" = "apple"; then
CFLAGS="$CFLAGS -DAPPLE_RUNTIME"
OBJCRT="-lobjc"
OBJCRT="$OBJC_LIB_FLAG"
fi

View file

@ -86,14 +86,15 @@ endif
export LIBRARY_COMBO = $(OBJC_RUNTIME_LIB)-$(FOUNDATION_LIB)-$(GUI_LIB)
OBJC_LDFLAGS =
OBJC_LIBS =
OBJC_LIBS =
#
# Set the appropriate ObjC runtime library and other information
#
ifeq ($(OBJC_RUNTIME_LIB), gnu)
OBJC_LDFLAGS =
OBJC_LIB_DIR =
OBJC_LIBS = -lobjc
OBJC_LIBS = $(OBJC_LIB_FLAG)
RUNTIME_FLAG = -fgnu-runtime
RUNTIME_DEFINE = -DGNU_RUNTIME=1
endif
@ -101,7 +102,9 @@ endif
ifeq ($(OBJC_RUNTIME_LIB), gnugc)
OBJC_LDFLAGS =
OBJC_LIB_DIR =
OBJC_LIBS = -lobjc_gc -ldl -lgc
# FIXME: Do we need to use -lobjc_gc here ? If so,
# OBJC_LIB_FLAG = -lobjc_gc should be set by configure.
OBJC_LIBS = $(OBJC_LIB_FLAG) -ldl -lgc
RUNTIME_FLAG = -fgnu-runtime
RUNTIME_DEFINE = -DGNU_RUNTIME=1 -DGS_WITH_GC=1
ifeq ($(debug),yes)
@ -113,7 +116,7 @@ ifeq ($(OBJC_RUNTIME_LIB), nx)
RUNTIME_FLAG = -fnext-runtime
RUNTIME_DEFINE = -DNeXT_RUNTIME=1
ifeq ($(FOUNDATION_LIB), gnu)
OBJC_LIBS = -lobjc
OBJC_LIBS = $(OBJC_LIB_FLAG)
endif
endif
@ -125,7 +128,7 @@ ifeq ($(OBJC_RUNTIME_LIB), apple)
RUNTIME_FLAG = -fnext-runtime
RUNTIME_DEFINE = -DNeXT_RUNTIME=1
ifeq ($(FOUNDATION_LIB), gnu)
OBJC_LIBS = -lobjc
OBJC_LIBS = $(OBJC_LIB_FLAG)
endif
endif