mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-23 22:33:28 +00:00
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:
parent
85a03b3339
commit
44e3a6e5cd
5 changed files with 82 additions and 14 deletions
12
ChangeLog
12
ChangeLog
|
@ -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++
|
||||
|
|
|
@ -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
41
configure
vendored
|
@ -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
|
||||
|
|
29
configure.ac
29
configure.ac
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in a new issue