postgresql/src/Makefile.global

321 lines
9.9 KiB
Makefile

#-------------------------------------------------------------------------
#
# Makefile.global--
# global configuration for the Makefiles
#
# Copyright (c) 1994, Regents of the University of California
#
#
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/Attic/Makefile.global,v 1.9 1996/07/22 21:54:49 scrappy Exp $
#
# NOTES
# This is seen by any Makefiles that include mk/postgres.mk. To
# override the default setting, create a Makefile.custom in this
# directory and put your defines there. (Makefile.custom is included
# at the end of this file.)
#
# If you change any of these defines you probably have to
# gmake clean; gmake
# since no dependecies are created for these. (of course you can
# be crafty and check what files really depend on them and just remake
# those).
#
#-------------------------------------------------------------------------
##############################################################################
#
# CONFIGURATION SECTION
#
# Following are settings pertaining to the postgres build and
# installation. The most important one is obviously the name
# of the port.
# The name of the port. Valid choices are:
# alpha - DEC Alpha AXP on OSF/1 2.0
# hpux - HP PA-RISC on HP-UX 9.0
# i386_solaris - i386 Solaris
# sparc_solaris - SUN SPARC on Solaris 2.4
# sparc - SUN SPARC on SunOS 4.1.3
# ultrix4 - DEC MIPS on Ultrix 4.4
# linux - Intel x86 on Linux 1.2 and Linux ELF
# (For non-ELF Linux, you need to comment out
# "LINUX_ELF=1" in src/mk/port/postgres.mk.linux)
# BSD44_derived - OSs derived from 4.4-lite BSD (NetBSD, FreeBSD)
# bsdi - BSD/OS 2.0 and 2.01
# bsdi_2_1 - BSD/OS 2.1
# aix - IBM on AIX 3.2.5
# irix5 - SGI MIPS on IRIX 5.3
# Some hooks are provided for
# svr4 - Intel x86 on Intel SVR4
# next - Motorola MC68K or Intel x86 on NeXTSTEP 3.2
# but these are guaranteed not to work as of yet.
#
# XXX Note that you MUST set PORTNAME here (or on the command line) so
# that port-dependent variables are correctly set within this file.
# Makefile.custom does not take effect (for ifeq purposes)
# until after this file is processed!
# make sure that you have no whitespaces after the PORTNAME setting
# or the makefiles can get confused
PORTNAME= BSD44_derived
# SRCDIR specifies where the source files are.
SRCDIR= /home/staff/scrappy/cvs/postgres95/src
# FreeBSD 2.1R with new Flex v2.5.2 in /usr/local
LEX = flex
LDADD+= -L/usr/local/lib -lfl
# POSTGRESLOGIN is the login name of the user who gets special
# privileges within the database. By default it is "postgres", but
# you can change it to any existing login name (such as your own
# login if you are compiling a private version or don't have root
# access).
POSTGRESLOGIN= postgres
# For convenience, POSTGRESDIR is where DATADIR, BINDIR, and LIBDIR
# and other target destinations are rooted. Of course, each of these is
# changable separately.
POSTGRESDIR= /home/staff/scrappy/cvs/postgres95
# DATADIR specifies where the postmaster expects to find its database.
# This may be overridden by command line options or the PGDATA environment
# variable.
DATADIR= $(POSTGRESDIR)/data
# Where the postgres executables live (changeable by just putting them
# somewhere else and putting that directory in your shell PATH)
BINDIR= $(POSTGRESDIR)/bin
# Where libpq.a gets installed. You must put it where your loader will
# look for it if you wish to use the -lpq convention. Otherwise you
# can just put the absolute pathname to the library at the end of your
# command line.
LIBDIR= $(POSTGRESDIR)/lib
# This is the directory where IPC utilities ipcs and ipcrm are located
#
IPCSDIR= /usr/bin
# Where the man pages (suitable for use with "man") get installed.
POSTMANDIR= $(POSTGRESDIR)/man
# Where the formatted documents (e.g., the reference manual) get installed.
POSTDOCDIR= $(POSTGRESDIR)/doc
# Where the header files necessary to build frontend programs get installed.
HEADERDIR= $(POSTGRESDIR)/include
# NAMEDATALEN is the max length for system identifiers (e.g. table names,
# attribute names, function names, etc.)
#
# These MUST be set here. DO NOT COMMENT THESE OUT
# Setting these too high will result in excess space usage for system catalogs
# Setting them too low will make the system unusable.
# values between 16 and 64 that are multiples of four are recommended.
#
# NOTE also that databases with different NAMEDATALEN's cannot interoperate!
#
NAMEDATALEN = 32
# OIDNAMELEN should be set to NAMEDATALEN + sizeof(Oid)
OIDNAMELEN = 36
CFLAGS+= -DNAMEDATALEN=$(NAMEDATALEN) -DOIDNAMELEN=$(OIDNAMELEN)
##############################################################################
#
# FEATURES
#
# To disable a feature, comment out the entire definition
# (that is, prepend '#', don't set it to "0" or "no").
# Comment out ENFORCE_ALIGNMENT if you do NOT want unaligned access to
# multi-byte types to generate a bus error.
ENFORCE_ALIGNMENT= true
# Comment out CDEBUG to turn off debugging and sanity-checking.
#
# XXX on MIPS, use -g3 if you want to compile with -O
CDEBUG= -g
# turn this on if you prefer European style dates instead of American
# style dates
# EUROPEAN_DATES = 1
# Comment out PROFILE to disable profiling.
#
# XXX define on MIPS if you want to be able to use pixie.
# note that this disables dynamic loading!
#PROFILE= -p -non_shared
# About the use of readline in psql:
# psql does not require the GNU readline and history libraries. Hence, we
# do not compile with them by default. However, there are hooks in the
# program which supports the use of GNU readline and history. Should you
# decide to use them, change USE_READLINE to true and change READLINE_INCDIR
# and READLINE_LIBDIR to reflect the location of the readline and histroy
# headers and libraries.
#
#USE_READLINE= true
# directories for the readline and history libraries.
READLINE_INCDIR= /usr/local/include
HISTORY_INCDIR= /usr/local/include
READLINE_LIBDIR= /usr/local/lib
HISTORY_LIBDIR= /usr/local/lib
# If you do not plan to use Host based authentication,
# comment out the following line
HBA = 1
ifdef HBA
HBAFLAGS= -DHBA
endif
# If you plan to use Kerberos for authentication...
#
# Comment out KRBVERS if you do not use Kerberos.
# Set KRBVERS to "4" for Kerberos v4, "5" for Kerberos v5.
# XXX Edit the default Kerberos variables below!
#
#KRBVERS= 5
# Globally pass Kerberos file locations.
# these are used in the postmaster and all libpq applications.
#
# Adjust KRBINCS and KRBLIBS to reflect where you have Kerberos
# include files and libraries installed.
# PG_KRB_SRVNAM is the name under which POSTGRES is registered in
# the Kerberos database (KDC).
# PG_KRB_SRVTAB is the location of the server's keytab file.
#
ifdef KRBVERS
KRBINCS= -I/usr/athena/include
KRBLIBS= -L/usr/athena/lib
KRBFLAGS+= $(KRBINCS) -DPG_KRB_SRVNAM='"postgres_dbms"'
ifeq ($(KRBVERS), 4)
KRBFLAGS+= -DKRB4
KRBFLAGS+= -DPG_KRB_SRVTAB='"/etc/srvtab"'
KRBLIBS+= -lkrb -ldes
else
ifeq ($(KRBVERS), 5)
KRBFLAGS+= -DKRB5
KRBFLAGS+= -DPG_KRB_SRVTAB='"FILE:/krb5/srvtab.postgres"'
KRBLIBS+= -lkrb5 -lcrypto -lcom_err -lisode
endif
endif
endif
#
# location of Tcl/Tk headers and libraries
#
# Uncomment this to build the tcl utilities.
USE_TCL= true
# customize these to your site's needs
#
TCL_INCDIR= /usr/local/devel/tcl7.4/include
TCL_LIBDIR= /usr/local/devel/tcl7.4/lib
TCL_LIB = -ltcl7.4
TK_INCDIR= /usr/local/devel/tk4.0/include
TK_LIBDIR= /usr/local/devel/tk4.0/lib
TK_LIB = -ltk4.0
#
# include port specific rules and variables. For instance:
#
# signal(2) handling - this is here because it affects some of
# the frontend commands as well as the backend server.
#
# Ultrix and SunOS provide BSD signal(2) semantics by default.
#
# SVID2 and POSIX signal(2) semantics differ from BSD signal(2)
# semantics. We can use the POSIX sigaction(2) on systems that
# allow us to request restartable signals (SA_RESTART).
#
# Some systems don't allow restartable signals at all unless we
# link to a special BSD library.
#
# We devoutly hope that there aren't any systems that provide
# neither POSIX signals nor BSD signals. The alternative
# is to do signal-handler reinstallation, which doesn't work well
# at all.
#
-include $(MKDIR)/port/postgres.mk.$(PORTNAME)
##############################################################################
#
# Flags for CC and LD. (depend on CDEBUG and PROFILE)
#
# Globally pass debugging/optimization/profiling flags based
# on the options selected above.
ifdef CDEBUG
CFLAGS+= $(CDEBUG)
LDFLAGS+= $(CDEBUG)
else
ifndef CFLAGS_OPT
CFLAGS_OPT= -O
endif
CFLAGS+= $(CFLAGS_OPT)
#
# Uncommenting this will make things go a LOT faster, but you will
# also lose a lot of useful error-checking.
#
CFLAGS+= -DNO_ASSERT_CHECKING
endif
ifdef PROFILE
CFLAGS+= $(PROFILE)
LDFLAGS+= $(PROFILE)
endif
# Globally pass PORTNAME
CFLAGS+= -DPORTNAME_$(PORTNAME)
# Globally pass the default TCP port for postmaster(1).
CFLAGS+= -DPOSTPORT='"5432"'
# include flags from mk/port/postgres.mk.$(PORTNAME)
CFLAGS+= $(CFLAGS_BE)
LDADD+= $(LDADD_BE)
LDFLAGS+= $(LDFLAGS_BE)
# enable patches to array update code
CFLAGS += -DARRAY_PATCH
# enable patches to null insert/update code
CFLAGS += -DNULL_PATCH
# enable patches to array escape conversion code
CFLAGS += -DESCAPE_PATCH
# enable patches for varchar and fsync
CFLAGS += -DOPENLINK_PATCHES
##############################################################################
#
# Miscellaneous configuration
#
# This is the time, in seconds, at which a given backend server
# will wait on a lock before deciding to abort the transaction
# (this is what we do in lieu of deadlock detection).
#
# Low numbers are not recommended as they will tend to cause
# false aborts if many transactions are long-lived.
CFLAGS+= -DDEADLOCK_TIMEOUT=60
srcdir= $(SRCDIR)
includedir= $(HEADERDIR)
objdir= obj
##############################################################################
#
# Customization.
#
-include $(MKDIR)/../Makefile.custom