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

View File

@ -34,98 +34,13 @@
# #
# #
# IDENTIFICATION # 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 = .. SRCDIR = ..
include ../Makefile.global 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 \ OBJS = access/SUBSYS.o bootstrap/SUBSYS.o catalog/SUBSYS.o \
commands/SUBSYS.o executor/SUBSYS.o \ commands/SUBSYS.o executor/SUBSYS.o \
lib/SUBSYS.o libpq/SUBSYS.o main/SUBSYS.o nodes/SUBSYS.o \ lib/SUBSYS.o libpq/SUBSYS.o main/SUBSYS.o nodes/SUBSYS.o \