gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why do OSX GNUStep make use -fnext-runtime flag instead of -fobjc-ru


From: Ivan Vučica
Subject: Re: Why do OSX GNUStep make use -fnext-runtime flag instead of -fobjc-runtime=x?
Date: Thu, 30 May 2013 03:11:09 +0200

Let's keep this on the list :-)

Other people will know more about this than I do.

On 30. 5. 2013., at 02:51, Frank Rehwinkel <address@hidden> wrote:

Thanks for the advice.  I'm able to hack the config and makefiles too.  I just think someone went to all the trouble to make the system build by tweaking just a few knobs, the intend wasn't that we edit scripts and by trial and error, figure out what it takes to build.  

The two files I found that seem out of date are ${GNUSTEP_MAKE_PREFIX}/Library/GNUstep/Makefiles/library-combo (from installing core/make) with lines
ifeq ($(OBJC_RUNTIME_LIB), apple)
127   RUNTIME_FLAG = -fnext-runtime
128   RUNTIME_DEFINE = -DNeXT_RUNTIME=1
129   OBJC_LIBS = $(OBJC_LIB_FLAG)
130 endif

and core/base/configure with lines
OBJC_RUNTIME_LIB=`echo $LIBRARY_COMBO | tr '-' ' ' | awk '{print $1}'`
{ $as_echo "$as_me:$LINENO: checking the Objective-C runtime" >&5
$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; }
  OBJCFLAGS="$OBJCFLAGS -fnext-runtime -DNeXT_RUNTIME"
elif test "$OBJC_RUNTIME_LIB" = "gnugc"; then
  { $as_echo "$as_me:$LINENO: result: GNU" >&5
$as_echo "GNU" >&6; }
  OBJCFLAGS="$OBJCFLAGS -fgnu-runtime"
  OBJC_WITH_GC=yes
else
  { $as_echo "$as_me:$LINENO: result: GNU" >&5
$as_echo "GNU" >&6; }
  OBJCFLAGS="$OBJCFLAGS -fgnu-runtime"
fi

I'm puzzled by the other thread right now that contained the thousands of lines of diffs for getting GNUstep to compile on OSX because the configure script changes in those diffs didn't use -fobj-runtime=x either.  Maybe they are not trying to use objc2 nor a newer clang so are okay if the apple runtime library is used.  I was going to give those diffs a try tomorrow.

-Frank


On Wed, May 29, 2013 at 7:03 PM, Ivan Vučica <address@hidden> wrote:

On 29. 5. 2013., at 23:25, Frank Rehwinkel <address@hidden> wrote:

One of the GNUstep makefiles adds -fnext-runtime when the environment is determined to be apple, as does the configure script.

Which one(s)? Which makefile and configure script? :-)


But the gnustep core/base/configure scripts fails when I try to run it after installing objc2.  

Why is there no option for getting -fobjc-runtime=gnustep-1.7 added instead?  This appears to make the difference between the configure failing or working in my setup.  -fobjc-runtime=<something> has been supported by clang since version 3.2.  And how does this even work for anyone without this new option being supported?

If you need to add this manually, you could hack it together by editing files in /usr/local/GNUstep/Library/Makefiles -- pardon me if I got the path wrong. There is a "config" file, if my memory serves me well.

This is how I forced old Debian GNUstep packages from 2010 to use Debian's clang:
Under Debian the relevant file was:
    /usr/share/GNUstep/Makefiles/config.make






reply via email to

[Prev in Thread] Current Thread [Next in Thread]