Patchwork Fix PR fortran/47174 (was: [Patch,quadmath] PR 46543: Add first documentation)

login
register
mail settings
Submitter Ralf Wildenhues
Date Jan. 6, 2011, 7:12 p.m.
Message ID <20110106191256.GB17791@gmx.de>
Download mbox | patch
Permalink /patch/77791/
State New
Headers show

Comments

Ralf Wildenhues - Jan. 6, 2011, 7:12 p.m.
* Eric Botcazou wrote on Tue, Jan 04, 2011 at 12:39:33AM CET:
> > In what way is that different from, say, libgomp?
> > IIUC makeinfo is required for the development tree.
> 
> libgomp doesn't fail to build in this configuration.  In fact, all components
> used to build in this configuration (except maybe libjava) up to the patch.

Ah, got it now.  libquadmath is different in that it overrides the
libquadmath.info target only conditionally.  That lets automake think
that its own rule might sometimes still apply, so it outputs the rule
for that conditional case.

Can you please confirm that the patch below fixes things for you?
You need to run automake in libquadmath after applying it.

Thanks,
Ralf

Fix PR fortran/47174

libquadmath/ChangeLog:
2011-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	PR fortran/47174
	* Makefile.am (libquadmath.info): Unconditionally override
	target, not only if BUILD_LIBQUADMATH.
	* Makefile.in: Regenerate.
	* configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override option to
	avoid warning from automake.
Eric Botcazou - Jan. 6, 2011, 8:35 p.m.
> Ah, got it now.  libquadmath is different in that it overrides the
> libquadmath.info target only conditionally.  That lets automake think
> that its own rule might sometimes still apply, so it outputs the rule
> for that conditional case.

OK, thanks for the investigation.

> Can you please confirm that the patch below fixes things for you?
> You need to run automake in libquadmath after applying it.

Yes, it works fine here.

Patch

diff --git a/libquadmath/Makefile.am b/libquadmath/Makefile.am
index e907123..83eb749 100644
--- a/libquadmath/Makefile.am
+++ b/libquadmath/Makefile.am
@@ -126,8 +126,6 @@  stamp-geninsrc: libquadmath.info
 	cp -p $(top_builddir)/libquadmath.info $(srcdir)/libquadmath.info
 	@touch $@
 
-libquadmath.info: $(STAMP_BUILD_INFO)
-
 stamp-build-info: libquadmath.texi
 	$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libquadmath.info $(srcdir)/libquadmath.texi
 	@touch $@
@@ -135,7 +133,11 @@  stamp-build-info: libquadmath.texi
 CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) libquadmath.info
 MAINTAINERCLEANFILES = $(srcdir)/libquadmath.info
 
-endif
+endif BUILD_LIBQUADMATH
+
+# Unconditionally override this target, so that automake's definition
+# does not wrongly interfere.
+libquadmath.info: $(STAMP_BUILD_INFO)
 
 
 # Automake Documentation:
diff --git a/libquadmath/configure.ac b/libquadmath/configure.ac
index 68b5cf8..568b36a 100644
--- a/libquadmath/configure.ac
+++ b/libquadmath/configure.ac
@@ -26,7 +26,7 @@  ACX_NONCANONICAL_TARGET
 target_alias=${target_alias-$host_alias}
 AC_SUBST(target_alias)
 
-AM_INIT_AUTOMAKE([1.9.0 foreign subdir-objects no-dist -Wall -Werror])
+AM_INIT_AUTOMAKE([1.9.0 foreign subdir-objects no-dist -Wall -Wno-override -Werror])
 
 AC_MSG_CHECKING([for --enable-version-specific-runtime-libs])
 AC_ARG_ENABLE(version-specific-runtime-libs,