From da67c919d9f16f9dda6be0198daa8a741ca6d3b1 Mon Sep 17 00:00:00 2001 From: Bruce Momjian <bruce@momjian.us> Date: Tue, 5 Oct 2004 19:30:25 +0000 Subject: [PATCH] Add Win32 version info to client binaries. Magnus Hagander --- src/Makefile.global.in | 19 +++++++++++++++- src/backend/Makefile | 9 ++++---- src/bin/initdb/Makefile | 5 +++-- src/bin/pg_controldata/Makefile | 5 +++-- src/bin/pg_ctl/Makefile | 5 +++-- src/bin/pg_dump/Makefile | 7 +++--- src/bin/pg_resetxlog/Makefile | 5 +++-- src/bin/pgevent/Makefile | 10 +++++---- src/bin/pgevent/pgmsgevent.rc | 2 ++ src/bin/psql/Makefile | 6 ++++-- src/bin/scripts/Makefile | 7 +++--- src/interfaces/ecpg/preproc/Makefile | 8 ++++--- src/port/win32.ico | Bin 0 -> 22486 bytes src/port/win32ver.rc | 31 +++++++++++++++++++++++++++ 14 files changed, 91 insertions(+), 28 deletions(-) create mode 100644 src/port/win32.ico create mode 100644 src/port/win32ver.rc diff --git a/src/Makefile.global.in b/src/Makefile.global.in index 9eea09d78a1..c981e7ee15a 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -1,5 +1,5 @@ # -*-makefile-*- -# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.196 2004/10/01 02:06:52 neilc Exp $ +# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.197 2004/10/05 19:30:19 momjian Exp $ #------------------------------------------------------------------------------ # All PostgreSQL makefiles include this file and use the variables it sets, @@ -386,6 +386,23 @@ TAS = @TAS@ %.bz2: % $(BZIP2) -f $< +ifeq ($(PORTNAME),win32) +# Build rules to add versioninfo resources to win32 binaries +WIN32RES += win32ver.o +ifeq ($(PGFILESHLIB),1) +PGFTYPE=VFT_DLL +else +PGFTYPE=VFT_APP +endif +ifneq (,$(PGAPPICON)) +PGICOSTR=$(subst /,\/,IDI_ICON ICON \"$(top_builddir)/src/port/$(PGAPPICON).ico\") +endif +win32ver.rc: $(top_builddir)/src/port/win32ver.rc + sed -e "s;FILEDESC;$(PGFILEDESC);" -e "s/VFT_APP/$(PGFTYPE)/" -e "s/_ICO_/$(PGICOSTR)/" $(top_builddir)/src/port/win32ver.rc > win32ver.rc +win32ver.o: win32ver.rc + windres -i win32ver.rc -o win32ver.o --include-dir=$(top_builddir)/src/include + rm -f win32ver.rc +endif ifndef PGXS diff --git a/src/backend/Makefile b/src/backend/Makefile index 4279a9a19db..7f2b36071d4 100644 --- a/src/backend/Makefile +++ b/src/backend/Makefile @@ -4,10 +4,11 @@ # # Copyright (c) 1994, Regents of the University of California # -# $PostgreSQL: pgsql/src/backend/Makefile,v 1.105 2004/10/04 13:43:54 momjian Exp $ +# $PostgreSQL: pgsql/src/backend/Makefile,v 1.106 2004/10/05 19:30:20 momjian Exp $ # #------------------------------------------------------------------------- +PGFILEDESC = "PostgreSQL Database Backend" subdir = src/backend top_builddir = ../.. include $(top_builddir)/src/Makefile.global @@ -60,11 +61,11 @@ endif # cygwin ifeq ($(PORTNAME), win32) -postgres: $(OBJS) $(DLLINIT) postgres.def libpostgres.a +postgres: $(OBJS) $(DLLINIT) postgres.def libpostgres.a $(WIN32RES) $(DLLTOOL) --dllname $@$(X) --output-exp $@.exp --def postgres.def - $(CC) $(CFLAGS) $(LDFLAGS) -o $@$(X) -Wl,--base-file,$@.base $@.exp $(OBJS) $(LIBS) + $(CC) $(CFLAGS) $(LDFLAGS) -o $@$(X) -Wl,--base-file,$@.base $@.exp $(OBJS) $(WIN32RES) $(LIBS) $(DLLTOOL) --dllname $@$(X) --base-file $@.base --output-exp $@.exp --def postgres.def - $(CC) $(CFLAGS) $(LDFLAGS) -o $@$(X) $@.exp $(OBJS) $(LIBS) + $(CC) $(CFLAGS) $(LDFLAGS) -o $@$(X) $@.exp $(OBJS) $(WIN32RES) $(LIBS) rm -f $@.exp $@.base postgres.def: $(OBJS) diff --git a/src/bin/initdb/Makefile b/src/bin/initdb/Makefile index e69aa8892b0..5d7c64a5e55 100644 --- a/src/bin/initdb/Makefile +++ b/src/bin/initdb/Makefile @@ -5,17 +5,18 @@ # Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group # Portions Copyright (c) 1994, Regents of the University of California # -# $PostgreSQL: pgsql/src/bin/initdb/Makefile,v 1.46 2004/10/04 18:05:53 momjian Exp $ +# $PostgreSQL: pgsql/src/bin/initdb/Makefile,v 1.47 2004/10/05 19:30:21 momjian Exp $ # #------------------------------------------------------------------------- +PGFILEDESC = "initdb - initialize a new database cluster" subdir = src/bin/initdb top_builddir = ../../.. include $(top_builddir)/src/Makefile.global override CPPFLAGS := -DFRONTEND -I$(libpq_srcdir) $(CPPFLAGS) -OBJS= initdb.o +OBJS= initdb.o $(WIN32RES) all: submake-libpq submake-libpgport initdb diff --git a/src/bin/pg_controldata/Makefile b/src/bin/pg_controldata/Makefile index e5e85f47429..2b31e48ef20 100644 --- a/src/bin/pg_controldata/Makefile +++ b/src/bin/pg_controldata/Makefile @@ -4,17 +4,18 @@ # # Copyright (c) 1998-2002, PostgreSQL Global Development Group # -# $PostgreSQL: pgsql/src/bin/pg_controldata/Makefile,v 1.10 2004/10/04 13:43:55 momjian Exp $ +# $PostgreSQL: pgsql/src/bin/pg_controldata/Makefile,v 1.11 2004/10/05 19:30:21 momjian Exp $ # #------------------------------------------------------------------------- +PGFILEDESC = "pg_controldata - reads the data from pg_control" subdir = src/bin/pg_controldata top_builddir = ../../.. include $(top_builddir)/src/Makefile.global override CPPFLAGS += -DFRONTEND -OBJS= pg_controldata.o pg_crc.o +OBJS= pg_controldata.o pg_crc.o $(WIN32RES) all: submake-libpgport pg_controldata diff --git a/src/bin/pg_ctl/Makefile b/src/bin/pg_ctl/Makefile index bd4ebe11743..429a2091c6b 100644 --- a/src/bin/pg_ctl/Makefile +++ b/src/bin/pg_ctl/Makefile @@ -5,17 +5,18 @@ # Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group # Portions Copyright (c) 1994, Regents of the University of California # -# $PostgreSQL: pgsql/src/bin/pg_ctl/Makefile,v 1.17 2004/10/04 18:05:54 momjian Exp $ +# $PostgreSQL: pgsql/src/bin/pg_ctl/Makefile,v 1.18 2004/10/05 19:30:22 momjian Exp $ # #------------------------------------------------------------------------- +PGFILEDESC = "pg_ctl - starts/stops/restarts the PostgreSQL server" subdir = src/bin/pg_ctl top_builddir = ../../.. include $(top_builddir)/src/Makefile.global override CPPFLAGS := -DFRONTEND -DDEF_PGPORT=$(DEF_PGPORT) -I$(libpq_srcdir) $(CPPFLAGS) -OBJS= pg_ctl.o +OBJS= pg_ctl.o $(WIN32RES) all: submake-libpq submake-libpgport pg_ctl diff --git a/src/bin/pg_dump/Makefile b/src/bin/pg_dump/Makefile index 4fe67b97ad6..fe260ca1fcc 100644 --- a/src/bin/pg_dump/Makefile +++ b/src/bin/pg_dump/Makefile @@ -5,10 +5,11 @@ # Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group # Portions Copyright (c) 1994, Regents of the University of California # -# $PostgreSQL: pgsql/src/bin/pg_dump/Makefile,v 1.55 2004/10/04 20:32:58 momjian Exp $ +# $PostgreSQL: pgsql/src/bin/pg_dump/Makefile,v 1.56 2004/10/05 19:30:23 momjian Exp $ # #------------------------------------------------------------------------- +PGFILEDESC = "pg_dump/pg_restore/pg_dumpall - backup and restore PostgreSQL databases" subdir = src/bin/pg_dump top_builddir = ../../.. include $(top_builddir)/src/Makefile.global @@ -17,7 +18,7 @@ override CPPFLAGS := -DFRONTEND -I$(libpq_srcdir) $(CPPFLAGS) OBJS= pg_backup_archiver.o pg_backup_db.o pg_backup_custom.o \ pg_backup_files.o pg_backup_null.o pg_backup_tar.o \ - dumputils.o + dumputils.o $(WIN32RES) EXTRA_OBJS = $(top_builddir)/src/backend/parser/keywords.o @@ -35,7 +36,7 @@ pg_restore: pg_restore.o $(OBJS) $(libpq_builddir)/libpq.a $(CC) $(CFLAGS) pg_restore.o $(OBJS) $(EXTRA_OBJS) $(libpq) $(LDFLAGS) $(LIBS) -o $@$(X) pg_dumpall: pg_dumpall.o dumputils.o $(libpq_builddir)/libpq.a - $(CC) $(CFLAGS) pg_dumpall.o dumputils.o $(EXTRA_OBJS) $(libpq) $(LDFLAGS) $(LIBS) -o $@$(X) + $(CC) $(CFLAGS) pg_dumpall.o dumputils.o $(EXTRA_OBJS) $(WIN32RES) $(libpq) $(LDFLAGS) $(LIBS) -o $@$(X) .PHONY: submake-backend submake-backend: diff --git a/src/bin/pg_resetxlog/Makefile b/src/bin/pg_resetxlog/Makefile index 76cc01c8194..daba6c13c7e 100644 --- a/src/bin/pg_resetxlog/Makefile +++ b/src/bin/pg_resetxlog/Makefile @@ -4,17 +4,18 @@ # # Copyright (c) 1998-2002, PostgreSQL Global Development Group # -# $PostgreSQL: pgsql/src/bin/pg_resetxlog/Makefile,v 1.12 2004/10/04 13:43:57 momjian Exp $ +# $PostgreSQL: pgsql/src/bin/pg_resetxlog/Makefile,v 1.13 2004/10/05 19:30:23 momjian Exp $ # #------------------------------------------------------------------------- +PGFILEDESC = "pg_resetxlog - reset PostgreSQL WAL log" subdir = src/bin/pg_resetxlog top_builddir = ../../.. include $(top_builddir)/src/Makefile.global override CPPFLAGS += -DFRONTEND -OBJS= pg_resetxlog.o pg_crc.o +OBJS= pg_resetxlog.o pg_crc.o $(WIN32RES) all: submake-libpgport pg_resetxlog diff --git a/src/bin/pgevent/Makefile b/src/bin/pgevent/Makefile index adcdb27368b..141136a5248 100644 --- a/src/bin/pgevent/Makefile +++ b/src/bin/pgevent/Makefile @@ -6,6 +6,8 @@ # #------------------------------------------------------------------------- +PGFILEDESC = "Eventlog message formatter" +PGFILESHLIB = 1 subdir = src/bin/pgevent top_builddir = ../../.. include $(top_builddir)/src/Makefile.global @@ -20,19 +22,19 @@ install: all install-lib pgevent.dll: $(OBJS) pgevent.def dllwrap --def pgevent.def -o $(NAME) $(OBJS) -pgmsgevent.o: pgmsgevent.rc - windres pgmsgevent.rc -o pgmsgevent.o +pgmsgevent.o: pgmsgevent.rc win32ver.rc + windres pgmsgevent.rc -o pgmsgevent.o --include-dir=$(top_builddir)/src/include all-lib: $(NAME) install-lib: $(NAME) $(INSTALL_STLIB) $< $(DESTDIR)$(libdir)/$< - + uninstall-lib: rm -f $(DESTDIR)$(libdir)/$(NAME) clean distclean: - rm -f $(OBJS) $(NAME) + rm -f $(OBJS) $(NAME) win32ver.rc clean-lib: rm -f $(NAME) diff --git a/src/bin/pgevent/pgmsgevent.rc b/src/bin/pgevent/pgmsgevent.rc index 0885a897e6f..e69862e882c 100644 --- a/src/bin/pgevent/pgmsgevent.rc +++ b/src/bin/pgevent/pgmsgevent.rc @@ -1,2 +1,4 @@ LANGUAGE 0x9,0x1 1 11 MSG00001.bin + +#include "win32ver.rc" diff --git a/src/bin/psql/Makefile b/src/bin/psql/Makefile index 9f7a09c6fc1..e4af05f6310 100644 --- a/src/bin/psql/Makefile +++ b/src/bin/psql/Makefile @@ -5,10 +5,12 @@ # Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group # Portions Copyright (c) 1994, Regents of the University of California # -# $PostgreSQL: pgsql/src/bin/psql/Makefile,v 1.50 2004/10/04 20:36:10 momjian Exp $ +# $PostgreSQL: pgsql/src/bin/psql/Makefile,v 1.51 2004/10/05 19:30:24 momjian Exp $ # #------------------------------------------------------------------------- +PGFILEDESC = "psql - the PostgreSQL interactive terminal" +PGAPPICON=win32 subdir = src/bin/psql top_builddir = ../../.. include $(top_builddir)/src/Makefile.global @@ -19,7 +21,7 @@ override CPPFLAGS := -DFRONTEND -I$(libpq_srcdir) $(CPPFLAGS) OBJS= command.o common.o help.o input.o stringutils.o mainloop.o copy.o \ startup.o prompt.o variables.o large_obj.o print.o describe.o \ - psqlscan.o tab-complete.o mbprint.o + psqlscan.o tab-complete.o mbprint.o $(WIN32RES) FLEXFLAGS = -Cfe diff --git a/src/bin/scripts/Makefile b/src/bin/scripts/Makefile index 0eeabd38037..dbc7d0ade24 100644 --- a/src/bin/scripts/Makefile +++ b/src/bin/scripts/Makefile @@ -5,10 +5,11 @@ # Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group # Portions Copyright (c) 1994, Regents of the University of California # -# $PostgreSQL: pgsql/src/bin/scripts/Makefile,v 1.30 2004/10/04 18:05:55 momjian Exp $ +# $PostgreSQL: pgsql/src/bin/scripts/Makefile,v 1.31 2004/10/05 19:30:25 momjian Exp $ # #------------------------------------------------------------------------- +PGFILEDESC = "PostgreSQL utility" subdir = src/bin/scripts top_builddir = ../../.. include $(top_builddir)/src/Makefile.global @@ -19,7 +20,7 @@ override CPPFLAGS := -DFRONTEND -I$(top_srcdir)/src/bin/pg_dump -I$(top_srcdir)/ all: submake-libpq submake-backend $(PROGRAMS) -%: %.o +%: %.o $(WIN32RES) $(CC) $(CFLAGS) $^ $(libpq) $(LDFLAGS) $(LIBS) -o $@$(X) createdb: createdb.o common.o dumputils.o $(top_builddir)/src/backend/parser/keywords.o @@ -61,5 +62,5 @@ uninstall: clean distclean maintainer-clean: rm -f $(addsuffix $(X), $(PROGRAMS)) $(addsuffix .o, $(PROGRAMS)) - rm -f common.o dumputils.o print.o mbprint.o + rm -f common.o dumputils.o print.o mbprint.o $(WIN32RES) rm -f dumputils.c print.c mbprint.c diff --git a/src/interfaces/ecpg/preproc/Makefile b/src/interfaces/ecpg/preproc/Makefile index 5efc17c4df6..fd3371ef2dd 100644 --- a/src/interfaces/ecpg/preproc/Makefile +++ b/src/interfaces/ecpg/preproc/Makefile @@ -4,10 +4,11 @@ # # Copyright (c) 1998-2002, PostgreSQL Global Development Group # -# $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/Makefile,v 1.108 2004/10/04 13:43:58 momjian Exp $ +# $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/Makefile,v 1.109 2004/10/05 19:30:25 momjian Exp $ # #------------------------------------------------------------------------- +PGFILEDESC = "ecpg - embedded SQL precompiler for C" subdir = src/interfaces/ecpg/preproc top_builddir = ../../../.. include $(top_builddir)/src/Makefile.global @@ -25,8 +26,9 @@ override CFLAGS += -Wno-error endif override CFLAGS += $(PTHREAD_CFLAGS) -OBJS= preproc.o type.o ecpg.o ecpg_keywords.o output.o\ - keywords.o c_keywords.o ../ecpglib/typename.o descriptor.o variable.o +OBJS= preproc.o type.o ecpg.o ecpg_keywords.o output.o \ + keywords.o c_keywords.o ../ecpglib/typename.o descriptor.o variable.o \ + $(WIN32RES) all: submake-libpgport ecpg diff --git a/src/port/win32.ico b/src/port/win32.ico new file mode 100644 index 0000000000000000000000000000000000000000..a58ee432b5037275c3f694b243efa0677017ddba GIT binary patch literal 22486 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 literal 0 HcmV?d00001 diff --git a/src/port/win32ver.rc b/src/port/win32ver.rc new file mode 100644 index 00000000000..17bad793037 --- /dev/null +++ b/src/port/win32ver.rc @@ -0,0 +1,31 @@ +#include <winver.h> +#include "pg_config.h" + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 7,4,999,999 + PRODUCTVERSION 7,4,999,999 + FILEFLAGSMASK 0x17L + FILEFLAGS 0x0L + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "000004b0" + BEGIN + VALUE "CompanyName", "PostgreSQL Global Development Group" + VALUE "FileDescription", FILEDESC + VALUE "FileVersion", PG_VERSION + VALUE "LegalCopyright", "Portions Copyright (C) 1996-2004 PostgreSQL Global Development Group. Portions Copyright (C) 1994, Regents of the University of California." + VALUE "ProductName", "PostgreSQL" + VALUE "ProductVersion", PG_VERSION + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0, 1200 + END +END + +_ICO_ -- GitLab