Commit Graph

485 Commits

Author SHA1 Message Date
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
Bruce Momjian 5431393274 Allow plpython to build on Win32.
Magnus Hagander
2004-10-06 09:20:41 +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
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 256ee0d5f3 Use $PORTNAME consistently instead of $host_os, where appropriate. 2004-09-10 13:53:40 +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
PostgreSQL Daemon 25aba1cafd tag configure beta2 2004-08-31 04:08:33 +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 23b6ade8f0 autoconf for recent thread check changes. 2004-08-16 23:41:44 +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 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
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 cd135e1bdf Run autoconf for link update. 2004-05-18 04:12:00 +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