From 48bf98f380eeeaebdb5475ff47bf181f62b58ec6 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sat, 26 Nov 2011 21:08:25 +0100 Subject: [PATCH] Fix conflict between two instantiations of module 'unistd'. * gnulib-tool (func_emit_autoconf_snippet): Substitute ${include_guard_prefix} also in the autoconf snippet. * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize GNULIB_UNISTD_H_GETOPT. * modules/getopt-posix (configure.ac): Set the GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable. * modules/getopt-gnu (configure.ac): Likewise. * modules/unistd (Makefile.am): Change the substitution value of GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix. Reported by Simon Josefsson. --- ChangeLog | 15 +++++++++++++++ gnulib-tool | 5 +++++ m4/getopt.m4 | 4 +--- m4/unistd_h.m4 | 3 +-- modules/getopt-gnu | 3 +++ modules/getopt-posix | 3 +++ modules/unistd | 2 +- 7 files changed, 29 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 056a5001f..af7bcec52 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2011-11-26 Bruno Haible + + Fix conflict between two instantiations of module 'unistd'. + * gnulib-tool (func_emit_autoconf_snippet): Substitute + ${include_guard_prefix} also in the autoconf snippet. + * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize + GNULIB_UNISTD_H_GETOPT. + * modules/getopt-posix (configure.ac): Set the + GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable. + * modules/getopt-gnu (configure.ac): Likewise. + * modules/unistd (Makefile.am): Change the substitution value of + GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix. + Reported by Simon Josefsson. + 2011-11-25 Bruno Haible pagealign_alloc: Doc and comments. diff --git a/gnulib-tool b/gnulib-tool index a1a12517b..792bd4993 100755 --- a/gnulib-tool +++ b/gnulib-tool @@ -3852,6 +3852,8 @@ func_emit_initmacro_done () # - local_gnulib_dir from --local-dir # - modcache true or false, from --cache-modules/--no-cache-modules # - sed_replace_build_aux sed expression that replaces reference to build-aux +# - sed_replace_include_guard_prefix +# sed expression for resolving ${gl_include_guard_prefix} # - module the module name # - toplevel true or false. 'false' means a subordinate use of # gnulib-tool. @@ -3874,6 +3876,7 @@ func_emit_autoconf_snippet () func_get_autoconf_snippet "$module" \ | sed -e '/^$/d;' -e "s/^/$indentation/" \ -e "$sed_replace_build_aux" \ + -e "$sed_replace_include_guard_prefix" \ | { if $disable_libtool; then sed -e 's/\$gl_cond_libtool/false/g' \ -e 's/gl_libdeps/gltests_libdeps/g' \ @@ -3903,6 +3906,8 @@ func_emit_autoconf_snippet () # - local_gnulib_dir from --local-dir # - modcache true or false, from --cache-modules/--no-cache-modules # - sed_replace_build_aux sed expression that replaces reference to build-aux +# - sed_replace_include_guard_prefix +# sed expression for resolving ${gl_include_guard_prefix} # - modules the list of modules. # - verifier one of func_verify_module, func_verify_nontests_module, # func_verify_tests_module. It selects the subset of diff --git a/m4/getopt.m4 b/m4/getopt.m4 index 047a3db02..8ec6e7945 100644 --- a/m4/getopt.m4 +++ b/m4/getopt.m4 @@ -1,4 +1,4 @@ -# getopt.m4 serial 38 +# getopt.m4 serial 39 dnl Copyright (C) 2002-2006, 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -25,8 +25,6 @@ AC_DEFUN([gl_FUNC_GETOPT_POSIX], if test $REPLACE_GETOPT = 1; then dnl Arrange for getopt.h to be created. gl_GETOPT_SUBSTITUTE_HEADER - dnl Arrange for unistd.h to include getopt.h. - GNULIB_UNISTD_H_GETOPT=1 fi ]) diff --git a/m4/unistd_h.m4 b/m4/unistd_h.m4 index 57c8094e4..b4eca6855 100644 --- a/m4/unistd_h.m4 +++ b/m4/unistd_h.m4 @@ -1,4 +1,4 @@ -# unistd_h.m4 serial 61 +# unistd_h.m4 serial 62 dnl Copyright (C) 2006-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -98,7 +98,6 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], GNULIB_SYMLINK=0; AC_SUBST([GNULIB_SYMLINK]) GNULIB_SYMLINKAT=0; AC_SUBST([GNULIB_SYMLINKAT]) GNULIB_TTYNAME_R=0; AC_SUBST([GNULIB_TTYNAME_R]) - GNULIB_UNISTD_H_GETOPT=0; AC_SUBST([GNULIB_UNISTD_H_GETOPT]) GNULIB_UNISTD_H_NONBLOCKING=0; AC_SUBST([GNULIB_UNISTD_H_NONBLOCKING]) GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE]) GNULIB_UNLINK=0; AC_SUBST([GNULIB_UNLINK]) diff --git a/modules/getopt-gnu b/modules/getopt-gnu index 6ad3643aa..69fc7de1a 100644 --- a/modules/getopt-gnu +++ b/modules/getopt-gnu @@ -14,7 +14,10 @@ if test $REPLACE_GETOPT = 1; then AC_LIBOBJ([getopt]) AC_LIBOBJ([getopt1]) gl_PREREQ_GETOPT + dnl Arrange for unistd.h to include getopt.h. + GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT=1 fi +AC_SUBST([GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT]) gl_MODULE_INDICATOR_FOR_TESTS([getopt-gnu]) Makefile.am: diff --git a/modules/getopt-posix b/modules/getopt-posix index 89b7a542d..b82d6b27c 100644 --- a/modules/getopt-posix +++ b/modules/getopt-posix @@ -21,7 +21,10 @@ if test $REPLACE_GETOPT = 1; then AC_LIBOBJ([getopt]) AC_LIBOBJ([getopt1]) gl_PREREQ_GETOPT + dnl Arrange for unistd.h to include getopt.h. + GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT=1 fi +AC_SUBST([GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT]) Makefile.am: BUILT_SOURCES += $(GETOPT_H) diff --git a/modules/unistd b/modules/unistd index 633ba3198..0cee9b388 100644 --- a/modules/unistd +++ b/modules/unistd @@ -70,7 +70,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \ -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \ -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \ - -e 's/@''GNULIB_UNISTD_H_GETOPT''@/$(GNULIB_UNISTD_H_GETOPT)/g' \ + -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT)/g' \ -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \ -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \ -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \ -- 2.11.0