summaryrefslogtreecommitdiff
path: root/gnulib-tool
Commit message (Collapse)AuthorAgeFilesLines
* gnulib-tool: Clarify the coding style.Bruno Haible2019-03-131-0/+23
| | | | | | Suggested by Pavel Raiskup <praiskup@redhat.com>. * gnulib-tool: Add comment about coding style.
* gnulib-tool: Support --import with just a few tests, not --with-tests.Bruno Haible2019-02-151-4/+12
| | | | | | * gnulib-tool (func_import): New variable 'gentests'. Use it instead of 'inctests' when generating files; use 'inctests' only for computing the transitive closure.
* gnulib-tool: Improve handling of multiple --local-dir options.Bruno Haible2019-02-141-48/+69
| | | | | | | | | | | | | | | | | * doc/gnulib.texi (Extending Gnulib): Explain how multiple --local-dir options work. * gnulib-tool (func_path_prepend): Remove function. (func_path_foreach): Make IFS handling more robust. (local_gnulib_path): Collect --local-dir values using func_path_append, not func_path_prepend. (func_determine_path_separator): Make IFS handling more robust. (func_lookup_file_cb): New function. (func_lookup_file): Rewritten to use func_lookup_file_cb instead of func_lookup_local_file. Apply the patches in the reverse order of their origin in $local_gnulib_path. (func_count_relative_local_gnulib_path): Make IFS handling more robust. * NEWS: Mention that the first --local-dir option is the one with highest priority.
* gnulib-tool: Support running testdirs on Android.Bruno Haible2019-01-251-16/+24
| | | | | | * build-aux/test-driver.diff: New file. * gnulib-tool (func_create_testdir, func_create_megatestdir): Patch build-aux/test-driver after running automake.
* gnulib-tool: New option --extract-recursive-link-directive.Bruno Haible2019-01-041-2/+117
| | | | | | | | | | | * gnulib-tool (func_usage): Document the new options --extract-recursive-dependencies, --extract-recursive-link-directive. (func_verify_module): Document output variables. (func_get_dependencies_recursively): New function. (func_get_link_directive_recursively): New function. Use them to implement the new options --extract-recursive-dependencies, --extract-recursive-link-directive. * doc/gnulib-tool.texi (Link-time requirements): New section.
* maint: Run 'make update-copyright'Paul Eggert2019-01-011-1/+1
|
* Assume Autoconf >= 2.63.Bruno Haible2018-10-231-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * DEPENDENCIES: Mention the requirement. * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Bump to 2.63. (func_get_filelist): Don't list m4/onceonly.m4 any more. * pygnulib/GLModuleSystem.py (getFiles): Likewise. * m4/onceonly.m4: Remove file. * m4/openmp.m4: Remove file. * modules/openmp (Files): Remove m4/openmp.m4. * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Don't set datarootdir, docdir, htmldir, dvidir, pdfdir, psdir, localedir. * m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir. * m4/gnulib-common.m4 (m4_foreach_w): Remove fallback for Autoconf < 2.60. (AC_PROG_MKDIR_P): Remove definition for Autoconf < 2.62. (AC_PROG_SED): Remove fallback for Autoconf < 2.60. * m4/errno_h.m4 (AC_COMPUTE_INT): Remove fallback for Autoconf < 2.61. * m4/size_max.m4 (AC_COMPUTE_INT): Likewise. * m4/stdint.m4 (AC_COMPUTE_INT): Likewise. * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume AC_USE_SYSTEM_EXTENSIONS exists. * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise, * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Remove workaround for Autoconf < 2.61. * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Remove macro. (AC_LIB_PREFIX): Use AC_ARG_WITH, assuming semantics of Autoconf >= 2.52. * m4/longlong.m4: Require Autoconf >= 2.62. Update comments. * m4/ls-mntd-fs.m4: Require Autoconf >= 2.60. Update comments. * m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.
* Assume Automake >= 1.11.Bruno Haible2018-10-231-5/+5
| | | | | | | | | | * m4/configmake.m4: Update comments. * m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists. * m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses of 'eval'. * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_create_testdir, func_create_megatestdir): Emit a Makefile.am that requires Automake >= 1.11.
* Fix failure of 'gnulib-tool --create-testdir' with all modules.Bruno Haible2018-10-221-1/+2
| | | | * gnulib-tool (func_create_testdir): Exclude 'timevar' module.
* bootstrap, gnulib-tool: use https instead of insecure rsyncBenno Schulenberg2018-10-071-9/+1
| | | | | | | | | | | The rsync command does not do any authentication and thus allows man-in-the-middle attacks. Better use wget over https, although this is slower. * build-aux/bootstrap (download_po_files, po_download_command_format): Don't try using rsync; always use wget over https to fetch PO files. * gnulib-tool (func_import): Likewise. * pygnulib/GLImport.py (GLImport.execute): Likewise.
* bootstrap, gnulib-tool: correct the translations wget commandBenno Schulenberg2018-10-071-1/+1
| | | | | | | | | | | | | | | | | | | Using the -np (--no-parent) option doesn't prevent wget from traversing the given URL to a default depth of 5, and since the domain directory contains a href="/latest/" link, this means that wget searches through all domains anyway and will also download PO files that are meant for other packages. When getting the PO files for the nano domain, for example, you will end up with af.po and ast.po (and many others) too, but there are no African nor Asturian translations for nano. So, use the --level option instead, to stop wget from looking any further than the given URL. * build-aux/bootstrap (po_download_command_format2): Restrict recursion to a single level. * gnulib-tool (func_import): Likewise. * pygnulib/GLImport.py (GLImport.execute): Likewise.
* gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.Bruno Haible2018-09-031-4/+20
| | | | | | | | | Reported by Antoine Luong <antoine.luong@c-s.fr> in <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>. * gnulib-tool (func_import): For the tests, set a dotfirst flag. (func_emit_lib_Makefile_am): Consider the dotfirst flag. (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
* bootstrap, gnulib-tool: fix translations rsyncColin Watson2018-07-261-1/+1
| | | | | | | | | | Previously, we created files such as $pobase/Makefile.in.in and then the subsequent rsync would immediately delete them. * build-aux/bootstrap (po_download_command_format): Avoid deleting non-.po files in target directory when rsyncing translations. * gnulib-tool (func_import): Likewise. * pygnulib/GLImport.py (GLImport.execute): Likewise.
* gnulib-tool: limit line length for git send-emailPaul Eggert2018-07-171-41/+46
| | | | | * gnulib-tool (func_import): Break actioncmd log line into multiple lines.
* gnulib-tool: minor tweaks for --gnu-makePaul Eggert2018-07-041-1/+7
| | | | | | | * gnulib-tool: Do not allow --gnu-make in test modes, since they all require automake. (func_emit_lib_Makefile_am): Don’t emit automake comment if --gnu-make.
* maint: Run 'make update-copyright'Paul Eggert2018-01-011-1/+1
|
* gnulib-tool: Make --conditional-dependencies work better.Bruno Haible2017-12-291-17/+20
| | | | | | | | | | Reported by Dmitry Selyutin <ghostman.sd@gmail.com>. * gnulib-tool (Options): Don't reject the combination of --conditional-dependencies with --with-tests. (func_emit_autoconf_snippets): Add argument referenceable_modules. Don't reference $modules. (func_import, func_create_testdir): Pass it.
* maint: shorten https://lists.gnu.org/archive/html/... linksJim Meyering2017-11-121-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each /archive/html/ part can be replace with /r/. Run this to induce the change: git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g' * ChangeLog: Perform that substitution. * Makefile: Likewise. * STATUS-libposix: Likewise. * build-aux/bootstrap: Likewise. * doc/maintain.texi: Likewise. * gnulib-tool: Likewise. * lib/allocator.h: Likewise. * lib/argp-ba.c: Likewise. * lib/argp-pv.c: Likewise. * lib/canon-host.c: Likewise. * lib/canonicalize-lgpl.c: Likewise. * lib/float.in.h: Likewise. * lib/fstat.c: Likewise. * lib/getdelim.c: Likewise. * lib/getprogname.c: Likewise. * lib/glthread/thread.h: Likewise. * lib/intprops.h: Likewise. * lib/mbsrtowcs-state.c: Likewise. * lib/safe-read.c: Likewise. * lib/signal.in.h: Likewise. * lib/stat.c: Likewise. * lib/stdbool.in.h: Likewise. * lib/stdio-impl.h: Likewise. * lib/stdio.in.h: Likewise. * lib/sysexits.in.h: Likewise. * lib/timespec.h: Likewise. * lib/wcsrtombs-state.c: Likewise. * m4/alloca.m4: Likewise. * m4/extern-inline.m4: Likewise. * m4/fstatat.m4: Likewise. * m4/gnulib-common.m4: Likewise. * m4/lib-ignore.m4: Likewise. * m4/printf.m4: Likewise. * m4/regex.m4: Likewise. * m4/stat-size.m4: Likewise. * m4/std-gnu11.m4: Likewise. * m4/stdbool.m4: Likewise. * m4/sys_types_h.m4: Likewise. * m4/threadlib.m4: Likewise. * m4/vararrays.m4: Likewise. * pygnulib/GLImport.py: Likewise. * tests/test-exp.h: Likewise. * tests/test-exp2.h: Likewise. * tests/test-expm1.h: Likewise. * tests/test-fflush2.c: Likewise. * tests/test-getopt_long.h: Likewise. * tests/test-intprops.c: Likewise. * tests/test-log.h: Likewise. * tests/test-log10.h: Likewise. * tests/test-log1p.h: Likewise. * tests/test-log2.h: Likewise. * tests/test-printf-posix.h: Likewise. * tests/test-regex.c: Likewise. * tests/test-snprintf-posix.h: Likewise. * tests/test-sprintf-posix.h: Likewise. * tests/test-stdalign.c: Likewise. * tests/test-stdbool.c: Likewise. * tests/test-vasnprintf-posix.c: Likewise. * tests/test-vasprintf-posix.c: Likewise. * top/maint.mk: Likewise.
* Port recent gnulib-tool change to DashPaul Eggert2017-10-291-2/+6
| | | | | | * gnulib-tool (func_create_testdir): Don't assume that the shell retokenizes after expanding "$@" inside the call to func_execute_command. Dash 0.5.8-2.1ubuntu2 does not.
* gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.Bruno Haible2017-10-291-2/+4
| | | | | * gnulib-tool (func_create_testdir): Use workaround against 'autoheader' bug reported at <https://savannah.gnu.org/support/index.php?109406>.
* all: Replace many more http URLs by https URLs. Update stale URLs.Bruno Haible2017-09-141-5/+5
| | | | | * users.txt: Remove mention of 'newts'. * lib/localename.c: Update comment about LANG_SOTHO.
* all: prefer https: URLsPaul Eggert2017-09-131-7/+7
|
* gnulib-tool: Simplify commit from 2015-08-20.Bruno Haible2017-09-091-31/+31
| | | | | * gnulib-tool (func_add_or_update): Remove local variable is_binary_file.
* gnulib-tool: Clean up after autotools.Bruno Haible2017-06-121-0/+3
| | | | | * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove useless directory left over by the Autotools.
* gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.Bruno Haible2017-06-081-9/+21
| | | | | | * gnulib-tool (func_symlink_target): New function, extracted from func_symlink. (func_symlink, func_symlink_if_changed): Use it.
* gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.Bruno Haible2017-06-081-2/+6
| | | | * gnulib-tool (func_ln_s): Determine cp_src correctly.
* gnulib-tool: Add options to create hard links.Bruno Haible2017-05-221-50/+114
| | | | | | | | | | | | | | | | | | | | * gnulib-tool (func_usage): Document options --hardlink, --local-hardlink, --more-hardlinks. (func_symlink): Renamed from func_ln. (func_symlink_if_changed): Renamed from func_ln_if_changed. (func_hardlink): New function. (copymode, lcopymode): New variables. (symbolic, lsymbolic): Remove variables. (Options): Implement options --hardlink, --local-hardlink, --more-hardlinks. (func_should_link): Renamed from func_should_symlink. Set copyaction. (func_add_file, func_update_file): Update invocation of func_should_link. Invoke func_hardlink when appropriate. (func_import): Update comments. (func_create_testdir): Update invocation of func_should_link. Invoke func_hardlink when appropriate. Finally, invoke 'git update-index --refresh' to mitigate the effects of the hard links on git.
* gnulib-tool: Don't create hard links between gnulib and its testdirs.Bruno Haible2017-05-201-1/+0
| | | | * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
* gnulib-tool: Fix generated code when libtests contains module 'alloca'.Bruno Haible2017-05-151-2/+2
| | | | | * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use @ALLOCA@, not @LTALLOCA@.
* gnulib-tool: improve GNU Make debuggingPaul Eggert2017-05-151-3/+12
| | | | | * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo. Report autoconf diagnostics when it fails, in the output makefile.
* verify tests: Fix spurious failure with parallel make.Bruno Haible2017-04-201-0/+1
| | | | | | | | | | | * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of EXTRA_PROGRAMS. * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o. * tests/test-verify-try.c: New file. * modules/verify-tests (Files): Add it. (EXTRA_PROGRAMS): Add test-verify-try. (MOSTLYCLEANFILES): Update accordingly. Reported by Adam James Stewart <ajstewart@anl.gov>.
* gnulib-tool: Don't produce a tests directory with only snippet .h files.Bruno Haible2017-03-151-0/+12
| | | | | | * gnulib-tool (func_modules_transitive_closure_separately): If testsrelated_modules ends up with no "real" modules, aside from modules with applicability 'all', set it to empty.
* gnulib-tool: don't automatically distribute files from top/Mathieu Lirzin2017-03-141-7/+0
| | | | | | | | * gnulib-tool (func_get_automake_snippet_unconditional): To be able to not distribute top/README-release by default, don't distribute files from top/ unconditionally. * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile. * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
* gnulib-tool: fix typo in comment outputPaul Eggert2017-03-141-1/+1
| | | | * gnulib-tool (func_import): Fix typo with previous change.
* gnulib-tool: minor --gnu-make fixupsPaul Eggert2017-03-131-19/+3
| | | | | | | | * gnulib-tool (func_emit_lib_Makefile_am): Remove useless code that was a blind alley during implementation. Problem reported by Thien-Thi Nguyen in: http://lists.gnu.org/archive/html/bug-gnulib/2017-03/msg00029.html (func_import): Note the "--gnu-make" option in the output comment.
* gnulib-tool: new option --gnu-makePaul Eggert2017-03-121-11/+71
| | | | | | | | | | | | This is for applications like GNU Emacs that use GNU Make features instead of Automake. * doc/gnulib-tool.texi (Initial import): Mention --gnu-make. * doc/gnulib.texi (Unit test modules, Build robot for gnulib): Do not assume Automake. * gnulib-tool (func_determine_path_separator) (func_modules_transitive_closure, func_update_file) (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am) (func_import): Add support for --gnu-make.
* gnulib-tool: Avoid conflict of havelib-tests with --single-configure.Bruno Haible2017-02-191-0/+6
| | | | | * gnulib_tool (func_create_testdir): Avoid havelib-tests when --with-tests --single-configure is specified.
* version-etc: new yearPaul Eggert2017-01-011-1/+1
| | | | | | | | | | * build-aux/gendocs.sh (version): * doc/gendocs_template: * doc/gendocs_template_min: * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright dates by hand in templates and the like. * all files: Run 'make update-copyright'.
* gnulib-tool: fix the previous changeDaiki Ueno2016-12-021-3/+4
| | | | | * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or GPLv2" rewriting.
* gnulib-tool: fix the previous changeDaiki Ueno2016-12-021-1/+1
| | | | | * gnulib-tool (func_import): Relax the regex for the end marker of original license text.
* gnulib-tool: properly list the LGPL3orGPLv2 licenseNikos Mavrogiannopoulos2016-12-021-1/+20
| | | | | | * gnulib-tool (func_import): Adhere to the license guideline when rewriting the license text to "LGPLv3+ or GPLv2": https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
* gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.Bruno Haible2016-11-131-7/+26
| | | | | | | * gnulib-tool (--lgpl): Accept value 3orGPLv2. (func_import): Extend determination of license_incompatibilities. (func_create_testdir): Extend table of license compatibility. Handle also the licenses GPLv3+, GPL, LGPLv3+.
* Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.Bruno Haible2016-10-221-5/+15
| | | | | * gnulib-tool (func_get_license): Special-case the 'parse-datetime' module.
* gnulib-tool: Make --create-testdir on all modules work again.Bruno Haible2016-10-221-1/+3
| | | | | * gnulib-tool (func_create_testdir): Don't include the non-recursive-gnulib-prefix-hack module.
* gnulib-tool: don't give up on ln -s so easilyPaul Eggert2016-01-241-3/+0
| | | | | | | * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely because an earlier one failed. The targets could be on different file systems. Problem reported by KO Myung-Hun in: http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00081.html
* * gnulib-tool: fix stray debug line in previous patchPaul Eggert2016-01-151-1/+0
|
* gnulib-tool: don't assume ln -s worksPaul Eggert2016-01-151-4/+26
| | | | | * gnulib-tool (func_ln_s): New function. (func_ln): Use it.
* version-etc: new yearPaul Eggert2016-01-011-1/+1
| | | | | | | | | | * build-aux/gendocs.sh (version): * doc/gendocs_template: * doc/gendocs_template_min: * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright dates by hand in templates and the like. * all files: Run 'make update-copyright'.
* gnulib-tool: allow multiple --local-dir usagePavel Raiskup2015-12-091-128/+317
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnulib-tool: Use --local-dir to construct compound $local_gnulib_path path instead of $local_gnulib_dir. Determine PATH_SEPARATOR early. (local_gnulib_dir): Rename into $local_gnulib_path everywhere. (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into func_determine_path_separator because that needs to be detected earlier now. (func_determine_path_separator): New function. (func_path_foreach, func_path_foreach_inner): New functions. (func_path_prepend, func_path_append): Likewise. (func_lookup_local_file, func_lookup_local_file_cb): Likewise. (func_lookup_file, func_all_modules): Use new functions to work with local_gnulib_path. (func_modules_in_dir, func_exists_module): New callbacks for func_path_foreach. (func_exists_module, func_get_tests_module): Likewise. (func_is_local_file, func_should_symlink): New helper methods. (func_add_file, func_update_file): Use new func_should_symlink instead, DRY. (func_reconstruct_cached_local_gnulib_path): New helper. (func_reconstruct_cached_dir): New callback. (func_import): The cached_local_gnulib_dir renamed to cached_local_gnulib_path similarly to local_gnulib_dir. Use new func_reconstruct_cached_local_gnulib_path. (func_count_relative_local_gnulib_path): New sub-method. (func_create_testdir): Use func_should_symlink, DRY. (func_create_megatestdir): Use new functions to work with local_gnulib_path correctly. (func_append_local_dir): New helper.
* gnulib-tool: fix tests of 'extensions' modulePavel Raiskup2015-10-061-13/+32
| | | | | | | | | This complements f8fe25fab60e3c687a124 commit. * gnulib-tool (func_emit_pre_early_macros): New function, it wraps emitting of initial gl_EARLY macros. (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB replaced with func_emit_pre_early_macros call.