mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-02-17 19:30:00 +08:00
Backend makefile cleanup. make maintainer-clean is now completely
functional. Handle include file installation in src/include/Makefile genbki.sh improvements: Don't substitute anything by config.status, instead pass in AWK and CPP through environment. Change calling convention to support named output files, so we get to see error messages on stderr. Rename bootstrap template files and install them into PREFIX/share. Update initdb to that effect and other readability improvements in initdb.
This commit is contained in:
parent
b027ad9a7a
commit
f0b4ae697f
@ -133,7 +133,7 @@ if test ! -f "src/template/$TEMPLATE"; then
|
|||||||
echo ""
|
echo ""
|
||||||
echo "Available Templates (select one using --with-template):"
|
echo "Available Templates (select one using --with-template):"
|
||||||
echo ""
|
echo ""
|
||||||
ls template
|
ls src/template
|
||||||
echo ""
|
echo ""
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
@ -680,9 +680,6 @@ AC_PROG_LN_S
|
|||||||
AC_PROG_RANLIB
|
AC_PROG_RANLIB
|
||||||
AC_PATH_PROG(find, find)
|
AC_PATH_PROG(find, find)
|
||||||
AC_PATH_PROG(tar, tar)
|
AC_PATH_PROG(tar, tar)
|
||||||
AC_PATH_PROG(split, split)
|
|
||||||
AC_PATH_PROG(etags, etags)
|
|
||||||
AC_PATH_PROG(xargs, xargs)
|
|
||||||
AC_PATH_PROGS(GZCAT, gzcat zcat, gzcat)
|
AC_PATH_PROGS(GZCAT, gzcat zcat, gzcat)
|
||||||
AC_CHECK_PROGS(PERL, perl,)
|
AC_CHECK_PROGS(PERL, perl,)
|
||||||
AC_PROG_YACC
|
AC_PROG_YACC
|
||||||
@ -1203,6 +1200,5 @@ AC_OUTPUT(
|
|||||||
src/GNUmakefile
|
src/GNUmakefile
|
||||||
src/Makefile.global
|
src/Makefile.global
|
||||||
src/backend/port/Makefile
|
src/backend/port/Makefile
|
||||||
src/backend/catalog/genbki.sh
|
|
||||||
src/test/regress/GNUmakefile
|
src/test/regress/GNUmakefile
|
||||||
)
|
)
|
||||||
|
@ -1,90 +1,41 @@
|
|||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Makefile.inc--
|
# Makefile for src
|
||||||
# Build and install postgres.
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 1994, Regents of the University of California
|
# Copyright (c) 1994, Regents of the University of California
|
||||||
#
|
#
|
||||||
#
|
# $Header: /cvsroot/pgsql/src/Attic/GNUmakefile.in,v 1.57 2000/07/06 21:33:12 petere Exp $
|
||||||
# IDENTIFICATION
|
|
||||||
# $Header: /cvsroot/pgsql/src/Attic/GNUmakefile.in,v 1.56 2000/07/02 15:20:41 petere Exp $
|
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
|
|
||||||
SRCDIR= .
|
subdir = src
|
||||||
|
top_builddir = ..
|
||||||
include Makefile.global
|
include Makefile.global
|
||||||
|
|
||||||
FIND = @find@
|
|
||||||
|
|
||||||
# assuming gnu tar and split here
|
all install installdirs uninstall dep depend:
|
||||||
TAR = @tar@
|
$(MAKE) -C backend $@
|
||||||
SPLIT = @split@
|
$(MAKE) -C include $@
|
||||||
|
$(MAKE) -C interfaces $@
|
||||||
ETAGS = @etags@
|
$(MAKE) -C bin $@
|
||||||
XARGS = @xargs@
|
$(MAKE) -C pl $@
|
||||||
|
|
||||||
all:
|
|
||||||
$(MAKE) -C backend all
|
|
||||||
$(MAKE) -C interfaces all
|
|
||||||
$(MAKE) -C bin all
|
|
||||||
$(MAKE) -C pl all
|
|
||||||
|
|
||||||
install: installdirs
|
|
||||||
$(MAKE) -C backend install
|
|
||||||
$(MAKE) -C interfaces install
|
|
||||||
$(MAKE) -C bin install
|
|
||||||
$(MAKE) -C pl install
|
|
||||||
|
|
||||||
installdirs:
|
|
||||||
../config/mkinstalldirs $(BINDIR) $(LIBDIR) $(INCLUDEDIR)
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(MAKE) -C utils clean
|
$(MAKE) -C backend $@
|
||||||
$(MAKE) -C backend clean
|
$(MAKE) -C include $@
|
||||||
$(MAKE) -C interfaces clean
|
$(MAKE) -C interfaces $@
|
||||||
$(MAKE) -C bin clean
|
$(MAKE) -C bin $@
|
||||||
$(MAKE) -C pl clean
|
$(MAKE) -C pl $@
|
||||||
|
$(MAKE) -C utils $@
|
||||||
$(MAKE) -C test clean
|
$(MAKE) -C test clean
|
||||||
$(MAKE) -C ../contrib/spi clean
|
|
||||||
|
|
||||||
# Not all subdirectories have a make distclean target yet
|
|
||||||
distclean maintainer-clean:
|
distclean maintainer-clean:
|
||||||
-$(MAKE) -C utils clean
|
-$(MAKE) -C utils $@
|
||||||
-$(MAKE) -C backend clean
|
-$(MAKE) -C backend $@
|
||||||
rm -f backend/port/Makefile backend/catalog/genbki.sh \
|
-$(MAKE) -C include $@
|
||||||
backend/port/tas.s backend/port/dynloader.c
|
|
||||||
-$(MAKE) -C interfaces $@
|
-$(MAKE) -C interfaces $@
|
||||||
-$(MAKE) -C bin $@
|
-$(MAKE) -C bin $@
|
||||||
-$(MAKE) -C pl $@
|
-$(MAKE) -C pl $@
|
||||||
-$(MAKE) -C test clean
|
-$(MAKE) -C test clean
|
||||||
rm -f test/regress/GNUmakefile
|
rm -f test/regress/GNUmakefile
|
||||||
-$(MAKE) -C ../contrib/spi clean
|
rm -f Makefile.port Makefile.global GNUmakefile
|
||||||
rm -f Makefile.port \
|
|
||||||
include/config.h include/dynloader.h \
|
|
||||||
include/os.h include/version.h \
|
|
||||||
Makefile.global \
|
|
||||||
GNUmakefile
|
|
||||||
|
|
||||||
.DEFAULT:
|
|
||||||
$(MAKE) -C utils $@
|
|
||||||
$(MAKE) -C backend $@
|
|
||||||
$(MAKE) -C interfaces $@
|
|
||||||
$(MAKE) -C bin $@
|
|
||||||
$(MAKE) -C pl $@
|
|
||||||
|
|
||||||
TAGS:
|
|
||||||
rm -f TAGS; \
|
|
||||||
for i in backend interfaces/libpq bin; do \
|
|
||||||
$(FIND) $$i -name '*.[chyl]' -print | $(XARGS) $(ETAGS) -a ; \
|
|
||||||
done
|
|
||||||
|
|
||||||
# target to generate a backup tar file and split files that can be
|
|
||||||
# saved to 1.44M floppy
|
|
||||||
BACKUP:
|
|
||||||
rm -f BACKUP.filelist BACKUP.tgz; \
|
|
||||||
$(FIND) . -not -path '*obj/*' -not -path '*data/*' -type f -print > BACKUP.filelist; \
|
|
||||||
$(TAR) --files-from BACKUP.filelist -c -z -v -f BACKUP.tgz
|
|
||||||
$(SPLIT) --bytes=1400k BACKUP.tgz pgBACKUP.
|
|
||||||
|
|
||||||
.PHONY: TAGS
|
|
||||||
.PHONY: BACKUP
|
|
||||||
|
@ -1,47 +1,18 @@
|
|||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Makefile--
|
# Makefile for the postgres backend
|
||||||
# Makefile for the postgres backend (and the postmaster)
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 1994, Regents of the University of California
|
# Copyright (c) 1994, Regents of the University of California
|
||||||
#
|
#
|
||||||
# Functional notes:
|
# $Header: /cvsroot/pgsql/src/backend/Makefile,v 1.58 2000/07/06 21:33:14 petere Exp $
|
||||||
#
|
|
||||||
# Parallel make:
|
|
||||||
#
|
|
||||||
# This make file is set up so that you can do a parallel make (with
|
|
||||||
# the --jobs option of make) and make multiple subdirectories at
|
|
||||||
# once.
|
|
||||||
#
|
|
||||||
# However, the subdirectory make files are not so careful.
|
|
||||||
# Normally, the --jobs option would get passed down to those
|
|
||||||
# subdirectory makes, like any other make option, and they would
|
|
||||||
# fail. But there's a trick: Put a value (max number of
|
|
||||||
# processes) on the --jobs option, e.g. --jobs=4. Now, due to a
|
|
||||||
# special feature of make, the --jobs option will not get passed
|
|
||||||
# to the subdirectory makes. (make does this because if you only
|
|
||||||
# want 4 tasks running, then splitting the subdirectory makes into
|
|
||||||
# multiple tasks would violate your wishes).
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# Implementation notes:
|
|
||||||
#
|
|
||||||
# We don't use $(LD) for linking. We use $(CC) instead. This is because
|
|
||||||
# the $(CC) program apparently can do linking too, and it has certain
|
|
||||||
# things like default options and search paths for libraries set up for
|
|
||||||
# it that the more primitive $(LD) doesn't have.
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# IDENTIFICATION
|
|
||||||
# $Header: /cvsroot/pgsql/src/backend/Makefile,v 1.57 2000/07/02 15:20:44 petere Exp $
|
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
|
|
||||||
SRCDIR = ..
|
subdir = src/backend
|
||||||
include $(SRCDIR)/Makefile.global
|
top_builddir = ../..
|
||||||
|
include ../Makefile.global
|
||||||
|
|
||||||
DIRS = access bootstrap catalog commands executor lib libpq \
|
DIRS := access bootstrap catalog commands executor lib libpq \
|
||||||
main parser nodes optimizer port postmaster regex rewrite \
|
main parser nodes optimizer port postmaster regex rewrite \
|
||||||
storage tcop utils
|
storage tcop utils
|
||||||
|
|
||||||
@ -49,84 +20,144 @@ ifdef TIOGA
|
|||||||
DIRS += tioga
|
DIRS += tioga
|
||||||
endif
|
endif
|
||||||
|
|
||||||
OBJS = $(DIRS:%=%/SUBSYS.o)
|
OBJS := $(DIRS:%=%/SUBSYS.o)
|
||||||
|
|
||||||
ifeq ($(PORTNAME), qnx4)
|
ifeq ($(PORTNAME), qnx4)
|
||||||
# This file crashes qnx4's wlink and is therefore not in bootstrap/SUBSYS.o
|
# This file crashes qnx4's wlink and is therefore not in
|
||||||
# on that platform. (Wotta hack ... is it still necessary?)
|
# bootstrap/SUBSYS.o on that platform. (Wotta hack ... is it still
|
||||||
|
# necessary?)
|
||||||
OBJS+= bootstrap/bootstrap.o
|
OBJS+= bootstrap/bootstrap.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(MAKE_DLL), true)
|
|
||||||
DLLOBJS= $(OBJS)
|
|
||||||
DLLLIBS= -L/usr/local/lib -lcygipc -lcrypt -lcygwin -lkernel32
|
|
||||||
|
|
||||||
postgres.def: $(DLLOBJS)
|
##########################################################################
|
||||||
$(DLLTOOL) --export-all --output-def $@ $(DLLOBJS)
|
|
||||||
|
|
||||||
libpostgres.a: $(DLLOBJS) $(SRCDIR)/utils/dllinit.o postgres.def
|
all: postgres $(POSTGRES_IMP)
|
||||||
$(DLLTOOL) --dllname postgres.exe --def postgres.def --output-lib $@
|
|
||||||
endif
|
|
||||||
|
|
||||||
all: prebuildheaders postgres $(POSTGRES_IMP)
|
# Note that this is bogus. The desired effect is to build these
|
||||||
|
# commonly used headers before doing much else. However, nothing says
|
||||||
|
# that make is required to update these dependencies in any particular
|
||||||
|
# order, it just happens to do that. Parallel make is broken though.
|
||||||
|
|
||||||
ifneq ($(PORTNAME), win)
|
ifneq ($(PORTNAME), win)
|
||||||
|
|
||||||
postgres: $(OBJS)
|
postgres: $(top_srcdir)/src/include/parser/parse.h $(top_builddir)/src/include/utils/fmgroids.h $(OBJS)
|
||||||
$(CC) $(CFLAGS) -o postgres $(OBJS) $(LDFLAGS)
|
$(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS)
|
||||||
|
|
||||||
else
|
else # win
|
||||||
|
|
||||||
postgres: $(DLLOBJS) $(SRCDIR)/utils/dllinit.o postgres.def libpostgres.a
|
# No points for style here. How about encapsulating some of these
|
||||||
|
# commands into variables?
|
||||||
|
postgres: $(top_srcdir)/src/include/parser/parse.h $(top_builddir)/src/include/utils/fmgroids.h \
|
||||||
|
$(DLLOBJS) $(top_builddir)/src/utils/dllinit.o postgres.def libpostgres.a
|
||||||
dlltool --dllname $@$(X) --output-exp $@.exp --def postgres.def
|
dlltool --dllname $@$(X) --output-exp $@.exp --def postgres.def
|
||||||
gcc -g -o $@$(X) -Wl,--base-file,$@.base $@.exp $(DLLOBJS) $(DLLLIBS)
|
gcc -g -o $@$(X) -Wl,--base-file,$@.base $@.exp $(DLLOBJS) $(DLLLIBS)
|
||||||
dlltool --dllname $@$(X) --base-file $@.base --output-exp $@.exp --def postgres.def
|
dlltool --dllname $@$(X) --base-file $@.base --output-exp $@.exp --def postgres.def
|
||||||
gcc -g -o $@$(X) $@.exp $(DLLOBJS) $(DLLLIBS)
|
gcc -g -o $@$(X) $@.exp $(DLLOBJS) $(DLLLIBS)
|
||||||
rm $@.exp $@.base
|
rm $@.exp $@.base
|
||||||
|
|
||||||
endif
|
endif # win
|
||||||
|
|
||||||
|
|
||||||
|
# Parallel make trickery
|
||||||
$(OBJS): $(DIRS:%=%.dir)
|
$(OBJS): $(DIRS:%=%.dir)
|
||||||
|
|
||||||
|
.PHONY: $(DIRS:%=%.dir)
|
||||||
$(DIRS:%=%.dir):
|
$(DIRS:%=%.dir):
|
||||||
$(MAKE) -C $(subst .dir,,$@) all
|
$(MAKE) -C $(subst .dir,,$@) all
|
||||||
|
|
||||||
$(SRCDIR)/utils/dllinit.o: $(SRCDIR)/utils/dllinit.c
|
|
||||||
$(MAKE) -C $(SRCDIR)/utils dllinit.o
|
ifeq ($(MAKE_DLL), true)
|
||||||
|
DLLOBJS := $(OBJS)
|
||||||
|
DLLLIBS := -L/usr/local/lib -lcygipc -lcrypt -lcygwin -lkernel32
|
||||||
|
|
||||||
|
postgres.def: $(DLLOBJS)
|
||||||
|
$(DLLTOOL) --export-all --output-def $@ $(DLLOBJS)
|
||||||
|
|
||||||
|
libpostgres.a: $(DLLOBJS) $(top_builddir)/src/utils/dllinit.o postgres.def
|
||||||
|
$(DLLTOOL) --dllname postgres.exe --def postgres.def --output-lib $@
|
||||||
|
endif # MAKE_DLL
|
||||||
|
|
||||||
|
|
||||||
|
$(top_builddir)/src/utils/dllinit.o: $(top_srcdir)/src/utils/dllinit.c
|
||||||
|
$(MAKE) -C $(top_builddir)/src/utils dllinit.o
|
||||||
|
|
||||||
# The postgres.o target is needed by the rule in Makefile.global that
|
# The postgres.o target is needed by the rule in Makefile.global that
|
||||||
# creates the exports file when MAKE_EXPORTS = true.
|
# creates the exports file when MAKE_EXPORTS = true.
|
||||||
postgres.o: $(OBJS)
|
postgres.o: $(OBJS)
|
||||||
$(CC) $(LDREL) $(LDOUT) postgres.o $(OBJS) $(LDFLAGS)
|
$(CC) $(LDREL) $(LDOUT) $@ $^ $(LDFLAGS)
|
||||||
|
|
||||||
# These header files should be up-to-date before we do much else...
|
|
||||||
.PHONY: prebuildheaders
|
|
||||||
|
|
||||||
prebuildheaders: $(SRCDIR)/include/parser/parse.h \
|
# The following targets are specified in make commands that appear in
|
||||||
$(SRCDIR)/include/utils/fmgroids.h
|
# the make files in our subdirectories. Note that it's important we
|
||||||
|
# match the dependencies shown in the subdirectory makefiles!
|
||||||
|
|
||||||
############################################################################
|
$(srcdir)/parser/parse.h: parser/gram.y
|
||||||
# The following targets are specified in make commands that appear in the
|
|
||||||
# make files in our subdirectories. Note that it's important we match the
|
|
||||||
# dependencies shown in the subdirectory makefiles!
|
|
||||||
|
|
||||||
$(SRCDIR)/include/parser/parse.h: parser/parse.h
|
|
||||||
cp parser/parse.h $(SRCDIR)/include/parser
|
|
||||||
|
|
||||||
parser/parse.h: parser/gram.y
|
|
||||||
$(MAKE) -C parser parse.h
|
$(MAKE) -C parser parse.h
|
||||||
|
|
||||||
$(SRCDIR)/include/utils/fmgroids.h: utils/fmgroids.h
|
utils/fmgroids.h: utils/Gen_fmgrtab.sh $(top_srcdir)/src/include/catalog/pg_proc.h
|
||||||
cp utils/fmgroids.h $(SRCDIR)/include/utils
|
|
||||||
|
|
||||||
utils/fmgroids.h: utils/Gen_fmgrtab.sh $(SRCDIR)/include/catalog/pg_proc.h
|
|
||||||
$(MAKE) -C utils fmgroids.h
|
$(MAKE) -C utils fmgroids.h
|
||||||
|
|
||||||
#############################################################################
|
# Make symlinks for these headers in the include directory. That way
|
||||||
|
# we can cut down on the -I options. Also, a symlink is automatically
|
||||||
|
# up to date when we update the base file.
|
||||||
|
|
||||||
|
$(top_builddir)/src/include/parser/parse.h: $(srcdir)/parser/parse.h
|
||||||
|
cd $(dir $@) && rm -f $(notdir $@) && \
|
||||||
|
$(LN_S) ../../../$(subdir)/parser/parse.h .
|
||||||
|
|
||||||
|
$(top_builddir)/src/include/utils/fmgroids.h: utils/fmgroids.h
|
||||||
|
cd $(dir $@) && rm -f $(notdir $@) && \
|
||||||
|
$(LN_S) ../../../$(subdir)/utils/fmgroids.h .
|
||||||
|
|
||||||
|
|
||||||
|
##########################################################################
|
||||||
|
|
||||||
|
install: all installdirs
|
||||||
|
$(INSTALL_PROGRAM) postgres$(X) $(bindir)/postgres$(X)
|
||||||
|
@rm -f $(bindir)/postmaster
|
||||||
|
ln -s postgres$(X) $(bindir)/postmaster
|
||||||
|
ifeq ($(MAKE_EXPORTS), true)
|
||||||
|
$(INSTALL_DATA) $(POSTGRES_IMP) $(libdir)/$(POSTGRES_IMP)
|
||||||
|
endif
|
||||||
|
ifeq ($(PORTNAME), win)
|
||||||
|
ifeq ($(MAKE_DLL), true)
|
||||||
|
$(INSTALL_DATA) libpostgres.a $(libdir)/libpostgres.a
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
$(MAKE) -C catalog install-bki
|
||||||
|
$(INSTALL_DATA) libpq/pg_hba.conf.sample $(datadir)/pg_hba.conf.sample
|
||||||
|
$(INSTALL_DATA) libpq/pg_ident.conf.sample $(datadir)/pg_ident.conf.sample
|
||||||
|
$(INSTALL_DATA) utils/misc/postgresql.conf.sample $(datadir)/postgresql.conf.sample
|
||||||
|
|
||||||
|
installdirs:
|
||||||
|
$(mkinstalldirs) $(bindir) $(libdir) $(datadir)
|
||||||
|
|
||||||
|
|
||||||
|
##########################################################################
|
||||||
|
|
||||||
|
uninstall:
|
||||||
|
rm -f $(bindir)/postgres$(X) $(bindir)/postmaster
|
||||||
|
ifeq ($(MAKE_EXPORTS), true)
|
||||||
|
rm -f $(libdir)/$(POSTGRES_IMP)
|
||||||
|
endif
|
||||||
|
ifeq ($(PORTNAME), win)
|
||||||
|
ifeq ($(MAKE_DLL), true)
|
||||||
|
rm -f $(libdir)/libpostgres.a
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
$(MAKE) -C catalog uninstall-bki
|
||||||
|
rm -f $(datadir)/pg_hba.conf.sample \
|
||||||
|
$(datadir)/pg_ident.conf.sample \
|
||||||
|
$(datadir)/postgresql.conf.sample
|
||||||
|
|
||||||
|
|
||||||
|
##########################################################################
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f postgres$(X) $(POSTGRES_IMP) \
|
rm -f postgres$(X) $(POSTGRES_IMP) \
|
||||||
$(SRCDIR)/include/parser/parse.h \
|
$(top_srcdir)/src/include/parser/parse.h \
|
||||||
$(SRCDIR)/include/utils/fmgroids.h
|
$(top_builddir)/src/include/utils/fmgroids.h
|
||||||
ifeq ($(PORTNAME), win)
|
ifeq ($(PORTNAME), win)
|
||||||
ifeq ($(MAKE_DLL), true)
|
ifeq ($(MAKE_DLL), true)
|
||||||
rm -f postgres.dll postgres.def libpostgres.a
|
rm -f postgres.dll postgres.def libpostgres.a
|
||||||
@ -134,136 +165,20 @@ endif
|
|||||||
endif
|
endif
|
||||||
for i in $(DIRS); do $(MAKE) -C $$i clean; done
|
for i in $(DIRS); do $(MAKE) -C $$i clean; done
|
||||||
|
|
||||||
depend dep: prebuildheaders
|
distclean: clean
|
||||||
for i in $(DIRS); do $(MAKE) -C $$i $@; done
|
rm -f port/Makefile port/tas.s port/dynloader.c
|
||||||
|
|
||||||
.DEFAULT:
|
maintainer-clean: distclean
|
||||||
for i in $(DIRS); do $(MAKE) -C $$i $@; done
|
rm -f $(srcdir)/bootstrap/bootparse.c \
|
||||||
|
$(srcdir)/bootstrap/bootscanner.c \
|
||||||
#############################################################################
|
$(srcdir)/bootstrap/bootstrap_tokens.h \
|
||||||
#
|
$(srcdir)/parser/gram.c \
|
||||||
# Installation.
|
$(srcdir)/parser/scan.c \
|
||||||
#
|
$(srcdir)/parser/parse.h \
|
||||||
# Install the backend program (postgres) to the binary directory and
|
$(srcdir)/utils/misc/guc-file.c
|
||||||
# make a link as "postmaster". Install the bki files, templates, and sample
|
|
||||||
# files to the library directory. Install exported headers to the include
|
|
||||||
# directory (these headers are the minimal ones needed to build loadable
|
|
||||||
# backend extensions).
|
|
||||||
#
|
|
||||||
# (History: Before Release 2, make install generated a bki.source file
|
|
||||||
# and then used build parameters to convert it to a bki file, then installed
|
|
||||||
# that bki file in the /files subdirectory of the default data directory.
|
|
||||||
# Initdb then used the bki file to generate the database catalog classes.
|
|
||||||
# That had to change because (1) there can be more than one database system,
|
|
||||||
# and (2) the parameters of a database system should be set at initdb time,
|
|
||||||
# not at postgres build time.
|
|
||||||
|
|
||||||
.PHONY: install install-bin install-templates install-headers
|
|
||||||
|
|
||||||
install: $(LIBDIR) $(BINDIR) $(HEADERDIR) $(TEMPLATEDIR) \
|
|
||||||
postgres $(POSTGRES_IMP) \
|
|
||||||
install-bin install-templates install-headers
|
|
||||||
|
|
||||||
install-bin: $(BINDIR) postgres$(X) $(POSTGRES_IMP)
|
|
||||||
$(INSTALL) $(INSTL_EXE_OPTS) postgres$(X) $(BINDIR)/postgres$(X)
|
|
||||||
@rm -f $(BINDIR)/postmaster
|
|
||||||
ln -s postgres$(X) $(BINDIR)/postmaster
|
|
||||||
ifeq ($(MAKE_EXPORTS), true)
|
|
||||||
$(INSTALL) $(INSTLOPTS) $(POSTGRES_IMP) $(LIBDIR)/$(POSTGRES_IMP)
|
|
||||||
endif
|
|
||||||
ifeq ($(PORTNAME), win)
|
|
||||||
ifeq ($(MAKE_DLL), true)
|
|
||||||
# $(INSTALL) $(INSTLOPTS) postgres.dll $(BINDIR)/postgres.dll
|
|
||||||
$(INSTALL) $(INSTLOPTS) libpostgres.a $(LIBDIR)/libpostgres.a
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
install-templates: $(TEMPLATEDIR) \
|
|
||||||
libpq/pg_hba.conf.sample libpq/pg_ident.conf.sample \
|
|
||||||
utils/misc/postgresql.conf.sample
|
|
||||||
$(MAKE) -C catalog install-bki-templates
|
|
||||||
$(INSTALL) $(INSTLOPTS) libpq/pg_hba.conf.sample \
|
|
||||||
$(TEMPLATEDIR)/pg_hba.conf.sample
|
|
||||||
$(INSTALL) $(INSTLOPTS) libpq/pg_ident.conf.sample \
|
|
||||||
$(TEMPLATEDIR)/pg_ident.conf.sample
|
|
||||||
$(INSTALL) $(INSTLOPTS) utils/misc/postgresql.conf.sample \
|
|
||||||
$(TEMPLATEDIR)/postgresql.conf.sample
|
|
||||||
|
|
||||||
install-headers: prebuildheaders $(SRCDIR)/include/config.h
|
|
||||||
-@if [ ! -d $(HEADERDIR) ]; then mkdir $(HEADERDIR); fi
|
|
||||||
-@if [ ! -d $(HEADERDIR)/port ]; then mkdir $(HEADERDIR)/port; fi
|
|
||||||
-@if [ ! -d $(HEADERDIR)/port/$(PORTNAME) ]; \
|
|
||||||
then mkdir $(HEADERDIR)/port/$(PORTNAME); fi
|
|
||||||
-@if [ ! -d $(HEADERDIR)/lib ]; \
|
|
||||||
then mkdir $(HEADERDIR)/lib; fi
|
|
||||||
-@if [ ! -d $(HEADERDIR)/libpq ]; \
|
|
||||||
then mkdir $(HEADERDIR)/libpq; fi
|
|
||||||
-@if [ ! -d $(HEADERDIR)/utils ]; \
|
|
||||||
then mkdir $(HEADERDIR)/utils; fi
|
|
||||||
-@if [ ! -d $(HEADERDIR)/access ]; \
|
|
||||||
then mkdir $(HEADERDIR)/access; fi
|
|
||||||
-@if [ ! -d $(HEADERDIR)/executor ]; \
|
|
||||||
then mkdir $(HEADERDIR)/executor; fi
|
|
||||||
-@if [ ! -d $(HEADERDIR)/commands ]; \
|
|
||||||
then mkdir $(HEADERDIR)/commands; fi
|
|
||||||
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/os.h \
|
|
||||||
$(HEADERDIR)/os.h
|
|
||||||
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/config.h \
|
|
||||||
$(HEADERDIR)/config.h
|
|
||||||
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/c.h \
|
|
||||||
$(HEADERDIR)/c.h
|
|
||||||
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/postgres.h \
|
|
||||||
$(HEADERDIR)/postgres.h
|
|
||||||
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/postgres_ext.h \
|
|
||||||
$(HEADERDIR)/postgres_ext.h
|
|
||||||
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/fmgr.h \
|
|
||||||
$(HEADERDIR)/fmgr.h
|
|
||||||
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/libpq/pqcomm.h \
|
|
||||||
$(HEADERDIR)/libpq/pqcomm.h
|
|
||||||
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/libpq/libpq-fs.h \
|
|
||||||
$(HEADERDIR)/libpq/libpq-fs.h
|
|
||||||
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/lib/dllist.h \
|
|
||||||
$(HEADERDIR)/lib/dllist.h
|
|
||||||
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/utils/geo_decls.h \
|
|
||||||
$(HEADERDIR)/utils/geo_decls.h
|
|
||||||
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/utils/elog.h \
|
|
||||||
$(HEADERDIR)/utils/elog.h
|
|
||||||
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/utils/fmgroids.h \
|
|
||||||
$(HEADERDIR)/utils/fmgroids.h
|
|
||||||
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/utils/palloc.h \
|
|
||||||
$(HEADERDIR)/utils/palloc.h
|
|
||||||
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/access/attnum.h \
|
|
||||||
$(HEADERDIR)/access/attnum.h
|
|
||||||
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/executor/spi.h \
|
|
||||||
$(HEADERDIR)/executor/spi.h
|
|
||||||
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/commands/trigger.h \
|
|
||||||
$(HEADERDIR)/commands/trigger.h
|
|
||||||
ifeq ($(PORTNAME), hpux)
|
|
||||||
# is this still necessary?
|
|
||||||
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/backend/port/hpux/fixade.h \
|
|
||||||
$(HEADERDIR)/port/hpux/fixade.h
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(BINDIR):
|
|
||||||
mkdir $@
|
|
||||||
|
|
||||||
$(LIBDIR):
|
|
||||||
mkdir $@
|
|
||||||
|
|
||||||
$(HEADERDIR):
|
|
||||||
mkdir $@
|
|
||||||
|
|
||||||
# TEMPLATEDIR is commonly the same as LIBDIR, but it might be different.
|
|
||||||
# We don't want duplicate rules if they are the same.
|
|
||||||
ifneq ($(TEMPLATEDIR),$(LIBDIR))
|
|
||||||
|
|
||||||
$(TEMPLATEDIR):
|
|
||||||
mkdir $@
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
#############################################################################
|
##########################################################################
|
||||||
#
|
#
|
||||||
# Support for code development.
|
# Support for code development.
|
||||||
#
|
#
|
||||||
@ -273,21 +188,8 @@ endif
|
|||||||
quick: $(OBJS)
|
quick: $(OBJS)
|
||||||
$(CC) -o postgres $(OBJS) $(LDFLAGS)
|
$(CC) -o postgres $(OBJS) $(LDFLAGS)
|
||||||
|
|
||||||
#
|
depend dep: $(top_srcdir)/src/include/parser/parse.h $(top_builddir)/src/include/utils/fmgroids.h
|
||||||
# Build the file, "./ID", used by the "gid" (grep-for-identifier) tool
|
for i in $(DIRS); do $(MAKE) -C $$i $@; done
|
||||||
#
|
|
||||||
IDFILE= ID
|
|
||||||
.PHONY: $(IDFILE)
|
|
||||||
$(IDFILE):
|
|
||||||
./makeID
|
|
||||||
|
|
||||||
#
|
.DEFAULT:
|
||||||
# Special rule to generate cpp'd version of a .c file. This is
|
for i in $(DIRS); do $(MAKE) -C $$i $@; done
|
||||||
# especially useful given all the hellish macro processing going on.
|
|
||||||
# The cpp'd version has a .C suffix. To create foo.C from foo.c, just
|
|
||||||
# type
|
|
||||||
# make foo.C
|
|
||||||
#
|
|
||||||
%.cpp: %.c
|
|
||||||
$(CC) -E $(CPPFLAGS) $(<:.C=.c) | cat -s | cb | tr -s '\012*' '\012' \
|
|
||||||
> $(@F)
|
|
||||||
|
@ -1,74 +1,68 @@
|
|||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Makefile--
|
# Makefile for catalog
|
||||||
# Makefile for catalog
|
|
||||||
#
|
#
|
||||||
# IDENTIFICATION
|
# $Header: /cvsroot/pgsql/src/backend/catalog/Makefile,v 1.23 2000/07/06 21:33:22 petere Exp $
|
||||||
# $Header: /cvsroot/pgsql/src/backend/catalog/Makefile,v 1.22 2000/06/05 07:16:13 tgl Exp $
|
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
|
|
||||||
SRCDIR = ../..
|
subdir = src/backend/catalog
|
||||||
include $(SRCDIR)/Makefile.global
|
top_builddir = ../../..
|
||||||
|
include ../../Makefile.global
|
||||||
|
|
||||||
OBJS = catalog.o heap.o index.o indexing.o aclchk.o \
|
OBJS = catalog.o heap.o index.o indexing.o aclchk.o \
|
||||||
pg_aggregate.o pg_operator.o pg_proc.o pg_type.o
|
pg_aggregate.o pg_operator.o pg_proc.o pg_type.o
|
||||||
|
|
||||||
BKIFILES = global1.bki.source local1_template1.bki.source \
|
BKIFILES = global.bki template1.bki global.description template1.description
|
||||||
global1.description local1_template1.description
|
|
||||||
|
|
||||||
all: SUBSYS.o $(BKIFILES)
|
all: SUBSYS.o $(BKIFILES)
|
||||||
|
|
||||||
SUBSYS.o: $(OBJS)
|
SUBSYS.o: $(OBJS)
|
||||||
$(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
|
$(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
|
||||||
|
|
||||||
GENBKI= ./genbki.sh
|
|
||||||
|
|
||||||
GLOBALBKI_SRCS= $(addprefix $(SRCDIR)/include/catalog/, \
|
GLOBAL_BKI_SRCS := $(addprefix $(top_srcdir)/src/include/catalog/,\
|
||||||
pg_database.h pg_variable.h pg_shadow.h \
|
pg_database.h pg_variable.h pg_shadow.h pg_group.h pg_log.h \
|
||||||
pg_group.h pg_log.h \
|
)
|
||||||
)
|
|
||||||
|
|
||||||
LOCALBKI_SRCS= $(addprefix $(SRCDIR)/include/catalog/, \
|
TEMPLATE1_BKI_SRCS := $(addprefix $(top_srcdir)/src/include/catalog/,\
|
||||||
pg_proc.h pg_type.h pg_attribute.h pg_class.h \
|
pg_proc.h pg_type.h pg_attribute.h pg_class.h \
|
||||||
pg_inherits.h pg_index.h pg_statistic.h \
|
pg_inherits.h pg_index.h pg_statistic.h \
|
||||||
pg_operator.h pg_opclass.h pg_am.h pg_amop.h pg_amproc.h \
|
pg_operator.h pg_opclass.h pg_am.h pg_amop.h pg_amproc.h \
|
||||||
pg_language.h \
|
pg_language.h \
|
||||||
pg_aggregate.h pg_ipl.h pg_inheritproc.h \
|
pg_aggregate.h pg_ipl.h pg_inheritproc.h \
|
||||||
pg_rewrite.h pg_listener.h pg_description.h indexing.h \
|
pg_rewrite.h pg_listener.h pg_description.h indexing.h \
|
||||||
)
|
)
|
||||||
|
|
||||||
global1.bki.source: $(GENBKI) $(GLOBALBKI_SRCS) \
|
|
||||||
$(addprefix $(SRCDIR)/include/catalog/, indexing.h)
|
|
||||||
ifneq ($(PORTNAME), win)
|
|
||||||
sh $(SHOPTS) $(GENBKI) $(BKIOPTS) $(GLOBALBKI_SRCS) > $@ 2>global1.description
|
|
||||||
else
|
|
||||||
$(GENBKI) $(BKIOPTS) $(GLOBALBKI_SRCS) > $@ 2>global1.description
|
|
||||||
endif
|
|
||||||
|
|
||||||
local1_template1.bki.source: $(GENBKI) $(LOCALBKI_SRCS)
|
global.bki global.description: genbki.sh $(GLOBAL_BKI_SRCS) $(top_srcdir)/src/include/catalog/indexing.h
|
||||||
ifneq ($(PORTNAME), win)
|
CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $< $(BKIOPTS) -o global -I$(top_srcdir)/src/include $(GLOBAL_BKI_SRCS)
|
||||||
sh $(SHOPTS) $(GENBKI) $(BKIOPTS) $(LOCALBKI_SRCS) > $@ 2>local1_template1.description
|
|
||||||
else
|
|
||||||
$(GENBKI) $(BKIOPTS) $(LOCALBKI_SRCS) > $@ 2>local1_template1.description
|
|
||||||
endif
|
|
||||||
|
|
||||||
install-bki-templates: $(BKIFILES)
|
template1.bki template1.description: genbki.sh $(TEMPLATE1_BKI_SRCS)
|
||||||
$(INSTALL) $(INSTLOPTS) global1.bki.source \
|
CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $< $(BKIOPTS) -o template1 -I$(top_srcdir)/src/include $(TEMPLATE1_BKI_SRCS)
|
||||||
$(TEMPLATEDIR)/global1.bki.source
|
|
||||||
$(INSTALL) $(INSTLOPTS) global1.description \
|
.PHONY: install-bki
|
||||||
$(TEMPLATEDIR)/global1.description
|
install-bki: $(BKIFILES) installdirs
|
||||||
$(INSTALL) $(INSTLOPTS) local1_template1.bki.source \
|
$(INSTALL_DATA) global.bki $(datadir)/global.bki
|
||||||
$(TEMPLATEDIR)/local1_template1.bki.source
|
$(INSTALL_DATA) global.description $(datadir)/global.description
|
||||||
$(INSTALL) $(INSTLOPTS) local1_template1.description \
|
$(INSTALL_DATA) template1.bki $(datadir)/template1.bki
|
||||||
$(TEMPLATEDIR)/local1_template1.description
|
$(INSTALL_DATA) template1.description $(datadir)/template1.description
|
||||||
|
|
||||||
|
installdirs:
|
||||||
|
$(mkinstalldirs) $(datadir)
|
||||||
|
|
||||||
|
.PHONY: uninstall-bki
|
||||||
|
uninstall-bki:
|
||||||
|
rm -f $(addprefix $(datadir)/, $(BKIFILES))
|
||||||
|
|
||||||
depend dep:
|
|
||||||
$(CC) -MM $(CFLAGS) *.c >depend
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f SUBSYS.o $(OBJS) $(BKIFILES)
|
rm -f SUBSYS.o $(OBJS) $(BKIFILES)
|
||||||
|
|
||||||
|
|
||||||
|
depend dep:
|
||||||
|
$(CC) -MM $(CFLAGS) *.c >depend
|
||||||
|
|
||||||
ifeq (depend,$(wildcard depend))
|
ifeq (depend,$(wildcard depend))
|
||||||
include depend
|
include depend
|
||||||
endif
|
endif
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#! /bin/sh
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# genbki.sh--
|
# genbki.sh--
|
||||||
@ -10,7 +10,7 @@
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
# IDENTIFICATION
|
# IDENTIFICATION
|
||||||
# $Header: /cvsroot/pgsql/src/backend/catalog/Attic/genbki.sh.in,v 1.5 2000/01/11 04:02:28 tgl Exp $
|
# $Header: /cvsroot/pgsql/src/backend/catalog/Attic/genbki.sh,v 1.15 2000/07/06 21:33:22 petere Exp $
|
||||||
#
|
#
|
||||||
# NOTES
|
# NOTES
|
||||||
# non-essential whitespace is removed from the generated file.
|
# non-essential whitespace is removed from the generated file.
|
||||||
@ -18,45 +18,105 @@
|
|||||||
# end can be changed into another awk script or something smarter..
|
# end can be changed into another awk script or something smarter..
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
trap "rm -f /tmp/genbki.tmp /tmp/genbkitmp.c" 0 1 2 3 15
|
|
||||||
|
|
||||||
# make sure it is empty
|
: ${AWK='awk'}
|
||||||
>/tmp/genbki.tmp
|
: ${CPP='cc -E'}
|
||||||
|
|
||||||
if [ $? != 0 ]
|
CMDNAME=`basename $0`
|
||||||
then
|
|
||||||
echo `basename $0`: Bad option
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
BKIOPTS=''
|
BKIOPTS=
|
||||||
|
INCLUDE_DIR=
|
||||||
|
OUTPUT_PREFIX=
|
||||||
|
INFILES=
|
||||||
|
|
||||||
for opt in $*
|
#
|
||||||
|
# Process command line switches.
|
||||||
|
#
|
||||||
|
while [ $# -gt 0 ]
|
||||||
do
|
do
|
||||||
case $opt in
|
case $1 in
|
||||||
-D) BKIOPTS="$BKIOPTS -D$2"; shift; shift;;
|
-D)
|
||||||
-D*) BKIOPTS="$BKIOPTS $1";shift;;
|
BKIOPTS="$BKIOPTS -D$2"
|
||||||
--) shift; break;;
|
shift;;
|
||||||
|
-D*)
|
||||||
|
BKIOPTS="$BKIOPTS $1"
|
||||||
|
;;
|
||||||
|
-I)
|
||||||
|
INCLUDE_DIR="$2"
|
||||||
|
shift;;
|
||||||
|
-I*)
|
||||||
|
INCLUDE_DIR=`echo $1 | sed s/^-I//`
|
||||||
|
;;
|
||||||
|
-o)
|
||||||
|
OUTPUT_PREFIX="$2"
|
||||||
|
shift;;
|
||||||
|
-o*)
|
||||||
|
OUTPUT_PREFIX=`echo $1 | sed s/^-o//`
|
||||||
|
;;
|
||||||
|
--help)
|
||||||
|
echo "$CMDNAME generates system catalog bootstrapping files."
|
||||||
|
echo
|
||||||
|
echo "Usage:"
|
||||||
|
echo " $CMDNAME [ -D define [...] ] [ -I dir ] [ -o prefix ]"
|
||||||
|
echo
|
||||||
|
echo "Options:"
|
||||||
|
echo " -I path to postgres_ext.h and config.h files"
|
||||||
|
echo " -o prefix of output files"
|
||||||
|
echo
|
||||||
|
echo "The environment variables CPP and AWK determine which C"
|
||||||
|
echo "preprocessor and Awk program to use. The defaults are"
|
||||||
|
echo "\`cc -E' and \`awk'."
|
||||||
|
echo
|
||||||
|
echo "Report bugs to <pgsql-bugs@postgresql.org>."
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
-*)
|
||||||
|
echo "$CMDNAME: invalid option: $1"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
INFILES="$INFILES $1"
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
|
||||||
|
|
||||||
# ----------------
|
|
||||||
# collect nodefiles
|
|
||||||
# ----------------
|
|
||||||
SYSFILES=''
|
|
||||||
x=1
|
|
||||||
numargs=$#
|
|
||||||
while test $x -le $numargs ; do
|
|
||||||
SYSFILES="$SYSFILES $1"
|
|
||||||
x=`expr $x + 1`
|
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
|
||||||
|
if [ x"$INFILES" = x"" ] ; then
|
||||||
|
echo "$CMDNAME: no input files" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ x"$OUTPUT_PREFIX" = x"" ] ; then
|
||||||
|
echo "$CMDNAME: no output prefix specified" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ x"$INCLUDE_DIR" = x"" ] ; then
|
||||||
|
echo "$CMDNAME: path to include directory unknown" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [ x"$TMPDIR" = x"" ] ; then
|
||||||
|
TMPDIR=/tmp
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
TMPFILE="$TMPDIR/genbkitmp.c"
|
||||||
|
|
||||||
|
trap "rm -f $TMPFILE" 0 1 2 3 15
|
||||||
|
|
||||||
|
|
||||||
|
# clear output files
|
||||||
|
> ${OUTPUT_PREFIX}.bki
|
||||||
|
> ${OUTPUT_PREFIX}.description
|
||||||
|
|
||||||
|
|
||||||
# Get NAMEDATALEN from postgres_ext.h
|
# Get NAMEDATALEN from postgres_ext.h
|
||||||
NAMEDATALEN=`grep '#define[ ]*NAMEDATALEN' ../../include/postgres_ext.h | awk '{ print $3 }'`
|
NAMEDATALEN=`grep '#define[ ]*NAMEDATALEN' $INCLUDE_DIR/postgres_ext.h | awk '{ print $3 }'`
|
||||||
|
|
||||||
# Get INDEX_MAX_KEYS from config.h (who needs consistency?)
|
# Get INDEX_MAX_KEYS from config.h (who needs consistency?)
|
||||||
INDEXMAXKEYS=`grep '#define[ ]*INDEX_MAX_KEYS' ../../include/config.h | awk '{ print $3 }'`
|
INDEXMAXKEYS=`grep '#define[ ]*INDEX_MAX_KEYS' $INCLUDE_DIR/config.h | awk '{ print $3 }'`
|
||||||
|
|
||||||
# NOTE: we assume here that FUNC_MAX_ARGS has the same value as INDEX_MAX_KEYS,
|
# NOTE: we assume here that FUNC_MAX_ARGS has the same value as INDEX_MAX_KEYS,
|
||||||
# and don't read it separately from config.h. This is OK because both of them
|
# and don't read it separately from config.h. This is OK because both of them
|
||||||
@ -73,7 +133,7 @@ INDEXMAXKEYS4=`expr $INDEXMAXKEYS '*' 4`
|
|||||||
# also, change NameData to name. -- jolly 8/21/95.
|
# also, change NameData to name. -- jolly 8/21/95.
|
||||||
# put multi-line start/end comments on a separate line
|
# put multi-line start/end comments on a separate line
|
||||||
#
|
#
|
||||||
cat $SYSFILES | \
|
cat $INFILES | \
|
||||||
sed -e 's;/\*.*\*/;;g' \
|
sed -e 's;/\*.*\*/;;g' \
|
||||||
-e 's;/\*;\
|
-e 's;/\*;\
|
||||||
/*\
|
/*\
|
||||||
@ -96,7 +156,7 @@ sed -e "s/;[ ]*$//g" \
|
|||||||
-e "s/FUNC_MAX_ARGS\*2/$INDEXMAXKEYS2/g" \
|
-e "s/FUNC_MAX_ARGS\*2/$INDEXMAXKEYS2/g" \
|
||||||
-e "s/FUNC_MAX_ARGS\*4/$INDEXMAXKEYS4/g" \
|
-e "s/FUNC_MAX_ARGS\*4/$INDEXMAXKEYS4/g" \
|
||||||
-e "s/FUNC_MAX_ARGS/$INDEXMAXKEYS/g" \
|
-e "s/FUNC_MAX_ARGS/$INDEXMAXKEYS/g" \
|
||||||
| awk '
|
| $AWK '
|
||||||
# ----------------
|
# ----------------
|
||||||
# now use awk to process remaining .h file..
|
# now use awk to process remaining .h file..
|
||||||
#
|
#
|
||||||
@ -161,7 +221,7 @@ raw == 1 { print; next; }
|
|||||||
{
|
{
|
||||||
data = substr($0, 8, length($0) - 9);
|
data = substr($0, 8, length($0) - 9);
|
||||||
if (data != "")
|
if (data != "")
|
||||||
printf "%d %s\n", oid, data >> "/tmp/genbki.tmp";
|
printf "%d %s\n", oid, data >>descriptionfile;
|
||||||
}
|
}
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
@ -289,16 +349,11 @@ END {
|
|||||||
reln_open = 0;
|
reln_open = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
' >/tmp/genbkitmp.c
|
' "descriptionfile=${OUTPUT_PREFIX}.description" > $TMPFILE || exit
|
||||||
|
|
||||||
@CPP@ $BKIOPTS /tmp/genbkitmp.c | \
|
$CPP $BKIOPTS $TMPFILE | \
|
||||||
sed -e '/^[ ]*$/d' \
|
sed -e '/^[ ]*$/d' \
|
||||||
-e 's/[ ][ ]*/ /g' || exit 1
|
-e 's/[ ][ ]*/ /g' > ${OUTPUT_PREFIX}.bki || exit
|
||||||
|
|
||||||
# send pg_description file contents to standard error
|
|
||||||
cat /tmp/genbki.tmp 1>&2
|
|
||||||
|
|
||||||
# ----------------
|
|
||||||
# all done
|
|
||||||
# ----------------
|
|
||||||
exit 0
|
exit 0
|
@ -1,67 +0,0 @@
|
|||||||
/*-------------------------------------------------------------------------
|
|
||||||
*
|
|
||||||
* fixade.h
|
|
||||||
* compiler tricks to make things work while POSTGRES does non-native
|
|
||||||
* dereferences on PA-RISC.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
|
|
||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
|
||||||
*
|
|
||||||
* $Id: fixade.h,v 1.8 2000/01/26 05:56:46 momjian Exp $
|
|
||||||
*
|
|
||||||
* NOTES
|
|
||||||
* This must be included in EVERY source file.
|
|
||||||
*
|
|
||||||
*-------------------------------------------------------------------------
|
|
||||||
*/
|
|
||||||
#ifndef FIXADE_H
|
|
||||||
#define FIXADE_H
|
|
||||||
|
|
||||||
#if !defined(NOFIXADE)
|
|
||||||
|
|
||||||
#if defined(HP_S500_ALIGN)
|
|
||||||
/* ----------------
|
|
||||||
* This cheesy hack turns ON unaligned-access fixup on H-P PA-RISC;
|
|
||||||
* the resulting object files contain code that explicitly handles
|
|
||||||
* realignment on reference, so it slows memory access down by a
|
|
||||||
* considerable factor. It must be used in conjunction with the +u
|
|
||||||
* flag to cc. The #pragma is included in c.h to be safe since EVERY
|
|
||||||
* source file that performs unaligned access must contain the #pragma.
|
|
||||||
* ----------------
|
|
||||||
*/
|
|
||||||
#pragma HP_ALIGN HPUX_NATURAL_S500
|
|
||||||
|
|
||||||
#if defined(BROKEN_STRUCT_INIT)
|
|
||||||
/* ----------------
|
|
||||||
* This is so bogus. The HP-UX 9.01 compiler has totally broken
|
|
||||||
* struct initialization code. It actually length-checks ALL
|
|
||||||
* array initializations within structs against the FIRST one that
|
|
||||||
* it sees (when #pragma HP_ALIGN HPUX_NATURAL_S500 is defined)..
|
|
||||||
* we have to throw in this unused structure before struct varlena
|
|
||||||
* is defined.
|
|
||||||
*
|
|
||||||
* XXX guess you don't need the #pragma anymore after all :-)
|
|
||||||
* since no one looks at this except me i think i'll just leave
|
|
||||||
* this here for now..
|
|
||||||
* ----------------
|
|
||||||
*/
|
|
||||||
struct HP_WAY_BOGUS
|
|
||||||
{
|
|
||||||
char hpwb_bogus[8191 + 1];
|
|
||||||
};
|
|
||||||
struct HP_TOO_BOGUS
|
|
||||||
{
|
|
||||||
int hptb_bogus[8191 + 1];
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* BROKEN_STRUCT_INIT */
|
|
||||||
#endif /* HP_S500_ALIGN */
|
|
||||||
|
|
||||||
#if defined(WEAK_C_OPTIMIZER)
|
|
||||||
#pragma OPT_LEVEL 1
|
|
||||||
#endif /* WEAK_C_OPTIMIZER */
|
|
||||||
|
|
||||||
#endif /* !NOFIXADE */
|
|
||||||
|
|
||||||
#endif /* FIXADE_H */
|
|
@ -9,7 +9,7 @@
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
# IDENTIFICATION
|
# IDENTIFICATION
|
||||||
# $Header: /cvsroot/pgsql/src/backend/utils/Attic/Gen_fmgrtab.sh,v 1.15 2000/07/01 21:16:44 petere Exp $
|
# $Header: /cvsroot/pgsql/src/backend/utils/Attic/Gen_fmgrtab.sh,v 1.16 2000/07/06 21:33:30 petere Exp $
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -33,10 +33,10 @@ do
|
|||||||
case $1 in
|
case $1 in
|
||||||
-D)
|
-D)
|
||||||
BKIOPTS="$BKIOPTS -D$2"
|
BKIOPTS="$BKIOPTS -D$2"
|
||||||
;;
|
shift;;
|
||||||
-D*)
|
-D*)
|
||||||
BKIOPTS="$BKIOPTS $1"
|
BKIOPTS="$BKIOPTS $1"
|
||||||
shift;;
|
;;
|
||||||
--noclean)
|
--noclean)
|
||||||
noclean=t
|
noclean=t
|
||||||
;;
|
;;
|
||||||
@ -60,6 +60,7 @@ do
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
INFILE=$1
|
INFILE=$1
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1994, Regents of the University of California
|
# Copyright (c) 1994, Regents of the University of California
|
||||||
#
|
#
|
||||||
# $Header: /cvsroot/pgsql/src/bin/initdb/Makefile,v 1.19 2000/07/02 15:21:00 petere Exp $
|
# $Header: /cvsroot/pgsql/src/bin/initdb/Makefile,v 1.20 2000/07/06 21:33:38 petere Exp $
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -15,7 +15,11 @@ include ../../Makefile.global
|
|||||||
all: initdb
|
all: initdb
|
||||||
|
|
||||||
initdb: initdb.sh ../../Makefile.global
|
initdb: initdb.sh ../../Makefile.global
|
||||||
sed -e 's/__MULTIBYTE__/$(MULTIBYTE)/g' -e 's/__VERSION__/$(VERSION)/g' < $< > $@
|
sed -e 's/__MULTIBYTE__/$(MULTIBYTE)/g' \
|
||||||
|
-e 's/__VERSION__/$(VERSION)/g' \
|
||||||
|
-e 's:__bindir__:$(bindir):g' \
|
||||||
|
-e 's:__datadir__:$(datadir):g' \
|
||||||
|
< $< > $@
|
||||||
|
|
||||||
install: all installdirs
|
install: all installdirs
|
||||||
$(INSTALL_SCRIPT) initdb $(bindir)/initdb
|
$(INSTALL_SCRIPT) initdb $(bindir)/initdb
|
||||||
|
@ -1,40 +1,42 @@
|
|||||||
#!/bin/sh
|
#! /bin/sh
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# initdb.sh--
|
# initdb creates (initializes) a Postgres database cluster (site,
|
||||||
# Create (initialize) a Postgres database system.
|
# instance, installation, whatever). A database cluster is a
|
||||||
#
|
# collection of Postgres databases all managed by the same postmaster.
|
||||||
# A database system is a collection of Postgres databases all managed
|
|
||||||
# by the same postmaster.
|
|
||||||
#
|
#
|
||||||
# To create the database system, we create the directory that contains
|
# To create the database cluster, we create the directory that contains
|
||||||
# all its data, create the files that hold the global classes, create
|
# all its data, create the files that hold the global tables, create
|
||||||
# a few other control files for it, and create one database: the
|
# a few other control files for it, and create one database: the
|
||||||
# template database.
|
# template database.
|
||||||
#
|
#
|
||||||
# The template database is an ordinary Postgres database. Its data
|
# The template database is an ordinary Postgres database. Its data
|
||||||
# never changes, though. It exists to make it easy for Postgres to
|
# never changes, though. It exists to make it easy for Postgres to
|
||||||
# create other databases -- it just copies.
|
# create other databases -- it just copies.
|
||||||
#
|
#
|
||||||
# Optionally, we can skip creating the database system and just create
|
# Optionally, we can skip creating the complete database cluster and
|
||||||
# (or replace) the template database.
|
# just create (or replace) the template database.
|
||||||
|
#
|
||||||
|
# To create all those things, we run the postgres (backend) program and
|
||||||
|
# feed it data from the bki files that were installed.
|
||||||
#
|
#
|
||||||
# To create all those classes, we run the postgres (backend) program and
|
|
||||||
# feed it data from bki files that are in the Postgres library directory.
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 1994, Regents of the University of California
|
# Copyright (c) 1994, Regents of the University of California
|
||||||
#
|
#
|
||||||
#
|
# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.101 2000/07/06 21:33:38 petere Exp $
|
||||||
# IDENTIFICATION
|
|
||||||
# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.100 2000/07/05 19:51:03 wieck Exp $
|
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
##########################################################################
|
||||||
|
#
|
||||||
|
# INITIALIZATION
|
||||||
|
|
||||||
exit_nicely(){
|
exit_nicely(){
|
||||||
stty echo > /dev/null 2>&1
|
stty echo > /dev/null 2>&1
|
||||||
echo
|
echo
|
||||||
echo "$CMDNAME failed."
|
echo "$CMDNAME failed."
|
||||||
if [ "$noclean" -eq 0 ]; then
|
if [ "$noclean" != yes ]; then
|
||||||
echo "Removing $PGDATA."
|
echo "Removing $PGDATA."
|
||||||
rm -rf "$PGDATA" || echo "Failed."
|
rm -rf "$PGDATA" || echo "Failed."
|
||||||
echo "Removing temp file $TEMPFILE."
|
echo "Removing temp file $TEMPFILE."
|
||||||
@ -48,6 +50,15 @@ exit_nicely(){
|
|||||||
|
|
||||||
CMDNAME=`basename $0`
|
CMDNAME=`basename $0`
|
||||||
|
|
||||||
|
# Placed here during build
|
||||||
|
VERSION=__VERSION__
|
||||||
|
bindir='__bindir__'
|
||||||
|
# Note that "datadir" is not the directory we're initializing, it's
|
||||||
|
# merely how Autoconf names PREFIX/share.
|
||||||
|
datadir='__datadir__'
|
||||||
|
# as set by configure --enable-multibyte[=XXX].
|
||||||
|
MULTIBYTE=__MULTIBYTE__
|
||||||
|
|
||||||
if [ "$TMPDIR" ]; then
|
if [ "$TMPDIR" ]; then
|
||||||
TEMPFILE="$TMPDIR/initdb.$$"
|
TEMPFILE="$TMPDIR/initdb.$$"
|
||||||
else
|
else
|
||||||
@ -87,6 +98,10 @@ else
|
|||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ x"$PGPATH" = x"" ] ; then
|
||||||
|
PGPATH=$bindir
|
||||||
|
fi
|
||||||
|
|
||||||
# Check if needed programs actually exist in path
|
# Check if needed programs actually exist in path
|
||||||
for prog in postgres pg_id
|
for prog in postgres pg_id
|
||||||
do
|
do
|
||||||
@ -117,24 +132,26 @@ then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Replaced at build time
|
|
||||||
VERSION=__VERSION__
|
|
||||||
short_version=`echo $VERSION | sed -e 's!^\([0-9][0-9]*\.[0-9][0-9]*\).*!\1!'`
|
short_version=`echo $VERSION | sed -e 's!^\([0-9][0-9]*\.[0-9][0-9]*\).*!\1!'`
|
||||||
if [ x"$short_version" = x"" ] ; then
|
if [ x"$short_version" = x"" ] ; then
|
||||||
echo "$CMDNAME: bug: version number is out of format"
|
echo "$CMDNAME: bug: version number is out of format"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
##########################################################################
|
||||||
|
#
|
||||||
|
# COMMAND LINE OPTIONS
|
||||||
|
|
||||||
# 0 is the default (non-)encoding
|
# 0 is the default (non-)encoding
|
||||||
MULTIBYTEID=0
|
MULTIBYTEID=0
|
||||||
# This is placed here by configure --enable-multibyte[=XXX].
|
|
||||||
MULTIBYTE=__MULTIBYTE__
|
|
||||||
|
|
||||||
# Set defaults:
|
# Set defaults:
|
||||||
debug=0
|
debug=
|
||||||
noclean=0
|
noclean=
|
||||||
template_only=0
|
template_only=
|
||||||
show_setting=0
|
show_setting=
|
||||||
|
|
||||||
# Note: There is a single compelling reason that the name of the database
|
# Note: There is a single compelling reason that the name of the database
|
||||||
# superuser be the same as the Unix user owning the server process:
|
# superuser be the same as the Unix user owning the server process:
|
||||||
@ -156,18 +173,18 @@ do
|
|||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
--debug|-d)
|
--debug|-d)
|
||||||
debug=1
|
debug=yes
|
||||||
echo "Running with debug mode on."
|
echo "Running with debug mode on."
|
||||||
;;
|
;;
|
||||||
--show|-s)
|
--show|-s)
|
||||||
show_setting=1
|
show_setting=yes
|
||||||
;;
|
;;
|
||||||
--noclean|-n)
|
--noclean|-n)
|
||||||
noclean=1
|
noclean=yes
|
||||||
echo "Running with noclean mode on. Mistakes will not be cleaned up."
|
echo "Running with noclean mode on. Mistakes will not be cleaned up."
|
||||||
;;
|
;;
|
||||||
--template|-t)
|
--template|-t)
|
||||||
template_only=1
|
template_only=yes
|
||||||
echo "Updating template1 database only."
|
echo "Updating template1 database only."
|
||||||
;;
|
;;
|
||||||
# The sysid of the database superuser. Can be freely changed.
|
# The sysid of the database superuser. Can be freely changed.
|
||||||
@ -196,16 +213,13 @@ do
|
|||||||
-D*)
|
-D*)
|
||||||
PGDATA=`echo $1 | sed 's/^-D//'`
|
PGDATA=`echo $1 | sed 's/^-D//'`
|
||||||
;;
|
;;
|
||||||
# The directory where the database templates are stored (traditionally in
|
# The directory where the database templates are stored. Normally
|
||||||
# $prefix/lib). This is now autodetected for the most common layouts.
|
# they are in PREFIX/share and this option should be unnecessary.
|
||||||
--pglib|-L)
|
-L)
|
||||||
PGLIB="$2"
|
datadir="$2"
|
||||||
shift;;
|
shift;;
|
||||||
--pglib=*)
|
|
||||||
PGLIB=`echo $1 | sed 's/^--pglib=//'`
|
|
||||||
;;
|
|
||||||
-L*)
|
-L*)
|
||||||
PGLIB=`echo $1 | sed 's/^-L//'`
|
datadir=`echo $1 | sed 's/^-L//'`
|
||||||
;;
|
;;
|
||||||
# The encoding of the template1 database. Defaults to what you chose
|
# The encoding of the template1 database. Defaults to what you chose
|
||||||
# at configure time. (see above)
|
# at configure time. (see above)
|
||||||
@ -231,27 +245,26 @@ do
|
|||||||
done
|
done
|
||||||
|
|
||||||
if [ "$usage" ]; then
|
if [ "$usage" ]; then
|
||||||
echo "initdb initialized a PostgreSQL database."
|
echo "$CMDNAME initialized a PostgreSQL database cluster."
|
||||||
echo
|
echo
|
||||||
echo "Usage:"
|
echo "Usage:"
|
||||||
echo " $CMDNAME [options] datadir"
|
echo " $CMDNAME [options] datadir"
|
||||||
echo
|
echo
|
||||||
echo "Options:"
|
echo "Options:"
|
||||||
echo " [-D, --pgdata] <datadir> Location for this database"
|
echo " [-D, --pgdata] <datadir> Location for this database cluster"
|
||||||
echo " -W, --pwprompt Prompt for a password for the new superuser's"
|
echo " -W, --pwprompt Prompt for a password for the new superuser"
|
||||||
if [ -n "$MULTIBYTE" ]
|
if [ -n "$MULTIBYTE" ] ; then
|
||||||
then
|
echo " -E, --encoding <encoding> Set the default multibyte encoding for new databases"
|
||||||
echo " -E, --encoding <encoding> Set the default multibyte encoding for new databases"
|
fi
|
||||||
fi
|
echo " -i, --sysid <sysid> Database sysid for the superuser"
|
||||||
echo " -i, --sysid <sysid> Database sysid for the superuser"
|
echo "Less commonly used options: "
|
||||||
echo "Less commonly used options: "
|
echo " -L <directory> Where to find the input files"
|
||||||
echo " -L, --pglib <libdir> Where to find the input files"
|
echo " -t, --template Re-initialize template database only"
|
||||||
echo " -t, --template Re-initialize template database only"
|
echo " -d, --debug Generate lots of debugging output"
|
||||||
echo " -d, --debug Generate lots of debugging output"
|
echo " -n, --noclean Do not clean up after errors"
|
||||||
echo " -n, --noclean Do not clean up after errors"
|
echo
|
||||||
echo
|
echo "Report bugs to <pgsql-bugs@postgresql.org>."
|
||||||
echo "Report bugs to <pgsql-bugs@postgresql.org>."
|
exit 0
|
||||||
exit 0
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
@ -284,7 +297,7 @@ fi
|
|||||||
if [ -z "$PGDATA" ]
|
if [ -z "$PGDATA" ]
|
||||||
then
|
then
|
||||||
echo "$CMDNAME: You must identify where the the data for this database"
|
echo "$CMDNAME: You must identify where the the data for this database"
|
||||||
echo "system will reside. Do this with either a --pgdata invocation"
|
echo "system will reside. Do this with either a -D invocation"
|
||||||
echo "option or a PGDATA environment variable."
|
echo "option or a PGDATA environment variable."
|
||||||
echo
|
echo
|
||||||
exit 1
|
exit 1
|
||||||
@ -305,76 +318,40 @@ fi
|
|||||||
# Find the input files
|
# Find the input files
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
|
|
||||||
if [ -z "$PGLIB" ]
|
TEMPLATE1_BKI="$datadir"/template1.bki
|
||||||
|
GLOBAL_BKI="$datadir"/global.bki
|
||||||
|
|
||||||
|
TEMPLATE1_DESCR="$datadir"/template1.description
|
||||||
|
GLOBAL_DESCR="$datadir"/global.description
|
||||||
|
|
||||||
|
PG_HBA_SAMPLE="$datadir"/pg_hba.conf.sample
|
||||||
|
POSTGRESQL_CONF_SAMPLE="$datadir"/postgresql.conf.sample
|
||||||
|
|
||||||
|
if [ "$show_setting" = yes ] || [ "$debug" = yes ]
|
||||||
then
|
then
|
||||||
for dir in "$PGPATH/../lib" "$PGPATH/../lib/pgsql"
|
echo
|
||||||
do
|
echo "Initdb variables:"
|
||||||
if [ -f "$dir/global1.bki.source" ]
|
for var in PGDATA datadir PGPATH TEMPFILE MULTIBYTE MULTIBYTEID \
|
||||||
then
|
POSTGRES_SUPERUSERNAME POSTGRES_SUPERUSERID TEMPLATE1_BKI GLOBAL_BKI \
|
||||||
PGLIB="$dir"
|
TEMPLATE1_DESCR GLOBAL_DESCR POSTGRESQL_CONF_SAMPLE PG_HBA_SAMPLE ; do
|
||||||
break
|
eval "echo ' '$var=\$$var"
|
||||||
fi
|
done
|
||||||
done
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$PGLIB" ]
|
if [ "$show_setting" = yes ] ; then
|
||||||
then
|
exit 0
|
||||||
echo "$CMDNAME: Could not find the \"lib\" directory, that contains"
|
|
||||||
echo "the files needed by initdb. Please specify it with the"
|
|
||||||
echo "--pglib option."
|
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
for PREREQ_FILE in "$TEMPLATE1_BKI" "$GLOBAL_BKI" "$PG_HBA_SAMPLE"
|
||||||
TEMPLATE="$PGLIB"/local1_template1.bki.source
|
|
||||||
GLOBAL="$PGLIB"/global1.bki.source
|
|
||||||
PG_HBA_SAMPLE="$PGLIB"/pg_hba.conf.sample
|
|
||||||
POSTGRESQL_CONF_SAMPLE="$PGLIB"/postgresql.conf.sample
|
|
||||||
|
|
||||||
TEMPLATE_DESCR="$PGLIB"/local1_template1.description
|
|
||||||
GLOBAL_DESCR="$PGLIB"/global1.description
|
|
||||||
|
|
||||||
if [ "$show_setting" -eq 1 ]
|
|
||||||
then
|
|
||||||
echo
|
|
||||||
echo "The initdb setting:"
|
|
||||||
echo
|
|
||||||
echo " DATADIR: $PGDATA"
|
|
||||||
echo " PGLIB: $PGLIB"
|
|
||||||
echo " PGPATH: $PGPATH"
|
|
||||||
echo " TEMPFILE: $TEMPFILE"
|
|
||||||
echo " MULTIBYTE: $MULTIBYTE"
|
|
||||||
echo " MULTIBYTEID: $MULTIBYTEID"
|
|
||||||
echo " SUPERUSERNAME: $POSTGRES_SUPERUSERNAME"
|
|
||||||
echo " SUPERUSERID: $POSTGRES_SUPERUSERID"
|
|
||||||
echo " TEMPLATE: $TEMPLATE"
|
|
||||||
echo " GLOBAL: $GLOBAL"
|
|
||||||
echo " PG_HBA_SAMPLE: $PG_HBA_SAMPLE"
|
|
||||||
echo " POSTGRESQL_CONF_SAMPLE: $POSTGRESQL_CONF_SAMPLE"
|
|
||||||
echo " TEMPLATE_DESCR: $TEMPLATE_DESCR"
|
|
||||||
echo " GLOBAL_DESCR: $GLOBAL_DESCR"
|
|
||||||
echo
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
for PREREQ_FILE in "$TEMPLATE" "$GLOBAL" "$PG_HBA_SAMPLE"
|
|
||||||
do
|
do
|
||||||
if [ ! -f "$PREREQ_FILE" ]
|
if [ ! -f "$PREREQ_FILE" ] ; then
|
||||||
then
|
|
||||||
echo "$CMDNAME does not find the file '$PREREQ_FILE'."
|
echo "$CMDNAME does not find the file '$PREREQ_FILE'."
|
||||||
echo "This means you have a corrupted installation or identified the"
|
echo "This means you have a corrupted installation or identified the"
|
||||||
echo "wrong directory with the --pglib invocation option."
|
echo "wrong directory with the -L invocation option."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
[ "$debug" -ne 0 ] && echo "$CMDNAME: Using $TEMPLATE as input to create the template database."
|
|
||||||
|
|
||||||
if [ "$template_only" -eq 0 ]
|
|
||||||
then
|
|
||||||
[ "$debug" -ne 0 ] && echo "$CMDNAME: Using $GLOBAL as input to create the global classes."
|
|
||||||
[ "$debug" -ne 0 ] && echo "$CMDNAME: Using $PG_HBA_SAMPLE as default authentication control file."
|
|
||||||
fi
|
|
||||||
|
|
||||||
trap 'echo "Caught signal." ; exit_nicely' 1 2 3 15
|
trap 'echo "Caught signal." ; exit_nicely' 1 2 3 15
|
||||||
|
|
||||||
@ -383,16 +360,17 @@ echo "This database system will be initialized with username \"$POSTGRES_SUPERUS
|
|||||||
echo "This user will own all the data files and must also own the server process."
|
echo "This user will own all the data files and must also own the server process."
|
||||||
echo
|
echo
|
||||||
|
|
||||||
# -----------------------------------------------------------------------
|
|
||||||
# Create the data directory if necessary
|
##########################################################################
|
||||||
# -----------------------------------------------------------------------
|
#
|
||||||
|
# CREATE DATABASE DIRECTORY
|
||||||
|
|
||||||
# umask must disallow access to group, other for files and dirs
|
# umask must disallow access to group, other for files and dirs
|
||||||
umask 077
|
umask 077
|
||||||
|
|
||||||
if [ -f "$PGDATA"/PG_VERSION ]
|
if [ -f "$PGDATA"/PG_VERSION ]
|
||||||
then
|
then
|
||||||
if [ "$template_only" -eq 0 ]
|
if [ "$template_only" != yes ]
|
||||||
then
|
then
|
||||||
echo "$CMDNAME: The file $PGDATA/PG_VERSION already exists."
|
echo "$CMDNAME: The file $PGDATA/PG_VERSION already exists."
|
||||||
echo "This probably means initdb has already been run and the"
|
echo "This probably means initdb has already been run and the"
|
||||||
@ -430,14 +408,15 @@ else
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
|
||||||
# Create the template1 database
|
##########################################################################
|
||||||
#----------------------------------------------------------------------------
|
#
|
||||||
|
# CREATE TEMPLATE1 DATABASE
|
||||||
|
|
||||||
rm -rf "$PGDATA"/base/template1 || exit_nicely
|
rm -rf "$PGDATA"/base/template1 || exit_nicely
|
||||||
mkdir "$PGDATA"/base/template1 || exit_nicely
|
mkdir "$PGDATA"/base/template1 || exit_nicely
|
||||||
|
|
||||||
if [ "$debug" -eq 1 ]
|
if [ "$debug" = yes ]
|
||||||
then
|
then
|
||||||
BACKEND_TALK_ARG="-d"
|
BACKEND_TALK_ARG="-d"
|
||||||
else
|
else
|
||||||
@ -448,25 +427,26 @@ BACKENDARGS="-boot -C -F -D$PGDATA $BACKEND_TALK_ARG"
|
|||||||
FIRSTRUN="-boot -x -C -F -D$PGDATA $BACKEND_TALK_ARG"
|
FIRSTRUN="-boot -x -C -F -D$PGDATA $BACKEND_TALK_ARG"
|
||||||
|
|
||||||
echo "Creating template database in $PGDATA/base/template1"
|
echo "Creating template database in $PGDATA/base/template1"
|
||||||
[ "$debug" -ne 0 ] && echo "Running: $PGPATH/postgres $FIRSTRUN template1"
|
[ "$debug" = yes ] && echo "Running: $PGPATH/postgres $FIRSTRUN template1"
|
||||||
|
|
||||||
cat "$TEMPLATE" \
|
cat "$TEMPLATE1_BKI" \
|
||||||
| sed -e "s/PGUID/$POSTGRES_SUPERUSERID/g" \
|
| sed -e "s/PGUID/$POSTGRES_SUPERUSERID/g" \
|
||||||
| "$PGPATH"/postgres $FIRSTRUN template1 \
|
| "$PGPATH"/postgres $FIRSTRUN template1 \
|
||||||
|| exit_nicely
|
|| exit_nicely
|
||||||
|
|
||||||
echo $short_version > "$PGDATA"/base/template1/PG_VERSION || exit_nicely
|
echo $short_version > "$PGDATA"/base/template1/PG_VERSION || exit_nicely
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
|
||||||
# Create the global classes, if requested.
|
|
||||||
#----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
if [ "$template_only" -eq 0 ]
|
##########################################################################
|
||||||
|
#
|
||||||
|
# CREATE GLOBAL TABLES
|
||||||
|
|
||||||
|
if [ "$template_only" != yes ]
|
||||||
then
|
then
|
||||||
echo "Creating global relations in $PGDATA/global"
|
echo "Creating global relations in $PGDATA/global"
|
||||||
[ "$debug" -ne 0 ] && echo "Running: $PGPATH/postgres $BACKENDARGS template1"
|
[ "$debug" = yes ] && echo "Running: $PGPATH/postgres $BACKENDARGS template1"
|
||||||
|
|
||||||
cat "$GLOBAL" \
|
cat "$GLOBAL_BKI" \
|
||||||
| sed -e "s/POSTGRES/$POSTGRES_SUPERUSERNAME/g" \
|
| sed -e "s/POSTGRES/$POSTGRES_SUPERUSERNAME/g" \
|
||||||
-e "s/PGUID/$POSTGRES_SUPERUSERID/g" \
|
-e "s/PGUID/$POSTGRES_SUPERUSERID/g" \
|
||||||
| "$PGPATH"/postgres $BACKENDARGS template1 \
|
| "$PGPATH"/postgres $BACKENDARGS template1 \
|
||||||
@ -485,7 +465,7 @@ then
|
|||||||
#echo "show" >> "$TEMPFILE"
|
#echo "show" >> "$TEMPFILE"
|
||||||
echo "close pg_database" >> "$TEMPFILE"
|
echo "close pg_database" >> "$TEMPFILE"
|
||||||
|
|
||||||
[ "$debug" -ne 0 ] && echo "Running: $PGPATH/postgres $BACKENDARGS template1 < $TEMPFILE"
|
[ "$debug" = yes ] && echo "Running: $PGPATH/postgres $BACKENDARGS template1 < $TEMPFILE"
|
||||||
|
|
||||||
"$PGPATH"/postgres $BACKENDARGS template1 < "$TEMPFILE"
|
"$PGPATH"/postgres $BACKENDARGS template1 < "$TEMPFILE"
|
||||||
# Gotta remove that temp file before exiting on error.
|
# Gotta remove that temp file before exiting on error.
|
||||||
@ -494,6 +474,11 @@ then
|
|||||||
[ "$retval" -ne 0 ] && exit_nicely
|
[ "$retval" -ne 0 ] && exit_nicely
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
##########################################################################
|
||||||
|
#
|
||||||
|
# CREATE VIEWS and other things
|
||||||
|
|
||||||
echo
|
echo
|
||||||
|
|
||||||
PGSQL_OPT="-o /dev/null -O -F -D$PGDATA"
|
PGSQL_OPT="-o /dev/null -O -F -D$PGDATA"
|
||||||
@ -607,7 +592,7 @@ echo "CREATE VIEW pg_indexes AS \
|
|||||||
|
|
||||||
echo "Loading pg_description."
|
echo "Loading pg_description."
|
||||||
echo "COPY pg_description FROM STDIN" > $TEMPFILE
|
echo "COPY pg_description FROM STDIN" > $TEMPFILE
|
||||||
cat "$TEMPLATE_DESCR" >> $TEMPFILE
|
cat "$TEMPLATE1_DESCR" >> $TEMPFILE
|
||||||
cat "$GLOBAL_DESCR" >> $TEMPFILE
|
cat "$GLOBAL_DESCR" >> $TEMPFILE
|
||||||
|
|
||||||
cat $TEMPFILE \
|
cat $TEMPFILE \
|
||||||
@ -618,6 +603,11 @@ echo "Vacuuming database."
|
|||||||
echo "VACUUM ANALYZE" \
|
echo "VACUUM ANALYZE" \
|
||||||
| "$PGPATH"/postgres $PGSQL_OPT template1 > /dev/null || exit_nicely
|
| "$PGPATH"/postgres $PGSQL_OPT template1 > /dev/null || exit_nicely
|
||||||
|
|
||||||
|
|
||||||
|
##########################################################################
|
||||||
|
#
|
||||||
|
# FINISHED
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "Success. You can now start the database server using:"
|
echo "Success. You can now start the database server using:"
|
||||||
echo ""
|
echo ""
|
||||||
|
55
src/include/Makefile
Normal file
55
src/include/Makefile
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
#-------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Makefile for src/include
|
||||||
|
#
|
||||||
|
# Install exported headers to the include directory (these headers are
|
||||||
|
# the minimal ones needed to build loadable backend extensions).
|
||||||
|
#
|
||||||
|
# $Header: /cvsroot/pgsql/src/include/Makefile,v 1.1 2000/07/06 21:33:44 petere Exp $
|
||||||
|
#
|
||||||
|
#-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
subdir = src/include
|
||||||
|
top_builddir = ../..
|
||||||
|
include ../Makefile.global
|
||||||
|
|
||||||
|
|
||||||
|
HEADERS := os.h config.h c.h postgres.h postgres_ext.h fmgr.h \
|
||||||
|
libpq/pqcomm.h libpq/libpq-fs.h lib/dllist.h \
|
||||||
|
utils/geo_decls.h utils/elog.h utils/fmgroids.h utils/palloc.h \
|
||||||
|
access/attnum.h executor/spi.h commands/trigger.h
|
||||||
|
|
||||||
|
|
||||||
|
all: $(HEADERS)
|
||||||
|
|
||||||
|
|
||||||
|
# These rules are necessary in case someone installs the include tree
|
||||||
|
# before building the backend tree. Very messy.
|
||||||
|
utils/fmgroids.h: $(top_builddir)/src/backend/utils/fmgroids.h
|
||||||
|
cd utils && rm -f fmgroids.h && $(LN_S) ../$(top_builddir)/src/backend/utils/fmgroids.h .
|
||||||
|
|
||||||
|
# This file is built in the backend tree, but we need to keep track of
|
||||||
|
# the dependencies here.
|
||||||
|
$(top_builddir)/src/backend/utils/fmgroids.h: $(top_srcdir)/src/backend/utils/Gen_fmgrtab.sh catalog/pg_proc.h
|
||||||
|
$(MAKE) -C $(dir $@) fmgroids.h
|
||||||
|
|
||||||
|
|
||||||
|
install: all installdirs
|
||||||
|
@for i in $(HEADERS); do \
|
||||||
|
echo "$(INSTALL_DATA) $(srcdir)/$$i $(includedir)/$$i"; \
|
||||||
|
$(INSTALL_DATA) $(srcdir)/$$i $(includedir)/$$i; \
|
||||||
|
done
|
||||||
|
|
||||||
|
# Automatically pick out the needed subdirectories for the include
|
||||||
|
# tree.
|
||||||
|
installdirs:
|
||||||
|
$(mkinstalldirs) $(addprefix $(includedir)/, $(sort $(dir $(HEADERS))))
|
||||||
|
|
||||||
|
uninstall:
|
||||||
|
rm -f $(addprefix $(includedir)/, $(HEADERS))
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f utils/fmgroids.h parser/parse.h
|
||||||
|
|
||||||
|
distclean maintainer-clean: clean
|
||||||
|
rm -f config.h dynloader.h os.h
|
@ -8,7 +8,7 @@
|
|||||||
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
|
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
|
||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
* Portions Copyright (c) 1994, Regents of the University of California
|
||||||
*
|
*
|
||||||
* $Id: c.h,v 1.74 2000/06/08 22:37:35 momjian Exp $
|
* $Id: c.h,v 1.75 2000/07/06 21:33:44 petere Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -904,12 +904,6 @@ extern char *vararg_format(const char *fmt,...);
|
|||||||
#define PG_BINARY_W "w"
|
#define PG_BINARY_W "w"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef FIXADE
|
|
||||||
#if defined(hpux)
|
|
||||||
#include "port/hpux/fixade.h" /* for unaligned access fixup */
|
|
||||||
#endif /* hpux */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(sun) && defined(__sparc__) && !defined(__SVR4)
|
#if defined(sun) && defined(__sparc__) && !defined(__SVR4)
|
||||||
#define memmove(d, s, l) bcopy(s, d, l)
|
#define memmove(d, s, l) bcopy(s, d, l)
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# $Header: /cvsroot/pgsql/src/test/regress/Attic/run_check.sh,v 1.20 2000/06/20 16:40:19 petere Exp $
|
# $Header: /cvsroot/pgsql/src/test/regress/Attic/run_check.sh,v 1.21 2000/07/06 21:33:45 petere Exp $
|
||||||
|
|
||||||
# ----------
|
# ----------
|
||||||
# Check call syntax
|
# Check call syntax
|
||||||
@ -187,7 +187,7 @@ export PATH
|
|||||||
# Run initdb to initialize a database system in ./tmp_check
|
# Run initdb to initialize a database system in ./tmp_check
|
||||||
# ----------
|
# ----------
|
||||||
echo "=============== Initializing check database instance ================"
|
echo "=============== Initializing check database instance ================"
|
||||||
initdb -L $LIBDIR -D $PGDATA --noclean >$LOGDIR/initdb.log 2>&1
|
initdb -D $PGDATA --noclean >$LOGDIR/initdb.log 2>&1
|
||||||
|
|
||||||
if [ $? -ne 0 ]
|
if [ $? -ne 0 ]
|
||||||
then
|
then
|
||||||
|
Loading…
Reference in New Issue
Block a user