head	1.12;
access;
symbols
	REL9_0_0:1.11.16.1
	REL9_1_ALPHA1:1.12
	REL9_0_RC1:1.11.16.1
	REL9_0_BETA4:1.11
	REL9_0_STABLE:1.11.0.16
	REL9_0_BETA3:1.11
	REL9_0_BETA2:1.11
	REL7_4_29:1.4.2.3
	REL8_0_25:1.9
	REL8_1_21:1.9
	REL8_2_17:1.10
	REL8_3_11:1.11
	REL8_4_4:1.11
	REL9_0_BETA1:1.11
	REL9_0_ALPHA5_BRANCH:1.11.0.14
	REL9_0_ALPHA5:1.11
	REL7_4_28:1.4.2.3
	REL8_0_24:1.9
	REL8_1_20:1.9
	REL8_2_16:1.10
	REL8_3_10:1.11
	REL8_4_3:1.11
	REL9_0_ALPHA4:1.11
	REL9_0_ALPHA4_BRANCH:1.11.0.12
	REL8_5_ALPHA3:1.11
	REL8_5_ALPHA3_BRANCH:1.11.0.10
	REL7_4_27:1.4.2.3
	REL8_0_23:1.9
	REL8_1_19:1.9
	REL8_2_15:1.10
	REL8_3_9:1.11
	REL8_4_2:1.11
	REL8_5_ALPHA2:1.11
	REL8_5_ALPHA2_BRANCH:1.11.0.8
	REL7_4_26:1.4.2.3
	REL8_0_22:1.9
	REL8_1_18:1.9
	REL8_2_14:1.10
	REL8_3_8:1.11
	REL8_4_1:1.11
	REL8_5_ALPHA1:1.11
	REL8_5_ALPHA1_BRANCH:1.11.0.6
	REL8_4_STABLE:1.11.0.4
	REL8_4_0:1.11
	REL8_4_RC2:1.11
	REL8_4_RC1:1.11
	REL8_4_BETA2:1.11
	REL8_4_BETA1:1.11
	REL7_4_25:1.4.2.3
	REL8_0_21:1.9
	REL8_1_17:1.9
	REL8_2_13:1.10
	REL8_3_7:1.11
	REL7_4_24:1.4.2.3
	REL8_0_20:1.9
	REL8_1_16:1.9
	REL8_2_12:1.10
	REL8_3_6:1.11
	REL7_4_23:1.4.2.3
	REL8_0_19:1.9
	REL8_1_15:1.9
	REL8_2_11:1.10
	REL8_3_5:1.11
	REL7_4_22:1.4.2.3
	REL8_0_18:1.9
	REL8_1_14:1.9
	REL8_2_10:1.10
	REL8_3_4:1.11
	REL7_4_21:1.4.2.3
	REL8_0_17:1.9
	REL8_1_13:1.9
	REL8_2_9:1.10
	REL8_3_3:1.11
	REL7_4_20:1.4.2.3
	REL8_0_16:1.9
	REL8_1_12:1.9
	REL8_2_8:1.10
	REL8_3_2:1.11
	REL8_2_7:1.10
	REL8_3_1:1.11
	REL8_3_STABLE:1.11.0.2
	REL8_3_0:1.11
	REL8_3_RC2:1.11
	REL7_3_21:1.3
	REL7_4_19:1.4.2.3
	REL8_0_15:1.9
	REL8_1_11:1.9
	REL8_2_6:1.10
	REL8_3_RC1:1.11
	REL8_3_BETA4:1.11
	REL8_3_BETA3:1.11
	REL8_3_BETA2:1.11
	REL8_3_BETA1:1.11
	REL7_3_20:1.3
	REL7_4_18:1.4.2.3
	REL8_0_14:1.9
	REL8_1_10:1.9
	REL8_2_5:1.10
	REL7_3_19:1.3
	REL7_4_17:1.4.2.3
	REL8_0_13:1.9
	REL8_1_9:1.9
	REL8_2_4:1.10
	REL8_0_12:1.9
	REL8_1_8:1.9
	REL8_2_3:1.10
	REL7_3_18:1.3
	REL7_4_16:1.4.2.3
	REL8_0_11:1.9
	REL8_1_7:1.9
	REL8_2_2:1.10
	REL8_0_10:1.9
	REL8_1_6:1.9
	REL8_2_1:1.10
	REL7_4_15:1.4.2.3
	REL7_3_17:1.3
	REL8_2_STABLE:1.10.0.2
	REL8_2_0:1.10
	REL8_2_RC1:1.10
	REL8_2_BETA3:1.10
	REL8_2_BETA2:1.10
	REL8_1_5:1.9
	REL8_0_9:1.9
	REL7_4_14:1.4.2.3
	REL7_3_16:1.3
	REL8_2_BETA1:1.10
	REL7_3_15:1.3
	REL7_4_13:1.4.2.3
	REL8_0_8:1.9
	REL8_1_4:1.9
	REL7_3_14:1.3
	REL7_4_12:1.4.2.3
	REL8_0_7:1.9
	REL8_1_3:1.9
	REL7_3_13:1.3
	REL7_4_11:1.4.2.3
	REL8_0_6:1.9
	REL8_1_2:1.9
	REL7_3_12:1.3
	REL7_4_10:1.4.2.3
	REL8_0_5:1.9
	REL8_1_1:1.9
	REL8_1_STABLE:1.9.0.6
	REL8_1_0:1.9
	REL8_1_0RC1:1.9
	REL8_1_0BETA4:1.9
	REL8_1_0BETA3:1.9
	REL7_3_11:1.3
	REL7_4_9:1.4.2.3
	REL8_0_4:1.9
	REL8_1_0BETA2:1.9
	REL8_1_0BETA1:1.9
	REL7_2_8:1.2
	REL7_3_10:1.3
	REL7_4_8:1.4.2.3
	REL8_0_3:1.9
	REL8_0_2:1.9
	REL7_2_7:1.2
	REL7_3_9:1.3
	REL7_4_7:1.4.2.3
	REL8_0_1:1.9
	REL8_0_STABLE:1.9.0.4
	REL8_0_0:1.9.0.2
	REL8_0_0RC5:1.9
	REL8_0_0RC4:1.9
	REL8_0_0RC3:1.9
	REL8_0_0RC2:1.9
	REL8_0_0RC1:1.9
	REL8_0_0BETA5:1.9
	REL8_0_0BETA4:1.9
	REL7_4_6:1.4.2.3
	REL7_3_8:1.3
	REL7_2_6:1.2
	REL8_0_0BETA3:1.9
	REL8_0_0BETA2:1.9
	REL7_2_5:1.2
	REL7_4_5:1.4.2.3
	REL7_3_7:1.3
	REL7_4_4:1.4.2.3
	REL8_0_0BETA1:1.9
	REL7_4_3:1.4
	REL7_4_2:1.4
	REL7_3_6:1.3
	REL7_4_1:1.4
	REL7_3_5:1.3
	REL7_4:1.4
	REL7_4_RC2:1.4
	REL7_4_STABLE:1.4.0.2
	REL7_4_RC1:1.4
	REL7_4_BETA5:1.4
	REL7_4_BETA4:1.4
	REL7_4_BETA3:1.3
	REL7_4_BETA2:1.3
	WIN32_DEV:1.3.0.4
	REL7_4_BETA1:1.3
	REL7_3_4:1.3
	REL7_3_2:1.3
	REL7_2_4:1.2
	REL7_3_STABLE:1.3.0.2
	REL7_2_3:1.2
	REL7_2_STABLE:1.2.0.4
	REL7_2:1.2
	REL7_2_RC2:1.2
	REL7_2_RC1:1.2
	REL7_2_BETA5:1.2
	REL7_2_BETA4:1.2
	REL7_2_BETA3:1.2
	REL7_2_BETA2:1.2
	REL7_2_BETA1:1.2
	REL7_1_2:1.2
	REL7_1_STABLE:1.2.0.2
	REL7_1_BETA:1.1
	REL7_1_BETA3:1.2
	REL7_1_BETA2:1.2
	REL7_1:1.2;
locks; strict;
comment	@# @;


1.12
date	2010.08.02.04.51.17;	author tgl;	state Exp;
branches;
next	1.11;

1.11
date	2007.09.26.00.32.46;	author tgl;	state Exp;
branches
	1.11.16.1;
next	1.10;

1.10
date	2006.03.11.04.38.40;	author momjian;	state Exp;
branches;
next	1.9;

1.9
date	2004.04.26.04.04.42;	author momjian;	state Exp;
branches;
next	1.8;

1.8
date	2004.04.23.18.15.55;	author momjian;	state Exp;
branches;
next	1.7;

1.7
date	2004.04.07.18.31.59;	author momjian;	state Exp;
branches;
next	1.6;

1.6
date	2004.04.07.18.30.59;	author momjian;	state Exp;
branches;
next	1.5;

1.5
date	2004.04.07.14.21.39;	author momjian;	state Exp;
branches;
next	1.4;

1.4
date	2003.09.19.20.47.59;	author tgl;	state Exp;
branches
	1.4.2.1;
next	1.3;

1.3
date	2002.05.05.00.03.29;	author tgl;	state Exp;
branches;
next	1.2;

1.2
date	2000.12.11.00.49.53;	author tgl;	state Exp;
branches;
next	1.1;

1.1
date	2000.10.31.19.55.20;	author petere;	state Exp;
branches;
next	;

1.4.2.1
date	2004.07.07.13.04.48;	author momjian;	state Exp;
branches;
next	1.4.2.2;

1.4.2.2
date	2004.07.08.16.27.58;	author momjian;	state Exp;
branches;
next	1.4.2.3;

1.4.2.3
date	2004.07.08.18.25.22;	author momjian;	state Exp;
branches;
next	;

1.11.16.1
date	2010.08.02.04.51.25;	author tgl;	state Exp;
branches;
next	;


desc
@@


1.12
log
@Don't try to force use of -no-cpp-precomp on OS X.  It's been five years
since Apple shipped a compiler that needed this switch, and there's
increasing interest in using other compilers that won't accept the switch
at all.  Better to let anybody who still needs the switch inject it via
CPPFLAGS.  Per gripe from Neil Conway.
@
text
@# $PostgreSQL: pgsql/src/template/darwin,v 1.11 2007/09/26 00:32:46 tgl Exp $

# Select appropriate semaphore support.  Darwin 6.0 (Mac OS X 10.2) and up
# support System V semaphores; before that we have to use POSIX semaphores,
# which are less good for our purposes because they eat a file descriptor
# per backend per max_connection slot.
case $host_os in
  darwin[015].*)
    USE_NAMED_POSIX_SEMAPHORES=1
    ;;
  *)
    USE_SYSV_SEMAPHORES=1
    ;;
esac
@


1.11
log
@Use SYSV semaphores rather than POSIX on Darwin >= 6.0 (i.e., OS X 10.2
and up), per Chris Marcellino.  This avoids consuming O(N^2) file
descriptors to support N backends.  Tests suggest it's about a wash for
small installations, but large ones would have a problem.
@
text
@d1 1
a1 5
# $PostgreSQL: pgsql/src/template/darwin,v 1.10 2006/03/11 04:38:40 momjian Exp $

# Apple's cpp-precomp seems a tad broken, so don't use it
# (Note: on OS X before 10.2, you might need -traditional-cpp instead)
CC="$CC -no-cpp-precomp"
@


1.11.16.1
log
@Don't try to force use of -no-cpp-precomp on OS X.  It's been five years
since Apple shipped a compiler that needed this switch, and there's
increasing interest in using other compilers that won't accept the switch
at all.  Better to let anybody who still needs the switch inject it via
CPPFLAGS.  Per gripe from Neil Conway.
@
text
@d1 5
a5 1
# $PostgreSQL: pgsql/src/template/darwin,v 1.11 2007/09/26 00:32:46 tgl Exp $
@


1.10
log
@Add CVS tag lines to files that were lacking them.
@
text
@d1 1
a1 1
# $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.314 2006/03/07 02:54:23 momjian Exp $
d7 12
a18 2
# Select appropriate semaphore support
USE_NAMED_POSIX_SEMAPHORES=1
@


1.9
log
@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.
@
text
@d1 2
@


1.8
log
@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.
@
text
@a6 3

# verified Mac OS X 10.3.3, Darwin Kernel Version 7.3.0, 2004-04-07
PTHREAD_CFLAGS="-D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS"
@


1.7
log
@Update Darwin thread compile flags, and OS version info.
@
text
@a7 1
THREAD_SUPPORT=yes
d9 1
a9 7
THREAD_CPPFLAGS="-D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS"
THREAD_LIBS="-lpthread"

STRERROR_THREADSAFE=yes
GETPWUID_THREADSAFE=yes
GETHOSTBYNAME_THREADSAFE=yes

@


1.6
log
@Update darwin OS version.
@
text
@d10 3
@


1.5
log
@Update Darwin as thread-safe.
@
text
@d9 1
a9 1
# verified 2004-04-07
@


1.4
log
@Latest version of gcc from Apple does not work well with -traditional-cpp
(it rejects some system header files...).  Use -no-cpp-precomp instead.
I think it is okay to change this unconditionally, but if we hear
complaints from people still using very old compilers on Darwin,
we could put in a test to see which switch the compiler likes.
@
text
@d7 7
@


1.4.2.1
log
@Add OSX thread support for next 7.4.X
@
text
@a6 4

THREAD_SUPPORT=yes
NEED_REENTRANT_FUNCS=no

@


1.4.2.2
log
@Remove OSX thread flags.  No consistent report.
@
text
@d7 4
@


1.4.2.3
log
@OK, another try at Darwin threads.
@
text
@a6 7

THREAD_SUPPORT=yes
THREAD_CPPFLAGS="-D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS"
THREAD_LIBS="-lpthread"

NEED_REENTRANT_FUNCS=yes

@


1.3
log
@Create an internal semaphore API that is not tied to SysV semaphores.
As proof of concept, provide an alternate implementation based on POSIX
semaphores.  Also push the SysV shared-memory implementation into a
separate file so that it can be replaced conveniently.
@
text
@d1 3
a3 3
# -traditional-cpp means "don't use apple's cpp-precomp" on darwin
# this should change to -no-cpp-precomp when that flag is implemented
CC="$CC -traditional-cpp"
@


1.2
log
@Darwin porting patches from Peter Bierman <bierman@@apple.com>
@
text
@d4 3
@


1.1
log
@This is the minimal version of the Darwin support patch from
Bruce Hartzler <bruceh@@mail.utexas.edu>.  It contains shared library
support, regression test map, and the usual template files.  The dynamic
loader is missing, the spin lock code apparently doesn't assemble due to
syntax problems, and semaphores are to be hoped for from Apple.
@
text
@d1 2
a2 1
# regular cpp is broken in current development releases
a3 2
# be on safe side while they sort out their compiler
CFLAGS=-O0
@
