summaryrefslogtreecommitdiff
path: root/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* configury: move usage examples into doc subdirectory.Gary V. Vaughan2013-09-221-73/+73
| | | | | | | | | | * 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>
* configury: move autoconf macros to build-aux subdirectory.Gary V. Vaughan2013-09-221-2/+2
| | | | | | | | | | * 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>
* modules: huge simplification of module loading without libltdl.Gary V. Vaughan2013-09-211-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Libltdl is huge and slow, and carrying the weight of support for decades old systems. We can do much better using POSIX dlopen and dlsym directly, simplifying and speeding up as we do so. * configure.ac (LT_CONFIG_LTDL_DIR, LTDL_INIT): Remove. (M4_DEFAULT_PRELOAD): Set to ""; we lost preload support along with removing libltdl. * Makefile.am: Don't include ltdl/Makefile.inc. (AM_CPPFLAGS): Manually add current directory to include search paths. * m4/m4private.h (includes): Remove ltdl.h. (INIT_SYMBOL, m4__module_init): Remove. (struct m4_module): Change handle type from lt_dlhandle to void *. * m4/m4module.h (M4INIT_HANDLER): Remove. * m4/module.c (includes): Add dlfcn.h. (m4__module_interface, iface_id, m4__module_init, module_dlerror): Remove. (m4__module_open): Drastically simplified without all the libltdl setup and interface id twiddling. Just call dlopen to get a native handle, and the dlsym to get the init function. (m4_module_import): Similarly wrt dlsym. * m4/path.c (FILE_SUFFIXES): Replace .la and LT_MODULE_EXT with hardcoded ".so". (m4_load_filename): Likewise. * modules/gnu.c: Remove libltdl preprocessor symbol renaming, and use "include_<modulename>" as the single entry point function. * modules/import.c, modules/m4.c, modules/modtest.c, modules/mpeval.c, modules/shadow.c, modules/stdlib.c, modules/time.c, modules/traditional.c: Likewise. * main.c (main): Remove calls to m4__module_init and LTDL_SET_PRELOADED_SYMBOLS. * tests/m4.in: Make sure we always have the modules/.libs and tests/.libs directories at the front of M4PATH so that the tests will find the modules they need to include. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* modules: remove support for module unload and refcount.Gary V. Vaughan2013-09-201-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Module management is horrifically more complex than it needs to be for the simple purpose of providing a means to implement new builtins using C. Fussing about reference counting or needing to maintain and test a facility to unload modules is an easy 600 lines to cut as a start at simplification. * src/main.c (main): Don't call m4__module_exit to unload all modules just prior to exiting the application. * m4/m4private.h (FINISH_SYMBOL, m4_module:refcount) (m4__module_exit, m4_module_refcount): Remove. (m4__module_next): Rename from this... * m4/m4module.h (m4_module_next): ...to this. Adjust all callers. (M4FINISH_HANDLER, m4_module_finish_func, m4_module_makeresident) (m4_module_refcount, m4_module_unload, m4_module_exit): Remove. * m4/m4module.c (m4__module_next): Rename from this... (m4_module_next): ...to this. (module_remove, m4_module_makeresident, m4_module_unload) (m4_module_exit, m4_module_refcount): Remove. * modules/load.c: Remove. (m4modules): Move from here... * modules/gnu.c (m4modules): ...to here. Update all callers. (M4FINISH_HANDLER(gnu)): Remove. * modules/m4.c (M4INIT_HANDLER(m4)): Remove. * modules/modtest.c (M4FINISH_HANDLER(modtest)): Remove. * modules/shadow.c (M4INIT_HANDLER(shadow)): Rewrite to work without refcount. * Makefile.am (pkglib_LTLIBRARIES): Remove modules/load.la. (modules_load_la_LDFLAGS, modules_load_la_LIBADD): Remove. * tests/modules.at: Remove references to load module, and tests of unload builtin. * tests/options.at: Remove obsolute finish hook and module unload trace output. * doc/m4.texi (Unload, Refcount): Remove. (M4modules): Change module reference from load to gnu. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* modules: remove ancient broken perl module.Gary V. Vaughan2013-09-181-15/+0
| | | | | | | | * modules/perl.c, modules/perl.m4: Remove. * po/POTFILES.in: Remove reference to perl.c. * Makefile.am: Remove commented out rules for building perl.so. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* maint: move syntax check exemptions into cfg.mkEric Blake2013-09-181-9/+1
| | | | | | | | | | | | | It's easier to maintain exemptions in a single file than it is to maintain a bunch of hidden .x files. * .x-sc_cast_of_argument_to_free: Delete file. * .x-sc_prohibit_tab_based_indentation: Likewise. * .x-sc_require_config_h: Likewise. * .x-sc_require_config_h_first: Likewise. * Makefile.am (syntax_check_exceptions): Delete rule. * cfg.mk (exclude_file_name_regexp): Move exemptions here. Signed-off-by: Eric Blake <eblake@redhat.com>
* gnulib: use manywarnings module.Gary V. Vaughan2013-09-181-0/+1
| | | | | | | | * ltdl/m4/gnulib-cache.m4: Import manywarnings. Regenerate. * configure.ac: Support --enable-gcc-warnings configure option. * Makeflie.am (AM_CFLAGS): Honor --enable-gcc-warnings setting. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* maint: update copyright year.Gary V. Vaughan2013-09-181-2/+2
| | | | | | | * all files: Run 'make update-copyright' to add 2013 to list of copyright years. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* gnulib: fix use of link libraries.Eric Blake2013-09-171-1/+1
| | | | | | | | * Makefile.am (m4_LDADD): Update link libraries accordingly. * THANKS: Update. Reported by Rainer Tammer. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: enable additional c++ tests with make dist.Eric Blake2013-09-171-1/+4
| | | | | | | | | | * configure.ac (gl_CXX_CHOICE_DEFAULT_NO): Make default for C++ tests be disabled... * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): ...but run them when building package. * ltdl/m4/gnulib-cache.m4: Regenerate. Signed-off-by: Eric Blake <eblake@redhat.com>
* configury: default to automake silent rules if available.Gary V. Vaughan2013-09-161-0/+2
| | | | | | | * Makeflie.am (FORCE): Add missing placeholder. * configure.ac (AM_SILENT_RULES): Use it if possible. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* Factor load functionality into include builtin.Gary V. Vaughan2013-09-161-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * m4/module.c (m4__module_open): Instead of calling lt_dlopenext right away, use the preload hint first incase path searching has been disabled by POSIXLY_CORRECT. Otherwise fallback to a manual path search to override libltdl's algorithm. * m4/m4module.h: Adjust. * m4/path.c (FILE_SUFFIXES): Order to try suffixes in our path search algorithm. (NO_SUFFIXES): Alternatively, how to to search a path without adding file suffixes. (m4_path_search): Add a new suffixes parameter defaulting to NO_SUFFIXES. Adjust all callers. (m4_load_filename): New generic load function that tries to open a matched file first as a module, and if that fails fall back to a (possibly frozen) m4 input file. (m4_fopen): New function with close on exec functionality. * modules/m4.c (include): Use m4_load_filename to with modules or m4 files. Adjust all callers. * modules/load.c (load): Removed this builtin. * src/main.c: Remove Dynamic loading features section, and M4MODPATH support. (long_options): Remove "load-module", "unload-module" and "module-directory" options. (OPTSTRING): Remove 'M' and 'm' options. (process_file): Use m4_load_filename to support module names on the command line. * tests/generate.awk (new_test): Output AT_CHECK_DYNAMIC_MODULE and AT_CHECK_GMP without relying on the (deleted!) -m option. * Makefile.am (TESTS_ENVIRONMENT): No need for abs_top_builddir any more. * doc/m4.texinfo: Update examples. (Dynamic loading features, Load): Removed. (Command line files): Describe how non-option arguments are treated to try to find a matching macro file or dso. (Include): Describe additional dso loading features if a suitable text file cannot be found. (Modules): Updated. * tests/builtins.at, tests/m4.in, tests/modules.at, tests/options.at, others.at: Adjust test cases and calling conventions to new semantics. * modules/modtest.m4, modules/shadow.m4, modules/stdlib.m4, modules/time.m4, modules/time2.m4: Move from here... * examples/modtest.m4, examples/shadow.m4, examples/stdlib.m4, examples/time.m4, examples/time2.m4: ...to here, to prevent a namespace clash with similarly named loadable modules in the modules directory. * NEWS: Updated. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* maint: move to gitlog-to-changelog.Gary V. Vaughan2013-09-151-1/+17
| | | | | | | | | | | | * ChangeLog: Move from here... * ChangeLog.old: ...to here. * .gitignore: Add ChangeLog. * ltdl/m4/gnulib-cache.m4: Add gitlog-to-changelog. * Makefile.am (ChangeLog): New rule to generate a ChangeLog on demand. (EXTRA_DIST): Distribute gitlog-to-changelog. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* doc: use .texi extension consistently.Gary V. Vaughan2013-09-151-3/+3
| | | | | | | | | | * doc/m4.texinfo: Rename from this... * doc/m4.texi: ...to this. * Makefile.am (m4_texinfo): Rename from this... (m4_texi): ...to this. Adjust all callers. * doc/Makeflie.am (m4_TEXINFOS): Adjust. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* configury: don't install modules to pkglibexecdir.Gary V. Vaughan2013-09-151-3/+3
| | | | | | | | | Modern Automake (correctly) errors out when trying to install modules to pkglibexecdir; we should be using pkglibdir here. * Makefile.am (pkglibexec_LTLIBRARIES): Rename from this... (pkglib_LTLIBRARIES): ...to this. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* Document upcoming release.Eric Blake2010-02-241-3/+1
| | | | | | | | | | * gnulib: Update to latest. * doc/m4.texinfo (History): Mention 1.4.14. * Makefile.am (src/getopt.h): Drop dependence on now-obsolete link-warning.h. Signed-off-by: Eric Blake <ebb9@byu.net> (cherry picked from commit d0489f2a57e649b22f719ed8670ca3733c4febd4)
* Address remaining 'make syntax-check' findings.Eric Blake2010-01-081-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | * gnulib: Update to latest. * Makefile.am (tests/package.m4): Avoid @@ substitution. (src_m4_LDADD): Link with libiconv. * m4/m4private.h (STREQ): New macro. * m4/resyntax.c (m4_regexp_syntax_encode): Use it. * src/main.c (process_file): Likewise. (includes): Drop unused header. * m4/macro.c (m4_arg_equal): Adjust comment. * m4/syntax.c: Likewise. * m4/system_.h: Avoid useless preprocessor parenthesis. * ltdl/m4/stackovf.m4 (M4_SYS_STACKOVF): Likewise. * src/stackovf.c: Likewise. (setup_stackovf_trap): Mark diagnostics. * modules/mpeval.c (includes): Move quotearg.h inclusion... * modules/evalparse.c (includes): ...to where it is used. * cfg.mk (local-checks-to-skip): Exempt tests that cause spurious failures, but first fix what they were intended to detect. (_makefile_at_at_check_exceptions): Allow an exception. Signed-off-by: Eric Blake <ebb9@byu.net> (cherry picked from commit 2f6096389e2047a01618419af3f4471735444520)
* Address 'make sc_cast_of_argument_to_free' failures.Eric Blake2010-01-071-0/+1
| | | | | | | | | | | | * m4/m4private.h (DELETE): Adjust comment and fix parentheses. * m4/m4.c (m4_delete): Use it to avoid warning. * m4/module.c (install_builtin_table, module_remove): Likewise. * m4/symtab.c (m4_symbol_value_delete, m4_symbol_value_copy): Likewise. * .x-sc_cast_of_argument_to_free: New file. * Makefile.am (syntax_check_exceptions): Distribute exceptions. Signed-off-by: Eric Blake <ebb9@byu.net>
* Document new indentation policy.Eric Blake2010-01-051-0/+1
| | | | | | | | | | * HACKING: Document indentation policy. * .x-sc_prohibit_tab_based_indentation: New file. * cfg.mk (sc_prohibit_tab_based_indentation): New rule. * Makefile.am (syntax_check_exceptions): Ship exception. Signed-off-by: Eric Blake <ebb9@byu.net> (cherry picked from commit a8cef71593e876b027733fdb0137ed1655cae584)
* Prepare to bulk update copyright year.Eric Blake2010-01-051-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | * gnulib: Update. * ltdl/m4/gnulib-cache.m4: Import update-copyright module. * cfg.mk (update-copyright-env): Enforce longhand behavior. * .x-update-copyright: New file. * Makefile.am (syntax_check_exceptions): Distribute exception. * ltdl/m4/debug.m4: Add FSF copyright. * ltdl/m4/m4-error.m4: Fix FSF name in copyright. * ltdl/m4/m4-getopt.m4: Likewise. * ltdl/m4/m4-gettext.m4: Likewise. * ltdl/m4/m4-obstack.m4: Likewise. * ltdl/m4/m4-regex.m4: Likewise. * ltdl/m4/m4-rename.m4: Likewise. * ltdl/m4/m4-syscmd.m4: Likewise. * modules/modtest.m4: Likewise. * modules/perl.m4: Likewise. * modules/shadow.m4: Likewise. * modules/stdlib.m4: Likewise. * modules/time.m4: Likewise. * modules/time2.m4: Likewise. * tests/iso8859.m4: Likewise. Signed-off-by: Eric Blake <ebb9@byu.net> (cherry picked from commit 548145f74620c9deb456c9eec3f20e18968d4da7)
* Use gnulib maintainer-makefile module.Eric Blake2010-01-051-2/+7
| | | | | | | | | | | | | | | | | | | * ltdl/m4/gnulib-cache.m4: Import maintainer-makefile module. * cfg.mk (local-checks-to-skip): Drop changelog-check; add sc_cast_of_x_alloc_return_value. (gnu_ftp_host-alpha, gnu_ftp_host-beta, gnu_ftp_host-major) (gnu_rel_host): Delete; provided by maint.mk. (old_NEWS_hash): New macro. * .prev-version: New file. * .x-sc_require_config_h: Likewise. * .x-sc_require_config_h_first: Likewise. * Makefile.am (syntax_check_exceptions, EXTRA_DIST): Ship new files. * maint.mk: Remove from version control; use gnulib instead. * .gitignore: Update. Signed-off-by: Eric Blake <ebb9@byu.net> (cherry picked from commit 260383467b3ae57f2cb3c6821718b99fdf278c4b)
* Update to latest gnulib.Eric Blake2010-01-051-3/+7
| | | | | | | | | | | | * gnulib: Update. * ltdl/m4/gnulib-cache.m4: Import xoset. * m4/output.c (includes): Ensure that gnulib oset usage will call xalloc_die on memory failure. * Makefile.am (src/getopt.h): Update snippet from gnulib. (LINK_WARNING_H, ARG_NONNULL_H): New macros. Signed-off-by: Eric Blake <ebb9@byu.net> (cherry picked from commit 43b9828d5bfe5c9be902ad86053e59f3a5ab2dd4)
* Update to newer gnulib.Eric Blake2009-11-261-5/+14
| | | | | | | | | | | | | | | | | * gnulib: Update. * ltdl/m4/gnulib-cache.m4: Import inttypes, setenv, and unsetenv modules. * modules/m4.c (m4_make_temp): Adjust gen_tempname client. * bootstrap (src_modules): Pick up getopt-gnu and its dependencies. * configure.ac (gl_VERSION_ETC): Support ./configure --with-packager. (AC_CHECK_FUNCS_ONCE): Rely on gnulib for setenv, unsetenv. * ltdl/m4/m4-getopt.m4: Rewrite to match current gnulib. * Makefile.am (src/getopt.h): Likewise. * modules/stdlib.c (setenv, unsetenv): Rely on gnulib. Signed-off-by: Eric Blake <ebb9@byu.net>
* Fix m4.1 build race, exposed by parallelism through GNUmakefile.Ralf Wildenhues2009-03-191-33/+1
| | | | | | | | | * Makefile.am (SUBDIRS): Add doc. (Documentation rules): Move ... * doc/Makefile.am: ... to this new file. * configure.ac (AC_CONFIG_FILES): Generate doc/Makefile. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* Maintainer cleanups.Eric Blake2009-01-051-5/+4
| | | | | | | | | | * HACKING: Remove mention of xdelta. * Makefile.am (EXTRA_DIST, MAINTAINERCLEANFILES): Let gnulib take care of distributing gendocs.sh. * maint.mk (web-manual): Use new feature of gendocs. * ltdl/m4/gnulib-cache.m4: Regenerate. Signed-off-by: Eric Blake <ebb9@byu.net>
* Deal with M4 1.4.x limitation on builtin tokens.Eric Blake2008-12-181-0/+1
| | | | | | | | | | | | * doc/m4.texinfo (Composition): Mention limitation on curry. (Improved copy): New node. (Stacks): Fix typo. * examples/stack.m4: Likewise. * examples/stack_sep.m4: New file. * Makefile.am (dist_pkgdata_DATA): Distribute it. Signed-off-by: Eric Blake <ebb9@byu.net> (cherry picked from commit 92f059a8d7e6e6f96e791fcc14d6dcbdba7b3b9c)
* Keep COPYING in repository.Eric Blake2008-11-261-1/+1
| | | | | | | | | | | * Makefile.am (MAINTAINERCLEANFILES): Don't remove COPYING. * .cvsignore: Don't ignore it. * .gitignore: Likewise. * COPYING: Store in repository, per automake 1.10.2 recommendation. Signed-off-by: Eric Blake <ebb9@byu.net> (cherry picked from commit a33b562827fd0d1b9f2fbb4aed6b3e29900c5ecc)
* Document optimized forloop.Eric Blake2008-11-261-0/+1
| | | | | | | | | | * doc/m4.texinfo (Improved forloop): Mention alternate style that avoids define overhead. * examples/forloop3.m4: New file. * Makefile.am (dist_pkgdata_DATA): Distribute it. Signed-off-by: Eric Blake <ebb9@byu.net> (cherry picked from commit 5ace13749e5afae1351d9b6035c2ba9309ac20cd)
* Document copy composite using stack_foreach and curry.Eric Blake2008-11-261-0/+2
| | | | | | | | | | | | | | * doc/m4.texinfo (Stacks): New node, to document pushdef stack manipulation. (Ifelse): Move define_blind... (Composition): ...to this new node. Document currying, then use it to implement copy and rename. * examples/curry.m4: New file. * examples/stack.m4: Likewise. * Makefile.am (dist_pkgdata_DATA): Distribute them. Signed-off-by: Eric Blake <ebb9@byu.net> (cherry picked from commit cacb2125cc8d3e14dfdcc24260d2daf2a7684640)
* Upgrade to FDL 1.3.Eric Blake2008-11-041-2/+2
| | | | | | | | | * ltdl/m4/gnulib-cache.m4: Replace fdl module with fdl-1.3. * Makefile.am (doc_m4_TEXINFOS, MAINTAINERCLEANFILES): Reflect file change. * doc/m4.texinfo (GNU Free Documentation License): Likewise. Signed-off-by: Eric Blake <ebb9@byu.net>
* Give nicer error if user modifies testsuite but lacks autoconf.Eric Blake2008-10-221-1/+1
| | | | | | * Makefile.am (AUTOM4TE): Use missing in the definition. Signed-off-by: Eric Blake <ebb9@byu.net>
* Clean up testsuite invocation.Eric Blake2008-10-091-15/+6
| | | | | | | | | * tests/atlocal.in: Fix copyright notice. * Makefile.am (TESTS_ENVIRONMENT): Delete; it wasn't being used. (check-local, installcheck-local): Adjust clients. Add missing dependency. Signed-off-by: Eric Blake <ebb9@byu.net>
* Run m4 tests prior to gnulib unit tests.Bruno Haible2008-08-071-1/+1
| | | | | * Makefile.am (SUBDIRS): Swap order of directories. (cherry picked from commit 22598a89aca89a390cfdc8fb5cca3bfbc1c380ef)
* Give example for O(n) foreach on m4 1.4.x.Eric Blake2008-07-261-0/+1
| | | | | | | | | | * examples/foreachq4.m4: New file. * Makefile.am (dist_pkgdata_DATA): Distribute it. * tests/others.at (recursion): Test it. * doc/m4.texinfo (Improved foreach): Document linear foreach with m4 1.4.5 and greater. Signed-off-by: Eric Blake <ebb9@byu.net>
* Support 'make dist' with BSD make.Eric Blake2008-05-271-4/+4
| | | | | | | | | * Makefile.am (TESTSUITE_AT, MAINTAINERCLEANFILES): Qualify uses of the generated file tests/generated.at. (EXTRA_DIST, $(TESTSUITE)): Likewise for tests/package.m4. * tests/others.at (stdout closed): Accomodate OpenBSD /bin/sh. Signed-off-by: Eric Blake <ebb9@byu.net>
* Fix 'make installcheck' after './configure --prefix-progname'.Eric Blake2008-04-151-2/+8
| | | | | | | | | | | | | | | | | * tests/testsuite.at (AT_CHECK_M4): Allow overriding the m4 program name. (HELP_OTHER, PREPARE_TESTS): Document and use $M4. * tests/builtins.at (patsubst): Avoid space-tab. (divert, mkdtemp, mkstemp): Adjust tests to use $M4. * tests/options.at (--debugfile): Likewise. * tests/others.at (stdin seekable): Likewise. (fstab): Avoid space-tab. * Makefile.am (installcheck-local): Accomodate transformed name. (DISTCHECK_CONFIGURE_FLAGS): Ensure no regressions, by using gm4 during 'make distcheck'. * cfg.mk: New file, borrowed from branch. Signed-off-by: Eric Blake <ebb9@byu.net>
* Avoid GNU make failure on tarball.Eric Blake2008-04-141-1/+1
| | | | | | * Makefile.am (EXTRA_DIST): Distribute cfg.mk and maint.mk. Signed-off-by: Eric Blake <ebb9@byu.net>
* Overhaul inter-version releases to work with git.Eric Blake2008-04-081-10/+11
| | | | | | | | | | | | | | | | | | | | | * configure.ac (version): New variable, which has nicer version contents when using git 1.5.5+, hardcoded to 1.9a otherwise. (TIMESTAMP): Delete, since CVS id expansion died with transition to git. (AM_INIT_AUTOMAKE): Use version to decide gnu vs. gnits. * build-aux/mkstamp: Delete, no longer used. * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Kill, to speed up rebuilds when timestamps don't matter. (MKSTAMP): Delete, no longer used. (EXTRA_DIST): No longer worry about mkstamp. (.version): New rule and distributed file. (doc/m4.1, tests/package.m4): Depend on .version, not configure.ac, for timestamp. * ltdl/m4/gnulib-cache.m4: Import git-version-gen module. * modules/gnu.c (__m4_version__): TIMESTAMP no longer exists. * src/main.c (main): Likewise. Signed-off-by: Eric Blake <ebb9@byu.net>
* Use GNUmakefile module.Eric Blake2008-03-281-35/+0
| | | | | | | | * ltdl/m4/gnulib-cache.m4: Import gnumakefile module. * Makefile.am: Split off maintainer rules... * maint.mk: ...into this new file. Signed-off-by: Eric Blake <ebb9@byu.net>
* Document join, in order to fix bug in m4wrap example.Eric Blake2008-03-151-1/+5
| | | | | | | | | | | | | * examples/join.m4: New file. * examples/wraplifo2.m4: Likewise. * Makefile.am (EXTRA_DIST): Add new files. * doc/m4.texinfo (Improved m4wrap): New node. (Defn, Location): Enhance tests. (Shift): Document the composit macro join. (Incompatibilities): Move documentation of LIFO vs. FIFO... (M4wrap): ...here, to match improved example. Signed-off-by: Eric Blake <ebb9@byu.net>
* Revert accidental checkin from previous patch.Eric Blake2008-02-201-2/+1
| | | | Signed-off-by: Eric Blake <ebb9@byu.net>
* Fix out-of-bounds read for sanitized macro names, from 2008-02-06.Eric Blake2008-02-201-1/+2
| | | | | | | * m4/utility.c (m4_verror_at_line): Properly terminate the string. Reported by Ralf Wildenhues. Signed-off-by: Eric Blake <ebb9@byu.net>
* Depend on new libtool to use non-recursive build.Eric Blake2008-01-311-20/+23
| | | | | | | | | | | | | | | | | | | | | * configure.ac (LT_PREREQ): Bump to alpha release version. (LTDL_INIT): Choose nonrecursive mode. Perform sanity check that installed libtool has correct symbols. * Makefile.am (SUBDIRS): Drop ltdl, now that it is built from the top level. (AM_CPPFLAGS): Drop directories covered by libtool. (AM_LDFLAGS): Drop -no-undefined, covered by libtool. (include_HEADERS, noinst_LTLIBRARIES, EXTRA_LTLIBRARIES): New macros, used by libtool. (lib_LTLIBRARIES): Also used by libtool. (ltdl/libltdlc.la): Delete, now that libtool does this. * bootstrap: Mention new requirements. (LIBTOOLIZE): Provide default program, and run libtoolize prior to autoreconf. (autoreconf): Also neutralize libtoolize, since it is run early. * HACKING: Mention updated prerequisites. Signed-off-by: Eric Blake <ebb9@byu.net>
* Fix build failure if installed libltdl is used.Ralf Wildenhues2008-01-281-1/+1
| | | | * Makefile.am (m4_libm4_la_DEPENDENCIES): Use $(LTDLDEPS).
* Depend on newer autoconf, for testsuite -C dir.Eric Blake2008-01-281-16/+6
| | | | | | | | | | | * Makefile.am (CD_TESTDIR): Delete, no longer required. (check-local, installcheck-local, clean-local-tests): Use new -C option from autotest. * configure.ac (AC_PREREQ): Bump to 2.61a.347. * bootstrap: Mention new dependency. * HACKING: Likewise. Signed-off-by: Eric Blake <ebb9@byu.net>
* Rely on newer automake.Eric Blake2008-01-221-10/+3
| | | | | | | | | | | | | | * configure.ac (AM_INIT_AUTOMAKE): Require 1.10.1, and add lzma distribution. * bootstrap: Update automake requirement. (func_version): Fix --version output, broken since 2007-08-06. * HACKING: Likewise. Add lzma requirement. * Makefile.am (clean-local-src): Not needed any more with newest Automake. (clean-local): Adjust. * TODO: Remove completed item. Signed-off-by: Eric Blake <ebb9@byu.net>
* Stage 9: share rather than copy single-arg refs.Eric Blake2007-12-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ltdl/m4/gnulib-cache.m4: Import memmem and quote modules. * m4/m4module.h (m4_arg_scratch): New prototype. * m4/m4private.h (m4__push_symbol): Add parameter. (m4_arg_scratch): Add fast accessor. (struct m4): Add expansion_level member, taken... * m4/macro.c (expansion_level): ...from here. Adjust all users. (expand_argument): Minor cleanup. (expand_macro): Track scratch space per macro call. (m4_arg_scratch): New function. (m4_make_argv_ref): Call new function. (m4_push_arg): Push reference to $0. (m4_push_args): Rework separator usage, since separators will usually be inlined. (process_macro): Allow embedded NUL. * m4/input.c (INPUT_INLINE_THRESHOLD): New define. (m4__push_symbol): Add parameter. Inline short strings, and save references through rescanning. * m4/symtab.c (m4_set_symbol_value_text): Weaken assertion. * modules/m4.c (errprint, index): Handle NUL transparently. (dumpdef, translit): Use scratch space, rather than expansion stack. * modules/gnu.c (renamesyms, m4symbols): Likewise. * tests/others.at (nul character): New test. (iso8859): Quote absolute file name, remove XFAIL. * tests/iso8859.m4: Avoid raw NUL in output. * tests/null.m4: New file. * tests/null.out: Likewise. * tests/null.err: Likewise. * Makefile.am (OTHER_FILES): Distribute new files. * .gitattributes: Treat new files as text. Signed-off-by: Eric Blake <ebb9@byu.net>
* Fix builds with OpenBSD make.Eric Blake2007-12-041-3/+3
| | | | | | | | | | * Makefile.am (HELP2MAN): New macro. (dist_man_MANS, doc/m4.1): Fix rules for building m4.1 into srcdir. * README: Update copyright. * HACKING: Mention help2man and makeinfo dependencies. Signed-off-by: Eric Blake <ebb9@byu.net>
* * Makefile.am (tests/package.m4): Work around bash bug.Eric Blake2007-11-061-1/+3
| | | | | | Reported by Ralf Wildenhues. Signed-off-by: Eric Blake <ebb9@byu.net>
* For consistency with other GNU projects, use build-aux directory.Eric Blake2007-11-051-1/+1
| | | | | | | | | | * configure.ac (AC_CONFIG_AUX_DIR): Change ltdl/config to build-aux. * bootstrap (config_aux_dir): Likewise. * Makefile.am (config_aux_dir): Likewise. * ltdl/m4/gnulib-cache.m4: Use --aux-dir option. Signed-off-by: Eric Blake <ebb9@byu.net>