Commit Graph

560 Commits

Author SHA1 Message Date
Andrew Dunstan
6506a584cc Enable building contrib/xml2 if configured using --with-libxml.
If this breaks things due to missing libxslt, then I'll have to
revert it, but let's see if it breaks the buildfarm.

Workarounds in case libxslt is missing include:
. don't configure with libxml, or
. don't build contrib modules from the contrib Makefile (use the individual module Makefiles instead), or
. change the xml2 Makefile
2007-04-13 18:50:01 +00:00
Tom Lane
37a609b27f Now that core functionality is depending on autoconf's AC_C_BIGENDIAN to be
right, there seems precious little reason to have a pile of hand-maintained
endianness definitions in src/include/port/*.h.  Get rid of those, and make
the couple of places that used them depend on WORDS_BIGENDIAN instead.
2007-04-06 05:36:51 +00:00
Tom Lane
3e23b68dac Support varlena fields with single-byte headers and unaligned storage.
This commit breaks any code that assumes that the mere act of forming a tuple
(without writing it to disk) does not "toast" any fields.  While all available
regression tests pass, I'm not totally sure that we've fixed every nook and
cranny, especially in contrib.

Greg Stark with some help from Tom Lane
2007-04-06 04:21:44 +00:00
Magnus Hagander
96b171903d Make ECPG regression tests use native threading instead of pthreads, now that
ecpglib supports it.
Change configure (patch from Bruce) and msvc build system to no longer require
 pthreads on win32, since all parts of postgresql can be thread-safe using the
 native platform functions.
2007-03-29 15:30:52 +00:00
Bruce Momjian
357be8c974 Properly fix PORTNAME in configure. 2007-03-26 21:30:56 +00:00
Bruce Momjian
0b1e4f8530 User PORTNAME for win32 tests, rather than $template, for consistency. 2007-03-26 19:46:56 +00:00
Tom Lane
66bbc2fdd5 Add -lcrypto as one of the possible link dependencies of libkrb5.
Per report from Jim Rosenberg.  This possibly should get back-patched,
but I'm a bit suspicious of it still because of the lack of prior reports.
2007-03-26 02:37:17 +00:00
Magnus Hagander
18d82d03b5 Native shared memory implementation for win32.
Uses same underlying tech as before, but not the sysv emulation layer.
2007-03-21 14:39:23 +00:00
Bruce Momjian
6765df9174 Add configure --enable-profiling to enable GCC profiling. Patches from
Korry Douglas and Nikhil S
2007-02-21 15:12:39 +00:00
Peter Eisentraut
4f64a07bee Add strlcat() from OpenBSD, to be used for replacing strncat and other
strange coding practices.
2007-02-07 00:28:55 +00:00
Bruce Momjian
25dc46334b Fix configure detection code when --with-ldap and --enable-thread-safety
are both used.

Albe Laurenz
2007-02-03 02:43:38 +00:00
Bruce Momjian
91ed399517 Use autoconf build-in sys_siglist macro AC_DECL_SYS_SIGLIST, rather than
create our own.
2007-01-28 03:50:34 +00:00
Bruce Momjian
82480fc254 Use sys_siglist[] to print out signal names for signal exits, rather
than just numbers.
2007-01-28 01:12:05 +00:00
Peter Eisentraut
16f372d940 Optionally use xml2-config to detect installation locations of libxml. 2007-01-18 14:07:31 +00:00
Peter Eisentraut
de9aa5a7b4 Check and document minimum required version of libxml. 2007-01-07 21:10:41 +00:00
Bruce Momjian
29dccf5fe0 Update CVS HEAD for 2007 copyright. Back branches are typically not
back-stamped for this.
2007-01-05 22:20:05 +00:00
Bruce Momjian
cac2d912d9 finite() no longer used; remove finite() platform-specific
infrastructure.
2007-01-02 21:25:50 +00:00
Peter Eisentraut
8c1de5fb00 Initial SQL/XML support: xml data type and initial set of functions. 2006-12-21 16:05:16 +00:00
Tom Lane
1f09a857b7 Make --with-ldap build on Unixware, per Olivier Prenant. 2006-12-14 21:49:54 +00:00
Tom Lane
75330c3205 Stamp HEAD as 8.3devel. 2006-12-02 16:43:12 +00:00
PostgreSQL Daemon
2f52d7260c v8.2.0 is now released ... 2006-12-02 08:36:41 +00:00
Tom Lane
59cf88da91 Ignore libedit/libreadline while probing for strlcpy and some other
standard functions.  Per report from Stefan Kaltenbrunner.
2006-11-29 20:12:31 +00:00
PostgreSQL Daemon
c11b5228cf update for rc1 2006-11-25 03:34:13 +00:00
PostgreSQL Daemon
9b3aee524f Tag as Beta3 ... two outstanding *known* bugs before RC1 ... 2006-11-07 17:59:05 +00:00
Tom Lane
02f37bd8c4 Revert to the pre-8.2 method of probing for libm, that is, always
include it if it links properly.  It seems too risky to assume that
standard functions like pow() are not special-cased by the compiler.
Per report from Andreas Lange that build fails on Solaris cc compiler
with -fast.  Even though we don't consider that a supported option,
I'm worried that similar issues will arise with other compilers.
2006-11-06 03:44:38 +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
Tom Lane
66f5264a2e Stamp 8.2beta2. 2006-10-23 22:50:20 +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
Tom Lane
71a6f8b85b On platforms that have getrlimit(RLIMIT_STACK), use it to ensure that
max_stack_depth is not set to an unsafe value.

This commit also provides configure-time checking for <sys/resource.h>,
and cleans up some perhaps-unportable code associated with use of that
include file and getrlimit().
2006-10-07 19:25:29 +00:00
Tom Lane
9e6c3582dd Second try at fixing libedit configuration for Bob Friesenhahn.
Buildfarm results from 'gazelle' show that there are indeed libedit
versions for which history.h is a needed header, even though it's
apparently been dropped entirely in other versions.  Grumble.
2006-10-05 00:07:45 +00:00
Tom Lane
bdef2bf296 Adjust configure's handling of libedit to not look for a history.h file.
Per Bob Friesenhahn's report, this file is not supplied by some versions
of libedit, and even when it is supplied it seems to be just a link to
readline.h, so we don't need to include it anyway.
Also, ensure that we won't try to use a too-old version of Bison.
The previous coding would bleat but then use it anyway; better to invoke
the 'missing' script if any grammar files need to be rebuilt.
2006-10-04 22:31:14 +00:00
Tom Lane
6edd2b4a91 Switch over to using our own qsort() all the time, as has been proposed
repeatedly.  Now that we don't have to worry about memory leaks from
glibc's qsort, we can safely put CHECK_FOR_INTERRUPTS into the tuplesort
comparators, as was requested a couple months ago.  Also, get rid of
non-reentrancy and an extra level of function call in tuplesort.c by
providing a variant qsort_arg() API that passes an extra void * argument
through to the comparison routine.  (We might want to use that in other
places too, I didn't look yet.)
2006-10-03 22:18:23 +00:00
Tom Lane
1e05359f4b Properly handle the case where strlcpy() exists in libc but isn't
declared in the system headers.  Per report from Bruce than some BSDen
are like this.
2006-10-02 00:06:18 +00:00
Tom Lane
7ceec34a73 Improve documentation of configure's readline/libedit switches. 2006-10-01 23:47:16 +00:00
Tom Lane
996b203e62 Add strlcpy() to the set of functions supported by src/port/ when not
available directly on the platform.  Per discussion, this function is
sufficiently widely recognized to be treated as standard.
2006-09-27 16:29:46 +00:00
PostgreSQL Daemon
bbed6678f3 Tag us Beta1 2006-09-23 01:33:37 +00:00
Tom Lane
42c17a6bb0 Revise OpenLDAP configuration and linking to work on more platforms
than before.  Albe Laurenz (but editorialized heavily by me, so if it
doesn't work it's my fault).
2006-09-09 03:15:40 +00:00
Michael Meskes
9bade3ff84 Replaced double-quote-fix with a hopefully better version.
Use initializer string length as size for character strings.
Added ecpg_config.h file that is created via configure.
2006-08-23 12:01:53 +00:00
Peter Eisentraut
bb764e94ce Produce a clean failure in configure when dtrace is selected but cannot be
found.  Besides stopping those early who have no dtrace installed
whatsoever, this will also alert those who have dtrace in /usr/sbin, which
might not be in the path, which would produce confusing failures much later
in the build process.

Add documentation about pointing configure to find dtrace.
2006-08-17 17:25:43 +00:00
Tom Lane
a7d400ad07 Fix inadequate quoting in test for AIX xlc. 2006-08-04 15:16:14 +00:00
Bruce Momjian
43c79378c8 Allow LDAP lookups from pg_service.conf.
Albe Laurenz
2006-07-27 13:20:24 +00:00
Peter Eisentraut
e9b4969062 DTrace support, with a small initial set of probes
by Robert Lor
2006-07-24 16:32:45 +00:00
Tom Lane
c469aed1cb Remove no-longer-needed configure test for krb5_encrypt(), per Jim Gates. 2006-07-11 16:14:50 +00:00
Tom Lane
1e8ae13640 Don't try to call posix_fadvise() unless <fcntl.h> supplies a declaration
for it.  Hopefully will fix core dump evidenced by some buildfarm members
since fadvise patch went in.  The actual definition of the function is not
ABI-compatible with compiler's default assumption in the absence of any
declaration, so it's clearly unsafe to try to call it without seeing a
declaration.
2006-06-18 18:30:21 +00:00
Bruce Momjian
399a36a75d Prepare code to be built by MSVC:
o  remove many WIN32_CLIENT_ONLY defines
	o  add WIN32_ONLY_COMPILER define
	o  add 3rd argument to open() for portability
	o  add include/port/win32_msvc directory for
	   system includes

Magnus Hagander
2006-06-07 22:24:46 +00:00
Bruce Momjian
382808612c Emit warnings for unknown configure options.
Martijn van Oosterhout
2006-05-30 13:52:25 +00:00
Tom Lane
f0df096785 Rearrange some configure.in comments for better readability.
Commit configure and pg_config.h.in, missed in last configure.in
update.
2006-04-29 20:47:31 +00:00
Bruce Momjian
908f317b73 Add Win32 semaphore implementation, rather than mimicking SysV
semaphores.

Qingqing Zhou
2006-04-29 16:34:41 +00:00
Bruce Momjian
61091ec267 Intel compiler has a bug/misoptimization in checking for division by NAN
(NaN == 0), -mp1 fixes it, so add it to the CFLAGS.  Autoconf run.

Jeremy Drake
2006-04-29 00:51:41 +00:00
Bruce Momjian
0a6990e4dc Turn off strict aliasing when using AIX xlc compiler.
autoconf run.
2006-04-27 14:27:04 +00:00
Bruce Momjian
0606860a20 Revert Intel compiler bug comment. 2006-04-22 00:29:41 +00:00
Bruce Momjian
4e0783049d Add mentioun of Intel compiler bug:
Intel compiler has a bug in checking for division by NAN
# (NaN == 0), -mp1 fixes it, so someday we might way to add it.
2006-04-22 00:27:30 +00:00
Bruce Momjian
899f49cfce Use special gcc -W flags only if we are using gcc, not if we are using
the Intel compiler.

Jeremy Drake
2006-04-21 23:11:58 +00:00
Tom Lane
04ca4caa81 Remove use of lorder and tsort while building static libraries. There's
no evidence that any currently-supported platform needs this, and good
reason to think that any platform that did need it couldn't use the static
libraries anyway --- libpq, at least, has circular references.  Removing
the code shuts up tsort warnings about the circular references on some
platforms.
2006-04-19 16:32:08 +00:00
Andrew Dunstan
39ec43a271 Revert getaddrinfo configure changes until we get a solution that is
properly tested on Tru64 - pre recent discussion (or lack thereof) on -hackers.
2006-04-07 17:50:03 +00:00
Bruce Momjian
357cc01e57 This patch adds native LDAP auth, for those platforms that don't have
PAM (such as Win32, but also unixen without PAM). On Unix, uses
OpenLDAP. On win32, uses the builin WinLDAP library.

Magnus Hagander
2006-03-06 17:41:44 +00:00
Bruce Momjian
f2f5b05655 Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +00:00
Bruce Momjian
b04d19f230 Fix PG_VERSION_NUM for different awk -F handling. 2006-02-28 22:34:24 +00:00
Bruce Momjian
c979afb7e0 Fix PG_VERSION_NUM awk -F parameter. 2006-02-28 21:59:19 +00:00
Bruce Momjian
03024ca5a1 Add PG_VERSION_NUM for use by 3rd party applications wanting to test the
backend version in C using > and < comparisons.
2006-02-28 16:41:21 +00:00
Tom Lane
af49a1634f Adjust probe for getaddrinfo to cope with macro-ized definitions, such
as Tru64's.  Per previous discussion.
2006-02-21 06:06:50 +00:00
Tom Lane
bba11cdd97 Since we only use libld on AIX, don't include it in LIBS on any other
platforms (it does exist on HPUX, for one).  We could probably even make
this a test for specific AIX versions, but I don't know which ones need it.
2006-02-15 17:23:10 +00:00
Peter Eisentraut
12fca1f6fa Fix up remaining library checks. 2006-02-10 11:35:47 +00:00
Peter Eisentraut
50610ef8b5 Remove some checks for libraries that no one can identify. We'll see how
that works out...
2006-02-07 11:22:41 +00:00
Bruce Momjian
9e66c3e6fe Move thread_test directory from /tools to /test so source-only tarballs
have the directory for the configure test.
2006-02-04 01:00:02 +00:00
Peter Eisentraut
0e04982e78 First attempt at removing some AC_CHECK_LIB(foo, main) calls. 2006-02-04 00:42:54 +00:00
Bruce Momjian
ebd38e3c1d Allow MEMSET_LOOP_LIMIT to be set on a per-platform basis, and turn off
MemSet on AIX by setting MEMSET_LOOP_LIMIT to zero.

Add optimization to skip MemSet tests in MEMSET_LOOP_LIMIT == 0 case and
just call memset() directly.
2006-02-03 13:53:15 +00:00
Tom Lane
558bc2584d Fix fsync code to test whether F_FULLFSYNC is available, instead of
assuming it always is on Darwin.  Per report from Neil Brandt.
2006-01-17 23:52:31 +00:00
Tom Lane
db0558c113 Use a more bulletproof test for whether finite() and isinf() are present.
It seems that recent gcc versions can optimize away calls to these functions
even when the functions do not exist on the platform, resulting in a bogus
positive result.  Avoid this by using a non-constant argument and ensuring
that the function result is not simply discarded.  Per report from
François Laupretre.
2006-01-12 19:23:22 +00:00
Bruce Momjian
44f9021223 Remove BEOS port. 2006-01-05 03:01:38 +00:00
Bruce Momjian
a1675649e4 Remove QNX port. 2006-01-05 01:56:30 +00:00
Bruce Momjian
228b1f8e01 Add URL for Solaris qsort() bug. 2005-12-17 00:35:50 +00:00
Bruce Momjian
87a02848b5 Update doc mention that Solaris qsort() might be fixed. 2005-12-17 00:33:33 +00:00
Peter Eisentraut
2986f42984 Put [] around default value for port number. 2005-12-08 21:29:25 +00:00
Bruce Momjian
ca430500ce Add documentation on the use of *printf() macros and libintl.
Backpatch to 8.1.X.
2005-12-06 18:35:10 +00:00
Bruce Momjian
ef31c2bf2e Add comment on why pg *printf functions are used unconditionally on
Win32.

Backpatch to 8.1.X.
2005-12-06 04:53:02 +00:00
Tom Lane
e0e7589169 Make Win32 build use our port/snprintf.c routines, instead of depending
on libintl which may or may not provide what we need.  Make a few marginal
cleanups to ensure this works.  Andrew Dunstan and Tom Lane.
2005-12-06 02:29:04 +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
Tom Lane
667ba8ccb1 Brand HEAD branch as 8.2devel. 2005-11-05 16:42:02 +00:00
PostgreSQL Daemon
2a80c3c4dc Tag everything for 8.1.0 ... Finally, a relesae on scheduale!! 2005-11-05 04:01:57 +00:00
PostgreSQL Daemon
d8247b0f50 tag it for rc1 2005-10-30 05:06:03 +00:00
PostgreSQL Daemon
106388fbe8 update configure and bugtemplate for beta 4 ... 2005-10-22 22:46:33 +00:00
PostgreSQL Daemon
5f470ad491 update to beta3 before tagging ... 2005-10-11 23:26:43 +00:00
Tom Lane
93d358a8a4 Add -Winline to the default CFLAGS for gcc, and remove
-Wold-style-definition, per recent discussion.
2005-10-05 17:11:45 +00:00
PostgreSQL Daemon
cd85918090 tag it all beta2 ... 2005-09-16 17:15:55 +00:00
Tom Lane
ea849a2648 Add comment explaining that autoconf's failure to find getaddrinfo()
on Windows is now a feature, not a bug.
2005-08-25 02:28:03 +00:00
PostgreSQL Daemon
cc88ed6303 fix up a few references to 8.1devel -> 8.1beta1 2005-08-24 21:32:41 +00:00
Bruce Momjian
43bf3a6bc6 The attached patch updates the thread test program to run stand-alone on
Windows. The test itself is bypassed in configure as discussed, and
libpq has been updated appropriately to allow it to build in thread-safe
mode.

Dave Page
2005-08-23 21:02:05 +00:00
Bruce Momjian
a970a8cb95 Back out incorrect commit. 2005-08-23 20:48:47 +00:00
Bruce Momjian
eef7e30cc1 Fix function name. 2005-08-23 20:45:11 +00:00
Tom Lane
0007490e09 Convert the arithmetic for shared memory size calculation from 'int'
to 'Size' (that is, size_t), and install overflow detection checks in it.
This allows us to remove the former arbitrary restrictions on NBuffers
etc.  It won't make any difference in a 32-bit machine, but in a 64-bit
machine you could theoretically have terabytes of shared buffers.
(How efficiently we could manage 'em remains to be seen.)  Similarly,
num_temp_buffers, work_mem, and maintenance_work_mem can be set above
2Gb on a 64-bit machine.  Original patch from Koichi Suzuki, additional
work by moi.
2005-08-20 23:26:37 +00:00
Tom Lane
cb6a08c9b3 Remove unnecessary configure test for inet_ntop(), per Andrew Dunstan. 2005-08-17 20:20:10 +00:00
Tom Lane
558730ac6b Clean up CREATE DATABASE processing to make it more robust and get rid
of special case for Windows port.  Put a PG_TRY around most of createdb()
to ensure that we remove copied subdirectories on failure, even if the
failure happens while creating the pg_database row.  (I think this explains
Oliver Siegmar's recent report.)  Having done that, there's no need for
the fragile assumption that copydir() mustn't ereport(ERROR), so simplify
its API.  Eliminate the old code that used system("cp ...") to copy
subdirectories, in favor of using copydir() on all platforms.  This not
only should allow much better error reporting, but allows us to fsync
the created files before trusting that the copy has succeeded.
2005-08-02 19:02:32 +00:00
Bruce Momjian
261ffd03f7 Reverse out because the lack of using pgport in timezone/ is causing
problems:

---------------------------------------------------------------------------

Support cross compilation by compiling "zic" with a native compiler.
This relies on the output of zic being platform independent, but that is
currently the case.
2005-07-06 21:04:14 +00:00
Tom Lane
c19aa704c8 Fix contrib/pgcrypto to autoconfigure for OpenSSL when --with-openssl
is used in the toplevel configure.  Per Marko Kreen.
2005-07-05 23:13:57 +00:00
Peter Eisentraut
85884cb1de Support cross compilation by compiling "zic" with a native compiler. This
relies on the output of zic being platform independent, but that is
currently the case.
2005-07-03 18:54:28 +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
Neil Conway
a159ad3048 Remove support for Kerberos V4. It seems no one is using this, it has
some security issues, and upstream has declared it "dead". Patch from
Magnus Hagander, minor editorialization from Neil Conway.
2005-06-27 02:04:26 +00:00
Bruce Momjian
72c53ac3a7 Allow kerberos name and username case sensitivity to be specified from
postgresql.conf.

---------------------------------------------------------------------------


Here's an updated version of the patch, with the following changes:

1) No longer uses "service name" as "application version". It's instead
hardcoded as "postgres". It could be argued that this part should be
backpatched to 8.0, but it doesn't make a big difference until you can
start changing it with GUC / connection parameters. This change only
affects kerberos 5, not 4.

2) Now downcases kerberos usernames when the client is running on win32.

3) Adds guc option for "krb_caseins_users" to make the server ignore
case mismatch which is required by some KDCs such as Active Directory.
Off by default, per discussion with Tom. This change only affects
kerberos 5, not 4.

4) Updated so it doesn't conflict with the rendevouz/bonjour patch
already in ;-)

Magnus Hagander
2005-06-04 20:42:43 +00:00
Bruce Momjian
c9a382b2ed Rename Rendezvous to Bonjour to match OS/X renaming. 2005-05-15 00:26:19 +00:00