Commit Graph

548 Commits

Author SHA1 Message Date
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
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
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 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 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
Bruce Momjian 4784794279 Enable threaded python builds on freebsd5, per report from Jim C. Nasby 2005-10-13 20:40:04 +00:00
PostgreSQL Daemon 9fa7ba3041 must commit *after* autoconf, not before 2005-10-11 23:27:46 +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
Bruce Momjian d3a0c8dce9 Prevent threaded python build on BSD's, where it fails.
Marko Kreen
2005-09-26 16:48:28 +00:00
PostgreSQL Daemon cd85918090 tag it all beta2 ... 2005-09-16 17:15:55 +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
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
Neil Conway d733f110cd Revert the ld --as-needed patch. This breaks Fedora Core 3, due to a strange
interaction between ld, readline, termcap, and psql. The symptom is psql
failing with this error on startup:

    symbol lookup error: /usr/lib64/libreadline.so.4: undefined symbol: BC

I'm still trying to find the best way to solve this, but in the mean time
I'm reverting the patch in order to unbreak FC3.
2005-05-07 05:48:50 +00:00
Bruce Momjian 64c8635a4d On Win32, libintl replaces snprintf() with its own version that
understands arg control, so we don't need our own.  In fact, it
also uses macros that conflict with ours, so we _can't_ use
our own.
2005-05-05 19:15:54 +00:00
Neil Conway d445b413c6 The issue has been raised in the past that our build system links each
executable against the maximal set of libraries it might need. So for
example, if one executable requires `libreadline', all executables are
linked against it.

The easiest fix is to make use of GNU ld's --as-needed flag, which
ignores linker arguments that are not actually needed by the specified
object files. The attached patch modifies configure to check for this
flag (when using GNU ld), and if ld supports it, adds the flag to
LDFLAGS (we need to do the check since only relatively recent versions
of GNU ld support this capability). Currently only GNU ld is supported;
I'm not aware of any other linkers that support this functionality.
2005-05-05 11:50:18 +00:00
Tom Lane e6befdc9d1 Kerberos fixes from Magnus Hagander --- in theory Kerberos 5 auth
should work on Windows now.  Also, rename set_noblock to pg_set_noblock;
since it is included in libpq, the former name polluted application
namespace.
2005-03-25 00:34:31 +00:00
Bruce Momjian 3bc6bdf322 Define snprintf() to call pg_snprintf() so our own snprintf-like
implementation doesn't export out via libpq and get used by a user
application.
2005-03-11 17:20:35 +00:00
Bruce Momjian 8ba5169abd Use test && test rather than test -a, per Peter. 2005-03-02 15:42:35 +00:00
Bruce Momjian bb7a3a740c Use our own snprintf() only if NLS is enabled, and support %qd and %I64d. 2005-03-02 14:48:22 +00:00
Tom Lane 5c4a91c295 Un-break configure snprintf tests (partly my fault, partly Bruce's). 2005-02-28 20:55:18 +00:00
Bruce Momjian f1430ce063 Move PGAC_FUNC_PRINTF_ARG_CONTROL to just above snprintf 64-bit tests so
its output can be used to select the proper printf outputs.
2005-02-28 20:36:05 +00:00
Tom Lane 13227910e4 We aren't supposed to try to run test programs until after we've
verified that AC_TRY_RUN works.
2005-02-24 02:12:15 +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
Bruce Momjian 4b2b6930ad Stamp 8.1 in configure. 2005-01-18 05:23:36 +00:00
PostgreSQL Daemon c22b7eccd3 its that time ... tag it for release 2005-01-17 20:47:10 +00:00
PostgreSQL Daemon 6ff408707e up release to rc5 2005-01-11 05:29:21 +00:00
PostgreSQL Daemon 75a59ad6d1 upgrade tags to rc4 2005-01-07 02:44:31 +00:00
Tom Lane a17e589046 Adjust a few more copyright notices to match the format expected by
the src/tools/copyright script.
2005-01-01 22:14:33 +00:00
PostgreSQL Daemon 5e05d2bcdb forgot to autoconf after tag'ng configure.in with rc3 2004-12-31 22:22:24 +00:00
PostgreSQL Daemon 2ddcd4cad5 tag files for rc2 2004-12-21 02:53:33 +00:00
Tom Lane da59a70c09 Remove direct inclusions of <com_err.h> as well as configure test for
its presence.  This amounts to desupporting Kerberos 5 releases 1.0.*,
which is small loss, and simplifies use of our Kerberos code on platforms
with Red-Hat-style include file layouts.  Per gripe from John Gray and
followup discussion.
2004-12-20 17:13:41 +00:00
Tom Lane 8ec9608326 Cause configure --with-tcl to check for presence of <tcl.h>, as per
gripe from John Gray.  Also fix thinko in pltcl Makefile: if a special
Tcl include directory is specified, that ought to be searched first.
2004-12-16 20:41:01 +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
PostgreSQL Daemon f51964fa76 tag configure for rc1 .. 2004-12-03 22:24:53 +00:00
Tom Lane c5bf116367 Allow libedit to keep its headers in /usr/include/readline/ ... not a
very good practice IMHO, but apparently some people think so.
2004-12-02 21:41:12 +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
Bruce Momjian 8408f65252 Rework libpq threaded SIGPIPE handling to avoid interference with
calling applications.  This is done by blocking sigpipe in the libpq
thread and using sigpending/sigwait to possibily discard any sigpipe we
generated.
2004-12-02 15:32:54 +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
PostgreSQL Daemon 5776feab0a update us to beta5 2004-11-22 03:06:35 +00:00
Tom Lane 336969e490 Add code to find_my_exec() to resolve a symbolic link down to the
actual executable location.  This allows people to continue to use
setups where, eg, postmaster is symlinked from a convenient place.
Per gripe from Josh Berkus.
2004-11-06 23:06:29 +00:00
Bruce Momjian fa82cddfd2 Move pthread.h test up to use PTHREAD_CFLAGS.
Kris Jurka
2004-11-02 05:44:45 +00:00
PostgreSQL Daemon 346aff04be make sure we tag configure.in as beta4 as well ... 2004-10-25 00:11: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
Bruce Momjian 4d94e99b90 > This lets you do something like:
>
>    ./configure LDFLAGS=-static-libgcc LDFLAGS_SL=-static-libgcc
>
> to produce binaries that do not depend on libgcc_s.so at all.

Oliver Jowett
2004-10-15 05:11:00 +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 902ca3e225 Here is a patch to fix win32 ssl builds. Summary of changes:
* Links with -leay32 and -lssleay32 instead of crypto and ssl. On win32,
"crypto and ssl" is only used for static linking.

* Initializes SSL in the backend and not just in the postmaster. We
cannot pass the SSL context from the postmaster through the parameter
file, because it contains function pointers.

* Split one error check in be-secure.c. Previously we could not tell
which of three calls actually failed. The previous code also returned
incorrect error messages if SSL_accept() failed - that function needs to
use SSL_get_error() on the return value, can't just use the error queue.

* Since the win32 implementation uses non-blocking sockets "behind the
scenes" in order to deliver signals correctly, implements a version of
SSL_accept() that can handle this. Also, add a wait function in case
SSL_read or SSL_write() needs more data.

Magnus Hagander
2004-10-06 09:35:23 +00:00