>From 29aaca21c98b7eff51c56e608fd5053831d42ea3 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Mon, 26 May 2014 07:18:28 +0200 Subject: [PATCH 1/2] build: fix bootstrap fail Moving the 'doc' related Makefile targets into doc/Makefile.am to avoid building manual page before the m4 binary itself (suggested by automake.info). Also use LT_LIB_DLLOAD macro to perform proper check for dynamic loading API. References: a43fd66dc18 (revert) * Makefile.am (SUBDIRS): Add doc subdir. (m4_libm4_la_LIBADD): Remove redundant $(LIBADD_DL). * Makefile.am. Move to docs-related rules to .. * doc/Makefile.am: .. here. * configure.ac (LT_LIB_DLLOAD): Added, needed for linking dlopen(), dlerror() and dlsym(). * po/Makevars: Regenerate. * build-aux/m4/gnulib-cache.m4: Likewise. * build-aux/gnulib: Pull newest version. --- Makefile.am | 23 ++--------------------- build-aux/gnulib | 2 +- build-aux/m4/gnulib-cache.m4 | 2 +- configure.ac | 4 ++++ doc/Makefile.am | 35 +++++++++++++++++++++++++++++++++++ po/Makevars | 6 +++--- 6 files changed, 46 insertions(+), 26 deletions(-) create mode 100644 doc/Makefile.am diff --git a/Makefile.am b/Makefile.am index c752ff2..d378b76 100644 --- a/Makefile.am +++ b/Makefile.am @@ -20,10 +20,9 @@ ## ## Written by Gary V. Vaughan -config_aux_dir = build-aux config_macro_dir= $(config_aux_dir)/m4 -SUBDIRS = po m4/gnu . tests/gnu +SUBDIRS = po m4/gnu . doc tests/gnu ACLOCAL_AMFLAGS = -I build-aux/m4 AUTOMAKE_OPTIONS = nostdinc @@ -232,7 +231,7 @@ m4_libm4_la_SOURCES = \ m4/syntax.c \ m4/utility.c m4_libm4_la_LIBADD = m4/gnu/libgnu.la \ - $(LIBLTDL) $(LTLIBINTL) $(LIBADD_DL) + $(LIBLTDL) $(LTLIBINTL) m4_libm4_la_DEPENDENCIES = $(LTDLDEPS) m4/gnu/libgnu.la # This file needs to be regenerated at configure time. @@ -241,24 +240,6 @@ dist-hook: EXTRA_DIST += m4/system_.h -## -------------- ## -## Documentation. ## -## -------------- ## -info_TEXINFOS = doc/m4.texi -m4_TEXINFOS = doc/regexprops-generic.texi doc/fdl-1.3.texi doc/gpl-3.0.texi -dist_man_MANS = $(srcdir)/doc/m4.1 -EXTRA_DIST += doc/gendocs_template -MAINTAINERCLEANFILES += doc/gendocs_template -HELP2MAN = $(SHELL) $(top_srcdir)/$(config_aux_dir)/missing --run help2man - -# Build the man page once in the srcdir, rather than in every VPATH build -# dir, to match how automake builds info pages. This is safe for 'make -# distcheck' since it is distributed pre-built. -$(srcdir)/doc/m4.1: .version $(srcdir)/src/main.c - @echo "Updating the \`man' page \`$@'"; \ - $(HELP2MAN) --name="macro processor" --source=FSF \ - --info-page=m4 --output=$@ src/m4$(EXEEXT) - TAGS_FILES = $(infos_TEXINFOS) TAGS_DEPENDENCIES = $(TAGS_FILES) ETAGS_ARGS = --language=none --regex='/@node \([^,]*\)/\1/' $(TAGS_FILES) diff --git a/build-aux/gnulib b/build-aux/gnulib index a4482b6..98ca2c0 160000 --- a/build-aux/gnulib +++ b/build-aux/gnulib @@ -1 +1 @@ -Subproject commit a4482b667f8c6ba6e89eacb876fab7ff4775dab4 +Subproject commit 98ca2c063cfe019b673fd0ce81448c919e9c989c diff --git a/build-aux/m4/gnulib-cache.m4 b/build-aux/m4/gnulib-cache.m4 index a31e566..145b3da 100644 --- a/build-aux/m4/gnulib-cache.m4 +++ b/build-aux/m4/gnulib-cache.m4 @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2013 Free Software Foundation, Inc. +# Copyright (C) 2002-2014 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/configure.ac b/configure.ac index 2fe6d9e..23bddfc 100644 --- a/configure.ac +++ b/configure.ac @@ -83,6 +83,7 @@ M4_CHECK_DEBUGGING ## ----------------------- ## LT_PREREQ([2.2]) LT_INIT([shared dlopen win32-dll]) +LT_LIB_DLLOAD AC_ARG_ENABLE([gcc-warnings], [AS_HELP_STRING([--enable-gcc-warnings], @@ -95,6 +96,8 @@ AC_ARG_ENABLE([gcc-warnings], [gl_gcc_warnings=no] ) +AC_SUBST([config_aux_dir], [build-aux]) + if test "$gl_gcc_warnings" = yes; then gl_WARN_ADD([-Werror], [WERROR_CFLAGS]) AC_SUBST([WERROR_CFLAGS]) @@ -280,6 +283,7 @@ M4_SYSCMD ## -------- ## AC_CONFIG_FILES([ Makefile +doc/Makefile m4/gnu/Makefile m4/system.h:m4/system_.h tests/atlocal diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..614a91a --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,35 @@ +## Makefile.am - template for generating Makefile via Automake +## +## Copyright (C) 2014 Free Software Foundation, Inc. +## +## This file is part of GNU M4. +## +## GNU M4 is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## GNU M4 is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program. If not, see . +## +## Written by Gary V. Vaughan + +info_TEXINFOS = m4.texi +m4_TEXINFOS = regexprops-generic.texi fdl-1.3.texi gpl-3.0.texi +dist_man_MANS = m4.1 +EXTRA_DIST = gendocs_template +MAINTAINERCLEANFILES = gendocs_template +HELP2MAN = $(SHELL) $(top_srcdir)/$(config_aux_dir)/missing --run help2man + +# Build the man page once in the srcdir, rather than in every VPATH build +# dir, to match how automake builds info pages. This is safe for 'make +# distcheck' since it is distributed pre-built. +m4.1: $(top_srcdir)/.version $(top_srcdir)/src/main.c + @echo "Updating the \`man' page \`$@'"; \ + $(HELP2MAN) --name="macro processor" --source=FSF \ + --info-page=m4 --output=$@ $(top_srcdir)/src/m4$(EXEEXT) diff --git a/po/Makevars b/po/Makevars index 118868e..6f3cd63 100644 --- a/po/Makevars +++ b/po/Makevars @@ -9,9 +9,9 @@ top_builddir = .. # These options get passed to xgettext. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ \ ---flag=_:1:pass-c-format \ ---flag=N_:1:pass-c-format \ -$${end_of_xgettext_options+} + --flag=_:1:pass-c-format \ + --flag=N_:1:pass-c-format \ + $${end_of_xgettext_options+} # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding -- 1.9.3