summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* autoreconf: Add checks for Gtk-Doc usagebaserock/jjardon/gtk-docJavier Jardón2016-03-092-0/+23
| | | | Signed-off-by: Javier Jardón <jjardon@gnome.org>
* AC_C_RESTRICT: port better to non-GCC + glibcPaul Eggert2016-02-221-7/+9
| | | | | | | Problem reported by Dwight Guth in: http://lists.gnu.org/archive/html/bug-autoconf/2016-02/msg00006.html * lib/autoconf/c.m4 (AC_C_RESTRICT): Prefer __restrict__ to __restrict. Also, fix and update some comments.
* Move config.* man pages to its source treePaul Eggert2016-02-064-35/+4
| | | | | | | | | Suggested by Ben Elliston in: https://lists.gnu.org/archive/html/autoconf-patches/2015-11/msg00000.html * man/config.guess.x, man/config.sub.x: Remove. * NEWS: Mention this. * man/local.mk (dist_man_MANS): Remove them. ($(mansrcdir)/config.guess.1, $(mansrcdir)/config.sub.1): Remove rules.
* maint: make update-copyrightPaul Eggert2016-02-0683-84/+84
|
* port to new Autom4te::XFile APIPaul Eggert2016-02-066-30/+30
|
* make fetchPaul Eggert2016-02-0623-1239/+2415
|
* Port better to gcc -fsanitize=addressPaul Eggert2016-02-061-2/+8
| | | | | * lib/autoconf/functions.m4 (_AC_FUNC_MALLOC_IF, _AC_FUNC_REALLOC_IF): Free heap-allocated storage before exiting.
* Fix memory leak in AC_FUNC_MMAPPaul Eggert2016-02-051-0/+2
| | | | | * lib/autoconf/functions.m4 (AC_FUNC_MMAP): Fix memory leak in test case, found by configuring with gcc -fsanitize=address.
* Document dash ${*-unset} behaviorPaul Eggert2016-02-051-1/+14
| | | | | | * doc/autoconf.texi (Shell Substitutions): Document dash incompatibility. Problem reported by David Caldwell in: http://bugs.gnu.org/22556
* Add -mdir flag for NAG Fortran compilerThomas Jahns2015-10-081-13/+9
| | | | | | | * lib/autoconf/fortran.m4 (AC_FC_MODULE_OUTPUT_FLAG): Also try -mdir. Also, prefer autoconf macros instead of verbatim shell code and make tests safer. Copyright-paperwork-exempt: yes
* tests: port to recent libtool diagnosticsPaul Eggert2015-09-051-2/+2
| | | | | | | Problem reported by Christian Fafard in: http://lists.gnu.org/archive/html/bug-autoconf/2015-09/msg00009.html * tests/foreign.at (libtool): Run the scripts in the C locale, so that we need not worry about localized quotes in their output.
* Add /opt/X11/include to X search pathPaul Eggert2015-08-071-0/+2
| | | | | | | * lib/autoconf/libs.m4 (_AC_PATH_X_DIRECT): Add /opt/X11/include for OS X. Problem reported by Daniel Macks at: http://lists.gnu.org/archive/html/bug-autoconf/2015-08/msg00002.html
* doc: mention 'for' syntax issue on older shellsEric Blake2015-06-041-0/+36
| | | | | | | | | | Based on a report by Michael Felt, via Paul Eggert on the coreutils list. * doc/autoconf.texi (Limitations of Builtins) <for>: Document problem with 'for var in ;'. Signed-off-by: Eric Blake <eblake@redhat.com>
* AC_CHECK_DECL, AC_CHECK_DECLS: port to the Clang compilerNoah Misch2015-05-134-4/+81
| | | | | | | | | | * lib/autoconf/general.m4 (_AC_UNDECLARED_WARNING): New macro. (_AC_CHECK_DECL_BODY): Call it once per language; treat warnings as errors when its verdict indicates that. * tests/semantics.at (AC_CHECK_DECLS): Add a macro call that relies on the new semantics. Avoid -Wmissing-variable-declarations warnings. * doc/autoconf.texi (Generic Declarations): Document the implications. * NEWS: Mention this change.
* m4_pattern_forbid: better documentationMatěj Týč2015-04-212-4/+15
| | | | | | | | Give a more concrete description of what the m4_pattern_forbid thingy that pretends it is a macro accepts as an argument. Copyright-paper-exempt: Yes Signed-off-by: Eric Blake <eblake@redhat.com>
* lib: use shorter way to test if variable is setEric Blake2015-04-2112-40/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on an idea by Bernhard Reutner-Fischer. We frequently used the idiom of 'test "${var+set}" = set' to test if $var was set to a non-empty string, but this can portably be trimmed to a more compact 'test ${var+y}' for a smaller configure file. Testing that a variable is not set can be done with '${var+false} :' (although the value of $? is not reliably 1 when the variable is set). The code for AS_VAR_TEST_SET already used the form '${var+:} false', but it is slightly longer, and does not guarantee $? of 1. Tested on coreutils, where the resulting configure file is about 1k smaller. * doc/autoconf.texi (Shell Substitutions): Prefer shorter sequence for testing if a variable is set. (Limitations of Builtins) <test (strings)>: Document it. * configure.ac: Use it. * lib/autoconf/c.m4 (_AC_PROG_CC_G, _AC_PROG_CXX_G) (_AC_PROG_OBJC_G, _AC_PROG_OBJCXX_G): Likewise. * lib/autoconf/fortran.m4 (_AC_PROG_FC_G): Likewise. * lib/autoconf/general.m4 (_AC_ENABLE_IF_ACTION, AC_CACHE_SAVE): Likewise. * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT): Likewise. * lib/autoconf/programs.m4 (AC_PROG_INSTALL, AC_PROG_MKDIR_P) (_AC_PROG_LEX_YYTEXT_DECL): Likewise. * lib/autoconf/status.m4 (_AC_OUTPUT_MAIN_LOOP): Likewise. * lib/autotest/general.m4 (AT_INIT): Likewise. * tests/base.at (AC_CACHE_CHECK): Likewise. * tests/m4sh.at (LINENO): Likewise. * lib/m4sugar/m4sh.m4 (_AS_BOURNE_COMPATIBLE) (_AS_DETECT_BETTER_SHELL, _AS_SHELL_SANITIZE) (_AS_PATH_SEPARATOR_PREPARE): Likewise. (AS_VAR_TEST_SET): Use shorter sequence. Signed-off-by: Eric Blake <eblake@redhat.com>
* m4_set_foreach: minor optimizationEric Blake2015-04-211-2/+2
| | | | | | | | | | | As a minor optimization, most macros in m4sugar.m4 try to avoid output of 'dnl' in the expansion, to reduce the number of macros that must be expanded at each call site. * lib/m4sugar/m4sugar.m4 (m4_set_foreach): Don't expand dnl in all callers. Signed-off-by: Eric Blake <eblake@redhat.com>
* m4sugar: fix pop typo in m4_set_foreachNick Bowler2015-04-201-1/+2
| | | | | * lib/m4sugar/m4sugar.m4 (m4_set_foreach): Pop macro definition. Copyright-paperwork-exempt: Yes
* AC_PROG_MKDIR_P: reduce macro output sizeEric Blake2015-04-091-2/+1
| | | | | | | | | Merging two case globs into one gives slightly smaller files and less time spent in shell globbing on systems that lack GNU mkdir. * lib/autoconf/programs.m4 (AC_PROG_MKDIR_P): Combine two GNU cases. Signed-off-by: Eric Blake <eblake@redhat.com>
* AC_PROG_MKDIR_P: Also accept BusyBox mkdir -pBernhard Reutner-Fischer2015-04-091-0/+1
| | | | | | * lib/autoconf/programs.m4 (AC_PROG_MKDIR_P): Accept BusyBox. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* tests: avoid two false-positive parallel test failuresJim Meyering2015-02-011-2/+2
| | | | | | | | | | * tests/local.mk (check-local): Add a leading "+", to void false-positive test failures when running them in parallel. Before this change, running e.g., "make check TESTSUITEFLAGS=--jobs=15" would always fail the two "make"-invoking tests: "C unit tests" and "C unit tests (EXEEXT)". (installcheck-local): Likewise for "installcheck".
* doc: -f is now portable for cp and lnPaul Eggert2015-01-021-5/+5
| | | | | | | | | | | This follows up on a comment by Glenn Morris in: http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00011.html * doc/autoconf.texi (Limitations of Usual Tools): Remove circa-1990 advice about avoiding cp -f and ln -f. Although that advice was reasonable for the early 1990s, the -f option is portable for both cp and ln nowadays. These options were standardized in POSIX 1003.2-1992, and pre-POSIX systems such as SunOS 4 are no longer of practical concern.
* maint: bump copyright yearPaul Eggert2015-01-021-1/+1
| | | | | * doc/autoconf.texi: Update copyright year. This had to be done by hand.
* maint: bump copyright to 2015Paul Eggert2015-01-0283-84/+84
| | | | * all files: Run 'make update-copyright'.
* Fix spurious testsuite failure when /bin/sh is dashStefano Lattarini2014-12-171-2/+2
| | | | | | | | | | | The testsuite used slightly different logic in the code employed to decide whether a test should be skipped due to a limitation of the selected shell, and in the code running the test itself. * tests/autotest.at (Syntax error): Adjust. (parallel syntax error): Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: avoid spurious test failure with libtool 2.4.3Gary V. Vaughan2014-11-031-1/+1
| | | | | | | | | Based on a report by Bruce Dubbs. * tests/foreign.at (Libtool): Be tolerant of 'quote' replacing the older `quote'. Signed-off-by: Eric Blake <eblake@redhat.com>
* docs: mention that not all values can be exportedEric Blake2014-11-031-0/+23
| | | | | | | | | | There has been a LOT of news about bash's Shell Shock bug lately. Document some of the ramifications it has on portable scripting. * doc/autoconf.texi (Limitations of Builtins) <export>: Add some details about Shell Shock CVE-2014-6271. Signed-off-by: Eric Blake <eblake@redhat.com>
* doc: distinguish GCC from GNU C, etc.Paul Eggert2014-09-081-19/+19
| | | | | | | | * doc/autoconf.texi (C Compiler, Objective C Compiler) (Objective C++ Compiler, Fortran Compiler): Be more careful about distinguishing GNU C from GCC, and similarly for other languages. Problem reported by Marko Lindqvist in: http://lists.gnu.org/archive/html/autoconf/2014-09/msg00027.html
* autoconf: clarify "checking" message for GNU-compatible compiliersPaul Eggert2014-09-082-21/+4
| | | | | | | | | | | | | Problem reported by Bastien Chevreux in: http://lists.gnu.org/archive/html/autoconf/2014-09/msg00022.html and idea for fix by Eric Blake in: http://lists.gnu.org/archive/html/autoconf/2014-09/msg00025.html * doc/autoconf.texi (Running the Preprocessor) (Present But Cannot Be Compiled): Adjust examples to match current behavior. * lib/autoconf/lang.m4 (_AC_LANG_COMPILER_GNU): Say "checking whether the compiler supports GNU C", not "checking whether we are using the GNU C compiler".
* autoconf: fix typo in previous changePaul Eggert2014-09-021-1/+1
| | | | * lib/autoconf/c.m4 (AC_C_RESTRICT): Fix typo in previous change.
* autoconf: port 'restrict' to GCC 4.2.1Paul Eggert2014-09-021-10/+13
| | | | | * lib/autoconf/c.m4 (AC_C_RESTRICT): Detect GCC bug 14050. Problem reported by Marco Munari for OpenBSD 5.5.
* cross-compiling: handling modern platforms able to run foreign binaries.Jehan2014-08-081-1/+11
| | | | | | | | | | | | * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_CROSS): When only --host is set, and no --build, but in the end, the resulting computed $build and $host are different, set $cross_compiling = yes. Indeed we can't rely only on a successful test program run, because false positives occur on some platforms. In particular modern GNU/Linux distributions set Wine to automatically handle Windows binaries. Consequently $cross_compiling gets set to "no" even though we are in an obvious cross-compilation case. (tiny change)
* autoconf: modernize AC_C_VARARRAYS for C11Paul Eggert2014-08-073-10/+60
| | | | | | | | * lib/autoconf/c.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if VLAs are not supported, as this is what C11 does. The old macro HAVE_C_VARARRAYS is still defined if they are supported, but is now obsolescent. Also, check for VLA bug in GCC 3.4.3. * doc/autoconf.texi (C Compiler), NEWS: Document the above.
* doc: Solaris 11 supports $(...)Paul Eggert2014-08-071-3/+3
| | | | | * doc/autoconf.texi (Shell Substitutions): Say that $(...) isn't working in Solaris 10 and earlier, not in "recent releases".
* doc: modernize character encodingPaul Eggert2014-08-071-25/+26
| | | | | | | * doc/autoconf.texi: Specify @documentencoding UTF-8. Don't abuse '`' to mean open quote, unless Texinfo already interprets it that way. Be more careful about hyphen versus minus versus endash versus emdash.
* m4sh: allow trailing newlines in shell conditionsEric Blake2014-07-175-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dimitrios Apostolou reported getting a shell syntax error for this construct in his configure.ac: AM_CONDITIONAL([HAVE_LIBXML2], [test "x$with_libxml2" != xno && test "x$ac_cv_lib_xml2_xmlFirstElementChild" = xyes] ) He analyzed it to a root cause: his trailing newline, coupled with an 'if $2; then' construct in the macro body, resulted in configure containing: if test ... xyes ; then where the semicolon is a syntax error in shell; and proposed a patch to automake to fix his use case. While that macro is not under our control, it does highlight the fact that the shell can use either ; or newline to terminate a conditional prior to the next keyword in a compound statement. If we use newline, we gain two benefits - the configure file is slightly smaller (more lines, but fewer bytes), and any user that doesn't realize that unquoted trailing newlines in a macro argument are still significant can still generate valid shell code when their argument is used in a shell compound statement. * lib/m4sugar/m4sh.m4 (AS_IF, _AS_IF, _AS_CLEAN_DIR): Prefer newline over semicolon to end user-supplied conditionals. * lib/autoconf/general.m4 (AC_CONFIG_AUX_DIRS): Likewise. * lib/autoconf/libs.m4 (AC_SEARCH_LIBS): Likewise. * lib/autoconf/programs.m4 (_AC_PATH_PROGS_FEATURE_CHECK): Likewise. * tests/m4sh.at (AS_IF and AS_CASE): Test it. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: add to THANKSEric Blake2014-05-301-0/+1
| | | | | | * THANKS: Update. Signed-off-by: Eric Blake <eblake@redhat.com>
* AC_INIT: quote invalid feature namesEric Blake2014-05-301-2/+2
| | | | | | | | | | | | | | | Changes: configure: error: invalid feature name: debug to configure: error: invalid feature name: `debug ' to make it obvious if trailing space is the reason why a feature name was rejected; similar to existing error messages elsewhere about invalid shell variable names. * lib/autoconf/general.m4 (_AC_INIT_PARSE_ENABLE2): Add quotes. Reported by Noel Grandin. Signed-off-by: Eric Blake <eblake@redhat.com>
* autoconf: fix typo in description generated by AC_RUN_IFELSEPaul Eggert2014-05-111-1/+1
| | | | | * lib/autoconf/general.m4 (_AC_RUN_IFELSE): "run" not "link" in description.
* Change main () to main (void) for C/C++Vincent Lefevre2014-02-137-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | This patch changes "main ()" to "main (void)" for C/C++. See: http://lists.gnu.org/archive/html/bug-autoconf/2014-01/msg00005.html On my machine, before this patch, 3 tests were failing: 38: tools.at:1329 autom4te cache locking 218: autotest.at:1893 C unit tests ac_config_testdir at_tested autotest 219: autotest.at:1948 C unit tests (EXEEXT) ac_config_testdir at_tested autotest With this patch, 2 tests were failing: 218: autotest.at:1893 C unit tests ac_config_testdir at_tested autotest 219: autotest.at:1948 C unit tests (EXEEXT) ac_config_testdir at_tested autotest (I suspect that 38 is unrelated.) Signed-off-by: Vincent Lefevre <vincent@vinc17.net> Copyright-paperwork-exempt: Yes
* doc: give an example of using the macro for pkg-configEric Blake2014-02-051-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | The autoconf manual doesn't mention any examples of actually using m4_pattern_forbid. Yet this is the perfect macro for avoiding the all-too-common failure mode of configure dying with: checking if libxml2 is present... ./configure: line 11586: syntax error near unexpected token `LIBXML2,' ./configure: line 11586: `PKG_CHECK_MODULES(LIBXML2, libxml-2.0>= 2.6.19,' for developers that forgot to install pkg-config. While we don't necessarily advertise the use of PKG_CHECK_MODULES, it is a common enough situation that the manual should make it easier to help developers learn about missing third-party macros. Based on a mailing list report by Daniel Pocock: http://lists.gnu.org/archive/html/autoconf/2014-01/msg00030.html * doc/autoconf.texi (Forbidden Patterns): Add examples. Signed-off-by: Eric Blake <eblake@redhat.com>
* tests: don't let config.site affect testsuiteEric Blake2014-01-011-0/+3
| | | | | | | | | | | Test 236 "configure directories" failed for me on 64-bit Fedora 20; it boiled down to the system's config.site causing libdir to default to /usr/lib64 instead of the autoconf default of /usr/lib. * tests/base.at (configure directories): Neutralize any preinstalled config.site from the system. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: fix 'make syntax-check' findingsEric Blake2014-01-013-3/+3
| | | | | | | | | | | | | Fix syntax check warnings that are unrelated to the new copyright year. * lib/local.mk (lib/autoscan/autoscan.list): Reduce indent, to avoid mix of tab and 8 spaces. * bin/local.mk (bin/autoconf.in): Likewise. * lib/autoconf/c.m4 (_AC_CXX_CXX98_TEST_BODY): Use consistent case in message. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: bump copyright to 2014Eric Blake2014-01-0184-85/+85
| | | | | | | Done via 'make update-copyright', since all files are effectively modified and distributed this year via public version control. * all files: Update copyright year.
* Expose the checks done by AC_INCLUDES_DEFAULT as a public macro.Zack Weinberg2013-09-213-13/+29
| | | | | | | | | * lib/autoconf/headers.m4 (_AC_INCLUDES_DEFAULT_REQUIREMENTS): Rename to AC_CHECK_INCLUDES_DEFAULT. All callers changed. (AC_HEADER_STDC, AC_UNISTD_H): Use AC_CHECK_INCLUDES_DEFAULT instead of previous kludge. * doc/autoconf.texi, NEWS: Document AC_CHECK_INCLUDES_DEFAULT.
* Use AC_CHECK_{DECLS,FUNCS,HEADERS}_ONCE more in specific-check macros.Zack Weinberg2013-09-212-19/+17
| | | | | | | | | | | | | | | | | * lib/autoconf/functions.m4 (AC_FUNC_CHOWN): No need to check for unistd.h. (_AC_LIBOBJ_FNMATCH): Use AC_CHECK_DECLS_ONCE and AC_CHECK_FUNCS_ONCE. (_AC_LIBOBJ_GETLOADAVG): Use AC_CHECK_FUNCS_ONCE for setlocale. (AC_FUNC_MMAP): Use AC_CHECK_FUNCS_ONCE for getpagesize. (AC_FUNC_SELECT_ARGTYPES): Use AC_CHECK_HEADERS_ONCE for sys/select.h and sys/socket.h. (AC_FUNC_STRERROR_R): Use AC_CHECK_DECLS_ONCE + AC_CHECK_FUNCS_ONCE for strerror_r. (AC_FUNC_UTIME_NULL): Use AC_CHECK_HEADERS_ONCE for utime.h. (AC_FUNC_FORK): Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE. (AC_FUNC_VPRINTF): Use AC_CHECK_FUNCS_ONCE for vprintf (but not _doprnt). * lib/autoconf/headers.m4 (AC_HEADER_TIME, AC_MEMORY_H): Use AC_CHECK_HEADERS_ONCE.
* Use AC_CHECK_HEADERS_ONCE for the tests done by AC_INCLUDES_DEFAULT.Zack Weinberg2013-09-211-7/+11
| | | | | | | | | * lib/autoconf/headers.m4 (AC_CHECK_HEADERS_ONCE): Divide into a public macro that AC_REQUIREs _AC_INCLUDES_DEFAULT_REQUIREMENTS, and ... (_AC_CHECK_HEADERS_ONCE): ... a private macro, that doesn't. (_AC_HEADERS_EXPANSION): Use $ac_includes_default, not AC_INCLUDES_DEFAULT. (_AC_INCLUDES_DEFAULT_REQUIREMENTS): Use AC_CHECK_HEADERS_ONCE.
* Modernize AC_INCLUDES_DEFAULT and friends.Zack Weinberg2013-09-215-382/+263
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib/autoconf/headers.m4 (_AC_INCLUDES_DEFAULT_REQUIREMENTS): Include stddef.h, stdlib.h, and string.h unconditionally. Don't include memory.h at all. Don't use AC_HEADER_STDC. Don't check for stddef.h, stdlib.h, string.h, or memory.h. For compatibility, unconditionally define STDC_HEADERS, HAVE_STDLIB_H, and HAVE_STRING_H. (AN_HEADER list): Remove C89 headers, and memory.h from list. (AC_HEADER_STDC, AC_UNISTD_H): AU_DEFUN to trigger _AC_INCLUDES_DEFAULT_REQUIREMENTS if it hasn't already happened, and do nothing else. (AC_HEADER_TIME): AU_DEFUN, and define TIME_WITH_SYS_TIME unconditionally as long as sys/time.h is present. (AC_USG, AC_MEMORY_H): Assume existence of string.h. * lib/autoconf/functions.m4 (_AC_FUNC_MALLOC_IF, _AC_FUNC_REALLOC_IF): Don't use AC_HEADER_STDC. Assume stdlib.h exists. (AC_FUNC_MKTIME): Don't use AC_HEADER_TIME. Assume time.h exists. (AC_FUNC_ALLOCA): Assume stdlib.h exists. (_AC_LIBOBJ_FNMATCH): Assume wchar.h and wctype.h exist. (_AC_LIBOBJ_GETLOADAVG): Assume locale.h exists. (AC_FUNC_MMAP): Assume stdlib.h exists. * tests/tools.at: Use AC_WORDS_BIGENDIAN instead of AC_STDC_HEADERS in autoupdate test. * NEWS, doc/autoconf.texi: Document changes. Remove obsolete advice.
* AC_CHECK_HEADER/AC_CHECK_HEADERS: complete transition to compile tests.Zack Weinberg2013-09-215-165/+122
| | | | | | | | | | * lib/autoconf/headers.m4 (AC_CHECK_HEADER): Use _AC_CHECK_HEADER_COMPILE by default. Continue to use _AC_CHECK_HEADER_PREPROC if fourth arg is '-'. (_AC_CHECK_HEADER_PREPROC): Issue a deprecation warning. (_AC_CHECK_HEADER_MONGREL, _AC_CHECK_HEADER_MONGREL_BODY): Remove. * tests/c.at, tests/semantics.at: Update uses of AC_CHECK_HEADER(S). * doc/autoconf.texi, NEWS: Document change.
* * tests/local.at (AT_CHECK_M4): Support 'stderr' as fourth argument.Zack Weinberg2013-09-211-2/+3
|