997 Commits

Author SHA1 Message Date
Eric Blake
8dfb63dbeb maint: clean up extra files on this branch 2021-05-07 15:09:27 -05:00
Eric Blake
0b98fb4591 maint: Redirect developers to active branch
_This_ branch does not contain actively-developed code.  More likely,
you want to check out branch-1.4 (latest stable), branch-1.6 (some
speedups over 1.4, but not yet released), or branch-2.0 (many more
experimental changes, and even further from release).

* README: Document the status of this git repository.
2021-05-07 14:47:04 -05:00
Eric Blake
d69fa52848 maint: improve generation of ChangeLog from git commits
Follow the practice set in numerous other GNU projects, where
the ChangeLog (since 2015) is generated from git commit messages.
This avoids duplication or subtle differences between the two,
as well as making it easier to merge patches across branches
(as good as Bruno Haible's 'git-merge-changelog' helper program
is, it still doesn't handle cross-branch cherry-picks very well).

* Makefile.am (EXTRA_DIST): Rely on gnulib to ship gitlog-to-changelog.
($(changelog)): Update rule to match branch-1.4 style.
* .gitattributes: Drop stale mention of Changelog.
* HACKING: Reword to match new procedure, and simplify by
referring to an external description of ChangeLog style.

Signed-off-by: Eric Blake <eblake@redhat.com>
(cherry picked from commit 5456676ea90dfedd9b54c843f15b006d02150d06)
[commit 6bdb0a4b75 already started the conversion, but this updates
the approach to be more like other GNU projects, and branch-1.4]
2017-01-09 13:55:30 -06:00
Eric Blake
9ad9cd6305 maint: improve 'make distcheck'
Commit b29e2867 added gnulib's src/assure.h during bootstrap to fix
development builds, but forgot to check that tarballs also build.

With this patch, things get further, although I'm still facing a
failure because the VPATH 'make check' portion of distcheck is
failing to load modules, where an in-tree build succeeded.

* Makefile.am (src_m4_SOURCES): Add assure.h.

Signed-off-by: Eric Blake <eblake@redhat.com>
2017-01-09 13:50:23 -06:00
Eric Blake
a6d4737a42 maint: summarize highlights of 1.4.18 release
* NEWS: Add some blurbs.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Update.

Signed-off-by: Eric Blake <eblake@redhat.com>
[this is a mish-mash of two patches from branch-1.4:]
(cherry picked from commit 658427104bbe515249f728d8524e975167e6533d)
(cherry picked from commit e0140bd91ce0d2dfcdd1df22472d81ed13489d46)
2017-01-03 16:55:50 -06:00
Eric Blake
a71b0a388d maint: make silent builds the default
The user still has full control over verbosity levels, both setting
their per-project defaults at configure time (or even in a config.site
file), as well as a per-run override. But these days, most projects
are defaulting to silent rules without user intervention.

* configure.ac (AM_SILENT_RULES): Add, to match what most projects
are doing these days.

Signed-off-by: Eric Blake <eblake@redhat.com>
(cherry picked from commit b4a08ecfd34e703bd846f1e85b4e2a94a34b16d9)
[For the cherry-pick, all we have to do is normalize the spelling
of the line - now that we require new-enough automake, it does not
have to be conditional]
2017-01-03 16:55:50 -06:00
Gary V. Vaughan
6cd5fddbf7 maint: automake 1.11.5 and earlier generate insecure dist rules.
* configure.ac (AM_INIT_AUTOMAKE): Require 1.11.6 or newer.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
(cherry picked from commit a82e6b74a462b16effb7304b850f72faf727aec5)
2017-01-03 16:55:50 -06:00
Eric Blake
83e9a85bc8 maint: release no longer creates a diff file
Ever since commit f1cf390 (1.4.14 release), we no longer create
diff files as part of the release process.  These days, it is
assumed that it is easier to download a fresh tarball rather
than to try and use a diff file to patch an older tarball.

Signed-off-by: Eric Blake <eblake@redhat.com>
(cherry picked from commit c8a4b7c32db3a6d8d5dc7a9997df2c80ac95b030)
2017-01-03 16:55:50 -06:00
Eric Blake
f8822d40ca doc: drop obsolete @setcontentsaftertitlepage
texinfo 6.1 complains (during 'make dvi'):

/home/eblake/m4-1.4/doc/./m4.texi:9: @setcontentsaftertitlepage has been remove
d as a Texinfo command; move your @contents command if you want the contents af
ter the title page..

It turns out that eliminating the command has no effect - modern
tools correctly emit the contents in-place, right after the title
page, so it was leftover cruft from an older time.

* doc/m4.texi: Satisfy newer texinfo.

Signed-off-by: Eric Blake <eblake@redhat.com>
(cherry picked from commit c7a3591347238aa34defded34609007b326a0984)
2017-01-03 16:55:50 -06:00
Eric Blake
8a1c7bd210 maint: kill trailing spaces
Pointed out during 'make syntax-check'.

* NO-THANKS: Drop trailing spaces.
* m4/module.c (m4_module_load): Likewise.
* m4/path.c (m4_path_search): Likewise.
* po/Makevars (EXTRA_LOCALE_CATEGORIES): Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
2017-01-03 16:55:50 -06:00
Eric Blake
b29e28672d maint: bump copyright year
Needed to reduce number of 'make syntax-check' failures.

* gnulib: Update to latest.
* bootstrap.conf (src_modules): Add 'assure', to match gnulib module
changes in the meantime.
* .gitignore: Ignore results of assure module.
* cfg.mk (gnulib_dir): Declare our alternate location.
* bootstrap: Regenerate.
* all files: Use 'make update-copyright' to bump year.

Signed-off-by: Eric Blake <eblake@redhat.com>
(cherry picked from commit 102376916e49b6aae85dc6ff0b59699205a74bdf)
[Ultimately, this short-circuits all other commits from other branches
that touched gnulib to any intermediate version]
2017-01-03 16:54:29 -06:00
Gary V. Vaughan
d33357e20d libm4: spell TRUNCATE_FILENAME consistently.
* m4/path.c (m4_path_search): s/FILE_TRUNCATE/TRUNCATE_FILENAME/
to match definition.
Reported by KO Myung-Hun

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-12-12 12:56:12 +00:00
KO Myung-Hun
bef10ccba4 libm4: fix path_truncate() regressions on OS/2.
* m4/path.c (m4_path_search): Ensure that a null-terminator is
appended. Re-calculate a length of path after path_truncate().

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-12-09 20:46:11 +00:00
Gary V. Vaughan
fa1b673a45 gnulib: sync with upstream.
Notably this moves to the new 64bit obstack implementation.
* gnulib: Sync with upstream, for maint.mk bug fixes et al.
* build-aux/m4/gnulib-cache.m4, po/Makevars: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-12-05 21:32:53 +00:00
Gary V. Vaughan
c320252821 obstacks: use obstack_blank_fast where possible.
In preparation for gnulib API change to obstacks, where
obstack_blank cannot shrink memory use any more.
* m4/macro.c (trace_flush): `start - len` can be negative, so
call obstack_blank_fast, which accepts negative arguments.
* modules/m4.c (m4_make_temp): Likewise... -1 is always negative!

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-12-05 21:19:12 +00:00
Gary V. Vaughan
312695e1eb configury: improve dlsym underscore detection.
* configure.ac (fn_module_cmds): Split ~ delimited command lists,
and set globals required by $module_cmds and $archive_cmds.
(libname): Preload with 'conftmod' ready for fun_module_cmds
calls, and for reuse as an 8.3 compatible module basename in this
check.
(sys_dlsym_uscore): Use it to detect underscore prefix requirement
in some dlysm() implementations more reliably.
Reported by KO Myung-Hun

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-27 17:18:39 +00:00
Gary V. Vaughan
bb68bc1837 modules: clean up no-longer supported preloading references.
* doc/m4.texi: Remove references to preloaded modules.
* configure.ac (Preloaded module configuration): Remove.
* Makefile.am (src_m4_LDFLAGS): Remove.  DLPREOPEN no longer set.
(src_m4_DEPENDENCIES): Remove PREOPEN_DEPENDENCIES reference.
* tests/atlocal.in (DYNAMIC_MODULES): Remove.
* tests/testsuite.at (AT_CHECK_DYNAMIC_MODULE): Remove.
* tests/builtins.at, tests/modules.at: Remove references to
removed AT_CHECK_DYNAMIC_MODULE.
* tests/generate.awk: Don't generate AT_CHECK_DYNAMIC_MODULE
calls.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-27 12:45:44 +00:00
Gary V. Vaughan
64a09a29e3 modules: only load modules with system module file extension.
* m4/path.c (m4_load_filename): Compare with LT_MODULE_EXT instead
of hardcoded '.so'.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-26 20:42:14 +00:00
Gary V. Vaughan
e374059695 modules: Use LT_MODULE_EXT for host module file extension.
* m4/module.c (m4__module_open): Use LT_MODULE_EXT instead of
no longer calculated SYS_SHREXT.
* m4/path.c (FILE_SUFFIXES): Likewise.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-26 20:33:27 +00:00
Gary V. Vaughan
15ed81cd88 configury: simplify calculation of module file extension.
* configure.ac (LT_SYS_MODULE_EXT): Use this...
(mfour_shrext): Remove.  ...instead of working it out manually.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-26 20:25:47 +00:00
Gary V. Vaughan
f5a6f25daf configury: use modern LIBADD_DLOPEN over undocumented LIBADD_DL.
* Makefile.am (m4_libm4_la_LIBADD): Use modern LIBADD_DLOPEN
instead of obsolete and undocumented LIBADD_DL.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-26 19:46:02 +00:00
Gary V. Vaughan
0e0b031066 modules: use only host system module file extension in searches.
* configure.ac (SYS_SHREXT): Define to host system module file
extension.
* m4/module.c (suffixes), m4/path.c (FILE_SUFFIXES): Use it
instead of listing suffixes for all supported host systems.
Reported by Pavel Raiskup

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-26 16:04:45 +00:00
Gary V. Vaughan
3834539812 configury: does dlsym require leading symbol name underscore?
* m4/module.c (uscore_sym): Change NEED_USCORE guarde to
LDSYM_USCORE.
* configure.ac: Move compiler characteristics checks above libtool
initialization section.
(Dynamic Loader Characteristics): Determine whether dlsym requires
a leading symbol name underscore, without requiring that self
dlopening works like LT_FUNC_DLSYM_USCORE macro does.
Reported by KO Myung-Hun

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-26 15:50:48 +00:00
Pavel Raiskup
f70f0564a3 configury: ensure m4 is built before calling help2man on it.
Moving the 'doc' related Makefile targets into doc/Makefile.am to
avoid building manual page before the m4 binary itself (suggested
by automake.info).
* Makefile.am (SUBDIRS): Add doc subdir.
* Makefile.am: Move to docs-related rules from here...
* doc/Makefile.am: New file. ...to here.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-21 19:50:16 +00:00
Gary V. Vaughan
6518b81d28 configury: remove vestigial libltdl references.
M4 no longer uses libltdl.
* configure.ac: Call LT_LIB_DLLOAD to set LIBADD_DL correctly.
* Makefile.am (m4_libm4_la_LIBADD): Remove LIBLTDL.
(m4_libm4_la_DEPENDENCIES): Remove LTDLDEPS.
Reported by Pavel Raiskup

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-21 19:28:00 +00:00
Gary V. Vaughan
2c19e82d5d modules: support 8.3 truncated filenames.
* m4/path.c (TRUNCATE_FILENAME): New macro, defined on OS2.
(path_truncate): New function when TRUNCATE_FILENAME is defined,
otherwise a null-operation macro.  Trim the basename to no more
than 8 characters, followed by the extension.
(m4_path_search): Use it.
Reported by Ko Myung-Hun

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-21 18:39:23 +00:00
Gary V. Vaughan
3285293706 Revert "modules: fall-back to system dlopen search path."
The original patch had security issues, and broke loading of
frozen files including modules that are only available along
the fall-back path.

This reverts commit 1d887c9b5002d8e9a4e65c192c8a1b7355cc356a.
2014-11-21 13:41:01 +00:00
Gary V. Vaughan
9f19b5b5d1 maint: run update-copyright for 2014.
Add 2014 to copyright message in all files.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-20 22:39:01 +00:00
Gary V. Vaughan
1b2390f2be maint: add forgotten thanks-gen script.
* .gitignore: Don't ignore build-aux/thanks-gen.
* build-aux/thanks-gen: New script.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-20 22:37:10 +00:00
Gary V. Vaughan
4e9147c191 modules: support non-posix PATH_SEPARATOR.
* configure.ac (PATH_SEPARATOR): Propagate to config.h.
* m4/path.c (search_path_env_init): Respect PATH_SEPARATOR.
Reported by KO Myung-Hun

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-20 22:16:31 +00:00
Gary V. Vaughan
1117977cc5 modules: support _ symbol prefix requirement for dlsym.
* configure.ac (LT_FUNC_DLSYM_USCORE): Call it to set NEED_USCORE.
* m4/module.c (uscore_sym): New function.  Use this to prepend an
underscore if NEED_USCORE was set at configure time.
Reported by KO Myung-Hun

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-20 22:16:31 +00:00
KO Myung-Hun
1d887c9b50 modules: fall-back to system dlopen search path.
* m4/module.c (m4__module_open): If the module search function
cannot find a matching module, fall-back to the system dlopen
search path.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-20 22:16:31 +00:00
KO Myung-Hun
bb0bc2920c modules: support .dll suffix.
* m4/module.c (m4__module_open): Support .dll suffix in module
names.
* m4/path.c (FILE_SUFFIXES): Likewise for include builtin.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-20 22:12:29 +00:00
KO Myung-Hun
8991a6cc3d m4: fdopen() with a text mode explicitly on OS/2.
On OS/2 kLIBC, fdopen() creates a stream in a mode of a file
descriptor. So specify "t" to open a stream in a text mode explicitly
on OS/2.
* modules/gnu.c (m4_esyscmd): fdopen() in a text mode on OS/2.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-20 20:56:24 +00:00
KO Myung-Hun
0ea9ccbb6e configury: add -Zargs-resp to LDFLAGS on OS/2.
-Zargs-resp enables a response file support on OS/2.
* configure.ac (OS2_LDFLAGS): Add -Zargs-resp on *-*-os2*.
* Makefile.am (AM_LDFLAGS): Add OS2_LDFLAGS.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-20 20:52:01 +00:00
KO Myung-Hun
2590c2dcf1 configury: append $EXEEXT suffix to /bin/sh.
Without $EXEEXT, /bin/sh cannot be located on OS/2.
* build-aux/m4/m4-syscmd.m4 (M4_SYSCMD): append $EXEEXT suffix
to /bin/sh.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-20 20:46:10 +00:00
Gary V. Vaughan
4b572bfb5d configury: loadable modules files do not require version numbers.
Modules are loaded by libltdl.  Arguably, loading from the .la
pseudo-library should work irrespective of platform library object
file-naming schemes; but in reality, M4 loads modules by basename
anyway, so we shouldn't put a platform specific version number in
the module filename anyway.
* Makefile.am (module_ldflags): Add -avoid-version flag.
Reported by KO Myung-Hun

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-20 20:46:10 +00:00
Gary V. Vaughan
9b05f56055 configury: loadable modules do not require undefined symbol support.
For compatibility with OS/2 and cygwin, modules must be compiled
with no undefined symbols.
* Makefile.am (AM_LDFLAGS): Add -no-undefined flag.
Reported by Ko Myung-Hun

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-20 20:46:10 +00:00
Gary V. Vaughan
e98114fd72 maint: autogenerate THANKS.
More automation == less time wasted on menial tasks.
* build-aux/thanks-gen: script inspired by coreutils.
* Makefile.am (THANKS): Based on rule from coreutils/Makefile.am.
* NO-THANKS: New file. Configure thanks-gen output.
* THANKS: Remove.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-20 20:46:10 +00:00
Gary V. Vaughan
aec8087310 bootstrap: sync with upstream.
* build-aux/gl/build-aux/bootstrap.in,
build-aux/gl/build-aux/extract-trace,
build-aux/gl/build-aux/funclib.sh,
build-aux/gl/build-aux/inline-source,
build-aux/gl/build-aux/options-parser: Sync with upstream.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-19 13:42:27 +00:00
Gary V. Vaughan
25f5825272 configury: separate installed modules from test only modules.
* modulues/import.c, modules/modtest.c, modules/shadow.c: Move
from here...
* tests/import.c, tests/modtest.c, tests/shadow.c: ...to here.
* Makefile.am: Adjust.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-09-22 17:22:40 +07:00
Gary V. Vaughan
22b46f4ab2 maint: fix some warnings that break compilation with -Werror.
* m4/hash.c (ITERATOR_NEXT_NEXT): Hide unused macro.
(maybe_grow): Prevent implicit double promotion.
(m4_get_hash_length, m4_get_hash_iterator_key)
(m4_get_hash_iterator_value, m4_hash_string_hash)
(m4_hash_string_cmp): Add pure attribute for gcc.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-09-22 16:57:49 +07:00
Gary V. Vaughan
5756e9af9a maint: fix a type coercion flagged by -Wformat.
* modules/m4.c (maketemp): Don't pass a size_t as the precission
parameter to %.*s.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-09-22 16:54:41 +07:00
Gary V. Vaughan
14a0629ba3 maint: fix gnulib path in .gitmodules.
* .gitmodules (gnulib): Set path to build-aux/gnulib.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-09-22 16:22:06 +07:00
Gary V. Vaughan
c09a187c50 configury: install headers correctly.
* Makefile.am (pkgmodincludedir): Remove.
(nobase_pkginclude_HEADERS, pkgmodinclude_HEADERS): Move from here...
(nobase_include_HEADERS, noinst_HEADERS): ...to here.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-09-22 12:30:13 +07:00
Gary V. Vaughan
a43fd66dc1 configury: fold doc/Makefile.am into Makefile.am.
* doc/Makefile.am: Remove.
* Makefile.am: Reinstate rules here.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-09-22 12:10:14 +07:00
Gary V. Vaughan
bf8486051c configury: install gnulib sources into m4 subdirectory.
* configure.ac (AC_CONFIG_LIBOBJ_DIR): Change to m4/gnu.
(AC_CONFIG_HEADERS): Change to config.h.
(AC_CONFIG_FILES): Change gnu/Makeflie to m4/gnu/Makefile.
* .gitignore, po/POTFILES.in: Adjust accordingly.
* build-aux/m4/gnulib-cache.m4: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-09-22 11:56:05 +07:00
Gary V. Vaughan
c906f15d5e configury: move gnulib subproject to build-aux subdirectory.
* gnulib: Move from here...
* build-aux/gnulib: ...to here.
* bootstrap.conf (gnulib_path): Set appropriately.
* .gitignore: Adjust.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-09-22 10:49:34 +07:00
Gary V. Vaughan
578bd023ea configury: move usage examples into doc subdirectory.
* examples: Move from here...
* doc/examples: ...to here.
* Makefile.am (EXTRA_DIST, dist_pkgdata_DATA): Adjust.
* README, doc/m4.texi, tests/builtins.at, tests/generate.awk,
tests/others.at: Likewise.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-09-22 09:49:06 +07:00
Gary V. Vaughan
1eacf10370 configury: move autoconf macros to build-aux subdirectory.
* ltdl/m4: Move from here...
* build-aux/m4: ...to here.
* configure.ac (AC_CONFIG_MACRO_DIR): Adjust.
* Makefile.am (config_macro_dir, ACLOCAL_AMFLAGS): Adjust.
* build-aux/m4/gnulib-cache.m4: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-09-22 09:23:34 +07:00