From 81134af3ec09d67043833f8d614fd688f17cb213 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Tue, 10 Mar 2015 22:33:24 -0400 Subject: [PATCH] Move pgbench from contrib/ to src/bin/ Reviewed-by: Michael Paquier --- contrib/Makefile | 1 - contrib/pgbench/Makefile | 33 ------------------- doc/src/sgml/contrib.sgml | 1 - doc/src/sgml/filelist.sgml | 1 - doc/src/sgml/ref/allfiles.sgml | 1 + doc/src/sgml/{ => ref}/pgbench.sgml | 2 +- doc/src/sgml/reference.sgml | 1 + src/bin/Makefile | 1 + {contrib => src/bin}/pgbench/.gitignore | 0 src/bin/pgbench/Makefile | 42 ++++++++++++++++++++++++ {contrib => src/bin}/pgbench/exprparse.y | 0 {contrib => src/bin}/pgbench/exprscan.l | 0 {contrib => src/bin}/pgbench/pgbench.c | 2 +- {contrib => src/bin}/pgbench/pgbench.h | 0 src/tools/msvc/Mkvcbuild.pm | 23 +++++++------ 15 files changed, 60 insertions(+), 48 deletions(-) delete mode 100644 contrib/pgbench/Makefile rename doc/src/sgml/{ => ref}/pgbench.sgml (99%) rename {contrib => src/bin}/pgbench/.gitignore (100%) create mode 100644 src/bin/pgbench/Makefile rename {contrib => src/bin}/pgbench/exprparse.y (100%) rename {contrib => src/bin}/pgbench/exprscan.l (100%) rename {contrib => src/bin}/pgbench/pgbench.c (99%) rename {contrib => src/bin}/pgbench/pgbench.h (100%) diff --git a/contrib/Makefile b/contrib/Makefile index c56050eecc..d63e441cb5 100644 --- a/contrib/Makefile +++ b/contrib/Makefile @@ -38,7 +38,6 @@ SUBDIRS = \ pg_trgm \ pg_upgrade \ pg_upgrade_support \ - pgbench \ pgcrypto \ pgrowlocks \ pgstattuple \ diff --git a/contrib/pgbench/Makefile b/contrib/pgbench/Makefile deleted file mode 100644 index a18130b1dc..0000000000 --- a/contrib/pgbench/Makefile +++ /dev/null @@ -1,33 +0,0 @@ -# contrib/pgbench/Makefile - -PGFILEDESC = "pgbench - a simple program for running benchmark tests" -PGAPPICON = win32 - -PROGRAM = pgbench -OBJS = pgbench.o exprparse.o $(WIN32RES) - -PG_CPPFLAGS = -I$(libpq_srcdir) -PG_LIBS = $(libpq_pgport) $(PTHREAD_LIBS) - -ifdef USE_PGXS -PG_CONFIG = pg_config -PGXS := $(shell $(PG_CONFIG) --pgxs) -include $(PGXS) -else -subdir = contrib/pgbench -top_builddir = ../.. -include $(top_builddir)/src/Makefile.global -include $(top_srcdir)/contrib/contrib-global.mk - -distprep: exprparse.c exprscan.c -endif - -ifneq ($(PORTNAME), win32) -override CFLAGS += $(PTHREAD_CFLAGS) -endif - -# exprscan is compiled as part of exprparse -exprparse.o: exprscan.c - -maintainer-clean: - rm -f exprparse.c exprscan.c diff --git a/doc/src/sgml/contrib.sgml b/doc/src/sgml/contrib.sgml index f21fa14918..57730955bf 100644 --- a/doc/src/sgml/contrib.sgml +++ b/doc/src/sgml/contrib.sgml @@ -187,7 +187,6 @@ pages. &oid2name; - &pgbench; &vacuumlo; diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml index 8b9d6a9127..ab935a6664 100644 --- a/doc/src/sgml/filelist.sgml +++ b/doc/src/sgml/filelist.sgml @@ -125,7 +125,6 @@ - diff --git a/doc/src/sgml/ref/allfiles.sgml b/doc/src/sgml/ref/allfiles.sgml index f3b577119b..9ae6aecb1a 100644 --- a/doc/src/sgml/ref/allfiles.sgml +++ b/doc/src/sgml/ref/allfiles.sgml @@ -181,6 +181,7 @@ Complete list of usable sgml source files in this directory. + diff --git a/doc/src/sgml/pgbench.sgml b/doc/src/sgml/ref/pgbench.sgml similarity index 99% rename from doc/src/sgml/pgbench.sgml rename to doc/src/sgml/ref/pgbench.sgml index ed12e27906..a8085463a5 100644 --- a/doc/src/sgml/pgbench.sgml +++ b/doc/src/sgml/ref/pgbench.sgml @@ -1,4 +1,4 @@ - + diff --git a/doc/src/sgml/reference.sgml b/doc/src/sgml/reference.sgml index 9fb32f8c28..c1765ef1c5 100644 --- a/doc/src/sgml/reference.sgml +++ b/doc/src/sgml/reference.sgml @@ -230,6 +230,7 @@ &dropuser; &ecpgRef; &pgBasebackup; + &pgbench; &pgConfig; &pgDump; &pgDumpall; diff --git a/src/bin/Makefile b/src/bin/Makefile index 69cc2b83c1..bb77142cab 100644 --- a/src/bin/Makefile +++ b/src/bin/Makefile @@ -23,6 +23,7 @@ SUBDIRS = \ pg_dump \ pg_resetxlog \ pg_rewind \ + pgbench \ psql \ scripts diff --git a/contrib/pgbench/.gitignore b/src/bin/pgbench/.gitignore similarity index 100% rename from contrib/pgbench/.gitignore rename to src/bin/pgbench/.gitignore diff --git a/src/bin/pgbench/Makefile b/src/bin/pgbench/Makefile new file mode 100644 index 0000000000..18fdf58d13 --- /dev/null +++ b/src/bin/pgbench/Makefile @@ -0,0 +1,42 @@ +# src/bin/pgbench/Makefile + +PGFILEDESC = "pgbench - a simple program for running benchmark tests" +PGAPPICON = win32 + +subdir = src/bin/pgbench +top_builddir = ../../.. +include $(top_builddir)/src/Makefile.global + +OBJS = pgbench.o exprparse.o $(WIN32RES) + +override CPPFLAGS := -I. -I$(srcdir) -I$(libpq_srcdir) $(CPPFLAGS) + +ifneq ($(PORTNAME), win32) +override CFLAGS += $(PTHREAD_CFLAGS) +endif + + +all: pgbench + +pgbench: $(OBJS) | submake-libpq submake-libpgport + $(CC) $(CFLAGS) $^ $(libpq_pgport) $(PTHREAD_LIBS) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@$(X) + +# exprscan is compiled as part of exprparse +exprparse.o: exprscan.c + +distprep: exprparse.c exprscan.c + +install: all installdirs + $(INSTALL_PROGRAM) pgbench$(X) '$(DESTDIR)$(bindir)/pgbench$(X)' + +installdirs: + $(MKDIR_P) '$(DESTDIR)$(bindir)' + +uninstall: + rm -f '$(DESTDIR)$(bindir)/pgbench$(X)' + +clean distclean: + rm -f pgbench$(X) $(OBJS) + +maintainer-clean: distclean + rm -f exprparse.c exprscan.c diff --git a/contrib/pgbench/exprparse.y b/src/bin/pgbench/exprparse.y similarity index 100% rename from contrib/pgbench/exprparse.y rename to src/bin/pgbench/exprparse.y diff --git a/contrib/pgbench/exprscan.l b/src/bin/pgbench/exprscan.l similarity index 100% rename from contrib/pgbench/exprscan.l rename to src/bin/pgbench/exprscan.l diff --git a/contrib/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c similarity index 99% rename from contrib/pgbench/pgbench.c rename to src/bin/pgbench/pgbench.c index 788484e879..06a4dfd9a8 100644 --- a/contrib/pgbench/pgbench.c +++ b/src/bin/pgbench/pgbench.c @@ -4,7 +4,7 @@ * A simple benchmark program for PostgreSQL * Originally written by Tatsuo Ishii and enhanced by many contributors. * - * contrib/pgbench/pgbench.c + * src/bin/pgbench/pgbench.c * Copyright (c) 2000-2015, PostgreSQL Global Development Group * ALL RIGHTS RESERVED; * diff --git a/contrib/pgbench/pgbench.h b/src/bin/pgbench/pgbench.h similarity index 100% rename from contrib/pgbench/pgbench.h rename to src/bin/pgbench/pgbench.h diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm index ef08334973..8993efaa19 100644 --- a/src/tools/msvc/Mkvcbuild.pm +++ b/src/tools/msvc/Mkvcbuild.pm @@ -31,42 +31,45 @@ my $libpq; # Set of variables for contrib modules my $contrib_defines = { 'refint' => 'REFINT_VERBOSE' }; my @contrib_uselibpq = - ('dblink', 'oid2name', 'pgbench', 'pg_upgrade', 'postgres_fdw', 'vacuumlo'); + ('dblink', 'oid2name', 'pg_upgrade', 'postgres_fdw', 'vacuumlo'); my @contrib_uselibpgport = ( - 'oid2name', 'pgbench', + 'oid2name', 'pg_standby', 'pg_test_fsync', 'pg_test_timing', 'pg_upgrade', 'pg_xlogdump', 'vacuumlo'); my @contrib_uselibpgcommon = ( - 'oid2name', 'pgbench', + 'oid2name', 'pg_standby', 'pg_test_fsync', 'pg_test_timing', 'pg_upgrade', 'pg_xlogdump', 'vacuumlo'); -my $contrib_extralibs = { 'pgbench' => ['ws2_32.lib'] }; +my $contrib_extralibs = undef; my $contrib_extraincludes = { 'tsearch2' => ['contrib/tsearch2'], 'dblink' => ['src/backend'] }; my $contrib_extrasource = { 'cube' => [ 'contrib\cube\cubescan.l', 'contrib\cube\cubeparse.y' ], - 'pgbench' => - [ 'contrib\pgbench\exprscan.l', 'contrib\pgbench\exprparse.y' ], 'seg' => [ 'contrib\seg\segscan.l', 'contrib\seg\segparse.y' ], }; my @contrib_excludes = ('pgcrypto', 'intagg', 'sepgsql'); # Set of variables for frontend modules my $frontend_defines = { 'initdb' => 'FRONTEND' }; -my @frontend_uselibpq = ('pg_ctl', 'psql'); -my @frontend_uselibpgport = ( 'pg_archivecleanup' ); -my @frontend_uselibpgcommon = ( 'pg_archivecleanup' ); +my @frontend_uselibpq = ('pg_ctl', 'pgbench', 'psql'); +my @frontend_uselibpgport = ( 'pg_archivecleanup', 'pgbench' ); +my @frontend_uselibpgcommon = ( 'pg_archivecleanup', 'pgbench' ); my $frontend_extralibs = { 'initdb' => ['ws2_32.lib'], 'pg_restore' => ['ws2_32.lib'], + 'pgbench' => ['ws2_32.lib'], 'psql' => ['ws2_32.lib'] }; my $frontend_extraincludes = { 'initdb' => ['src\timezone'], 'psql' => [ 'src\bin\pg_dump', 'src\backend' ] }; -my $frontend_extrasource = { 'psql' => ['src\bin\psql\psqlscan.l'] }; +my $frontend_extrasource = { + 'psql' => ['src\bin\psql\psqlscan.l'], + 'pgbench' => + [ 'contrib\pgbench\exprscan.l', 'contrib\pgbench\exprparse.y' ], +}; my @frontend_excludes = ('pgevent', 'pg_basebackup', 'pg_rewind', 'pg_dump', 'scripts');