This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] boehm-gc removal and libobjc changes to build with an external bdw-gc
On 30.11.2016 11:52, Jakub Jelinek wrote:
> On Wed, Nov 30, 2016 at 11:17:32AM +0100, Richard Biener wrote:
>> On Wed, Nov 30, 2016 at 11:06 AM, Matthias Klose <doko@ubuntu.com> wrote:
>>> On 30.11.2016 09:29, Andreas Schwab wrote:
>>>> configure: error: no --with-target-bdw-gc options and no bdw-gc pkg-config module found
>>>> make[1]: *** [Makefile:19775: configure-target-libobjc] Error 1
>>>>
>>>> Andreas.
>>>
>>> that's a bit terse. Could you send the complete output for the configuration of
>>> the libobjc subdir and the config.log?
>>>
>>> I assume that is a configuration with --enable-objc-gc and then the pkg-config
>>> module cannot be found. Are gc/gc.h and libgc.so in standard paths without
>>> having the bdw-gc pkg-config module available? Which libgc version is installed?
>>
>> I see the same failure with just
>>
>> ../configure --enable-languages=objc
>>
>> usually we disable languages (with a diagnostic) if requirements
>> cannot be fulfilled.
>>
>> But it seems the default chosen is bad somehow... (and breaks my bootstraps with
>> default languages).
>
> I'm now testing the default (no --enable-objc-gc, --enable-objc-gc=*,
> --disable-objc-gc) with. Ok for trunk if it succeeds?
>
> 2016-11-30 Jakub Jelinek <jakub@redhat.com>
>
> * configure.ac (--enable-objc-gc): If not given, default to
> enable_objc_gc=no.
> * configure: Regenerated.
>
> --- libobjc/configure.ac.jj 2016-11-30 08:57:26.000000000 +0100
> +++ libobjc/configure.ac 2016-11-30 11:47:33.085828683 +0100
> @@ -203,7 +203,7 @@ gt_BITFIELD_TYPE_MATTERS
> AC_ARG_ENABLE(objc-gc,
> [AS_HELP_STRING([--enable-objc-gc],
> [enable use of Boehm's garbage collector with the
> - GNU Objective-C runtime])])
> + GNU Objective-C runtime])],,enable_objc_gc=no)
> AC_ARG_WITH([target-bdw-gc],
> [AS_HELP_STRING([--with-target-bdw-gc=PATHLIST],
> [specify prefix directory for installed bdw-gc package.
> --- libobjc/configure.jj 2016-11-30 08:57:26.000000000 +0100
> +++ libobjc/configure 2016-11-30 11:47:44.720680375 +0100
> @@ -11509,6 +11509,8 @@ $as_echo "#define HAVE_BITFIELD_TYPE_MAT
> # Check whether --enable-objc-gc was given.
> if test "${enable_objc_gc+set}" = set; then :
> enableval=$enable_objc_gc;
> +else
> + enable_objc_gc=no
> fi
There's one more fix needed for the case of only having the pkg-config module
installed when configuring with --enable-objc-gc. We can't use PKG_CHECK_MODULES
directly because the pkg.m4 macros choke on the dash in the module name. Thus
setting the CFLAGS and LIBS directly. Ok to install?
* configure.ac: Set BDW_GC_CFLAGS and BDW_GC_LIBS after checking
for the existence of the pkg-config modules.
* Regenerate.
--- libobjc/configure.ac (Revision 243006)
+++ libobjc/configure.ac (Arbeitskopie)
@@ -225,7 +225,9 @@
if test "x$with_target_bdw_gc$with_target_bdw_gc_include$with_target_bdw_gc_lib" = x; then
dnl no bdw-gw options, fall back to the bdw-gc pkg-config module
PKG_CHECK_EXISTS(bdw-gc,
- AC_MSG_RESULT([using bdw-gc pkg-config module]),
+ [AC_MSG_RESULT([using bdw-gc pkg-config module])
+ BDW_GC_CFLAGS=`$PKG_CONFIG --cflags bdw-gc`
+ BDW_GC_LIBS=`$PKG_CONFIG --libs bdw-gc`],
AC_MSG_ERROR([no --with-target-bdw-gc options and no bdw-gc pkg-config module found]))
else
dnl bdw-gw options passed by configure flags