>From b71abd96ff586c6316f6f38041afa73824f52c60 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup
Date: Fri, 21 Nov 2014 09:32:49 +0100 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(). --- Makefile.am | 24 ++---------------------- configure.ac | 4 ++++ doc/Makefile.am | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 22 deletions(-) create mode 100644 doc/Makefile.am diff --git a/Makefile.am b/Makefile.am index 86aada4..9f4b2b9 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 @@ -246,7 +245,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. @@ -255,25 +254,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/configure.ac b/configure.ac index 3f81671..bfa017f 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]) @@ -290,6 +293,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