* [build] Allow building libobjc_gc on Tru64 UNIX, Darwin
@ 2011-04-14 17:00 Rainer Orth
2011-04-14 19:05 ` Nicola Pero
0 siblings, 1 reply; 3+ messages in thread
From: Rainer Orth @ 2011-04-14 17:00 UTC (permalink / raw)
To: gcc-patches; +Cc: Ralf Wildenhues, Nicola Pero, Andrew Pinski
I recently tried to build with --enable-libobjc-gc. While this worked
out of the box on Solaris, I ran intro trouble on both Tru64 UNIX and
Darwin.
On Tru64 UNIX, one needs to compile with -pthread since the boehm-gc
headers include <pthread.h> which error out if -D_REENTRANT is missing.
On Darwin, the build stops with
make: *** No rule to make target `libobjc_gc.la', needed by `all'. Stop.
This can be fixed by taking $(libsuffix) into account in OBJC_BOEHM_GC.
The following patch fixes both issues. It was manually tested by fixing
the Makefile as below and successfully building libobjc_gc.la. Full
bootstraps on alpha-dec-osf5.1b and i386-apple-darwin9.8.0 are in
progress.
Ok for mainline if both pass?
Btw., it would be considerably easier if --enable-libobjc-gc could be
enabled automatically if boehm-gc is configured. Besides, it seems that
libobjc_gc isn't tested anywhere.
Rainer
2011-04-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* Makefile.in (OBJC_GCFLAGS): Move ...
* configure.ac (enable_objc_gc): ... here.
Add $(libsuffix) to OBJC_BOEHM_GC.
* configure: Regenerate.
diff --git a/libobjc/Makefile.in b/libobjc/Makefile.in
--- a/libobjc/Makefile.in
+++ b/libobjc/Makefile.in
@@ -93,7 +93,7 @@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=inst
LIBTOOL_CLEAN = $(LIBTOOL) --mode=clean
#LIBTOOL_UNINSTALL = $(LIBTOOL) --mode=uninstall
-OBJC_GCFLAGS=-DOBJC_WITH_GC=1
+OBJC_GCFLAGS=@OBJC_GCFLAGS@
OBJC_BOEHM_GC=@OBJC_BOEHM_GC@
OBJC_BOEHM_GC_INCLUDES=@OBJC_BOEHM_GC_INCLUDES@
OBJC_BOEHM_GC_LIBS=../boehm-gc/libgcjgc_convenience.la $(thread_libs_and_flags)
diff --git a/libobjc/configure.ac b/libobjc/configure.ac
--- a/libobjc/configure.ac
+++ b/libobjc/configure.ac
@@ -1,6 +1,6 @@
# Process this file with autoconf to produce a configure script.
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004
-# 2005, 2006, 2009 Free Software Foundation, Inc.
+# 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
# Originally contributed by Dave Love (d.love@dl.ac.uk).
#
#This file is part of GCC.
@@ -63,15 +63,25 @@ AC_ARG_ENABLE(objc-gc,
the GNU Objective-C runtime.],
[case $enable_objc_gc in
no)
+ OBJC_GCFLAGS=''
OBJC_BOEHM_GC=''
OBJC_BOEHM_GC_INCLUDES=''
;;
*)
- OBJC_BOEHM_GC=libobjc_gc.la
+ OBJC_GCFLAGS='-DOBJC_WITH_GC=1'
+ OBJC_BOEHM_GC=libobjc_gc$(libsuffix).la
OBJC_BOEHM_GC_INCLUDES='-I$(top_srcdir)/../boehm-gc/include -I../boehm-gc/include'
+ case "${host}" in
+ alpha*-dec-osf*)
+ # boehm-gc headers include <pthread.h>, which needs to be compiled
+ # with -pthread on Tru64 UNIX.
+ OBJC_GCFLAGS="${OBJC_GCFLAGS} -pthread"
+ ;;
+ esac
;;
esac],
-[OBJC_BOEHM_GC=''; OBJC_BOEHM_GC_INCLUDES=''])
+[OBJC_GCFLAGS=''; OBJC_BOEHM_GC=''; OBJC_BOEHM_GC_INCLUDES=''])
+AC_SUBST(OBJC_GCFLAGS)
AC_SUBST(OBJC_BOEHM_GC)
AC_SUBST(OBJC_BOEHM_GC_INCLUDES)
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: [build] Allow building libobjc_gc on Tru64 UNIX, Darwin
2011-04-14 17:00 [build] Allow building libobjc_gc on Tru64 UNIX, Darwin Rainer Orth
@ 2011-04-14 19:05 ` Nicola Pero
2011-04-15 17:03 ` Rainer Orth
0 siblings, 1 reply; 3+ messages in thread
From: Nicola Pero @ 2011-04-14 19:05 UTC (permalink / raw)
To: Rainer Orth; +Cc: gcc-patches, Ralf Wildenhues, Andrew Pinski
> I recently tried to build with --enable-libobjc-gc. While this worked
> out of the box on Solaris, I ran intro trouble on both Tru64 UNIX and
> Darwin.
>
> [...]
>
> The following patch fixes both issues. [...]
>
> Ok for mainline if both pass?
Yes.
[and by the way, I think you're fixing PR libobjc/32037 in the process. :-)]
> Btw., it would be considerably easier if --enable-libobjc-gc could be
> enabled automatically if boehm-gc is configured.
Yes.
> Besides, it seems that libobjc_gc isn't tested anywhere.
Yes.
Thanks!
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [build] Allow building libobjc_gc on Tru64 UNIX, Darwin
2011-04-14 19:05 ` Nicola Pero
@ 2011-04-15 17:03 ` Rainer Orth
0 siblings, 0 replies; 3+ messages in thread
From: Rainer Orth @ 2011-04-15 17:03 UTC (permalink / raw)
To: Nicola Pero; +Cc: gcc-patches, Ralf Wildenhues, Andrew Pinski
Nicola,
>> Ok for mainline if both pass?
>
> Yes.
>
> [and by the way, I think you're fixing PR libobjc/32037 in the process. :-)]
indeed, thanks for checking. Testing revealed that I'd been lazy with
quoting. I'm including the patch I've installed, which encloses
OBJC_BOEHM_GC in configure.ac in single quotes.
>> Btw., it would be considerably easier if --enable-libobjc-gc could be
>> enabled automatically if boehm-gc is configured.
>
> Yes.
I've filed
libobjc/48626 --enable-objc-gc should be automatic
>> Besides, it seems that libobjc_gc isn't tested anywhere.
>
> Yes.
and
libobjc/48627 libobjc_gc should be tested
just in case.
Rainer
2011-04-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR libobjc/32037
* Makefile.in (OBJC_GCFLAGS): Move ...
* configure.ac (enable_objc_gc): ... here.
Add $(libsuffix) to OBJC_BOEHM_GC.
* configure: Regenerate.
diff --git a/libobjc/Makefile.in b/libobjc/Makefile.in
--- a/libobjc/Makefile.in
+++ b/libobjc/Makefile.in
@@ -93,7 +93,7 @@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=inst
LIBTOOL_CLEAN = $(LIBTOOL) --mode=clean
#LIBTOOL_UNINSTALL = $(LIBTOOL) --mode=uninstall
-OBJC_GCFLAGS=-DOBJC_WITH_GC=1
+OBJC_GCFLAGS=@OBJC_GCFLAGS@
OBJC_BOEHM_GC=@OBJC_BOEHM_GC@
OBJC_BOEHM_GC_INCLUDES=@OBJC_BOEHM_GC_INCLUDES@
OBJC_BOEHM_GC_LIBS=../boehm-gc/libgcjgc_convenience.la $(thread_libs_and_flags)
diff --git a/libobjc/configure.ac b/libobjc/configure.ac
--- a/libobjc/configure.ac
+++ b/libobjc/configure.ac
@@ -1,6 +1,6 @@
# Process this file with autoconf to produce a configure script.
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004
-# 2005, 2006, 2009 Free Software Foundation, Inc.
+# 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
# Originally contributed by Dave Love (d.love@dl.ac.uk).
#
#This file is part of GCC.
@@ -63,15 +63,25 @@ AC_ARG_ENABLE(objc-gc,
the GNU Objective-C runtime.],
[case $enable_objc_gc in
no)
+ OBJC_GCFLAGS=''
OBJC_BOEHM_GC=''
OBJC_BOEHM_GC_INCLUDES=''
;;
*)
- OBJC_BOEHM_GC=libobjc_gc.la
+ OBJC_GCFLAGS='-DOBJC_WITH_GC=1'
+ OBJC_BOEHM_GC='libobjc_gc$(libsuffix).la'
OBJC_BOEHM_GC_INCLUDES='-I$(top_srcdir)/../boehm-gc/include -I../boehm-gc/include'
+ case "${host}" in
+ alpha*-dec-osf*)
+ # boehm-gc headers include <pthread.h>, which needs to be compiled
+ # with -pthread on Tru64 UNIX.
+ OBJC_GCFLAGS="${OBJC_GCFLAGS} -pthread"
+ ;;
+ esac
;;
esac],
-[OBJC_BOEHM_GC=''; OBJC_BOEHM_GC_INCLUDES=''])
+[OBJC_GCFLAGS=''; OBJC_BOEHM_GC=''; OBJC_BOEHM_GC_INCLUDES=''])
+AC_SUBST(OBJC_GCFLAGS)
AC_SUBST(OBJC_BOEHM_GC)
AC_SUBST(OBJC_BOEHM_GC_INCLUDES)
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-04-15 16:55 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-14 17:00 [build] Allow building libobjc_gc on Tru64 UNIX, Darwin Rainer Orth
2011-04-14 19:05 ` Nicola Pero
2011-04-15 17:03 ` Rainer Orth
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).