2 ================================================================================
4 Have gnulib-tool.py generate the same files and the same output as
5 gnulib-tool. Test cases:
7 1) In a checkout of https://gitlab.com/gnuwget/wget2.git :
8 $ git checkout e8ca510eda2cfc75f4c4a4e8e83e19b90af0309c
9 $ $GNULIB_SRCDIR/gnulib-tool.py --no-changelog --aux-dir=build-aux --doc-base=doc --lib=libgnu --m4-base=m4/ --source-base=lib/ --tests-base=lib/tests --local-dir=gl --makefile-name=gnulib.mk --libtool --import accept access arpa_inet atoll bind c-strcase c-strcasestr c-ctype calloc-posix canonicalize-lgpl clock-time close closedir cond connect crypto/md2 crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dirname dup dup2 errno fclose fcntl fdopen fflush flock fnmatch-gnu fopen freopen fstat fsync ftruncate futimens getaddrinfo getpass getsockname gettext-h gettime gitlog-to-changelog glob iconv inet_pton inline inttypes ioctl isatty lib-symbol-visibility limits-h link listen lock maintainer-makefile malloc-posix memchr mkdir mkstemp msvc-nothrow nanosleep netdb netinet_in nl_langinfo open opendir pclose pipe-posix progname popen poll posix_spawn pwrite qsort_r random_r read readdir realloc-posix recv recvfrom regex rename safe-read safe-write select send sendto servent setlocale setsockopt socket sockets socklen spawn-pipe stdarg stdbool stddef stdint stat strcase strchrnul strdup-posix strerror strndup strpbrk strstr strtoll sys_file sys_socket sys_stat sys_time sys_types sys_uio thread time_r unistd unlink update-copyright warnings wcwidth write xgethostname
11 ================================================================================
13 The following commits to gnulib-tool have not yet been reflected in
14 {gnulib-tool.py,pygnulib/*.py}.
16 --------------------------------------------------------------------------------
18 commit 0d41dbc7c88b10d16751466ec91efa75951426bb
19 Author: Bruno Haible <bruno@clisp.org>
20 Date: Mon Nov 18 13:32:46 2019 +0100
22 gnulib-tool: Fix build error on macOS with --conditional-dependencies.
24 * gnulib-tool (func_modules_add_dummy): Ignore modules that are
25 conditionally enabled.
27 --------------------------------------------------------------------------------
29 commit dc135c4fd14cdc219d316c61f344e64090cb33fd
30 Author: Bruno Haible <bruno@clisp.org>
31 Date: Fri Feb 15 21:27:44 2019 +0100
33 gnulib-tool: Support --import with just a few tests, not --with-tests.
35 * gnulib-tool (func_import): New variable 'gentests'. Use it instead of
36 'inctests' when generating files; use 'inctests' only for computing the
39 --------------------------------------------------------------------------------
41 commit 425ee42259b04956aae20afc5204775ae6e79744
42 Author: Bruno Haible <bruno@clisp.org>
43 Date: Wed Jan 23 05:11:54 2019 +0100
45 gnulib-tool: Support running testdirs on Android.
47 * build-aux/test-driver.diff: New file.
48 * gnulib-tool (func_create_testdir, func_create_megatestdir): Patch
49 build-aux/test-driver after running automake.
51 --------------------------------------------------------------------------------
53 commit ce8a5edbc49dea0cb859207c2d063dbd3be0f96c
54 Author: Bruno Haible <bruno@clisp.org>
55 Date: Fri Jan 4 19:34:19 2019 +0100
57 gnulib-tool: New option --extract-recursive-link-directive.
59 * gnulib-tool (func_usage): Document the new options
60 --extract-recursive-dependencies, --extract-recursive-link-directive.
61 (func_verify_module): Document output variables.
62 (func_get_dependencies_recursively): New function.
63 (func_get_link_directive_recursively): New function.
64 Use them to implement the new options
65 --extract-recursive-dependencies, --extract-recursive-link-directive.
66 * doc/gnulib-tool.texi (Link-time requirements): New section.
68 --------------------------------------------------------------------------------
70 commit 97eae14a5b2506457a72f89d5897a20730ab6eee
71 Author: Bruno Haible <bruno@clisp.org>
72 Date: Tue Oct 23 00:06:46 2018 +0200
74 Assume Automake >= 1.11.
76 * m4/configmake.m4: Update comments.
77 * m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists.
78 * m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses
80 * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am,
81 func_create_testdir, func_create_megatestdir): Emit a Makefile.am that
82 requires Automake >= 1.11.
84 --------------------------------------------------------------------------------
86 commit 98993f9d1b2ed03007be9dbcdc6bd9fe2d49777b
87 Author: Bruno Haible <bruno@clisp.org>
88 Date: Mon Oct 22 20:32:41 2018 +0200
90 Fix failure of 'gnulib-tool --create-testdir' with all modules.
92 * gnulib-tool (func_create_testdir): Exclude 'timevar' module.
94 --------------------------------------------------------------------------------
96 commit 8b1d4a63e34f3893036d82f39c5680e845de5ddf
97 Author: Bruno Haible <bruno@clisp.org>
98 Date: Mon Sep 3 21:19:16 2018 +0200
100 gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
102 Reported by Antoine Luong <antoine.luong@c-s.fr> in
103 <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
105 * gnulib-tool (func_import): For the tests, set a dotfirst flag.
106 (func_emit_lib_Makefile_am): Consider the dotfirst flag.
107 (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
109 --------------------------------------------------------------------------------
111 commit a1276e5bf2286afec7b0445040be05cad858cdd1
112 Author: Paul Eggert <eggert@cs.ucla.edu>
113 Date: Tue Jul 17 15:20:39 2018 -0700
115 gnulib-tool: limit line length for git send-email
117 * gnulib-tool (func_import): Break actioncmd log line
120 --------------------------------------------------------------------------------
122 commit 589e96475f8f2d21a83405ab0672ce95091b80e5
123 Author: Bruno Haible <bruno@clisp.org>
124 Date: Fri Dec 29 00:29:23 2017 +0100
126 gnulib-tool: Make --conditional-dependencies work better.
128 Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
130 * gnulib-tool (Options): Don't reject the combination of
131 --conditional-dependencies with --with-tests.
132 (func_emit_autoconf_snippets): Add argument referenceable_modules.
133 Don't reference $modules.
134 (func_import, func_create_testdir): Pass it.
136 --------------------------------------------------------------------------------
138 commit cd58dba367a3b8ffbebb23f2099a820106197fae
139 Author: Bruno Haible <bruno@clisp.org>
140 Date: Sun Oct 29 16:57:32 2017 +0100
142 gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
144 * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
145 bug reported at <https://savannah.gnu.org/support/index.php?109406>.
147 --------------------------------------------------------------------------------
149 commit 87d14d357f694338acdb8745cea7304ff623ce47
150 Author: Bruno Haible <bruno@clisp.org>
151 Date: Mon Jun 12 01:38:57 2017 +0200
153 gnulib-tool: Clean up after autotools.
155 * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
156 useless directory left over by the Autotools.
158 --------------------------------------------------------------------------------
160 commit 30459fe101541698ec704acb224946d73676750e
161 Author: Bruno Haible <bruno@clisp.org>
162 Date: Thu Jun 8 15:09:31 2017 +0200
164 gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
166 * gnulib-tool (func_symlink_target): New function, extracted from
168 (func_symlink, func_symlink_if_changed): Use it.
170 --------------------------------------------------------------------------------
172 commit 306be564ba47ec412ca158f66ffa90a058f5253b
173 Author: Bruno Haible <bruno@clisp.org>
174 Date: Mon May 22 01:39:59 2017 +0200
176 gnulib-tool: Add options to create hard links.
178 * gnulib-tool (func_usage): Document options --hardlink,
179 --local-hardlink, --more-hardlinks.
180 (func_symlink): Renamed from func_ln.
181 (func_symlink_if_changed): Renamed from func_ln_if_changed.
182 (func_hardlink): New function.
183 (copymode, lcopymode): New variables.
184 (symbolic, lsymbolic): Remove variables.
185 (Options): Implement options --hardlink, --local-hardlink,
187 (func_should_link): Renamed from func_should_symlink. Set copyaction.
188 (func_add_file, func_update_file): Update invocation of
189 func_should_link. Invoke func_hardlink when appropriate.
190 (func_import): Update comments.
191 (func_create_testdir): Update invocation of func_should_link. Invoke
192 func_hardlink when appropriate.
193 Finally, invoke 'git update-index --refresh' to mitigate the effects of
194 the hard links on git.
196 --------------------------------------------------------------------------------
198 commit f5142421c62024efa22cd4429100c4d9c1cc2ac4
199 Author: Bruno Haible <bruno@clisp.org>
200 Date: Sat May 20 13:24:37 2017 +0200
202 gnulib-tool: Don't create hard links between gnulib and its testdirs.
204 * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
206 --------------------------------------------------------------------------------
208 commit 0414a24cf57f1569b0b4f2a0f22898a0943dfc14
209 Author: Bruno Haible <bruno@clisp.org>
210 Date: Mon May 15 23:13:57 2017 +0200
212 gnulib-tool: Fix generated code when libtests contains module 'alloca'.
214 * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
215 @ALLOCA@, not @LTALLOCA@.
217 --------------------------------------------------------------------------------
219 commit a7bd2403d2d3e49a8698495e74cdbe6a5261128a
220 Author: Bruno Haible <bruno@clisp.org>
221 Date: Thu Apr 20 21:27:40 2017 +0200
223 verify tests: Fix spurious failure with parallel make.
225 * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
227 * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
228 * tests/test-verify-try.c: New file.
229 * modules/verify-tests (Files): Add it.
230 (EXTRA_PROGRAMS): Add test-verify-try.
231 (MOSTLYCLEANFILES): Update accordingly.
232 Reported by Adam James Stewart <ajstewart@anl.gov>.
234 --------------------------------------------------------------------------------
236 commit 363135016c25696d7a173094715e7f3f2dda3596
237 Author: Bruno Haible <bruno@clisp.org>
238 Date: Wed Mar 15 23:24:03 2017 +0100
240 gnulib-tool: Don't produce a tests directory with only snippet .h files.
242 * gnulib-tool (func_modules_transitive_closure_separately): If
243 testsrelated_modules ends up with no "real" modules, aside from
244 modules with applicability 'all', set it to empty.
246 --------------------------------------------------------------------------------
248 commit f30205c5d59bab2c035165158e7d5d65b07b8363
249 Author: Mathieu Lirzin <mthl@gnu.org>
250 Date: Tue Mar 14 12:19:40 2017 +0100
252 gnulib-tool: don't automatically distribute files from top/
254 * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
255 not distribute top/README-release by default, don't distribute files
256 from top/ unconditionally.
257 * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
258 * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
260 --------------------------------------------------------------------------------
262 commit 60e8b9303d8ce312bb2322d4801ed08678f93d1e
263 Author: Paul Eggert <eggert@cs.ucla.edu>
264 Date: Wed Jul 4 20:42:07 2018 -0700
266 gnulib-tool: minor tweaks for --gnu-make
268 * gnulib-tool: Do not allow --gnu-make in test modes,
269 since they all require automake.
270 (func_emit_lib_Makefile_am): Don’t emit automake comment
273 commit 8224d65142d7b8cea2b8721a7d09c2cd60d2d312
274 Author: Paul Eggert <eggert@cs.ucla.edu>
275 Date: Mon May 15 07:41:10 2017 -0700
277 gnulib-tool: improve GNU Make debugging
279 * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
280 Report autoconf diagnostics when it fails, in the output makefile.
282 commit fb8289f44a58c9462434eba8eaffd58c3f417c42
283 Author: Paul Eggert <eggert@cs.ucla.edu>
284 Date: Tue Mar 14 08:39:27 2017 -0700
286 gnulib-tool: fix typo in comment output
288 * gnulib-tool (func_import): Fix typo with previous change.
290 commit d6088547633af472625ab815452004c22fda6d58
291 Author: Paul Eggert <eggert@cs.ucla.edu>
292 Date: Mon Mar 13 15:50:44 2017 -0700
294 gnulib-tool: minor --gnu-make fixups
296 * gnulib-tool (func_emit_lib_Makefile_am):
297 Remove useless code that was a blind alley during implementation.
298 Problem reported by Thien-Thi Nguyen in:
299 http://lists.gnu.org/archive/html/bug-gnulib/2017-03/msg00029.html
300 (func_import): Note the "--gnu-make" option in the output comment.
302 commit dfbe4c0276701e42ffaed13a1c7a79003dc8fb30
303 Author: Paul Eggert <eggert@cs.ucla.edu>
304 Date: Sun Mar 12 19:18:53 2017 -0700
306 gnulib-tool: new option --gnu-make
308 This is for applications like GNU Emacs that use GNU Make
309 features instead of Automake.
310 * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
311 * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
312 Do not assume Automake.
313 * gnulib-tool (func_determine_path_separator)
314 (func_modules_transitive_closure, func_update_file)
315 (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
316 (func_import): Add support for --gnu-make.
318 --------------------------------------------------------------------------------
320 commit f42ee040afd2e142951a9809b1d14550c29330e8
321 Author: Bruno Haible <bruno@clisp.org>
322 Date: Sun Feb 19 15:15:11 2017 +0100
324 gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
326 * gnulib_tool (func_create_testdir): Avoid havelib-tests when
327 --with-tests --single-configure is specified.
329 --------------------------------------------------------------------------------
331 commit 31a08abd323ebffea3d4fb2d5a66f801fe8b3031
332 Author: Daiki Ueno <ueno@gnu.org>
333 Date: Fri Dec 2 17:16:50 2016 +0100
335 gnulib-tool: fix the previous change
337 * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
340 commit 27d1d32a202b6b2115d5c2e287e3f5f1090032e5
341 Author: Daiki Ueno <ueno@gnu.org>
342 Date: Fri Dec 2 16:56:11 2016 +0100
344 gnulib-tool: fix the previous change
346 * gnulib-tool (func_import): Relax the regex for the end marker of
347 original license text.
349 commit 1aa6e23bd2487a7c3bd07cf693e6d968f74d951a
350 Author: Nikos Mavrogiannopoulos <nmav@gnutls.org>
351 Date: Mon Nov 21 21:15:25 2016 +0100
353 gnulib-tool: properly list the LGPL3orGPLv2 license
355 * gnulib-tool (func_import): Adhere to the license guideline when
356 rewriting the license text to "LGPLv3+ or GPLv2":
357 https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
359 commit 567bbf7b7b14b31385801b1fee47acfc5b6d2b01
360 Author: Bruno Haible <bruno@clisp.org>
361 Date: Sun Nov 13 04:12:26 2016 +0100
363 gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
365 * gnulib-tool (--lgpl): Accept value 3orGPLv2.
366 (func_import): Extend determination of license_incompatibilities.
367 (func_create_testdir): Extend table of license compatibility. Handle
368 also the licenses GPLv3+, GPL, LGPLv3+.
370 --------------------------------------------------------------------------------
372 commit ff9debcf75301805b1db925cdcdfb248541c576d
373 Author: Bruno Haible <bruno@clisp.org>
374 Date: Sat Oct 15 15:51:20 2016 +0200
376 Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
378 * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
381 --------------------------------------------------------------------------------
383 commit 932a1ae7ba56a9a3da52287ac028017323269d44
384 Author: Bruno Haible <bruno@clisp.org>
385 Date: Sun Oct 16 14:11:18 2016 +0200
387 gnulib-tool: Make --create-testdir on all modules work again.
389 * gnulib-tool (func_create_testdir): Don't include the
390 non-recursive-gnulib-prefix-hack module.
392 --------------------------------------------------------------------------------
394 commit c09c24932066ecee81756adf2fca840b7c146e9d
395 Author: Bruno Haible <bruno@clisp.org>
396 Date: Thu Jun 8 14:45:39 2017 +0200
398 gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
400 * gnulib-tool (func_ln_s): Determine cp_src correctly.
402 commit d9958eb1eb951f950f9b321419965001b1368a38
403 Author: Paul Eggert <eggert@cs.ucla.edu>
404 Date: Sun Jan 24 14:24:35 2016 -0800
406 gnulib-tool: don't give up on ln -s so easily
408 * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
409 because an earlier one failed. The targets could be on different
410 file systems. Problem reported by KO Myung-Hun in:
411 http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00081.html
413 commit 350f2c6fb569f42f0a8ff47fd5b7442f24f0e658
414 Author: Paul Eggert <eggert@cs.ucla.edu>
415 Date: Fri Jan 15 10:12:41 2016 -0800
417 * gnulib-tool: fix stray debug line in previous patch
419 commit 0e50dd0071be89825810dbf4c2310663dcb77767
420 Author: Paul Eggert <eggert@cs.ucla.edu>
421 Date: Wed May 1 13:39:22 2013 +0900
423 gnulib-tool: don't assume ln -s works
425 * gnulib-tool (func_ln_s): New function.
428 --------------------------------------------------------------------------------
430 commit 49137e3bc6a2b3fd83c502a514e4a3b89fc1571c
431 Author: Bruno Haible <bruno@clisp.org>
432 Date: Thu Feb 14 20:50:57 2019 +0100
434 gnulib-tool: Improve handling of multiple --local-dir options.
436 * doc/gnulib.texi (Extending Gnulib): Explain how multiple --local-dir
438 * gnulib-tool (func_path_prepend): Remove function.
439 (func_path_foreach): Make IFS handling more robust.
440 (local_gnulib_path): Collect --local-dir values using func_path_append,
441 not func_path_prepend.
442 (func_determine_path_separator): Make IFS handling more robust.
443 (func_lookup_file_cb): New function.
444 (func_lookup_file): Rewritten to use func_lookup_file_cb instead of
445 func_lookup_local_file. Apply the patches in the reverse order of their
446 origin in $local_gnulib_path.
447 (func_count_relative_local_gnulib_path): Make IFS handling more robust.
448 * NEWS: Mention that the first --local-dir option is the one with
451 commit 55c6f22b8043843aa7cf6843326eb4abed4de75c
452 Author: Pavel Raiskup <praiskup@redhat.com>
453 Date: Sat Nov 21 14:09:15 2015 +0100
455 gnulib-tool: allow multiple --local-dir usage
457 * gnulib-tool: Use --local-dir to construct compound
458 $local_gnulib_path path instead of $local_gnulib_dir. Determine
459 PATH_SEPARATOR early.
460 (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
461 (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
462 func_determine_path_separator because that needs to be detected
464 (func_determine_path_separator): New function.
465 (func_path_foreach, func_path_foreach_inner): New functions.
466 (func_path_prepend, func_path_append): Likewise.
467 (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
468 (func_lookup_file, func_all_modules): Use new functions to work
469 with local_gnulib_path.
470 (func_modules_in_dir, func_exists_module): New callbacks for
472 (func_exists_module, func_get_tests_module): Likewise.
473 (func_is_local_file, func_should_symlink): New helper methods.
474 (func_add_file, func_update_file): Use new func_should_symlink
476 (func_reconstruct_cached_local_gnulib_path): New helper.
477 (func_reconstruct_cached_dir): New callback.
478 (func_import): The cached_local_gnulib_dir renamed to
479 cached_local_gnulib_path similarly to local_gnulib_dir.
480 Use new func_reconstruct_cached_local_gnulib_path.
481 (func_count_relative_local_gnulib_path): New sub-method.
482 (func_create_testdir): Use func_should_symlink, DRY.
483 (func_create_megatestdir): Use new functions to work with
484 local_gnulib_path correctly.
485 (func_append_local_dir): New helper.
487 --------------------------------------------------------------------------------
489 commit 63ce1a2103dd4452f7bd5bc873a982e03ed52427
490 Author: Pavel Raiskup <praiskup@redhat.com>
491 Date: Tue Oct 6 13:20:05 2015 +0200
493 gnulib-tool: fix tests of 'extensions' module
495 This complements f8fe25fab60e3c687a124 commit.
497 * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
498 emitting of initial gl_EARLY macros.
499 (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
500 replaced with func_emit_pre_early_macros call.
502 commit f8fe25fab60e3c687a12446984bb475342956bb8
503 Author: Pavel Raiskup <praiskup@redhat.com>
504 Date: Fri Sep 25 11:25:03 2015 -0700
506 gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
508 The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
509 and ARFLAGS variables. Doing this unconditionally could break
510 later Automake's AM_PROG_AR invocation (at least it's
511 AC_CHECK_TOOLS call to detect correct 'ar' binary).
513 Original purpose of the gl_PROG_AR_RANLIB was only to handle the
514 Amsterdam Compiler Kit, so make the previous code to have effects
515 only on ACK, and rather automatically call the Automake's
516 AM_PROG_AR as soon as possible to decide other cases.
519 http://lists.gnu.org/archive/html/bug-gnulib/2015-07/msg00001.html
521 * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
522 Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR. If neither
523 is possible, keep setting AR/ARFLAGS to reasonable defaults.
524 * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
525 right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
526 'extensions' module is used.
527 * modules/extensions (configure.ac-early): Remove as this snippet
528 is added to gnulib-comp.m4 earlier anyway.
530 commit 9bdf6c8a0cdeb13c12e4b65dee9538c5468dbe1d
531 Author: Bruno Haible <bruno@clisp.org>
532 Date: Sun Aug 19 14:06:50 2012 +0200
534 gnulib-tool: Remove old file names from .cvsignore, .gitignore.
536 * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
537 on the list of removed files.
539 --------------------------------------------------------------------------------
541 ================================================================================