automake: update gtk-doc.m4 to serial 2
PATCH 1/2 automake: update gtk-doc.m4 to serial 2
Update gtk-doc.m4 infra to serial (version) 2.
Some packages start to need/ship with the new version and can't be properly autoreconf'ed, like kmod 18+.
The file was picked up from kmod-18 itself actually.
Also add host-pkgconf to DEPENDENCIES since it's required by gtk-doc.m4 and rather than tweak it we'd prefer to use vanilla - it's actually a small price in build time if we are autoreconfiguring anyway.
--- package/automake/automake.mk | 2 +- package/automake/gtk-doc.m4 | 47 ++++++++++++++++++++++++++++++++++---------- 2 files changed, 38 insertions(+), 11 deletions(-)
package/automake/automake.mk +1 -1
@@ -10,7 +10,7 @@ AUTOMAKE_SITE = $(BR2_GNU_MIRROR)/automake AUTOMAKE_LICENSE = GPLv2+ AUTOMAKE_LICENSE_FILES = COPYING -HOST_AUTOMAKE_DEPENDENCIES = host-autoconf +HOST_AUTOMAKE_DEPENDENCIES = host-autoconf host-pkgconf define GTK_DOC_M4_INSTALL $(INSTALL) -D -m 0644 package/automake/gtk-doc.m4 $(HOST_DIR)/usr/share/aclocal/gtk-doc.m4
package/automake/gtk-doc.m4 +37 -10
77 lines not on this page · raw message
Signature · 1 line
2.0.4
PATCH 2/2 kmod: needs to autoreconf
Fixes:
http://autobuild.buildroot.net/results/7a7/7a70b179f17070d0a0883f71c60030dd7d8a9102/
Didn't see widespread failure because it autoreconfed on its own just fine if autotools infra was already present.
And didn't work before the automake patch with AUTORECONF=YES because of an older gtk-doc.m4
--- package/kmod/kmod.mk | 2 ++ 1 file changed, 2 insertions(+)
package/kmod/kmod.mk +2 -0
@@ -8,6 +8,8 @@ KMOD_VERSION = 18 KMOD_SOURCE = kmod-$(KMOD_VERSION).tar.xz KMOD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kmod KMOD_INSTALL_STAGING = YES +# For kmod-0002-add-backup-implementation-of-be32toh.patch +KMOD_AUTORECONF = YES KMOD_DEPENDENCIES = host-pkgconf HOST_KMOD_DEPENDENCIES = host-pkgconf
Signature · 1 line
2.0.4
PATCH 2/2 kmod: needs to autoreconf
Dear Gustavo Zacarias,
Quoted 18 lines · Gustavo Zacarias
Fixes:
http://autobuild.buildroot.net/results/7a7/7a70b179f17070d0a0883f71c60030dd7d8a9102/
Didn't see widespread failure because it autoreconfed on its own just fine if autotools infra was already present.
And didn't work before the automake patch with AUTORECONF=YES because of an older gtk-doc.m4Signed-off-by Gustavo Zacarias <[email protected]>--- package/kmod/kmod.mk | 2 ++ 1 file changed, 2 insertions(+)package/kmod/kmod.mk +0
-0
package/kmod/kmod.mk KMOD_VERSION = 18 · line 15
Quoted 8 lines
package/kmod/kmod.mk +2
-0@@ -8,6 +8,8 @@ KMOD_VERSION = 18 KMOD_SOURCE = kmod-$(KMOD_VERSION).tar.xz KMOD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kmod KMOD_INSTALL_STAGING = YES +# For kmod-0002-add-backup-implementation-of-be32toh.patch +KMOD_AUTORECONF = YES KMOD_DEPENDENCIES = host-pkgconf HOST_KMOD_DEPENDENCIES = host-pkgconf
Signature · 5 lines
Vicente Olivert Riera Graduate Software Engineer, MIPS Processor IP Imagination Technologies Limited t: +44 (0)113 2429814 www.imgtec.com
PATCH 2/2 kmod: needs to autoreconf
In reply to Gustavo ZacariasQuoted 10 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Gustavo" == Gustavo Zacarias <[email protected]> writes:
Fixes:
http://autobuild.buildroot.net/results/7a7/7a70b179f17070d0a0883f71c60030dd7d8a9102/
Didn't see widespread failure because it autoreconfed on its own just fine if autotools infra was already present.
And didn't work before the automake patch with AUTORECONF=YES because of an older gtk-doc.m4Signed-off-by Gustavo Zacarias <[email protected]>
Committed, thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/2 automake: update gtk-doc.m4 to serial 2
In reply to Gustavo ZacariasDear Gustavo Zacarias,
Quoted 102 lines · Gustavo Zacarias
Update gtk-doc.m4 infra to serial (version) 2.
Some packages start to need/ship with the new version and can't be properly autoreconf'ed, like kmod 18+.
The file was picked up from kmod-18 itself actually.
Also add host-pkgconf to DEPENDENCIES since it's required by gtk-doc.m4 and rather than tweak it we'd prefer to use vanilla - it's actually a small price in build time if we are autoreconfiguring anyway.Signed-off-by Gustavo Zacarias <[email protected]>--- package/automake/automake.mk | 2 +- package/automake/gtk-doc.m4 | 47 ++++++++++++++++++++++++++++++++++---------- 2 files changed, 38 insertions(+), 11 deletions(-)package/automake/automake.mk +1
-1@@ -10,7 +10,7 @@ AUTOMAKE_SITE = $(BR2_GNU_MIRROR)/automake AUTOMAKE_LICENSE = GPLv2+ AUTOMAKE_LICENSE_FILES = COPYING -HOST_AUTOMAKE_DEPENDENCIES = host-autoconf +HOST_AUTOMAKE_DEPENDENCIES = host-autoconf host-pkgconf define GTK_DOC_M4_INSTALL $(INSTALL) -D -m 0644 package/automake/gtk-doc.m4 $(HOST_DIR)/usr/share/aclocal/gtk-doc.m4package/automake/gtk-doc.m4 +32
-10@@ -1,16 +1,33 @@ dnl -*- mode: autoconf -*- -# serial 1 +# serial 2 dnl Usage: dnl GTK_DOC_CHECK([minimum-gtk-doc-version]) AC_DEFUN([GTK_DOC_CHECK], [ + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first + ifelse([$1],[],[gtk_doc_requires="gtk-doc"],[gtk_doc_requires="gtk-doc >= $1"]) + AC_MSG_CHECKING([for gtk-doc]) + PKG_CHECK_EXISTS([$gtk_doc_requires],[have_gtk_doc=yes],[have_gtk_doc=no]) + AC_MSG_RESULT($have_gtk_doc) + + if test "$have_gtk_doc" = "no"; then + AC_MSG_WARN([ + You will not be able to create source packages with 'make dist' + because $gtk_doc_requires is not found.]) + fi + dnl check for tools we added during development - AC_PATH_PROG([GTKDOC_CHECK],[gtkdoc-check]) + dnl Use AC_CHECK_PROG to avoid the check target using an absolute path that + dnl may not be writable by the user. Currently, automake requires that the + dnl test name must end in '.test'. + dnl https://bugzilla.gnome.org/show_bug.cgi?id=701638 + AC_CHECK_PROG([GTKDOC_CHECK],[gtkdoc-check],[gtkdoc-check.test]) + AC_PATH_PROG([GTKDOC_CHECK_PATH],[gtkdoc-check]) AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true]) AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf])@@ -27,17 +44,22 @@ AC_DEFUN([GTK_DOC_CHECK], [use gtk-doc to build documentation [[default=no]]]),, [enable_gtk_doc=no]) - if test x$enable_gtk_doc = xyes; then - ifelse([$1],[], - [PKG_CHECK_EXISTS([gtk-doc],, - AC_MSG_ERROR([gtk-doc not installed and --enable-gtk-doc requested]))], - [PKG_CHECK_EXISTS([gtk-doc >= $1],, - AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build $PACKAGE_NAME]))]) - fi - AC_MSG_CHECKING([whether to build gtk-doc documentation]) AC_MSG_RESULT($enable_gtk_doc) + if test "x$enable_gtk_doc" = "xyes" && test "$have_gtk_doc" = "no"; then + AC_MSG_ERROR([ + You must have $gtk_doc_requires installed to build documentation for + $PACKAGE_NAME. Please install gtk-doc or disable building the + documentation by adding '--disable-gtk-doc' to '[$]0'.]) + fi + + dnl don't check for glib if we build glib + if test "x$PACKAGE_NAME" != "xglib"; then + dnl don't fail if someone does not have glib + PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0,,[:]) + fi + dnl enable/disable output formats AC_ARG_ENABLE([gtk-doc-html], AS_HELP_STRING([--enable-gtk-doc-html],@@ -52,7 +74,12 @@ AC_DEFUN([GTK_DOC_CHECK], enable_gtk_doc_pdf=no fi
package/automake/gtk-doc.m4 AC_DEFUN([GTK_DOC_CHECK], · line 85
Quoted 10 lines
package/automake/gtk-doc.m4 +5
-0+ if test -z "$AM_DEFAULT_VERBOSITY"; then + AM_DEFAULT_VERBOSITY=1 + fi + AC_SUBST([AM_DEFAULT_VERBOSITY]) + AM_CONDITIONAL([HAVE_GTK_DOC], [test x$have_gtk_doc = xyes]) AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes]) AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes]) AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes])
Signature · 5 lines
Vicente Olivert Riera Graduate Software Engineer, MIPS Processor IP Imagination Technologies Limited t: +44 (0)113 2429814 www.imgtec.com
PATCH 1/2 automake: update gtk-doc.m4 to serial 2
In reply to Gustavo ZacariasDear Gustavo Zacarias,
package/automake/automake.mk AUTOMAKE_SITE = $(BR2_GNU_MIRROR)/automake · line 13
Quoted 2 lines · Gustavo Zacarias
package/automake/automake.mk +1
-1-HOST_AUTOMAKE_DEPENDENCIES = host-autoconf +HOST_AUTOMAKE_DEPENDENCIES = host-autoconf host-pkgconf
I'm not sure exactly, but shouldn't depending on host-pkgconf be the responsibility of each individual package that uses the gtk-doc.m4 stuff?
Even though I agree pkgconf is fairly quick to build, I find it odd to have host-automake depend on host-pkgconf if it's only a very limited number of packages that actually use the gtk-doc.m4 stuff that need the host-pkgconf dependency.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/2 automake: update gtk-doc.m4 to serial 2
Quoted 8 lines · Thomas Petazzoni
I'm not sure exactly, but shouldn't depending on host-pkgconf be the responsibility of each individual package that uses the gtk-doc.m4 stuff?
Even though I agree pkgconf is fairly quick to build, I find it odd to have host-automake depend on host-pkgconf if it's only a very limited number of packages that actually use the gtk-doc.m4 stuff that need the host-pkgconf dependency.
The problem is it wasn't the case for gtk-doc.m4 serial 1, the check and need for pkgconfig is done after gtk-doc is enabled, but for serial 2 some of the checks are done before that.
So we'd need to find all packages that use gtk-doc.m4 and add it there (well, for those that autoreconf, but that would be sloppy since an added autoreconf would trigger the need).
As stated i prefer to keep it simple without patching gtk-doc.m4 for when serial 3 comes around.
Regards.
PATCH 1/2 automake: update gtk-doc.m4 to serial 2
Dear Gustavo Zacarias,
Quoted 9 lines · Gustavo Zacarias
Quoted 8 lines
I'm not sure exactly, but shouldn't depending on host-pkgconf be the responsibility of each individual package that uses the gtk-doc.m4 stuff?
Even though I agree pkgconf is fairly quick to build, I find it odd to have host-automake depend on host-pkgconf if it's only a very limited number of packages that actually use the gtk-doc.m4 stuff that need the host-pkgconf dependency.
Quoted 6 lines
The problem is it wasn't the case for gtk-doc.m4 serial 1, the check and need for pkgconfig is done after gtk-doc is enabled, but for serial 2 some of the checks are done before that.
So we'd need to find all packages that use gtk-doc.m4 and add it there (well, for those that autoreconf, but that would be sloppy since an added autoreconf would trigger the need).
Yes, correct, that's my idea. I think it's more correct than globally adding this host-pkgconf dependency.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/2 automake: update gtk-doc.m4 to serial 2
Quoted 2 lines · Thomas Petazzoni
Yes, correct, that's my idea. I think it's more correct than globally adding this host-pkgconf dependency.
"When you autoreconf you might need host-pkgconf in DEPENDENCIES whereas you didn't before"... really?
Regards.
PATCH 1/2 automake: update gtk-doc.m4 to serial 2
Dear Gustavo Zacarias,
Quoted 5 lines · Gustavo Zacarias
Quoted 2 lines
Yes, correct, that's my idea. I think it's more correct than globally adding this host-pkgconf dependency.
"When you autoreconf you might need host-pkgconf in DEPENDENCIES whereas you didn't before"... really?
Come on Gustavo, no need to start being aggressive here.
Yes, that's exactly what I suggest. And actually, we already need to add host-pkgconf in DEPENDENCIES when doing autoreconf, if the configure.ac uses PKG_CHECK_MODULES, which is far more common than packages using gtk-doc.m4 specifically.
PKG_CHECK_MODULES in configure.ac requiring host-pkgconf in the DEPENDENCIES is precisely the reason why I proposed
http://patchwork.ozlabs.org/patch/340902/ some time ago. Nothing prevents from adding a similar check to see if the package uses the gtk-doc.m4 macros or not. That would at least warn loudly if such macros are used without the package having host-pkgconf in its dependencies.
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/2 automake: update gtk-doc.m4 to serial 2
Quoted 1 line · Thomas Petazzoni
Come on Gustavo, no need to start being aggressive here.
Huh? It's not intended to be aggressive.
Quoted 5 lines
Yes, that's exactly what I suggest. And actually, we already need to add host-pkgconf in DEPENDENCIES when doing autoreconf, if the configure.ac uses
PKG_CHECK_MODULES, which is far more common than packages using gtk-doc.m4 specifically.
Quoted 7 lines
PKG_CHECK_MODULESin configure.ac requiring host-pkgconf in the DEPENDENCIES is precisely the reason why I proposed
http://patchwork.ozlabs.org/patch/340902/ some time ago. Nothing prevents from adding a similar check to see if the package uses the gtk-doc.m4 macros or not. That would at least warn loudly if such macros are used without the package having host-pkgconf in its dependencies.
Well, at least from my POV it's making some packages need host-pkgconf just because they use gtk-doc.m4, we're bumping the version and they're AUTORECONFed. If they weren't AUTORECONFed they maybe didn't need host-pkgconf (maybe for other purposes, but not because of the old gtk-doc.m4) so it seems to me it's autotools/autoreconfs fault, and it should be handled there.
It has nothing to do with packages that don't account for host-pkgconf usage without accounting for it in the first place.
Regards.
PATCH 1/2 automake: update gtk-doc.m4 to serial 2
In reply to Gustavo ZacariasQuoted 35 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Gustavo" == Gustavo Zacarias <[email protected]> writes:
Update gtk-doc.m4 infra to serial (version) 2.
Some packages start to need/ship with the new version and can't be properly autoreconf'ed, like kmod 18+.
The file was picked up from kmod-18 itself actually.
Also add host-pkgconf to DEPENDENCIES since it's required by gtk-doc.m4 and rather than tweak it we'd prefer to use vanilla - it's actually a small price in build time if we are autoreconfiguring anyway.Signed-off-by Gustavo Zacarias <[email protected]>--- package/automake/automake.mk | 2 +- package/automake/gtk-doc.m4 | 47 ++++++++++++++++++++++++++++++++++---------- 2 files changed, 38 insertions(+), 11 deletions(-)package/automake/automake.mk +1
-1@@ -10,7 +10,7 @@ AUTOMAKE_SITE = $(BR2_GNU_MIRROR)/automake AUTOMAKE_LICENSE = GPLv2+ AUTOMAKE_LICENSE_FILES = COPYING -HOST_AUTOMAKE_DEPENDENCIES = host-autoconf +HOST_AUTOMAKE_DEPENDENCIES = host-autoconf host-pkgconf define GTK_DOC_M4_INSTALL $(INSTALL) -D -m 0644 package/automake/gtk-doc.m4 $(HOST_DIR)/usr/share/aclocal/gtk-doc.m4package/automake/gtk-doc.m4 +0
-0@@ -27,17 +44,22 @@ AC_DEFUN([GTK_DOC_CHECK], [use gtk-doc to build documentation [[default=no]]]),,
package/automake/gtk-doc.m4 AC_DEFUN([GTK_DOC_CHECK], · line 37
Quoted 10 lines
package/automake/gtk-doc.m4 +0
-8[enable_gtk_doc=no]) - if test x$enable_gtk_doc = xyes; then - ifelse([$1],[], - [PKG_CHECK_EXISTS([gtk-doc],, - AC_MSG_ERROR([gtk-doc not installed and --enable-gtk-doc requested]))], - [PKG_CHECK_EXISTS([gtk-doc >= $1],, - AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build $PACKAGE_NAME]))]) - fi -
So the old version of gtk-doc.m4 already needed host-pkgconf when autoreconfiguring, and the bump shouldn't cause any more breakage.
We discussed it during the dev days. Considering how fast host-pkgconf builds we should probably just automatically pull it in for all autotools packages (even if they don't autoreconf) so we don't need to add it everywhere, but that's for later.
Signature · 1 line
Bye, Peter Korsgaard