]> granicus.if.org Git - postgresql/blobdiff - src/Makefile.global.in
From: t-ishii@sra.co.jp
[postgresql] / src / Makefile.global.in
index f114843eba05c992ce4f610b63a4d3510a424196..555066e2811e7b4ad3ba7219e304fbed6db8f390 100644 (file)
@@ -7,7 +7,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.16 1997/04/03 21:25:59 scrappy Exp $
+#    $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.45 1998/07/26 04:30:15 scrappy Exp $
 #
 # NOTES
 #    Essentially all Postgres make files include this file and use the 
 # CONFIGURATION SECTION
 #
 # Following are settings pertaining to the postgres build and 
-# installation.  The most important one is obviously the name 
+# installation.  
 # of the port.
+#
+# Ignore BSD_SHLIB if you're not using one of the BSD ports.  But if you
+# are, and it's one that doesn't have shared libraries (NetBSD/vax is an
+# example of this), set BSD_SHLIB to null in Makefile.custom.
+BSD_SHLIB= true
 
-#  The name of the port.  Valid choices are:
-#   aix            IBM on AIX 3.2.5
-#   alpha          DEC Alpha AXP on OSF/1 2.0
-#   BSD44_derived  OSs derived from 4.4-lite BSD (NetBSD, FreeBSD)
-#   bsdi           BSD/OS 2.0, 2.01, 2.1
-#   dgux           DG/UX 5.4R3.10
-#   hpux           HP PA-RISC on HP-UX 9.0
-#   i386_solaris   i386 Solaris
-#   irix5          SGI MIPS on IRIX 5.3 or better
-#   linux          Intel x86 on Linux 1.2 and Linux ELF
-#                  (For non-ELF Linux, see LINUX_ELF below).
-#   sparc_solaris  SUN SPARC on Solaris 2.4
-#   sunos4         SUN SPARC on SunOS 4.1.3
-#   svr4           Intel x86 on Intel SVR4
-#   ultrix4        DEC MIPS on Ultrix 4.4
-#   univel         Unixware 2.0x x86
-#
-# PostgresSQL has known problems/bugs on the following platforms:
-#
-#   nextstep       Motorola MC68K or Intel x86 on NeXTSTEP 3.2 or greater
-#
-#  Note that portname is defined here to be UNDEFINED to remind you
-#  to change it in Makefile.custom.
-#
-#  make sure that you have no whitespaces after the PORTNAME setting
-#  or the makefiles can get confused
-PORTNAME= @PORTNAME@
-
-# Ignore LINUX_ELF if you're not using Linux.  But if you are, and you're
-# compiling to a.out (which means you're using the dld dynamic loading 
-# library), set LINUX_ELF to null in Makefile.custom.
-LINUX_ELF= true
-
-LIBPQDIR:= $(SRCDIR)/libpq
+LIBPQDIR:= $(SRCDIR)/interfaces/libpq
 
 # For convenience, POSTGRESDIR is where BINDIR, and LIBDIR 
 # and other target destinations are rooted.  Of course, each of these is 
@@ -108,23 +80,6 @@ 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!
-#
-# THERE ARE REDUNDANT DEFINITIONS OF THESE VALUES IN config.h.
-# Don't change anything here without changing it there too.
-
-NAMEDATALEN= 32
-# OIDNAMELEN should be set to NAMEDATALEN + sizeof(Oid)
-OIDNAMELEN= 36
 ##############################################################################
 #
 # FEATURES 
@@ -135,10 +90,6 @@ OIDNAMELEN= 36
 # Compile libpq++
 @HAVECXX@
 
-# Commenting out CASSERT will make things go a LOT faster, but you will
-# also loose a lot of useful error-checking.
-CASSERT= true
-
 # Comment out ENFORCE_ALIGNMENT if you do NOT want unaligned access to
 # multi-byte types to generate a bus error.
 ENFORCE_ALIGNMENT= true
@@ -184,25 +135,26 @@ endif
 # location of Tcl/Tk headers and libraries
 #
 # Uncomment this to build the tcl utilities.
-# USE_TCL= true
+USE_TCL= @USE_TCL@
 # customize these to your site's needs
 #
-TCL_INCDIR= /home/tools/include
-TCL_LIBDIR= /home/tools/lib
-TCL_LIB= -ltcl7.5
-TK_INCDIR= /home/tools/include
-TK_LIBDIR= /home/tools/lib
-TK_LIB= -ltk4.1
+TCL_LIB= @TCL_LIB@
+TK_LIB= @TK_LIB@
 
-X11_INCDIR= /usr/include
-X11_LIBDIR= /usr/lib
-X11_LIB= -lX11 @SOCKET_LIB@ @NSL_LIB@
+USE_PERL= @USE_PERL@
 
-##############################################################################
-#
-#  YACC
+X_CFLAGS= @X_CFLAGS@
+X_LIBS= @X_LIBS@
+X11_LIBS= -lX11 @X_EXTRA_LIBS@
 
-YFLAGS= -d
+#
+# enable multi-byte support
+# choose one of:
+# EUC_JP,EUC_CN,EUC_KR,EUC_TW,UNICODE,MULE_INTERNAL,LATIN1-5
+MULTIBYTE=@MULTIBYTE@
+ifdef MULTIBYTE
+MBFLAGS = -DMULTIBYTE=$(MULTIBYTE)
+endif
 
 ##############################################################################
 #
@@ -215,6 +167,7 @@ RANLIB= @RANLIB@
 INSTLOPTS= @INSTLOPTS@
 INSTL_EXE_OPTS= @INSTL_EXE_OPTS@
 INSTL_LIB_OPTS= @INSTL_LIB_OPTS@
+INSTL_SHLIB_OPTS= @INSTL_SHLIB_OPTS@
 
 ##############################################################################
 #
@@ -232,6 +185,22 @@ DASH_N= @DASH_N@
 BACKSLASH_C= @BACKSLASH_C@ 
 
 
+
+#-------------------------------------------------------------
+# See the subdirectory template for default settings for these
+#-------------------------------------------------------------
+CC= @CC@
+YFLAGS= @YFLAGS@
+YACC= @YACC@
+LEX= @LEX@
+AROPT= @AROPT@
+CFLAGS= -I$(SRCDIR)/include -I$(SRCDIR)/backend @CPPFLAGS@ @CFLAGS@ 
+CFLAGS_SL= @SHARED_LIB@
+LDFLAGS= @LDFLAGS@ @LIBS@
+DLSUFFIX= @DLSUFFIX@
+
+include $(SRCDIR)/Makefile.port
+
 ##############################################################################
 #
 # Customization.
@@ -243,407 +212,6 @@ ifneq ($(wildcard $(SRCDIR)/Makefile.custom), )
 include $(SRCDIR)/Makefile.custom
 endif
 
-#############################################################################
-# include port specific rules and variables.
-#
-#
-# HISTORY: Before October 1996, this file included the following line:
-#     -include $(MKDIR)/port/postgres.mk.$(PORTNAME)
-# Now, we instead have all the former contents of those .mk files inline
-# with ifeq ($(PORTNAME) ...).  This makes it easier to read the make
-# files and to make certain updates.  It should also help with the migration
-# to autoconf.  -Bryan
-
-# Since there are no longer separate files for each platform, much of the
-# commonality among the platforms ought to be factored out of the following.
-
-##############################################################################
-#
-#  AR
-
-ifneq (,$(findstring /$(PORTNAME)/, /BSD44_derived/bsdi/sparc/))
-  AROPT = cq
-else
-  AROPT = crs
-endif
-
-##############################################################################
-#
-# Shared libraries.
-# This is overridden for many PORTNAMEs below.
-
-DLSUFFIX= .so
-
-#
-# CC
-#
-CC= @CC@
-
-#
-# LEX
-#
-LEX= @LEX@
-
-CFLAGS= @CPPFLAGS@
-LDFLAGS= @LDFLAGS@
-LDADD_BE= @LIBS@
-LD_ADD= $(LDADD_BE)
-
-#----------------------------------------------------------------------
-ifeq ($(PORTNAME), BSD44_derived)
-# cc is gcc, but never mind about that...
-
-# FreeBSD 2.1R with new Flex v2.5.2 in /usr/local
-
-CFLAGS_SL= -fpic -DPIC
-
-%.so: %.o
-       $(LD) -x -r -o $<.obj $<
-       @echo building shared object $@
-       @rm -f $@.pic
-       @${AR} cq $@.pic `lorder $<.obj | tsort`
-       ${RANLIB} $@.pic
-       @rm -f $@
-       $(LD) -x -Bshareable -Bforcearchive \
-         -o $@ $@.pic
-endif
-
-#--------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), aix)
-
-# MAKE_EXPORTS is required for svr4 loaders that want a file of
-# symbol names to tell them what to export/import.
-MAKE_EXPORTS= true
-
-#
-# Random things that must be passed everywhere to enable 
-# everything to compile.  :-/
-#
-# The -qmaxmem is because of optimizer limits.
-# The HAVE_ANSI_CPP flag indicates that cc isn't ANSI but also doesn't
-# have a Reiser (pcc-style) cpp.
-#
-CFLAGS_BE= -qchars=signed -qmaxmem=4000
-
-
-EXPSUFF= .exp
-
-POSTGRES_EXP= $(SRCDIR)/backend/postgres$(EXPSUFF)
-
-MKLDEXPORT=$(SRCDIR)/backend/port/aix/mkldexport.sh
-
-%$(EXPSUFF):  %.o
-       $(MKLDEXPORT) $< `pwd` > $@
-
-$(POSTGRES_EXP): 
-       $(MAKE) -C $(SRCDIR)/backend postgres.exp
-
-%.so: %.o %$(EXPSUFF) $(POSTGRES_EXP)
-       @echo Making share library $@ from $*.o, $*$(EXPSUFF), and postgres.exp
-       $(LD) -H512 -T512 -o $@ -e _nostart \
-         -bI:$(POSTGRES_EXP) -bE:$*$(EXPSUFF) \
-         $*.o @MATH_LIB@ -lc 2>/dev/null
-endif
-
-#---------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), alpha)
-# NOFIXADE disallows unaligned access.
-#   on Ultrix and OSF/1 it invokes an explicit syscall.
-#   on HP-UX it turns off certain compiler options.
-# This is defined here because a bunch of clients include tmp/c.h,
-# which is where the work is done on HP-UX.  It only affects the
-# backend on Ultrix and OSF/1.
-ifdef ENFORCE_ALIGNMENT
-CFLAGS_BE= -DNOFIXADE
-else
-CFLAGS_BE= -DNOPRINTADE
-endif
-
-# use the regex library
-USE_REGEX= 1
-
-%.so:  %.o
-       $(LD) -shared -expect_unresolved '*' -o $@ $<
-
-DASH_N=
-BACKSLASH_C= '\\\\c'
-
-endif
-
-#---------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), bsdi)
-
-PRE_BSDI_2_1= false
-ifeq ($(shell uname -r), 2.0)
-PRE_BSDI_2_1= true
-endif
-ifeq ($(shell uname -r), 2.01)
-PRE_BSDI_2_1= true
-endif
-
-ifeq ($(PRE_BSDI_2_1), true)
-# cc is gcc v1.42
-# gcc is gcc v2.6.3
-# use the regex library
-  USE_REGEX= 1
-  CFLAGS_BE= -DPRE_BSDI_2_1
-endif
-
-DLSUFFIX= .o
-
-endif
-
-#--------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), dgux)
-CFLAGS_SL= -fpic
-%.so: %.o
-       $(CC) -shared -o $@ $<
-
-YACC= bison -y
-
-endif
-
-#----------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), hpux)
-# -W l,-E      export symbols for linking with the shared libraries 
-#              dynamic loader
-
-ifeq ($(CC), cc)
-  CFLAGS_BE= -W l,-E
-  LDFLAGS_BE= -W l,-E
-endif
-ifeq ($(CC), gcc)
-  LDADD_BE+= /usr/lib/libdld.sl
-endif
-
-ifdef ENFORCE_ALIGNMENT
-   CFLAGS_BE= -DNOFIXADE
-else
-   HPUX_VERS:= $(shell uname -r)
-   HPUX_MAJOR= ${HPUX_VERS:R:E}
-   HPUX_MINOR= ${HPUX_VERS:E}
-   ifeq ($(HPUX_MAJOR), 08)
-      CFLAGS_BE+= +u -DHP_S500_ALIGN
-      LDFLAGS_BE+= +u
-   else
-   ifeq ($(HPUX_MAJOR), 09)
-      ifeq ($(CC), cc)
-         CFLAGS_BE+= +u4 
-         LDFLAGS_BE+= +u4
-      endif
-   endif
-   endif
-endif
-
-# (extended) ANSI flag for cc (-Ae is same as -Aa -D_HPUX_SOURCE)
-ifeq ($(CC), cc)
-CFLAGS_BE+= -Ae
-endif
-
-CFLAGS_SL= +z
-DLSUFFIX= .sl
-
-%.sl: %.o
-       $(LD) -b -o $@ $<
-
-DASH_N= ''
-BACKSLASH_C= '\\\\c'
-
-endif
-
-#--------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), i386_solaris)
-# cc won't work!
-
-#
-# Random things that must be passed everywhere to enable
-# everything to compile.  :-/
-#
-# The extra -I flag is to scoop up extra BSD-emulating headers.
-# This needs to be fixed.  Things other than the backend should not be
-# accessing headers in the backend directory.
-CFLAGS_BE= -I$(SRCDIR)/backend/port/sparc_solaris
-
-ifeq ($(CC), cc)
-CFLAGS_SL= -K PIC
-else
-CFLAGS_SL= -fPIC
-endif
-
-%.so: %.o
-       $(LD) -G -Bdynamic -o $@ $<
-
-DASH_N=''
-BACKSLASH_C='\\\\c'
-
-endif
-
-#----------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), irix5)
-
-# RANLIB is not used on IRIX 5
-RANLIB= touch
-
-%.so: %.o
-       $(LD) -G -Bdynamic -o $@ $< $(LD_ADD)
-
-DASH_N=''
-BACKSLASH_C='\\\\c'
-
-endif
-
-#---------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), linux)
-ifndef LINUX_ELF
-DLSUFFIX= .o
-else
-DLSUFFIX= .so
-LDFLAGS_BE= -rdynamic
-endif
-MK_NO_LORDER= true
-
-# use the regex library
-USE_REGEX= 1
-
-CFLAGS_SL= -fpic
-%.so: %.o
-       $(CC) -shared -o $@ $<
-
-endif
-
-#---------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), sunos4)
-
-ifeq ($(CC), cc)
-CFLAGS_SL= -PIC
-else
-CFLAGS_SL= -fPIC
-endif
-
-%.so: %.o
-       $(LD) -dc -dp -Bdynamic -o $@ $<
-endif
-
-#----------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), sparc_solaris)
-#
-# Random things that must be passed everywhere to enable 
-# everything to compile.  :-/
-#
-# The extra -I flag is to scoop up extra BSD-emulating headers.
-CFLAGS_BE= -I$(SRCDIR)/backend/port/sparc_solaris
-
-ifeq ($(CC), cc)
-CFLAGS_SL= -K PIC
-else
-CFLAGS_SL= -fPIC
-endif
-
-%.so: %.o
-       $(LD) -G -Bdynamic -o $@ $<
-
-DASH_N= ''
-BACKSLASH_C= '\\\\c'
-
-endif
-
-#-----------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), svr4)
-CFLAGS+= -W0
-YACC= bison -y
-
-# MAKE_EXPORTS is required for svr4 loaders that want a file of
-# symbol names to tell them what to export/import.
-MAKE_EXPORTS= true
-
-#
-# Random things that must be passed everywhere to enable
-# everything to compile.  :-/
-#
-# The extra -I flag is to scoop up extra BSD-emulating headers.
-CFLAGS_BE+= -I$(SRCDIR)/backend/port/svr4
-LDADD_BE+= /usr/ucblib/libucb.a 
-LDFLAGS_BE= -LD-Blargedynsym
-
-%.so: %.o
-       $(LD) -G -Bdynamic -o $@ $<
-
-DASH_N= ''
-BACKSLASH_C= '\\\\c'
-endif
-
-#---------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), ultrix4)
-ifdef ENFORCE_ALIGNMENT
-CFLAGS_BE= -DNOFIXADE
-endif
-
-# install creates intermediate directories
-NO_BEFOREINSTL= true
-
-CFLAGS_SL= -G 0
-DLSUFFIX= .o
-
-endif
-
-
-#-----------------------------------------------------------------------------
-
-#
-#      The univel port is almost guaranteed NOT to work yet.
-#
-ifeq ($(PORTNAME), univel)
-#CFLAGS+= -DHAVE_RUSAGE -DTRACEDEBUG -DASYNC_DEBUG
-CFLAGS+= -DHAVE_RUSAGE -m486 -Dsvr4
-CFLAGS_SL= -fPIC
-
-YACC= bison -y
-
-#
-#      Some of the Makefiles use LDADD, others use LD_ADD.
-#      This makes them the same.
-#
-LDADD= $(LD_ADD)
-
-# MAKE_EXPORTS is required for svr4 loaders that want a file of
-# symbol names to tell them what to export/import.
-#MAKE_EXPORTS= true
-
-#
-# Random things that must be passed everywhere to enable
-# everything to compile.  :-/
-#
-# The extra -I flag is to scoop up extra BSD-emulating headers.
-CFLAGS_BE+= -I$(SRCDIR)/backend/port/univel
-
-%.so: %.o
-       $(LD) -G -Bdynamic -o $@ $<
-
-DASH_N= ''
-BACKSLASH_C= '\\\\c'
-
-INSTALL= /usr/ucb/install
-
-endif
-
-#---------------------------------------------------------------------------
-ifeq ($(PORTNAME), nextstep)
-AROPT= rc
-DLSUFFIX= .o
-endif
-
 # This goes here so that customization in Makefile.custom is effective
 ##############################################################################
 
@@ -684,47 +252,18 @@ endif
 
 ifneq ($(CUSTOM_COPT),)
   COPT= $(CUSTOM_COPT)
-else
-  ifeq ($(CC), gcc)
-    COPT= -O2 -Werror
-  else
-    COPT= -O
-  endif
 endif
 
-
 ifeq ($(CC), gcc)
-# Some flags only gcc recognizes...
-# PostgreSQL should *always* compile with these enabled
 CFLAGS+= -Wall -Wmissing-prototypes
 endif
 
-# Globally pass debugging/optimization/profiling flags based
-# on the options selected above.
-
-
 ifdef COPT
    CFLAGS+= $(COPT)
-else
-   ifndef CFLAGS_OPT
-      CFLAGS_OPT= -O
-   endif
-   CFLAGS+= $(CFLAGS_OPT)
-endif
-
-ifndef CASSERT
-   CFLAGS+= -DNO_ASSERT_CHECKING
+   LDFLAGS+= $(COPT)
 endif
 
 ifdef PROFILE
    CFLAGS+= $(PROFILE)
    LDFLAGS+= $(PROFILE)
 endif
-
-# Globally pass PORTNAME
-CFLAGS+= -D$(PORTNAME)
-
-# include port-specific flags
-CFLAGS+= $(CFLAGS_BE)
-LDFLAGS+= $(LDFLAGS_BE)
-