summaryrefslogtreecommitdiff
path: root/config/programs.m4
Commit message (Collapse)AuthorAgeFilesLines
* Use --strip-unneeded when stripping static libraries with GNU strip.Tom Lane2023-04-201-1/+1
| | | | | | | | | | | | | | | | | | | | | We've long used "--strip-unneeded" for shared libraries but plain "-x" for static libraries when stripping symbols with GNU strip. There doesn't seem to be any really good reason for that though, since --strip-unneeded produces smaller output (as "-x" alone does not remove debug symbols). Moreover it seems that llvm-strip, although it identifies as GNU strip, misbehaves when given "-x" for this purpose. It's unclear whether that's intentional or a bug in llvm-strip, but in any case it seems like changing to use --strip-unneeded in all cases should be a win. Note that this doesn't change our behavior when dealing with non-GNU strip. Per gripes from Ed Maste and Palle Girgensohn. Back-patch, in case anyone wants to use llvm-strip with stable branches. Discussion: https://postgr.es/m/17898-5308d09543463266@postgresql.org Discussion: https://postgr.es/m/20230420153338.bbj2g5jiyy3afhjz@awork3.anarazel.de
* Bump minimum version of Flex to 2.5.35John Naylor2022-09-091-6/+4
| | | | | | | | Since the retirement of some older buildfarm members, the oldest Flex that gets regular testing is 2.5.35. Reviewed by Andres Freund Discussion: https://www.postgresql.org/message-id/1097762.1662145681@sss.pgh.pa.us
* Bump minimum version of Bison to 2.3John Naylor2022-09-091-4/+4
| | | | | | | | | | | | Since the retirement of some older buildfarm members, the oldest Bison that gets regular testing is 2.3. MacOS ships that version, and will continue doing so for the forseeable future because of Apple's policy regarding GPLv3. While Mac users could use a package manager to install a newer version, there is no compelling reason to force them do so at this time. Reviewed by Andres Freund Discussion: https://www.postgresql.org/message-id/1097762.1662145681@sss.pgh.pa.us
* Remove configure's check for rl_completion_append_character.Tom Lane2022-02-021-20/+2
| | | | | | | | | | | | | | | The comment for PGAC_READLINE_VARIABLES says "Readline versions < 2.1 don't have rl_completion_append_character". It seems certain that such versions are extinct in the wild, though; for sure there are none in the buildfarm. Libedit has had this variable for at least twenty years too. Also, tab-complete.c's behavior without it is quite unfriendly, since we'll emit a space even when completion fails; but we've had no complaints about that. Therefore, let's assume this variable is always there, and drop the configure check to save a few build cycles. Discussion: https://postgr.es/m/147685.1643858911@sss.pgh.pa.us
* Add configure probe for rl_completion_suppress_quote.Tom Lane2020-01-231-1/+19
| | | | | | | | | | | | I had supposed that all versions of Readline that have filename quoting hooks also have the rl_completion_suppress_quote variable. But it seems OpenBSD managed to find a version someplace that does not, so we'll have to expend a separate configure probe for that. (Light testing suggests that this version also lacks the bugs that make it necessary to frob that variable. Hooray!) Per buildfarm.
* Improve psql's tab completion for filenames.Tom Lane2020-01-231-7/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Readline library contains a fair amount of knowledge about how to tab-complete filenames, but it turns out that that doesn't work too well unless we follow its expectation that we use its filename quoting hooks to quote and de-quote filenames. We were trying to do such quote handling within complete_from_files(), and that's still what we have to do if we're using libedit, which lacks those hooks. But for Readline, it works a lot better if we tell Readline that single-quote is a quoting character and then provide hooks that know the details of the quoting rules for SQL and psql meta-commands. Hence, resurrect the quoting hook functions that existed in the original version of tab-complete.c (and were disabled by commit f6689a328 because they "didn't work so well yet"), and whack on them until they do seem to work well. Notably, this fixes bug #16059 from Steven Winfield, who pointed out that the previous coding would strip quote marks from filenames in SQL COPY commands, even though they're syntactically necessary there. Now, we not only don't do that, but we'll add a quote mark when you tab-complete, even if you didn't type one. Getting this to work across a range of libedit versions (and, to a lesser extent, libreadline versions) was depressingly difficult. It will be interesting to see whether the new regression test cases pass everywhere in the buildfarm. Some future patch might try to handle quoted SQL identifiers with similar explicit quoting/dequoting logic, but that's for another day. Patch by me, reviewed by Peter Eisentraut. Discussion: https://postgr.es/m/16059-8836946734c02b84@postgresql.org
* Remove obsolete reference to IrixPeter Eisentraut2019-08-181-2/+2
|
* Use better comment marker in Autoconf inputPeter Eisentraut2019-02-091-1/+1
| | | | | | The comment marker "#" is copied to the output, so it's only appropriate for comments that make sense in the shell output. For comments about the Autoconf language, "dnl" should be used.
* configure: More use of AC_ARG_VARPeter Eisentraut2019-01-181-0/+1
| | | | | | | | | | | | AC_ARG_VAR is necessary if an environment variable influences a configure result that is then used by other tests that are cached. With AC_ARG_VAR, a change in the variable is detected on subsequent configure runs and the user is then advised to remove the cache. This adds AC_ARG_VAR calls for: MSGFMT, PERL, PYTHON, TCLSH, XML2_CONFIG Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://www.postgresql.org/message-id/30672.1546816567@sss.pgh.pa.us
* Further improve consistency of configure's program searching.Tom Lane2017-08-011-8/+23
| | | | | | | | | | | | | | | | | | | | | Peter Eisentraut noted that commit 40b9f1921 had broken a configure behavior that some people might rely on: AC_CHECK_PROGS(FOO,...) will allow the search to be overridden by specifying a value for FOO on configure's command line or in its environment, but AC_PATH_PROGS(FOO,...) accepts such an override only if it's an absolute path. We had worked around that behavior for some, but not all, of the pre-existing uses of AC_PATH_PROGS by just skipping the macro altogether when FOO is already set. Let's standardize on that workaround for all uses of AC_PATH_PROGS, new and pre-existing, by wrapping AC_PATH_PROGS in a new macro PGAC_PATH_PROGS. While at it, fix a deficiency of the old workaround code by making sure we report the setting to configure's log. Eventually I'd like to improve PGAC_PATH_PROGS so that it converts non-absolute override inputs to absolute form, eg "PYTHON=python3" becomes, say, PYTHON = /usr/bin/python3. But that will take some nontrivial coding so it doesn't seem like a thing to do in late beta. Discussion: https://postgr.es/m/90a92a7d-938e-507a-3bd7-ecd2b4004689@2ndquadrant.com
* Record full paths of programs sought by "configure".Tom Lane2017-07-311-3/+3
| | | | | | | | | | | | | | | | | Previously we had a mix of uses of AC_CHECK_PROG[S] and AC_PATH_PROG[S]. The only difference between those macros is that the latter emits the full path to the program it finds, eg "/usr/bin/prove", whereas the former emits just "prove". Let's standardize on always emitting the full path; this is better for documentation of the build, and it might prevent some types of failures if later build steps are done with a different PATH setting. I did not touch the AC_CHECK_PROG[S] calls in ax_pthread.m4 and ax_prog_perl_modules.m4. There seems no need to make those diverge from upstream, since we do not record the programs sought by the former, while the latter's call to AC_CHECK_PROG(PERL,...) will never be reached. Discussion: https://postgr.es/m/25937.1501433410@sss.pgh.pa.us
* Fix configure's incorrect version tests for flex and perl.Tom Lane2016-05-021-1/+1
| | | | | | | | | | | | awk's equality-comparison operator is "==" not "=". We got this right in many places, but not in configure's checks for supported version numbers of flex and perl. It hadn't been noticed because unsupported versions are so old as to be basically extinct in the wild, and because the only consequence is whether or not a WARNING flies by during configure. Daniel Gustafsson noted the problem with respect to the test for flex, I found the other by reviewing other awk calls.
* Accept flex > 2.5.x in configure.Tom Lane2015-11-181-1/+1
| | | | | | Per buildfarm member anchovy, 2.6.0 exists in the wild now. Hopefully it works with Postgres; if not, we'll have to do something about that, but in any case claiming it's "too old" is pretty silly.
* Replace obsolete autoconf macros with their modern replacements.Heikki Linnakangas2015-07-021-2/+2
| | | | | | | | | | | | | | | AC_TRY_COMPILE(...) -> AC_COMPILE_IFELSE([AC_LANG_PROGRAM(...)]) AC_TRY_LINK(...) -> AC_LINK_IFELSE([AC_LANG_PROGRAM(...)]) AC_TRY_RUN(...) -> AC_RUN_IFELSE([AC_LANG_PROGRAM(...)]) AC_LANG_SAVE/RESTORE -> AC_LANG_PUSH/POP AC_DECL_SYS_SIGLIST -> AC_CHECK_DECLS(...) (per snippet in autoconf manual) Also use AC_LANG_SOURCE instead of AC_LANG_PROGRAM, where the main() function is not needed. With these changes, autoconf -Wall doesn't complain anymore. Andreas Karlsson
* Move PGAC_LDAP_SAFE to config/programs.m4.Noah Misch2014-07-251-0/+28
| | | | | This restores the style of keeping configure.in free of AC_DEFUN. Per gripe from Tom Lane.
* Silence Bison deprecation warningsPeter Eisentraut2014-06-031-0/+8
| | | | | | | | | | | | | Bison >=3.0 issues warnings about %name-prefix="base_yy" instead of the now preferred %name-prefix "base_yy" but the latter doesn't work with Bison 2.3 or less. So for now we silence the deprecation warnings.
* Remove maintainer-check target, fold into normal buildPeter Eisentraut2013-10-101-0/+5
| | | | | | | | | | | | | | | | | | make maintainer-check was obscure and rarely called in practice, and many breakages were missed. Fold everything that make maintainer-check used to do into the normal build. Specifically: - Call duplicate_oids when genbki.pl is called. - Check for tabs in SGML files when the documentation is built. - Run msgfmt with the -c option during the regular build. Add an additional configure check to see whether we are using the GNU version. (make maintainer-check probably used to fail with non-GNU msgfmt.) Keep maintainer-check as around as phony target for the time being in case anyone is calling it. But it won't do anything anymore.
* Fix install-strip on Mac OS XPeter Eisentraut2012-08-211-3/+13
| | | | | | | | | | | There was a hack put into install-sh to call strip with the correct options on Mac OS X. But that never worked, because configure disabled stripping on that platform altogether. So remove that dead code, and while we're at it, update install-sh to the latest upstream source (from Automake). Instead, set up the right strip options in programs.m4, so this now actually works the way it was originally intended.
* Add/fix caching on some configure checksPeter Eisentraut2010-09-291-11/+9
|
* Fix remaining stray references to CVS.Tom Lane2010-09-221-2/+2
| | | | | These are just cosmetic and don't seem worth back-patching far. I put them into 9.0 just because it was trivial to do so.
* Remove cvs keywords from all files.Magnus Hagander2010-09-201-1/+1
|
* Revert configure warning to use "official distribution".Bruce Momjian2010-02-221-3/+3
|
* Use the term "bundled distribution" instead of "official distribution" inBruce Momjian2010-02-221-3/+3
| | | | configure warnings.
* Make the configure messages rejecting old bison and flex versions includeTom Lane2009-07-131-5/+5
| | | | the full path and version of the program being rejected.
* Advance the minimum required version of "flex" from 2.5.4 to 2.5.31, andTom Lane2009-07-131-17/+17
| | | | | | | update documentation accordingly. This is required in order to have support for a reentrant scanner. I'm committing this bit separately in order to have an easy reference if we later decide to make the minimum something different (like 2.5.33).
* Remove all traces that suggest that a non-Bison yacc might be supported, andPeter Eisentraut2008-08-291-19/+17
| | | | | change build system to use only Bison. Simplify build rules, make file names uniform. Don't build the token table header file where it is not needed.
* Require bind_textdomain_codeset() not just gettext() to enable NLS support.Tom Lane2008-05-271-3/+5
| | | | | GNU gettext before 0.10.36 does not have that function, and is generally too incomplete to be usable.
* Upgrade to Autoconf 2.61:Peter Eisentraut2008-02-171-5/+1
| | | | | | | | | - Change configure.in to use Autoconf 2.61 and update generated files. - Update build system and documentation to support now directory variables offered by Autoconf 2.61. - Replace usages of PGAC_CHECK_ALIGNOF by AC_CHECK_ALIGNOF, now available in Autoconf 2.61. - Drop our patched version of AC_C_INLINE, as Autoconf now has the change.
* Adjust configure script to print the bison and flex versions in use.Tom Lane2007-07-191-3/+43
| | | | Minor rearrangements to make a few tests in a more logical order.
* Avoid duplicate definition of LOCALEDIR in pg_config.h, already definedBruce Momjian2006-05-231-9/+1
| | | | in port/pg_config_paths.h.
* Add configure flag to allow libedit to be preferred over GNU readline:Bruce Momjian2005-12-041-9/+18
| | | | --with-libedit-preferred prefer BSD Libedit over GNU Readline
* Hack to work around broken linker on older NetBSD/OpenBSD/Irix assumedTom Lane2004-12-021-8/+9
| | | | | that readline must depend on libcurses, but it seems more recent ones use libtermcap instead. Allow that case.
* Fix readline/libedit selection code to prefer readline over libeditTom Lane2004-11-301-6/+5
| | | | | | | | | reliably (ie, regardless of which libraries they depend on). Also make sure that we don't select headers that obviously belong to the wrong one of the two libraries. This was discussed back around 4-Sep but seems to have slipped through the cracks. The header selection could be checked more closely, perhaps, but let's see if this is good enough.
* Some versions of lex will drop a lex.yy.c file when we probe to see ifTom Lane2004-09-021-2/+2
| | | | they are flex. Clean up after them.
* Use $PATH_SEPARATOR like the rest of the autoconf code, instead ofTom Lane2004-09-021-3/+3
| | | | hardwiring IFS=: when searching paths.
* Configure adjustments for irix.Bruce Momjian2004-05-191-3/+3
| | | | David Turover
* $Header: -> $PostgreSQL Changes ...PostgreSQL Daemon2003-11-291-1/+1
|
* Properly test for buggy flex 2.5.3.Bruce Momjian2003-05-061-2/+2
|
* Generate pg_config.h.in by autoheader. Separate out manually editablePeter Eisentraut2003-04-061-3/+3
| | | | parts. Standardize spelling of comments in pg_config.h.
* Readline and Zlib now required by default. Add options --without-readlinePeter Eisentraut2002-04-101-1/+22
| | | | and --without-zlib to turn them off.
* Add make install-strip target.Peter Eisentraut2002-04-101-1/+26
|
* Upgrade to Autoconf version 2.53. Replaced many custom macroPeter Eisentraut2002-03-291-2/+2
| | | | | | calls with new or now-built-in versions. Make sure that all calls to AC_DEFINE have a third argument, for possible use of autoheader in the future.
* Fix the readline test to find dependent libraries on NetBSD and OpenBSD.Peter Eisentraut2001-08-281-3/+16
| | | | Not pretty, but it doesn't look like the OS will get fixed sometime soon.
* Do not pre-expand localedir as substituted in the makefile, so that 'makePeter Eisentraut2001-08-061-4/+5
| | | | install prefix=elsewhere' works.
* Native Language Support (NLS)Peter Eisentraut2001-06-021-1/+32
| | | | | | | | | | | Use --enable-nls to turn it on; see installation instructions for details. See developer's guide how to make use of it in programs and how to add translations. psql sources have been almost fully prepared and an incomplete German translation has been provided. In the backend, only elog() calls are currently translatable, and the provided German translation file is more of a placeholder.
* Only look for bison as YACC; other yaccs need to be selected explicitly.Peter Eisentraut2001-02-101-11/+8
| | | | | When no suitable YACC is configured, supply useful informational messages to users. (Same way flex has been handled for a while.)
* Only use termcap xor [n]curses, depending on what readline needs. SolarisPeter Eisentraut2001-02-061-1/+33
| | | | has problems when linking with both.
* In flex --version test, redirect stdin to /dev/null, because some lex' hangPeter Eisentraut2000-10-261-2/+2
| | | | waiting for input. From Pete Forman <gsez020@kryten.bedford.waii.com>.
* New configure test for flex, which recognizes only flex but does so in allPeter Eisentraut2000-08-281-0/+72
incarnations (I hope). When an acceptable flex version is not found, print instructive error messages from both configure and the makefiles, so that users can continue building anyway.