Commit Graph

470 Commits

Author SHA1 Message Date
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
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
2ff501590b Tag appropriate files for rc3
Also performed an initial run through of upgrading our Copyright date to
extend to 2005 ... first run here was very simple ... change everything
where: grep 1996-2004 && the word 'Copyright' ... scanned through the
generated list with 'less' first, and after, to make sure that I only
picked up the right entries ...
2004-12-31 22:04:05 +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
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
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
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
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
Neil Conway
3738510c2c Remove more traces of libpgtcl from the source tree. Also, make some
semi-related SGML cleanup. Original patch from ljb220@mindspring.com,
additional cleanup by Neil Conway.
2004-10-01 02:00:44 +00:00
PostgreSQL Daemon
93371ed3a5 update for beta3, and update Copyright date to 2004 2004-09-27 02:17:14 +00:00
Peter Eisentraut
915351e9c7 Add support for GNU/Hurd and GNU/*BSD. For our purposes, they behave just
like Linux; we just need to recognize the system types.
2004-09-17 22:31:59 +00:00
Bruce Momjian
256ee0d5f3 Use $PORTNAME consistently instead of $host_os, where appropriate. 2004-09-10 13:53:40 +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
PostgreSQL Daemon
25aba1cafd tag configure beta2 2004-08-31 04:08:33 +00:00
PostgreSQL Daemon
708de8136b tag her configure 8.0.0beta1 ... 2004-08-08 23:27:11 +00:00
Bruce Momjian
5e01aa7ad1 Fixups for Win32 symlinks. 2004-08-08 01:31:15 +00:00
Tom Lane
fcbc438727 Label CVS tip as 8.0devel instead of 7.5devel. Adjust various comments
and documentation to reference 8.0 instead of 7.5.
2004-08-04 21:34:35 +00:00
Bruce Momjian
ca9540d34f Add docs for initdb --auth. 2004-08-01 06:19:26 +00:00
Bruce Momjian
b8a89da230 Suppress readline usage in mingw in configure. 2004-07-20 20:37:13 +00:00
Peter Eisentraut
d0c1bbdcc6 Rename AC_PROG_LD* macros to PGAC_PROG_LD*. This avoids clashes with the
macros provided by the real libtool, when other packages borrow some macros
from PostgreSQL, as in the case of the ODBC driver.
2004-07-17 18:53:56 +00:00
Peter Eisentraut
a837ed88b1 Detect locale/encoding mismatch in initdb, or pick a suitable encoding
automatically if none was specified.
2004-07-14 17:55:10 +00:00
Bruce Momjian
732f2fda82 Add --enable-thread-safety-force to force a thread compile even if the
OS thread tests fail.
2004-07-10 01:24:29 +00:00
Tom Lane
a061a3f62f Avoid including <sys/time.h> on platforms that don't have it.
Per trouble report from Andreas Pflug.
2004-06-24 18:55:21 +00:00
Bruce Momjian
1d2dbf0797 Improve comment. 2004-06-16 03:01:32 +00:00
Bruce Momjian
e854bc4ac7 Do PGAC_FUNC_GETPWUID_R_5ARG and PGAC_FUNC_STRERROR_R_INT tests with the
same thread flags that will be used to compile thread.c.  Add comment to
make sure no one breaks it.
2004-06-16 02:58:28 +00:00
Bruce Momjian
327d86ca99 Fix mingw link check by using double-brackets. 2004-06-08 14:06:35 +00:00
Bruce Momjian
a63d2168e9 Fix strerror_r by checking return type from configure. 2004-06-07 22:39:45 +00:00
Bruce Momjian
f54b95655e Remove quotes around $CONFIG_LINKS. Caused improper expansion. 2004-05-28 20:52:42 +00:00
Bruce Momjian
6f21f4adaa Move pgkill out into /port so pg_ctl can use it on Win32. 2004-05-27 13:08:57 +00:00
Tom Lane
3983869439 Use wide-character library routines, if available, for upper/lower/initcap
functions.  This allows these functions to work correctly with Unicode and
other multibyte encodings.  Per prior discussion.

Also, revert my earlier change to move installation path mashing from
Makefile.global to configure.  Turns out not to work well because configure
script is working with unexpanded variables, and so fails to match in
cases where it should match.
2004-05-22 00:34:51 +00:00
Tom Lane
13f96c4b6b Put path configuration information into a .h file instead of cluttering
several different module Makefiles with it.  Also, do any adjustment
of installation paths during configure, rather than every time Makefile.global
is read.
2004-05-21 20:56:50 +00:00
Tom Lane
63bd0db121 Integrate src/timezone library for all platforms. There is more we can
and should do now that we control our own destiny for timezone handling,
but this commit gets the bulk of the picayune diffs in place.
Magnus Hagander and Tom Lane.
2004-05-21 05:08:06 +00:00
PostgreSQL Daemon
58c42f37ab benign change ...added space to end of line 2004-05-20 23:49:41 +00:00
Bruce Momjian
4da36853ce Revert irix change to suppress configure warnings. 2004-05-19 22:36:36 +00:00
Bruce Momjian
5c1cfb5fc1 Configure adjustments for irix.
David Turover
2004-05-19 22:12:30 +00:00
Bruce Momjian
14531e0c44 Rename irix5 port to irix. 2004-05-19 21:37:43 +00:00
Bruce Momjian
60a526e8f1 Improve win32 link test. Previous commit added most of the code, but
this commit enables only for Mingw.
2004-05-18 04:11:29 +00:00
Bruce Momjian
f3f8d36a57 Update Makefile dependencies for Win32 timezones, per Claudio. 2004-05-18 04:10:33 +00:00
Bruce Momjian
4307ca2a40 Improve configure win32 link test to run from config.status.
Andrew Dunstan
2004-05-17 19:14:47 +00:00
Bruce Momjian
a676b852e8 Refactor code to warn about configure link failures on MinGW. 2004-05-13 22:59:14 +00:00
Bruce Momjian
550fbc6a98 Warn when MinGW fails to create symlinks during configure. Report
already made to MinGW maintainers.

Andrew Dunstan
2004-05-13 01:45:02 +00:00
Bruce Momjian
fda15b351a As part of the work for making relocatable installs, I have re-factored
all the code that looks for other binaries.  I move FindExec into
port/exec.c (and renamed it to find_my_binary()).  I also added
find_other_binary that looks for another binary in the same directory as
the calling program, and checks the version string.

The only behavior change was that initdb and pg_dump would look in the
hard-coded bindir directory if it can't find the requested binary in the
same directory as the caller.  The new code throws an error.  The old
behavior seemed too error prone for version mismatches.
2004-05-11 21:57:15 +00:00
Tom Lane
0bd61548ab Solve the 'Turkish problem' with undesirable locale behavior for case
conversion of basic ASCII letters.  Remove all uses of strcasecmp and
strncasecmp in favor of new functions pg_strcasecmp and pg_strncasecmp;
remove most but not all direct uses of toupper and tolower in favor of
pg_toupper and pg_tolower.  These functions use the same notions of
case folding already developed for identifier case conversion.  I left
the straight locale-based folding in place for situations where we are
just manipulating user data and not trying to match it to built-in
strings --- for example, the SQL upper() function is still locale
dependent.  Perhaps this will prove not to be what's wanted, but at
the moment we can initdb and pass regression tests in Turkish locale.
2004-05-07 00:24:59 +00:00
Tom Lane
9e16195f3f Second try at a portable unsetenv(). 2004-05-05 21:18:29 +00:00
Bruce Momjian
82700281d0 More cleanups for USE_PGTZ. 2004-04-30 16:08:01 +00:00
Bruce Momjian
b99a3a7541 Rename to USE_PGTZ to match code. 2004-04-30 15:01:25 +00:00
Bruce Momjian
7146eb0bc3 Integrate timezone library to be called only from Win32.
Timezone code backend integration done by Magnus Hagander.
2004-04-30 04:31:52 +00:00
Bruce Momjian
7d6f37b8c0 Enable use of our own timezone library for Win32. 2004-04-30 04:18:28 +00:00
Bruce Momjian
9e6b8d7744 Improve thread failure wording. 2004-04-27 20:09:27 +00:00
Bruce Momjian
75a5cbf31b Enable thread testing outside the source tree. 2004-04-27 20:06:52 +00:00
Bruce Momjian
e27338f26c Do thread testing from configure in a much cleaner fashion. 2004-04-27 19:51:12 +00:00
Bruce Momjian
8f367dd31b Fix vpath for thread test. 2004-04-26 19:08:57 +00:00
Bruce Momjian
9cb7b76ec7 More cleanup of thread tests. 2004-04-26 13:14:48 +00:00
Bruce Momjian
30a06fe2c4 Unconditionally define:
-D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS

for all ports.  It can't hurt if they are not supported, but it makes
our job easier for porting.

Should fix Darwin compile and other platforms without mucking with the
thread detection code.
2004-04-26 04:04:42 +00:00
Bruce Momjian
6647ce87fe Exit with non-zero error on thread test failures. 2004-04-26 00:44:39 +00:00
Bruce Momjian
022a1e0cf1 More thread error improvements. 2004-04-26 00:34:12 +00:00
Bruce Momjian
d7f9c9d558 Improve thread error message. 2004-04-26 00:32:00 +00:00
Bruce Momjian
e03a253c15 Improve error message for platform thread failure. 2004-04-26 00:29:24 +00:00
Bruce Momjian
1cb7f2ebf3 More thread cleanups. 2004-04-25 21:09:08 +00:00
Bruce Momjian
bc6ecbfeb3 Add mention to check config.log if thread test failure. 2004-04-25 21:04:59 +00:00
Bruce Momjian
45fbab2933 Make thread flags CFLAGS, not CPPFLAGS. 2004-04-25 20:57:32 +00:00
Bruce Momjian
e295c55fae Check for gmake, then make, when doing thread test. 2004-04-24 03:09:35 +00:00
Bruce Momjian
f6646efa4c Hook thread_test program run at the end of configure run.
Add test for cross-compiles that they have to run the thread_test
program on the target machine.
2004-04-23 23:58:12 +00:00
Bruce Momjian
7a66015e98 Add new auto-detection of thread flags.
Allow additional thread flags to be added via port templates.

Change thread flag names to PTHREAD_CFLAGS and PTHREAD_LIBS to match new
configure script.
2004-04-23 18:15:55 +00:00
PostgreSQL Daemon
41fa9e9bae Remove all of the libpgtcl and pgtclsh files, including all references to
them within the various makefiles

with_tcl is still required for the src/pl/tcl language
2004-04-20 00:33:53 +00:00
Bruce Momjian
b8fd6756e2 Allow unlink/rename of files open by another process on Win32, using a
special Win32 open flag FILE_SHARE_DELETE.

Claudio Natoli
2004-03-24 03:54:16 +00:00
Bruce Momjian
34ce6b41cf Always test getpwuid_r because HEAD always uses *_r if it finds them.
Not an issue for 7.4.X.
2004-03-20 16:11:22 +00:00