Commit Graph

234 Commits

Author SHA1 Message Date
Andrew Dunstan
1a0c76c32f Enable compiling with the mingw-w64 32 bit compiler.
Original patch by Lars Kanis, reviewed by Nishiyama Tomoaki and tweaked some by me.

This compiler, or at least the latest version of it, is currently broken, and
only passes the regression tests if built with -O0.
2011-12-10 15:35:41 -05:00
Peter Eisentraut
80ac853f05 python.m4: Remove useless "import string" calls
They have been unneeded since the use of the string module has been
removed in a65ed83f8a.
2011-11-29 06:50:11 +02:00
Peter Eisentraut
f8c2029ef0 Improve detection of Python 3.2 installations
Because of ABI tagging, the library version number might no longer be
exactly the Python version number, so do extra lookups.  This affects
installations without a shared library, such as ActiveState's
installer.

Also update the way to detect the location of the 'config' directory,
which can also be versioned.

Ashesh Vashi
2011-08-18 14:43:16 +03:00
Tom Lane
44404f3945 Adjust configure to use "+Olibmerrno" with HP-UX C compiler, if possible.
This is reported to be necessary on some versions of that OS.  In service
of this, cause PGAC_PROG_CC_CFLAGS_OPT to reject switches that result in
compiler warnings, since on yet other versions of that OS, the switch does
nothing except provoke a warning.

Report and patch by Ibrar Ahmed, further tweaking by me.
2011-05-26 17:29:33 -04:00
Peter Eisentraut
8d89549380 Update config.guess and config.sub 2011-05-19 22:14:56 +03:00
Peter Eisentraut
f005384532 Better support for thread-support flag detection with clang
When testing the stderr produced by various thread-support flags, also
run a compilation in addition to a link, because clang warns on
certain flags when compiling but not when linking.
2011-02-16 23:15:54 +02:00
Peter Eisentraut
414c5a2ea6 Per-column collation support
This adds collation support for columns and domains, a COLLATE clause
to override it per expression, and B-tree index support.

Peter Eisentraut
reviewed by Pavel Stehule, Itagaki Takahiro, Robert Haas, Noah Misch
2011-02-08 23:04:18 +02:00
Andrew Dunstan
91812df4ed Enable building with the Mingw64 compiler.
This can be used to build 64 bit Windows binaries, not only on 64 bit
Windows but on supported cross-compiling hosts including 32 bit Windows,
Cygwin, Darwin and Linux.
2011-01-30 19:56:46 -05:00
Peter Eisentraut
fc946c39ae Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
Alvaro Herrera
9350824e70 find -path is not portable, so use grep -v instead.
Per previous failure of buildfarm member koi (which is no longer
failing, alas).
2010-10-25 10:04:00 -03:00
Peter Eisentraut
804a786c95 Add/fix caching on some configure checks 2010-09-29 22:38:04 +03:00
Alvaro Herrera
fde5ce4fe2 Prevent doc/src/sgml subdirs from being created, instead of deleting
them after the fact.  This is a more elegant fix for bug #5595.
2010-09-24 01:32:52 -04:00
Tom Lane
651377933e Fix remaining stray references to CVS.
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.
2010-09-22 19:51:39 -04:00
Magnus Hagander
9f2e211386 Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
Tom Lane
39ce62b110 Don't auto-create the subdirectories holding built documentation in a VPATH
build tree.  If we actually build the docs in the VPATH tree, those dirs
will get created then; but if they're present and empty, they capture the
vpathsearch searches in "make install", preventing installation of prebuilt
docs that might exist in the source tree.  Per bug #5595 from Dmtiriy Igrishin.
Fix based on idea from Peter Eisentraut.
2010-08-26 18:34:37 +00:00
Peter Eisentraut
3f11971916 Remove extra newlines at end and beginning of files, add missing newlines
at end of files.
2010-08-19 05:57:36 +00:00
Michael Meskes
29259531c7 Replace self written 'long long int' configure test by standard 'AC_TYPE_LONG_LONG_INT' macro call. 2010-05-25 17:28:20 +00:00
Michael Meskes
555a02f910 Added a configure test for "long long" datatypes. So far this is only used in ecpg and replaces the old test that was kind of hackish. 2010-05-25 14:32:55 +00:00
Peter Eisentraut
087b393dab Update config.guess and config.sub 2010-05-12 16:50:57 +00:00
Peter Eisentraut
7e8a60b7c5 Don't link PL/Python against LOCALMODLIBS
This variable is apparently only for Python internally.  In newer releases
of Python this variable pulls in more and more libraries that users are
less likely to have, leading to potential build failures.
2010-03-17 22:02:44 +00:00
Tom Lane
dc43e2f540 Fix configure's regexp for extracting the Perl version number from perl -v
output.  Per bug #5339, Perl 5.11 has changed the format of that output
enough to break the previous coding.

Alex Hunsaker
2010-02-23 18:35:07 +00:00
Bruce Momjian
b4689bfb00 Revert configure warning to use "official distribution". 2010-02-22 21:16:50 +00:00
Bruce Momjian
6a0b6421e2 Use the term "bundled distribution" instead of "official distribution" in
configure warnings.
2010-02-22 18:02:06 +00:00
Tom Lane
e08ab7c312 Support inlining various small performance-critical functions on non-GCC
compilers, by applying a configure check to see if the compiler will accept
an unreferenced "static inline foo ..." function without warnings.  It is
believed that such warnings are the only reason not to declare inlined
functions in headers, if the compiler understands "inline" at all.

Kurt Harriman
2010-02-13 02:34:16 +00:00
Tom Lane
55233c3382 Make configure check the version of Perl we're building with, and reject
versions < 5.8.  Also, if there's no Perl, emit a warning informing the
user that he won't be able to build from a CVS pull.  This is exactly the
same treatment we give Bison and Perl, and for the same reasons.
2010-01-07 01:41:11 +00:00
Peter Eisentraut
dd4cd55c15 Python 3 support in PL/Python
Behaves more or less unchanged compared to Python 2, but the new language
variant is called plpython3u.  Documentation describing the naming scheme
is included.
2009-12-15 22:59:55 +00:00
Peter Eisentraut
de7ee9e2e9 In the configure check for the Python distutils module, use a less obscure
shell construct to hide away the stderr output.  Python 3.1 actually core
dumps on the current invocation (http://bugs.python.org/issue7111), but the
new version also has the more general advantage of saving the error message
in config.log for analysis.
2009-10-14 21:59:15 +00:00
Tom Lane
d69a419e68 Remove any -arch switches given in ExtUtils::Embed's ldopts from our
perl_embed_ldflags setting.  On OS X it seems that ExtUtils::Embed is
trying to force a universal binary to be built, but you need to specify
that a lot further upstream if you want Postgres built that way; the only
result of including -arch in perl_embed_ldflags is some warnings at the
plperl.so link step.  Per my complaint and Jan Otto's suggestion.
2009-09-08 18:15:55 +00:00
Peter Eisentraut
9d182ef002 Update of install-sh, mkinstalldirs, and associated configury
Update install-sh to that from Autoconf 2.63, plus our Darwin-specific
changes (which I simplified a bit).  install-sh is now able to install
multiple files in one run, so we could simplify our makefiles sometime.

install-sh also now has a -d option to create directories, so we don't need
mkinstalldirs anymore.

Use AC_PROG_MKDIR_P in configure.in, so we can use mkdir -p when available
instead of install-sh -d.  For consistency with the rest of the world,
the corresponding make variable has been renamed from $(mkinstalldirs) to
$(MKDIR_P).
2009-08-26 22:24:44 +00:00
Peter Eisentraut
c29d7f02c2 Use DocBook XSL stylesheets for man page building
This switches the man page building process to use the DocBook XSL stylesheet
toolchain.  The previous targets for Docbook2X are removed. configure has been
updated to look for the new tools.  The Documentation appendix contains the
new build instructions.  There are also a few isolated tweaks in the
documentation to improve places that came out strangely in the man pages.
2009-08-04 22:04:37 +00:00
Tom Lane
dcc9d37331 Make the configure messages rejecting old bison and flex versions include
the full path and version of the program being rejected.
2009-07-13 05:36:53 +00:00
Tom Lane
da4b900176 Advance the minimum required version of "flex" from 2.5.4 to 2.5.31, and
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).
2009-07-13 01:51:56 +00:00
Peter Eisentraut
7cc514ac65 Upgrade to Autoconf 2.63
This upgrades the configure infrastructure to the latest Autoconf version.
Some notable news are:
 - The workaround for the broken fseeko() test is gone.
 - Checking for unknown options is now provided by Autoconf itself.
 - Fixes for Mac OS X
2009-07-02 18:55:40 +00:00
Tom Lane
8d355d7bbf Fix the makefiles to fail cleanly if Perl is needed but not present. This
used to work as intended, but got broken some time ago (a quoted empty string
is not an empty string), and got broken some more by the changes to generate
ecpg's preproc.y automatically.  Given all the unprotected uses of $(PERL)
elsewhere, it seems best to make use of the $(missing) script rather than
trying to ensure each such use is protected individually.  Also fix various
bits of documentation that omitted to mention Perl as a requirement for
building from a CVS pull.  Per a complaint from Robert Haas.
2009-06-23 03:46:00 +00:00
Peter Eisentraut
fefe1ae730 Update config.guess and config.sub 2009-04-09 21:33:02 +00:00
Andrew Dunstan
b5d23f28ce allow alternative names for tclsh used on Windows 2009-02-03 01:24:57 +00:00
Peter Eisentraut
a65ed83f8a Allow configure to deal with Python 3.0. Changes were:
print foo --> print(foo)
string.join(...) --> ' '.join(...)

These changes are backward compatible.

The actual plpython module appears to need significant updates to support
Python 3.0, though.  This change just relieves interested developers from
having to deal with Autoconf.
2009-01-04 00:54:15 +00:00
Peter Eisentraut
f900afff3e configure check for docbook2man program, used in the new XML-based man
page build target.  This covers from-source, Debian, and Fedora
installation variants.
2008-11-26 11:26:54 +00:00
Andrew Dunstan
466368b8d0 Detect and error out on inability to get proper linkage information required for plperl, usually due to absence of perl ExtUtils::Embed module. Backpatch as far as 8.1. 2008-11-12 00:00:05 +00:00
Peter Eisentraut
f7ef575fb7 Use Autoconf provided AS_HELP_STRING macro to automatically format and
align strings in the --help output.  Do this through our abstraction layer
to eliminate redundancy and randomness in configure.in.
2008-10-29 09:27:24 +00:00
Peter Eisentraut
579d9a5201 Add DSSSL stylesheet location for Mac OS X/Fink installation. 2008-09-05 09:37:37 +00:00
Peter Eisentraut
7c31742a07 Remove all traces that suggest that a non-Bison yacc might be supported, and
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.
2008-08-29 13:02:33 +00:00
Peter Eisentraut
559cb873d3 Autoconf 2.62 will require cache variables to contain "_cv_". Fix our few
noncomplying cases to be future-proof.
2008-08-21 13:53:28 +00:00
Alvaro Herrera
49f001d81e Cope with Tcl versions that do not create a tclsh symlink to the version-
numbered program.  Per persistent buildfarm failures.

Tom Lane
2008-08-01 13:50:52 +00:00
Peter Eisentraut
509303a597 Abort if Tcl support was configured and no tcl shell was found.
This is required because the value is substituted into the pltcl_*mod
scripts.
2008-07-23 17:07:50 +00:00
Tom Lane
623f8a0969 Modify the recently-added probe for -Wl,--as-needed some more, because RHEL-4
vintage Linux is even more broken than we realized: a link to libreadline
will succeed, and fail only at runtime.  It seems that an AC_TRY_RUN test
is the only reliable way to check whether this is really safe.  Per report
from Tatsuo.
2008-06-27 00:36:16 +00:00
Tom Lane
7e8374a3e0 Require bind_textdomain_codeset() not just gettext() to enable NLS support.
GNU gettext before 0.10.36 does not have that function, and is generally too
incomplete to be usable.
2008-05-27 22:18:04 +00:00
Tom Lane
1ac1bea076 Adjust -Wl,--asneeded test to avoid using the switch if it breaks
libreadline.  What we will do for compatibility :-(
2008-05-20 03:30:22 +00:00
Tom Lane
2dad10f467 Make another try at using -Wl,--as-needed to suppress linking of unnecessary
shared libraries.  We've tried this before and had problems with libreadline
not linking properly on some platforms, but that seems to be a libreadline
bug that may have been fixed by now.  In any case, it's early enough in the
8.4 devel cycle that we can afford to have some transient breakage while
we work out any portability problems.

On Darwin, we try -Wl,-dead_strip_dylibs, which seems to be the equivalent
incantation there.
2008-05-18 20:13:12 +00:00
Alvaro Herrera
7861d72ea2 Modify the float4 datatype to be pass-by-val. Along the way, remove the last
uses of the long-deprecated float32 in contrib/seg; the definitions themselves
are still there, but no longer used.  fmgr/README updated to match.

I added a CREATE FUNCTION to account for existing seg_center() code in seg.c
too, and some tests for it and the neighbor functions.  At the same time,
remove checks for NULL which are not needed (because the functions are declared
STRICT).

I had to do some adjustments to contrib's btree_gist too.  The choices for
representation there are not ideal for changing the underlying types :-(

Original patch by Zoltan Boszormenyi, with some adjustments by me.
2008-04-18 18:43:09 +00:00
Peter Eisentraut
95ea526e21 Backport fixed AC_FUNC_FSEEKO 2008-02-19 18:02:30 +00:00
Peter Eisentraut
b120382353 Upgrade to Autoconf 2.61:
- 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.
2008-02-17 16:36:43 +00:00
Peter Eisentraut
7a550cb95c Update config.guess and config.sub 2007-11-15 20:21:05 +00:00
Bruce Momjian
4ea3210a04 Again properly fix Darwin strip. 2007-11-13 18:50:54 +00:00
Bruce Momjian
a4840c82da Modify OS/X Darin test to actually work, (no $template) 2007-11-13 18:15:01 +00:00
Bruce Momjian
58ac0f92c0 Use strip -x on OS/X-darwin because non-"-x" causes link problems:
http://archives.postgresql.org/pgsql-hackers/2007-10/msg01470.php
2007-11-10 16:15:23 +00:00
Tom Lane
faa1179678 Fix search for SGML stylesheets to include the place where Gentoo keeps them.
Brendan Jurd
2007-08-09 02:33:58 +00:00
Tom Lane
177be3f9bb Adjust configure script to print the bison and flex versions in use.
Minor rearrangements to make a few tests in a more logical order.
2007-07-19 17:15:30 +00:00
Tom Lane
746330e2d0 Better solution to the tr problem: use sed instead. Per Martijn and Andrew. 2006-11-30 22:21:24 +00:00
Tom Lane
7ac9d45f49 Improve portability of 'tr' invocation in PGAC_ARG_CHECK. Reported by
Olivier Prenant, fixed by Peter.
2006-11-30 21:44:12 +00:00
Peter Eisentraut
0b9f93e6b0 Code the unknown options check without using m4 diversions. Otherwise this
code relies on the checking macro actually being called at the end, or the
automatic undiversion will produce garbage.  These sort of implicit
side-effects undermine the modularity of the macros and happen to break the
ODBC driver which makes use of them.

Also put the warnings at the very end of configure, so there is an even
better chance of seeing them.
2006-10-30 22:15:04 +00:00
Peter Eisentraut
6ab23dabf5 Punt when trying to build with threaded Python on FreeBSD.
Also cut back on excessive use of *** to decorate configure error messages.
If it's an error message, you are sure to see it without any decoration.
2006-10-16 17:24:54 +00:00
Peter Eisentraut
e1fdd2263f Make unknown-option-warning code more portable. echo -n is not portable,
and neither is "|" or "\|" in basic regular expressions.
2006-10-13 20:23:07 +00:00
Peter Eisentraut
a64f208833 Updated config.guess and config.sub 2006-10-07 21:05:59 +00:00
Alvaro Herrera
5c83b510be Fix typo. 2006-08-11 18:51:50 +00:00
Bruce Momjian
382808612c Emit warnings for unknown configure options.
Martijn van Oosterhout
2006-05-30 13:52:25 +00:00
Bruce Momjian
5d9062f939 Avoid duplicate definition of LOCALEDIR in pg_config.h, already defined
in port/pg_config_paths.h.
2006-05-23 19:28:45 +00:00
Bruce Momjian
f3d99d160d Add CVS tag lines to files that were lacking them. 2006-03-11 04:38:42 +00:00
Peter Eisentraut
a29c04a541 Allow installation into directories containing spaces in the name. 2005-12-09 21:19:36 +00:00
Bruce Momjian
10e3d224e0 Add configure flag to allow libedit to be preferred over GNU readline:
--with-libedit-preferred  prefer BSD Libedit over GNU Readline
2005-12-04 03:52:29 +00:00
Bruce Momjian
4784794279 Enable threaded python builds on freebsd5, per report from Jim C. Nasby 2005-10-13 20:40:04 +00:00
Bruce Momjian
d3a0c8dce9 Prevent threaded python build on BSD's, where it fails.
Marko Kreen
2005-09-26 16:48:28 +00:00
Bruce Momjian
1a6fe83011 Allow Win32 libpq will use it's minimal pthread implementation, and ecpg
will use pthreadGC2.

Dave Page
2005-08-29 00:47:35 +00:00
Peter Eisentraut
875efad481 Update to autoconf 2.59 as well as updates of related scripts 2005-07-01 18:17:31 +00:00
Tom Lane
e71d09a472 Clean up printf arg-control test, per Kurt Roeckx. 2005-02-24 01:34:45 +00:00
Bruce Momjian
b4feafb6ff Add support to port/snprintf.c for position parameter specification:
+ # Determine if printf supports %1$ argument selection, e.g. %5$ selects
+ # the fifth argument after the printf print string.
+ # This is not in the C99 standard, but in the Single Unix Specification (SUS).
+ # It is used in our langauge translation strings.

Nicolai Tufar with configure changes by Bruce.
2005-02-22 03:56:22 +00:00
Peter Eisentraut
3bfb93a441 New version of mkinstalldirs fixes problems on Tru64 UNIX. 2005-01-08 09:54:29 +00:00
Bruce Momjian
b5498167d7 Allow AIX to use --enable-thread-safety by passing PTHREAD_LIBS to
binary compiles, and adjust configure tests for AIX.
2004-12-16 17:48:29 +00:00
Bruce Momjian
af80de1f01 Update aix cc_r wording. 2004-12-14 14:53:53 +00:00
Bruce Momjian
0f4b3f2215 Mention aix cc_r is not supported, and why 2004-12-14 12:58:29 +00:00
Tom Lane
c833c6c558 Hack to work around broken linker on older NetBSD/OpenBSD/Irix assumed
that readline must depend on libcurses, but it seems more recent ones
use libtermcap instead.  Allow that case.
2004-12-02 20:04:20 +00:00
Tom Lane
aef2d0d86c Fix readline/libedit selection code to prefer readline over libedit
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.
2004-11-30 06:13:04 +00:00
Tom Lane
9b3fc492d3 If we're going to test for switch validity by observing whether the
compiler emits any warnings, the test program had better be 100%
correct, not only 90% correct.  The recent addition of -Wold-style-definition
broke thread-safety detection on every platform that has that switch,
because the test program used an old-style definition.
2004-10-24 00:54:12 +00:00
Neil Conway
857e210ea9 When using GCC, change the default CFLAGS to:
-O2 -Wall -Wmissing-prototypes -Wpointer-arith

Check whether the version of GCC we are using supports any of:

  -Wdeclaration-after-statement
  -Wendif-labels
  -Wold-style-definition

And add the supported flags to CFLAGS.
2004-10-20 02:12:07 +00:00
Tom Lane
669ca7af83 Another try at making plpython autoconfiguration work correctly. Use a
-L spec rather than assuming libpython is in the standard search path
(this returns to the way 7.4 did it).  But check the distutils output
to see if it looks like Python has built a shared library, and if so
link with that instead of the probably-not-shared library found in
configdir.
2004-10-11 19:32:19 +00:00
Tom Lane
86a39d5a19 Un-break plpython build for non-Windows platforms. 2004-10-10 19:07:55 +00:00
Bruce Momjian
5431393274 Allow plpython to build on Win32.
Magnus Hagander
2004-10-06 09:20:41 +00:00
Bruce Momjian
314cef0f12 Update comment on int64 printf speciifications for MinGW:
# MinGW uses '%I64d', though gcc throws an warning with -Wall,
# while '%lld' doesn't generate a warning, but doesn't work.
2004-10-04 18:14:18 +00:00
Peter Eisentraut
24cfc14019 New config.guess and config.sub 2004-09-17 22:09:21 +00:00
Joe Conway
04d15d120c Make discovery of python_configdir architecture independent. Solution
from James William Pye.
2004-09-16 23:30:30 +00:00
Bruce Momjian
b85faa87b9 Send thread test output to file descriptor 5 like configure does rather
than /dev/null, which Win32 doesn't have.
2004-09-11 02:12:17 +00:00
Bruce Momjian
8becd824aa Check for ignored thread compiler options to reduce compiler noise. 2004-09-11 00:03:06 +00:00
Bruce Momjian
e97c817092 Use _timezone global on Cygwin instead of timezone. 2004-09-08 19:43:12 +00:00
Tom Lane
31a242ae14 Some versions of lex will drop a lex.yy.c file when we probe to see if
they are flex.  Clean up after them.
2004-09-02 20:39:57 +00:00
Tom Lane
3a6f1313b5 Use $PATH_SEPARATOR like the rest of the autoconf code, instead of
hardwiring IFS=: when searching paths.
2004-09-02 15:39:56 +00:00
Bruce Momjian
0d4aa039ac Fix agressive collection of thread flags. 2004-08-17 15:19:09 +00:00
Bruce Momjian
6a5718b1ee Fix syntax error just introduced. 2004-08-16 23:49:58 +00:00
Bruce Momjian
e48322a6d6 Be more aggressive about adding flags to thread compiles. The configure
test only tests for building a binary, not building a shared library.

On Linux, you can build a binary with -pthread, but you can't build a
binary that uses a threaded shared library unless you also use -pthread
when building the binary, or adding -lpthread to the shared library
build.  This patch has the effect of doing the later by adding both
-pthread and -lpthread when building libpq.
2004-08-12 16:39:50 +00:00
Bruce Momjian
19f1370b1e Minor style cleanup of thread test script. 2004-08-12 14:58:37 +00:00
Peter Eisentraut
adf57cd7e2 PostgreSQL extension makefile framework ("pgxs"), by Fabien Coelho, with
some massaging by Peter Eisentraut.  This is basically a simple
generalization of the existing contrib makefiles.
2004-07-30 12:26:40 +00:00