summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2021-04-11 21:25:54 +0200
committerBruno Haible <bruno@clisp.org>2021-04-11 21:25:54 +0200
commit80a344e3237b878734295cbe696b7f1e4a8541f0 (patch)
tree25fae0a848e083103ee2a721f8846d7991370cbd
parent8b857ed1ad1cbbf265d43016ee7ee93c7b7c6cb4 (diff)
downloadgnulib-80a344e3237b878734295cbe696b7f1e4a8541f0.tar.gz
gnulib-80a344e3237b878734295cbe696b7f1e4a8541f0.tar.bz2
Support several gnulib-tool invocations under the same configure.ac.
Reported by Reuben Thomas <rrt@sc3d.org> in <https://lists.gnu.org/archive/html/bug-gnulib/2021-04/msg00104.html>. This is done by defining the Gnulib module indicator variables per gnulib-tool invocation. So that a generated .h file is no longer influenced by the set of modules used in other gnulib-tool invocations. * gnulib-tool (func_compute_include_guard_prefix): Set module_indicator_prefix. (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use it to modify $(GNULIB_*) variable references in the Automake snippets. (func_emit_initmacro_start): Push macro definitions for GL_MACRO_PREFIX and GL_MODULE_INDICATOR_PREFIX. (func_emit_initmacro_end): Pop these macro definitions. * pygnulib/GLConfig.py (GLConfig.getIncludeGuardPrefix): New method. * pygnulib/GLEmiter.py (GLEmiter.initmacro_start): Push macro definitions for GL_MACRO_PREFIX and GL_MODULE_INDICATOR_PREFIX. (GLEmiter.initmacro_end): Pop these macro definitions. (GLEmiter.lib_Makefile_am, GLEmiter.tests_Makefile_am): Use the module indicator prefix to modify $(GNULIB_*) variable references in the Automake snippets. * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_INIT_VARIABLE, gl_MODULE_INDICATOR_SET_VARIABLE): Use the value of GL_MODULE_INDICATOR_PREFIX. * m4/arpa_inet_h.m4: Use new idiom for header files that contain references to Gnulib module indicator variables: - Define the main macro through AC_DEFUN_ONCE. - Define a macro gl_*_H_REQUIRE_DEFAULTS that initializes the Gnulib module indicator variables (each prefixed with GL_MODULE_INDICATOR_PREFIX). - Invoke this macro in the gl_*_MODULE_INDICATOR macro. * m4/ctype.m4: Likewise. * m4/dirent_h.m4: Likewise. * m4/fcntl_h.m4: Likewise. * m4/fnmatch_h.m4: Likewise. * m4/glob_h.m4: Likewise. * m4/iconv_h.m4: Likewise. * m4/inttypes.m4: Likewise. * m4/langinfo_h.m4: Likewise. * m4/locale_h.m4: Likewise. * m4/malloc_h.m4: Likewise. * m4/math_h.m4: Likewise. * m4/monetary_h.m4: Likewise. * m4/netdb_h.m4: Likewise. * m4/poll_h.m4: Likewise. * m4/pthread_h.m4: Likewise. * m4/pty_h.m4: Likewise. * m4/sched_h.m4: Likewise. * m4/search_h.m4: Likewise. * m4/signal_h.m4: Likewise. * m4/spawn_h.m4: Likewise. * m4/stddef_h.m4: Likewise. * m4/stdio_h.m4: Likewise. * m4/stdlib_h.m4: Likewise. * m4/string_h.m4: Likewise. * m4/strings_h.m4: Likewise. * m4/sys_file_h.m4: Likewise. * m4/sys_ioctl_h.m4: Likewise. * m4/sys_random_h.m4: Likewise. * m4/sys_resource_h.m4: Likewise. * m4/sys_select_h.m4: Likewise. * m4/sys_socket_h.m4: Likewise. * m4/sys_stat_h.m4: Likewise. * m4/sys_time_h.m4: Likewise. * m4/sys_times_h.m4: Likewise. * m4/sys_types_h.m4: Likewise. * m4/sys_uio_h.m4: Likewise. * m4/sys_utsname_h.m4: Likewise. * m4/sys_wait_h.m4: Likewise. * m4/termios_h.m4: Likewise. * m4/threads.m4: Likewise. * m4/time_h.m4: Likewise. * m4/uchar.m4: Likewise. * m4/unistd_h.m4: Likewise. * m4/utime_h.m4: Likewise. * m4/wchar_h.m4: Likewise. * m4/wctype_h.m4: Likewise. * modules/arpa_inet (configure.ac): Invoke the macro gl_*_H_REQUIRE_DEFAULTS explicitly. * modules/ctype (configure.ac): Likewise. * modules/dirent (configure.ac): Likewise. * modules/fcntl-h (configure.ac): Likewise. * modules/fnmatch-h (configure.ac): Likewise. * modules/glob-h (configure.ac): Likewise. * modules/iconv-h (configure.ac): Likewise. * modules/inttypes-incomplete (configure.ac): Likewise. * modules/langinfo (configure.ac): Likewise. * modules/locale (configure.ac): Likewise. * modules/malloc-h (configure.ac): Likewise. * modules/math (configure.ac): Likewise. * modules/monetary (configure.ac): Likewise. * modules/netdb (configure.ac): Likewise. * modules/poll-h (configure.ac): Likewise. * modules/pthread-h (configure.ac): Likewise. * modules/pty (configure.ac): Likewise. * modules/sched (configure.ac): Likewise. * modules/search (configure.ac): Likewise. * modules/signal-h (configure.ac): Likewise. * modules/spawn (configure.ac): Likewise. * modules/stddef (configure.ac): Likewise. * modules/stdio (configure.ac): Likewise. * modules/stdlib (configure.ac): Likewise. * modules/string (configure.ac): Likewise. * modules/strings (configure.ac): Likewise. * modules/sys_file (configure.ac): Likewise. * modules/sys_ioctl (configure.ac): Likewise. * modules/sys_random (configure.ac): Likewise. * modules/sys_resource (configure.ac): Likewise. * modules/sys_select (configure.ac): Likewise. * modules/sys_socket (configure.ac): Likewise. * modules/sys_stat (configure.ac): Likewise. * modules/sys_time (configure.ac): Likewise. * modules/sys_times (configure.ac): Likewise. * modules/sys_types (configure.ac): Likewise. * modules/sys_uio (configure.ac): Likewise. * modules/sys_utsname (configure.ac): Likewise. * modules/sys_wait (configure.ac): Likewise. * modules/termios (configure.ac): Likewise. * modules/threads-h (configure.ac): Likewise. * modules/time (configure.ac): Likewise. * modules/uchar (configure.ac): Likewise. * modules/unistd (configure.ac): Likewise. * modules/utime-h (configure.ac): Likewise. * modules/wchar (configure.ac): Likewise. * modules/wctype-h (configure.ac): Likewise. * m4/af_alg.m4: Update after a macro name changed. * m4/ctime.m4: Likewise. * m4/explicit_bzero.m4: Likewise. * m4/ffs.m4: Likewise. * m4/ffsl.m4: Likewise. * m4/ffsll.m4: Likewise. * m4/flock.m4: Likewise. * m4/fstat.m4: Likewise. * m4/getaddrinfo.m4: Likewise. * m4/getdomainname.m4: Likewise. * m4/gettimeofday.m4: Likewise. * m4/hostent.m4: Likewise. * m4/ioctl.m4: Likewise. * m4/localtime.m4: Likewise. * m4/mbslen.m4: Likewise. * m4/memchr.m4: Likewise. * m4/memmem.m4: Likewise. * m4/mempcpy.m4: Likewise. * m4/memrchr.m4: Likewise. * m4/mktime.m4: Likewise. * m4/nanosleep.m4: Likewise. * m4/passfd.m4: Likewise. * m4/pselect.m4: Likewise. * m4/rawmemchr.m4: Likewise. * m4/select.m4: Likewise. * m4/servent.m4: Likewise. * m4/sigabbrev_np.m4: Likewise. * m4/sigdescr_np.m4: Likewise. * m4/sockpfaf.m4: Likewise. * m4/stat.m4: Likewise. * m4/stpcpy.m4: Likewise. * m4/stpncpy.m4: Likewise. * m4/strcase.m4: Likewise. * m4/strcasestr.m4: Likewise. * m4/strchrnul.m4: Likewise. * m4/strdup.m4: Likewise. * m4/strerror.m4: Likewise. * m4/strerror_r.m4: Likewise. * m4/strerrorname_np.m4: Likewise. * m4/strftime-fixes.m4: Likewise. * m4/strncat.m4: Likewise. * m4/strndup.m4: Likewise. * m4/strnlen.m4: Likewise. * m4/strpbrk.m4: Likewise. * m4/strptime.m4: Likewise. * m4/strsep.m4: Likewise. * m4/strsignal.m4: Likewise. * m4/strstr.m4: Likewise. * m4/strtok_r.m4: Likewise. * m4/strverscmp.m4: Likewise. * m4/time_r.m4: Likewise. * m4/time_rz.m4: Likewise. * m4/timegm.m4: Likewise. * m4/timespec_get.m4: Likewise. * m4/tzset.m4: Likewise. * modules/accept (configure.ac): Likewise. * modules/bind (configure.ac): Likewise. * modules/connect (configure.ac): Likewise. * modules/flock (configure.ac): Likewise. * modules/getpeername (configure.ac): Likewise. * modules/getsockname (configure.ac): Likewise. * modules/getsockopt (configure.ac): Likewise. * modules/listen (configure.ac): Likewise. * modules/recv (configure.ac): Likewise. * modules/recvfrom (configure.ac): Likewise. * modules/send (configure.ac): Likewise. * modules/sendto (configure.ac): Likewise. * modules/setsockopt (configure.ac): Likewise. * modules/shutdown (configure.ac): Likewise. * modules/socket (configure.ac): Likewise. Use the gl_*_H_REQUIRE_DEFAULTS macros. * modules/nonblocking (configure.ac): Use the gl_*_H_REQUIRE_DEFAULTS and gl_MODULE_INDICATOR_INIT_VARIABLE macros. * modules/sigpipe (configure.ac): Likewise. * modules/windows-stat-override (configure.ac): Likewise. * m4/nonblocking.m4: Update a comment. * m4/sigpipe.m4: Likewise.
-rw-r--r--ChangeLog204
-rwxr-xr-xgnulib-tool31
-rw-r--r--m4/af_alg.m44
-rw-r--r--m4/arpa_inet_h.m424
-rw-r--r--m4/ctime.m44
-rw-r--r--m4/ctype.m418
-rw-r--r--m4/dirent_h.m438
-rw-r--r--m4/explicit_bzero.m42
-rw-r--r--m4/fcntl_h.m432
-rw-r--r--m4/ffs.m44
-rw-r--r--m4/ffsl.m44
-rw-r--r--m4/ffsll.m44
-rw-r--r--m4/flock.m44
-rw-r--r--m4/fnmatch_h.m418
-rw-r--r--m4/fstat.m44
-rw-r--r--m4/getaddrinfo.m410
-rw-r--r--m4/getdomainname.m46
-rw-r--r--m4/gettimeofday.m46
-rw-r--r--m4/glob_h.m418
-rw-r--r--m4/gnulib-common.m412
-rw-r--r--m4/hostent.m44
-rw-r--r--m4/iconv_h.m420
-rw-r--r--m4/inttypes.m424
-rw-r--r--m4/ioctl.m44
-rw-r--r--m4/langinfo_h.m418
-rw-r--r--m4/locale_h.m430
-rw-r--r--m4/localtime.m44
-rw-r--r--m4/malloc_h.m422
-rw-r--r--m4/math_h.m4220
-rw-r--r--m4/mbslen.m44
-rw-r--r--m4/memchr.m44
-rw-r--r--m4/memmem.m44
-rw-r--r--m4/mempcpy.m44
-rw-r--r--m4/memrchr.m44
-rw-r--r--m4/mktime.m44
-rw-r--r--m4/monetary_h.m416
-rw-r--r--m4/nanosleep.m44
-rw-r--r--m4/netdb_h.m418
-rw-r--r--m4/nonblocking.m46
-rw-r--r--m4/passfd.m44
-rw-r--r--m4/poll_h.m422
-rw-r--r--m4/pselect.m44
-rw-r--r--m4/pthread_h.m436
-rw-r--r--m4/pty_h.m418
-rw-r--r--m4/rawmemchr.m44
-rw-r--r--m4/sched_h.m422
-rw-r--r--m4/search_h.m418
-rw-r--r--m4/select.m44
-rw-r--r--m4/servent.m44
-rw-r--r--m4/sigabbrev_np.m44
-rw-r--r--m4/sigdescr_np.m44
-rw-r--r--m4/signal_h.m426
-rw-r--r--m4/sigpipe.m46
-rw-r--r--m4/sockpfaf.m46
-rw-r--r--m4/spawn_h.m470
-rw-r--r--m4/stat.m44
-rw-r--r--m4/stddef_h.m416
-rw-r--r--m4/stdio_h.m4172
-rw-r--r--m4/stdlib_h.m4108
-rw-r--r--m4/stpcpy.m44
-rw-r--r--m4/stpncpy.m44
-rw-r--r--m4/strcase.m46
-rw-r--r--m4/strcasestr.m44
-rw-r--r--m4/strchrnul.m44
-rw-r--r--m4/strdup.m46
-rw-r--r--m4/strerror.m44
-rw-r--r--m4/strerror_r.m44
-rw-r--r--m4/strerrorname_np.m44
-rw-r--r--m4/strftime-fixes.m44
-rw-r--r--m4/string_h.m4117
-rw-r--r--m4/strings_h.m431
-rw-r--r--m4/strncat.m44
-rw-r--r--m4/strndup.m44
-rw-r--r--m4/strnlen.m44
-rw-r--r--m4/strpbrk.m44
-rw-r--r--m4/strptime.m44
-rw-r--r--m4/strsep.m44
-rw-r--r--m4/strsignal.m44
-rw-r--r--m4/strstr.m44
-rw-r--r--m4/strtok_r.m44
-rw-r--r--m4/strverscmp.m44
-rw-r--r--m4/sys_file_h.m422
-rw-r--r--m4/sys_ioctl_h.m422
-rw-r--r--m4/sys_random_h.m418
-rw-r--r--m4/sys_resource_h.m418
-rw-r--r--m4/sys_select_h.m422
-rw-r--r--m4/sys_socket_h.m446
-rw-r--r--m4/sys_stat_h.m458
-rw-r--r--m4/sys_time_h.m427
-rw-r--r--m4/sys_times_h.m418
-rw-r--r--m4/sys_types_h.m413
-rw-r--r--m4/sys_uio_h.m416
-rw-r--r--m4/sys_utsname_h.m422
-rw-r--r--m4/sys_wait_h.m418
-rw-r--r--m4/termios_h.m422
-rw-r--r--m4/threads.m424
-rw-r--r--m4/time_h.m455
-rw-r--r--m4/time_r.m42
-rw-r--r--m4/time_rz.m42
-rw-r--r--m4/timegm.m44
-rw-r--r--m4/timespec_get.m44
-rw-r--r--m4/tzset.m44
-rw-r--r--m4/uchar.m468
-rw-r--r--m4/unistd_h.m4186
-rw-r--r--m4/utime_h.m424
-rw-r--r--m4/wchar_h.m4102
-rw-r--r--m4/wctype_h.m430
-rw-r--r--modules/accept2
-rw-r--r--modules/arpa_inet3
-rw-r--r--modules/bind2
-rw-r--r--modules/connect2
-rw-r--r--modules/ctype1
-rw-r--r--modules/dirent1
-rw-r--r--modules/fcntl-h1
-rw-r--r--modules/flock2
-rw-r--r--modules/fnmatch-h1
-rw-r--r--modules/getpeername2
-rw-r--r--modules/getsockname2
-rw-r--r--modules/getsockopt2
-rw-r--r--modules/glob-h1
-rw-r--r--modules/iconv-h1
-rw-r--r--modules/inttypes-incomplete1
-rw-r--r--modules/langinfo1
-rw-r--r--modules/listen2
-rw-r--r--modules/locale1
-rw-r--r--modules/malloc-h1
-rw-r--r--modules/math1
-rw-r--r--modules/monetary1
-rw-r--r--modules/netdb3
-rw-r--r--modules/nonblocking8
-rw-r--r--modules/poll-h1