Fixed gnustep-make to use -lobjc_gc when GNU Objective-C garbage collection is being used

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@28154 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Nicola Pero 2009-03-30 08:12:10 +00:00
parent 79258a2351
commit 34aba0d7bf
4 changed files with 66 additions and 19 deletions

View file

@ -1,3 +1,10 @@
2009-03-30 Nicola Pero <nicola.pero@meta-innovation.com>
* configure.ac, library-combo.make: Fixed to automatically use
-lobjc_gc for the GNU Objective-C runtime with garbage collection
if no --with-objc-lib-flag=... is used in configure.
* configure: Regenerated.
2009-03-30 Nicola Pero <nicola.pero@meta-innovation.com>
From a suggestion by Truls Becken <truls.becken@gmail.com>:

33
configure vendored
View file

@ -5327,33 +5327,48 @@ else
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; }
# We pass the flag, unchanged, to gnustep-make - if it's empty,
# gnustep-make will be free to use -lobjc or -lobjc_gc depending on
# the case.
# But we need to compute, and print out, what flag we're using now.
OBJC_FINAL_LIB_FLAG="$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="$OBJC_LIB_FLAG"
if test "$OBJC_FINAL_LIB_FLAG" = ""; then
OBJC_FINAL_LIB_FLAG=-lobjc
fi
OBJCRT="$OBJC_FINAL_LIB_FLAG"
fi
if test "$OBJC_RUNTIME_LIB" = "gnugc"; then
CFLAGS="$CFLAGS -fgnu-runtime -DGNU_RUNTIME"
OBJCRT="$OBJC_LIB_FLAG -ldl -lgc"
if test "$OBJC_FINAL_LIB_FLAG" = ""; then
OBJC_FINAL_LIB_FLAG=-lobjc_gc
fi
OBJCRT="$OBJC_FINAL_LIB_FLAG -ldl -lgc"
fi
if test "$OBJC_RUNTIME_LIB" = "nx"; then
CFLAGS="$CFLAGS -DNeXT_RUNTIME"
OBJCRT="$OBJC_LIB_FLAG"
if test "$OBJC_FINAL_LIB_FLAG" = ""; then
OBJC_FINAL_LIB_FLAG=-lobjc
fi
OBJCRT="$OBJC_FINAL_LIB_FLAG"
fi
if test "$OBJC_RUNTIME_LIB" = "apple"; then
CFLAGS="$CFLAGS -DAPPLE_RUNTIME"
OBJCRT="$OBJC_LIB_FLAG"
if test "$OBJC_FINAL_LIB_FLAG" = ""; then
OBJC_FINAL_LIB_FLAG=-lobjc
fi
OBJCRT="$OBJC_FINAL_LIB_FLAG"
fi
{ echo "$as_me:$LINENO: result: $OBJC_FINAL_LIB_FLAG" >&5
echo "${ECHO_T}$OBJC_FINAL_LIB_FLAG" >&6; }
#--------------------------------------------------------------------
# Check if libobjc was compiled with thread support.

View file

@ -1147,32 +1147,47 @@ AC_ARG_WITH(objc-lib-flag,[
OBJC_LIB_FLAG="$withval",
OBJC_LIB_FLAG=""
)
if test "$OBJC_LIB_FLAG" = ""; then
OBJC_LIB_FLAG="-lobjc"
fi
AC_MSG_RESULT($OBJC_LIB_FLAG)
# We pass the flag, unchanged, to gnustep-make - if it's empty,
# gnustep-make will be free to use -lobjc or -lobjc_gc depending on
# the case.
AC_SUBST(OBJC_LIB_FLAG)
# But we need to compute, and print out, what flag we're using now.
OBJC_FINAL_LIB_FLAG="$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="$OBJC_LIB_FLAG"
if test "$OBJC_FINAL_LIB_FLAG" = ""; then
OBJC_FINAL_LIB_FLAG=-lobjc
fi
OBJCRT="$OBJC_FINAL_LIB_FLAG"
fi
if test "$OBJC_RUNTIME_LIB" = "gnugc"; then
CFLAGS="$CFLAGS -fgnu-runtime -DGNU_RUNTIME"
OBJCRT="$OBJC_LIB_FLAG -ldl -lgc"
if test "$OBJC_FINAL_LIB_FLAG" = ""; then
OBJC_FINAL_LIB_FLAG=-lobjc_gc
fi
OBJCRT="$OBJC_FINAL_LIB_FLAG -ldl -lgc"
fi
if test "$OBJC_RUNTIME_LIB" = "nx"; then
CFLAGS="$CFLAGS -DNeXT_RUNTIME"
OBJCRT="$OBJC_LIB_FLAG"
if test "$OBJC_FINAL_LIB_FLAG" = ""; then
OBJC_FINAL_LIB_FLAG=-lobjc
fi
OBJCRT="$OBJC_FINAL_LIB_FLAG"
fi
if test "$OBJC_RUNTIME_LIB" = "apple"; then
CFLAGS="$CFLAGS -DAPPLE_RUNTIME"
OBJCRT="$OBJC_LIB_FLAG"
if test "$OBJC_FINAL_LIB_FLAG" = ""; then
OBJC_FINAL_LIB_FLAG=-lobjc
fi
OBJCRT="$OBJC_FINAL_LIB_FLAG"
fi
AC_MSG_RESULT($OBJC_FINAL_LIB_FLAG)
#--------------------------------------------------------------------
# Check if libobjc was compiled with thread support.

View file

@ -94,6 +94,9 @@ OBJC_LIBS =
ifeq ($(OBJC_RUNTIME_LIB), gnu)
OBJC_LDFLAGS =
OBJC_LIB_DIR =
ifeq ($(OBJC_LIB_FLAG),)
OBJC_LIB_FLAG = -lobjc
endif
OBJC_LIBS = $(OBJC_LIB_FLAG)
RUNTIME_FLAG = -fgnu-runtime
RUNTIME_DEFINE = -DGNU_RUNTIME=1
@ -102,8 +105,9 @@ endif
ifeq ($(OBJC_RUNTIME_LIB), gnugc)
OBJC_LDFLAGS =
OBJC_LIB_DIR =
# FIXME: Do we need to use -lobjc_gc here ? If so,
# OBJC_LIB_FLAG = -lobjc_gc should be set by configure.
ifeq ($(OBJC_LIB_FLAG),)
OBJC_LIB_FLAG = -lobjc_gc
endif
OBJC_LIBS = $(OBJC_LIB_FLAG) -ldl -lgc
RUNTIME_FLAG = -fgnu-runtime
RUNTIME_DEFINE = -DGNU_RUNTIME=1 -DGS_WITH_GC=1
@ -116,6 +120,9 @@ ifeq ($(OBJC_RUNTIME_LIB), nx)
RUNTIME_FLAG = -fnext-runtime
RUNTIME_DEFINE = -DNeXT_RUNTIME=1
ifeq ($(FOUNDATION_LIB), gnu)
ifeq ($(OBJC_LIB_FLAG),)
OBJC_LIB_FLAG = -lobjc
endif
OBJC_LIBS = $(OBJC_LIB_FLAG)
endif
endif
@ -128,6 +135,9 @@ ifeq ($(OBJC_RUNTIME_LIB), apple)
RUNTIME_FLAG = -fnext-runtime
RUNTIME_DEFINE = -DNeXT_RUNTIME=1
ifeq ($(FOUNDATION_LIB), gnu)
ifeq ($(OBJC_LIB_FLAG),)
OBJC_LIB_FLAG = -lobjc
endif
OBJC_LIBS = $(OBJC_LIB_FLAG)
endif
endif