Make port-specific link libraries defined for linking backend more global

so you can also link pgtclsh.
This commit is contained in:
Bryan Henderson 1996-11-18 02:23:41 +00:00
parent bd57c3afe5
commit 87f5fda6b9
2 changed files with 45 additions and 180 deletions

View File

@ -7,7 +7,7 @@
#
#
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/Attic/Makefile.global,v 1.70 1996/11/17 20:30:32 momjian Exp $
# $Header: /cvsroot/pgsql/src/Attic/Makefile.global,v 1.71 1996/11/18 02:23:16 bryanh Exp $
#
# NOTES
# Essentially all Postgres make files include this file and use the
@ -261,24 +261,8 @@ include $(SRCDIR)/Makefile.custom
endif
#############################################################################
# include port specific rules and variables. For instance:
# include port specific rules and variables.
#
# 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.
#
# HISTORY: Before October 1996, this file included the following line:
# -include $(MKDIR)/port/postgres.mk.$(PORTNAME)
@ -309,8 +293,6 @@ SLSUFF= .so
#----------------------------------------------------------------------
ifeq ($(PORTNAME), BSD44_derived)
MK_PORT= BSD44_derived
# cc is gcc, but never mind about that...
CC= gcc
@ -319,7 +301,7 @@ RANLIB= /usr/bin/ranlib
# FreeBSD 2.1R with new Flex v2.5.2 in /usr/local
LEX= flex
LDADD+= -L/usr/local/lib -lfl
LDADD_BE= -L/usr/local/lib -lfl
CFLAGS_SL= -fpic -DPIC
@ -337,13 +319,11 @@ endif
#--------------------------------------------------------------------------
ifeq ($(PORTNAME), aix)
MK_PORT= aix
# might want to try installbsd instead
INSTALL= /usr/ucb/install
# the -lm is because "pow" is defined in libbsd.a and we want pow(3m)
LDADD_BE= -lm -lbsd
LDADD_BE= -lm -lbsd -ll -lld
# MAKE_EXPORTS is required for svr4 loaders that want a file of
# symbol names to tell them what to export/import.
@ -357,7 +337,7 @@ MAKE_EXPORTS= true
# 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 -DHAVE_ANSI_CPP
CFLAGS_BE= -qchars=signed -qmaxmem=4000
EXPSUFF= .exp
@ -377,9 +357,6 @@ endif
#---------------------------------------------------------------------------
ifeq ($(PORTNAME), alpha)
MK_PORT= alpha
CFLAGS_BE+= -DUSE_POSIX_SIGNALS
# NOFIXADE disallows unaligned access.
# on Ultrix and OSF/1 it invokes an explicit syscall.
# on HP-UX it turns off certain compiler options.
@ -387,10 +364,11 @@ CFLAGS_BE+= -DUSE_POSIX_SIGNALS
# 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
CFLAGS_BE= -DNOFIXADE
else
CFLAGS_BE+= -DNOPRINTADE
CFLAGS_BE= -DNOPRINTADE
endif
LDADD_BE= -lln
# use the regex library
USE_REGEX= 1
@ -398,8 +376,6 @@ USE_REGEX= 1
%.so: %.o
$(LD) -shared -expect_unresolved '*' -o $@ $<
CLEANFILES+= so_locations
DASH_N=
BACKSLASH_C= '\\\\c'
@ -408,8 +384,6 @@ endif
#---------------------------------------------------------------------------
ifeq ($(PORTNAME), bsdi)
MK_PORT= bsdi
CC= gcc
PRE_BSDI_2_1= false
@ -424,7 +398,7 @@ ifeq ($(PRE_BSDI_2_1), false)
# cc is gcc v1.42
# gcc is gcc v2.7.2
LEX= lex
LD_ADD+= -ltermcap
LDADD_BE= -ltermcap -ldl -lipc
else
# cc is gcc v1.42
# gcc is gcc v2.6.3
@ -432,7 +406,7 @@ else
# use the regex library
USE_REGEX= 1
CFLAGS_BE= -DPRE_BSDI_2_1
LDADD_BE= -ldld -lcompat
LDADD_BE= -ldld -lcompat -lipc
endif
endif
@ -440,15 +414,12 @@ endif
#--------------------------------------------------------------------------
ifeq ($(PORTNAME), dgux)
MK_PORT= linux
CFLAGS_SL= -fpic
%.so: %.o
$(CC) -shared -o $@ $<
CC= gcc
CFLAGS_BE= -D__USE_POSIX_SIGNALS -DUSE_POSIX_SIGNALS
LDADD_BE= -ldl -lfl
LEX= flex
@ -461,16 +432,25 @@ endif
#----------------------------------------------------------------------------
ifeq ($(PORTNAME), hpux)
MK_PORT= hpux
# -W l,-E export symbols for linking with the shared libraries
# dynamic loader
LDADD_BE= -lBSD
LDADD_BE= -lBSD -ll
ifeq $(CC), cc)
CFLAGS_BE= -W l,-E
LDFLAGS_BE= -W l,-E
LDADD_BE+= -ldld
endif
ifeq ($(CC), gcc)
LDADD_BE+= /usr/lib/libdld.sl
endif
ifdef ENFORCE_ALIGNMENT
CFLAGS_BE= -DNOFIXADE
CFLAGS_BE= -DNOFIXADE
else
HPUX_VERS:= $(shell uname -r)
HPUX_MAJOR= ${HPUX_VERS:R:E}
HPUX_MINOR= ${HPUX_VERS:E}
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
@ -509,13 +489,9 @@ endif
#--------------------------------------------------------------------------
ifeq ($(PORTNAME), i386_solaris)
MK_PORT= i386_solaris
# cc won't work!
CC= gcc
CFLAGS_BE+= -DUSE_POSIX_SIGNALS
# RANLIB is not used on solaris
RANLIB= touch
@ -526,10 +502,10 @@ INSTALL= /usr/ucb/install
# everything to compile. :-/
#
# The extra -I flag is to scoop up extra BSD-emulating headers.
CFLAGS_BE+= -DSYSV_DIRENT -I$(SRCDIR)/backend/port/sparc_solaris
LDADD_BE+= -lsocket -lnsl
LD_ADD+= $(LDADD_BE)
# 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
LDADD_BE= -lsocket -lnsl -ll -ldl
ifeq ($(CC), cc)
CFLAGS_SL= -K PIC
@ -548,9 +524,7 @@ endif
#----------------------------------------------------------------------------
ifeq ($(PORTNAME), irix5)
MK_PORT= irix5
CFLAGS_BE+= -DUSE_POSIX_SIGNALS
LDADD_BE= -ll
# RANLIB is not used on IRIX 5
RANLIB= touch
@ -561,14 +535,6 @@ INSTLOPTS= -m 444
INSTL_EXE_OPTS= -m 555
INSTL_LIB_OPTS= -m 664
#
# Random things that must be passed everywhere to enable
# everything to compile. :-/
#
CFLAGS_BE+= -DSYSV_DIRENT
LD_ADD+= $(LDADD_BE)
%.so: %.o
$(LD) -G -Bdynamic -o $@ $<
@ -580,13 +546,13 @@ endif
#---------------------------------------------------------------------------
ifeq ($(PORTNAME), linux)
MK_PORT= linux
ifndef LINUX_ELF
SLSUFF= .o
LDADD_BE= -ldld
else
SLSUFF= .so
LDFLAGS+= -rdynamic
LDADD_BE= -ldl
LDFLAGS_BE= -rdynamic
endif
MK_NO_LORDER= true
@ -601,8 +567,7 @@ CFLAGS_SL= -fpic
# The Linux gnulib #defines the problem away for you and calls
# the BSD routines if you give it the right flags.
CFLAGS_BE= -D__USE_BSD -D__USE_BSD_SIGNAL
LDADD_BE= -lbsd
LDADD_BE+= -lbsd
LEX= flex
@ -611,8 +576,6 @@ endif
#---------------------------------------------------------------------------
ifeq ($(PORTNAME), sparc)
MK_PORT= sparc
# cc won't work!
CC= gcc
@ -624,6 +587,7 @@ CFLAGS_SL= -PIC
else
CFLAGS_SL= -fPIC
endif
LDADD_BE= -lln -ldl
%.so: %.o
$(LD) -dc -dp -Bdynamic -o $@ $<
@ -632,12 +596,10 @@ endif
#----------------------------------------------------------------------------
ifeq ($(PORTNAME), sparc_solaris)
MK_PORT= sparc_solaris
# cc won't work!
CC= gcc
CFLAGS_BE+= -DUSE_POSIX_SIGNALS
LDADD_BE= -ll -ldl
# RANLIB is not used on solaris
RANLIB= touch
@ -649,11 +611,9 @@ INSTALL= /usr/ucb/install
# everything to compile. :-/
#
# The extra -I flag is to scoop up extra BSD-emulating headers.
CFLAGS_BE+= -DSYSV_DIRENT -I$(SRCDIR)/backend/port/sparc_solaris
CFLAGS_BE= -I$(SRCDIR)/backend/port/sparc_solaris
LDADD_BE+= -lsocket -lnsl
LD_ADD+= $(LDADD_BE)
ifeq ($(CC), cc)
CFLAGS_SL= -K PIC
else
@ -671,13 +631,9 @@ endif
#-----------------------------------------------------------------------------
ifeq ($(PORTNAME), svr4)
MK_PORT= svr4
CFLAGS+= -W0
YACC= bison -y
CFLAGS_BE+= -DUSE_POSIX_SIGNALS
# MAKE_EXPORTS is required for svr4 loaders that want a file of
# symbol names to tell them what to export/import.
MAKE_EXPORTS= true
@ -693,16 +649,9 @@ INSTALL= /home/tools/bin/install
# everything to compile. :-/
#
# The extra -I flag is to scoop up extra BSD-emulating headers.
CFLAGS_BE+= -DSYSV_DIRENT -I$(SRCDIR)/backend/port/svr4
LDADD_BE+= -lsocket -lnsl -lc /usr/ucblib/libucb.a
LD_ADD+= $(LDADD_BE)
ifeq ($(CC), cc)
#CFLAGS_SL= -K PIC
else
#CFLAGS_SL= -fPIC
endif
CFLAGS_BE+= -I$(SRCDIR)/backend/port/svr4
LDADD_BE= -lsocket -lnsl -lc /usr/ucblib/libucb.a -ll -ldl
LDFLAGS_BE= -LD-Blargedynsym
%.so: %.o
$(LD) -G -Bdynamic -o $@ $<
@ -714,11 +663,10 @@ endif
#---------------------------------------------------------------------------
ifeq ($(PORTNAME), ultrix4)
MK_PORT= ultrix4
ifdef ENFORCE_ALIGNMENT
CFLAGS_BE= -DNOFIXADE
endif
LDADD_BE= -ldl -lln
# install creates intermediate directories
NO_BEFOREINSTL= true
@ -732,6 +680,9 @@ SLSUFF= .o
endif
ifneq ($(PORTNAME), next)
LDADD_BE+= -lm
endif
# This goes here so that customization in Makefile.custom is effective
##############################################################################
@ -785,7 +736,6 @@ endif
ifdef COPT
CFLAGS+= $(COPT)
LDFLAGS+= $(COPT)
else
ifndef CFLAGS_OPT
CFLAGS_OPT= -O

View File

@ -34,98 +34,13 @@
#
#
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/backend/Makefile,v 1.15 1996/11/12 06:46:04 bryanh Exp $
# $Header: /cvsroot/pgsql/src/backend/Makefile,v 1.16 1996/11/18 02:23:41 bryanh Exp $
#
#-------------------------------------------------------------------------
SRCDIR = ..
include ../Makefile.global
##########################################################################
# Determine linker flags for this platform (mainly, the libraries with
# which to link).
##########################################################################
# All systems except NEXTSTEP require the math library.
# Loader flags for system-dependent libraries are appended in
# src/backend/port/$(PORTNAME)/Makefile.inc
#
ifneq ($(PORTNAME), next)
LDADD+= -lm
endif
ifeq ($(PORTNAME), aix)
LDADD+= -ll -lld
endif
ifeq ($(PORTNAME), alpha)
LDADD+= -lln
endif
ifeq ($(PORTNAME), bsdi)
ifeq ($(PRE_BSDI_2_1), false)
LDADD+= -ldl -lipc
else
LDADD+= -ldld -lipc
endif
endif
ifeq ($(PORTNAME), hpux)
# HP-UX needs:
# -W l,-E export symbols for linking with the shared libraries
# dynamic loader
# -W p,-H400000 expand cpp #define table size so the Nodes files don't
# break it
#
# -W p,-H400000
ifeq ($(CC), cc)
CFLAGS+= -W l,-E
LDFLAGS+= -W l,-E
LDADD+= -ll -ldld
else
ifeq ($(CC), gcc)
LDADD+= -ll /usr/lib/libdld.sl
endif
endif
endif
ifeq ($(PORTNAME), i386_solaris)
LDADD+= -ll -ldl
endif
ifeq ($(PORTNAME), irix5)
LDADD+= -ll
endif
ifeq ($(PORTNAME), linux)
ifdef LINUX_ELF
LDADD+= -ldl
else
LDADD+= -ldld
endif
endif
ifeq ($(PORTNAME), sparc)
LDADD+= -lln -ldl
endif
ifeq ($(PORTNAME), sparc_solaris)
LDADD+= -ll -ldl
endif
ifeq ($(PORTNAME), svr4)
LDADD+= -ll -ldl
# the following is special for Reliant UNIX SVR4 (formerly SINIX)
LDFLAGS+= -LD-Blargedynsym
endif
ifeq ($(PORTNAME), ultrix4)
LDADD+= -ldl -lln
endif
#############################################################################
OBJS = access/SUBSYS.o bootstrap/SUBSYS.o catalog/SUBSYS.o \
commands/SUBSYS.o executor/SUBSYS.o \
lib/SUBSYS.o libpq/SUBSYS.o main/SUBSYS.o nodes/SUBSYS.o \