head	1.10;
access;
symbols
	REL7_1_BETA3:1.9
	REL7_1_BETA2:1.9
	REL7_1:1.9
	REL7_0_PATCHES:1.4.0.2
	REL7_0:1.4
	REL6_5_PATCHES:1.1.0.2
	REL6_5:1.1;
locks; strict;
comment	@# @;


1.10
date	2001.03.14.21.11.53;	author petere;	state dead;
branches;
next	1.9;

1.9
date	2000.07.19.16.30.27;	author petere;	state Exp;
branches;
next	1.8;

1.8
date	2000.06.17.00.10.40;	author petere;	state Exp;
branches;
next	1.7;

1.7
date	2000.06.07.16.27.00;	author petere;	state Exp;
branches;
next	1.6;

1.6
date	2000.06.06.22.01.15;	author petere;	state Exp;
branches;
next	1.5;

1.5
date	2000.05.31.00.28.42;	author petere;	state Exp;
branches;
next	1.4;

1.4
date	2000.01.17.04.47.05;	author tgl;	state Exp;
branches;
next	1.3;

1.3
date	2000.01.16.20.05.00;	author petere;	state Exp;
branches;
next	1.2;

1.2
date	99.11.13.02.04.54;	author momjian;	state Exp;
branches;
next	1.1;

1.1
date	99.03.20.17.53.54;	author tgl;	state Exp;
branches;
next	;


desc
@@


1.10
log
@It's "gmake dist" now.
@
text
@#! /bin/sh
#
# release_prep: prepare the Postgres source tree for distribution
#
# This script should be run after checking out a fileset from the Postgres
# CVS repository, and just before creating a tarfile from the checked-out
# fileset.  It does cleanup tasks to ensure that we have a good tarball.
#
# Run the script from the toplevel Postgres directory, ie, do
#	cd pgsql
#	src/tools/release_prep
#
# The script's tasks are:
# 1. Run configure to prepare usable Makefiles on the local system.
# 2. Generate distribution copies of some derived files such as gram.c.
#    (We do this so that recipients of the distribution don't have to have
#    tools that can create these files.)
# 3. "make distclean" to get rid of the configure outputs, as well as any
#    other cruft that might be laying about.

# Select make to use --- default gmake, can be overridden by env var
: ${MAKE=gmake}

./configure && \
$MAKE distprep && \
$MAKE distclean
@


1.9
log
@Add distprep target to take some of the job of the release_prep script.
The latter updated accordingly. Also add `dist' and `distcheck' targets
to play with, but caveat packager.

Updated backend/bootstrap and backend/parser makefile to make them
marginally builddir aware and fix the usual set of things.

Add rule to automatically remake config.h dependent on config.h.in and
config.status. (Adopted from Autoconf manual and about every other
package.) On a good day we should now have a complete and accurate set
of dependencies throughout everything.
@
text
@@


1.8
log
@Remove fmgrstamp-h business -- not needed and confusing

Add options to configure to automatically build for Kerberos
support; no more editing of make files.
@
text
@d1 1
a1 1
#!/bin/sh
a11 2
# (Right now, the cleanup tasks are all in the src subdirectory, but we
# might want to add housekeeping in doc too?)
a17 2
#    Note we force these files to be recreated, to ensure they will have
#    newer timestamps than their master files.
d22 1
a22 49
MAKE=${MAKE:-gmake}

# Configure ... should we run autoconf here???

./configure

# Generate parser's yacc and lex files

cd src/backend/parser
rm -f gram.c parse.h scan.c
$MAKE gram.c parse.h scan.c
cd ../../..

# Generate bootstrap parser's yacc and lex files

cd src/backend/bootstrap
rm -f bootstrap_tokens.h bootparse.c bootscanner.c
$MAKE bootstrap_tokens.h bootparse.c bootscanner.c
cd ../../..

# Generate configuration file scanner

cd src/backend/utils/misc
rm -f guc-file.c lex.yy.c
$MAKE guc-file.c
cd ../../../..

# Generate ecpg preprocessor's yacc and lex files

cd src/interfaces/ecpg/preproc
rm -f preproc.c preproc.h pgc.c
$MAKE preproc.c preproc.h pgc.c
cd ../../../..

# Generate plpgsql's yacc and lex files

cd src/pl/plpgsql/src
rm -f pl_scan.c pl.tab.h pl_gram.c
$MAKE pl_scan.c pl.tab.h pl_gram.c
cd ../../../..

# Generate psql's help on SQL command from the SGML docs

cd src/bin/psql
rm -f sql_help.h
$MAKE sql_help.h
cd ../../..

# Clean up
d24 2
a26 2

exit 0
@


1.7
log
@Gen_fmgrtab.sh is strange: it is a platform dependent way (because it uses
CPP) to create platform independent files. Unfortunately, that means that
every config.status (or configure) run invariably causes a relink of the
postmaster and also that we can't put these files in the distribution
(usefully). So we make it a little smarter: when the output files already
exist and it notices that it would recreate them in identical form, it
doesn't touch them. In order to avoid re-running the make rule all the time
we update a timestamp file instead.

Update release_prep accordingly. Also make Gen_fmgrtab.sh use the awk that
is detected at configure time, not necessarily named `awk' and have it check
for exit statuses a little better.

In other news... Remove USE_LOCALE from the templates, it was set to `no'
everywhere anyway. Also remove YACC and YFLAGS from the templates, configure
is smart enough to find bison or yacc itself. Use AC_PROG_YACC for that
instead of the hand-crafted code. Do not set YFLAGS to `-d'. The make rules
that need this flag should explicitly invoke it. YFLAGS should be a user
variable. Update the makefiles to that effect.
@
text
@a45 7
# Generate function manager files

cd src/backend/utils
rm -f fmgroids.h fmgrtab.c fmgrstamp-h
$MAKE fmgroids.h fmgrtab.c
cd ../../..

@


1.6
log
@Moved configure script from src/ to the top level directory. Moved
configuration helper things into config/ dir. Adjusted some relative paths
in makefiles.
@
text
@d46 7
@


1.5
log
@The heralded `Grand Unified Configuration scheme' (GUC)

That means you can now set your options in either or all of $PGDATA/configuration,
some postmaster option (--enable-fsync=off), or set a SET command. The list of
options is in backend/utils/misc/guc.c, documentation will be written post haste.

pg_options is gone, so is that pq_geqo config file. Also removed were backend -K,
-Q, and -T options (no longer applicable, although -d0 does the same as -Q).

Added to configure an --enable-syslog option.

changed all callers from TPRINTF to elog(DEBUG)
@
text
@a27 2
cd src

d34 1
a34 1
cd backend/parser
d37 1
a37 1
cd ../..
d41 1
a41 1
cd backend/bootstrap
d44 1
a44 1
cd ../..
d48 1
a48 1
cd backend/utils/misc
d51 1
a51 1
cd ../../..
d55 1
a55 1
cd interfaces/ecpg/preproc
d58 1
a58 1
cd ../../..
d62 1
a62 1
cd pl/plpgsql/src
d65 1
a65 1
cd ../../..
d69 1
a69 1
cd bin/psql
d72 1
a72 1
cd ../..
@


1.4
log
@Correct minor typos.
@
text
@d48 7
@


1.3
log
@Included all yacc and lex files into the distribution.
@
text
@d57 2
a58 2
cd pl/plpgsql
rm -rf pl_scan.c pl.tab.h pl_gram.c
d60 1
a60 1
cd ../..
@


1.2
log
@The \p\g fix didn't turn out to be so bad. It even works in other
circumstances:
=> select * from foo\x\t\pset border 0 \p\g\\select * from bar;

Also the release prep update so the sql_help.h is generated before
packaging.

Peter.
@
text
@d34 1
a34 1
# Generate parser's gram and lex files.
a36 1

d38 2
d41 1
a41 1
$MAKE gram.c parse.h scan.c
d43 3
d48 1
a48 1
# Generate ecpg preprocessor's gram and lex files.
a50 1

d52 2
d55 1
a55 1
$MAKE preproc.c preproc.h pgc.c
d57 4
a60 1
cd ../../..
a64 1

a65 1

a66 1

@


1.1
log
@Script for preparing derived files during tarball construction.
@
text
@d54 10
@

