From dbe33675eab8f3931a4fb74839a67cd9d2a7541f Mon Sep 17 00:00:00 2001
From: Michael Paquier <michael@otacoo.com>
Date: Sat, 21 Jun 2014 22:08:44 +0900
Subject: [PATCH 2/2] Add file versioning for all core dll and exe in MSVC
 builds

This includes the following files:
- dll and exe files in contrib/
- dll files in backend/utils/mb/conversion_procs/
- ecpg stuff
- PL language libraries
- replication libraries
Things are not perfect and the following targets are still missing:
- zic.dll
- dict_snowball.dll
- Regression test thingies
Still, with the number of binaries and libraries newly versioned in
this patch, the improvement is quite large.
---
 contrib/adminpack/Makefile                                        | 1 +
 contrib/auth_delay/Makefile                                       | 1 +
 contrib/auto_explain/Makefile                                     | 1 +
 contrib/btree_gin/Makefile                                        | 1 +
 contrib/btree_gist/Makefile                                       | 1 +
 contrib/chkpass/Makefile                                          | 1 +
 contrib/citext/Makefile                                           | 1 +
 contrib/cube/Makefile                                             | 1 +
 contrib/dblink/Makefile                                           | 1 +
 contrib/dict_int/Makefile                                         | 1 +
 contrib/dict_xsyn/Makefile                                        | 1 +
 contrib/dummy_seclabel/Makefile                                   | 1 +
 contrib/earthdistance/Makefile                                    | 1 +
 contrib/file_fdw/Makefile                                         | 1 +
 contrib/fuzzystrmatch/Makefile                                    | 1 +
 contrib/hstore/Makefile                                           | 1 +
 contrib/intagg/Makefile                                           | 1 +
 contrib/intarray/Makefile                                         | 1 +
 contrib/isn/Makefile                                              | 1 +
 contrib/lo/Makefile                                               | 1 +
 contrib/ltree/Makefile                                            | 1 +
 contrib/pageinspect/Makefile                                      | 1 +
 contrib/passwordcheck/Makefile                                    | 1 +
 contrib/pg_buffercache/Makefile                                   | 1 +
 contrib/pg_freespacemap/Makefile                                  | 1 +
 contrib/pg_prewarm/Makefile                                       | 1 +
 contrib/pg_stat_statements/Makefile                               | 1 +
 contrib/pg_trgm/Makefile                                          | 1 +
 contrib/pg_xlogdump/Makefile                                      | 2 +-
 contrib/pgcrypto/Makefile                                         | 1 +
 contrib/pgrowlocks/Makefile                                       | 1 +
 contrib/pgstattuple/Makefile                                      | 1 +
 contrib/postgres_fdw/Makefile                                     | 1 +
 contrib/seg/Makefile                                              | 1 +
 contrib/sepgsql/Makefile                                          | 1 +
 contrib/spi/Makefile                                              | 1 +
 contrib/sslinfo/Makefile                                          | 1 +
 contrib/tablefunc/Makefile                                        | 1 +
 contrib/tcn/Makefile                                              | 1 +
 contrib/test_decoding/Makefile                                    | 1 +
 contrib/test_parser/Makefile                                      | 1 +
 contrib/test_shm_mq/Makefile                                      | 1 +
 contrib/tsearch2/Makefile                                         | 1 +
 contrib/unaccent/Makefile                                         | 1 +
 contrib/uuid-ossp/Makefile                                        | 1 +
 contrib/worker_spi/Makefile                                       | 1 +
 contrib/xml2/Makefile                                             | 1 +
 src/backend/replication/libpqwalreceiver/Makefile                 | 1 +
 src/backend/utils/mb/conversion_procs/ascii_and_mic/Makefile      | 1 +
 src/backend/utils/mb/conversion_procs/cyrillic_and_mic/Makefile   | 1 +
 src/backend/utils/mb/conversion_procs/euc2004_sjis2004/Makefile   | 1 +
 src/backend/utils/mb/conversion_procs/euc_cn_and_mic/Makefile     | 1 +
 src/backend/utils/mb/conversion_procs/euc_jp_and_sjis/Makefile    | 1 +
 src/backend/utils/mb/conversion_procs/euc_kr_and_mic/Makefile     | 1 +
 src/backend/utils/mb/conversion_procs/euc_tw_and_big5/Makefile    | 1 +
 src/backend/utils/mb/conversion_procs/latin2_and_win1250/Makefile | 1 +
 src/backend/utils/mb/conversion_procs/latin_and_mic/Makefile      | 1 +
 src/backend/utils/mb/conversion_procs/utf8_and_ascii/Makefile     | 1 +
 src/backend/utils/mb/conversion_procs/utf8_and_big5/Makefile      | 1 +
 src/backend/utils/mb/conversion_procs/utf8_and_cyrillic/Makefile  | 1 +
 src/backend/utils/mb/conversion_procs/utf8_and_euc2004/Makefile   | 1 +
 src/backend/utils/mb/conversion_procs/utf8_and_euc_cn/Makefile    | 1 +
 src/backend/utils/mb/conversion_procs/utf8_and_euc_jp/Makefile    | 1 +
 src/backend/utils/mb/conversion_procs/utf8_and_euc_kr/Makefile    | 1 +
 src/backend/utils/mb/conversion_procs/utf8_and_euc_tw/Makefile    | 1 +
 src/backend/utils/mb/conversion_procs/utf8_and_gb18030/Makefile   | 1 +
 src/backend/utils/mb/conversion_procs/utf8_and_gbk/Makefile       | 1 +
 src/backend/utils/mb/conversion_procs/utf8_and_iso8859/Makefile   | 1 +
 src/backend/utils/mb/conversion_procs/utf8_and_iso8859_1/Makefile | 1 +
 src/backend/utils/mb/conversion_procs/utf8_and_johab/Makefile     | 1 +
 src/backend/utils/mb/conversion_procs/utf8_and_sjis/Makefile      | 1 +
 src/backend/utils/mb/conversion_procs/utf8_and_sjis2004/Makefile  | 1 +
 src/backend/utils/mb/conversion_procs/utf8_and_uhc/Makefile       | 1 +
 src/backend/utils/mb/conversion_procs/utf8_and_win/Makefile       | 1 +
 src/bin/pg_basebackup/Makefile                                    | 2 +-
 src/interfaces/ecpg/compatlib/Makefile                            | 1 +
 src/interfaces/ecpg/ecpglib/Makefile                              | 1 +
 src/interfaces/ecpg/pgtypeslib/Makefile                           | 1 +
 src/interfaces/ecpg/test/Makefile                                 | 2 ++
 src/pl/plperl/GNUmakefile                                         | 1 +
 src/pl/plpgsql/src/Makefile                                       | 2 ++
 src/pl/plpython/Makefile                                          | 2 ++
 src/pl/tcl/Makefile                                               | 1 +
 src/tools/msvc/Mkvcbuild.pm                                       | 2 ++
 84 files changed, 88 insertions(+), 2 deletions(-)

diff --git a/contrib/adminpack/Makefile b/contrib/adminpack/Makefile
index 5cbc8f0..6122599 100644
--- a/contrib/adminpack/Makefile
+++ b/contrib/adminpack/Makefile
@@ -6,6 +6,7 @@ PG_CPPFLAGS = -I$(libpq_srcdir)
 
 EXTENSION = adminpack
 DATA = adminpack--1.0.sql
+PGFILEDESC = "adminpack - Support functions for pgAdmin"
 
 ifdef USE_PGXS
 PG_CONFIG = pg_config
diff --git a/contrib/auth_delay/Makefile b/contrib/auth_delay/Makefile
index 09d2d54..8a96bd4 100644
--- a/contrib/auth_delay/Makefile
+++ b/contrib/auth_delay/Makefile
@@ -1,6 +1,7 @@
 # contrib/auth_delay/Makefile
 
 MODULES = auth_delay
+PGFILEDESC = "auth_delay - Delay authentication failure reports"
 
 ifdef USE_PGXS
 PG_CONFIG = pg_config
diff --git a/contrib/auto_explain/Makefile b/contrib/auto_explain/Makefile
index 2d1443f..0eb8346 100644
--- a/contrib/auto_explain/Makefile
+++ b/contrib/auto_explain/Makefile
@@ -2,6 +2,7 @@
 
 MODULE_big = auto_explain
 OBJS = auto_explain.o
+PGFILEDESC = "auto_explain - Logging facility for execution plans"
 
 ifdef USE_PGXS
 PG_CONFIG = pg_config
diff --git a/contrib/btree_gin/Makefile b/contrib/btree_gin/Makefile
index 09fd3e6..fcf7cba 100644
--- a/contrib/btree_gin/Makefile
+++ b/contrib/btree_gin/Makefile
@@ -5,6 +5,7 @@ OBJS = btree_gin.o
 
 EXTENSION = btree_gin
 DATA = btree_gin--1.0.sql btree_gin--unpackaged--1.0.sql
+PGFILEDESC = "btree_gin - B-Tree equivalent GIN operator classes"
 
 REGRESS = install_btree_gin int2 int4 int8 float4 float8 money oid \
 	timestamp timestamptz time timetz date interval \
diff --git a/contrib/btree_gist/Makefile b/contrib/btree_gist/Makefile
index ba4af14..45d5931 100644
--- a/contrib/btree_gist/Makefile
+++ b/contrib/btree_gist/Makefile
@@ -10,6 +10,7 @@ OBJS =  btree_gist.o btree_utils_num.o btree_utils_var.o btree_int2.o \
 
 EXTENSION = btree_gist
 DATA = btree_gist--1.0.sql btree_gist--unpackaged--1.0.sql
+PGFILEDESC = "btree_gist - B-Tree equivalent GIST operator classes"
 
 REGRESS = init int2 int4 int8 float4 float8 cash oid timestamp timestamptz \
         time timetz date interval macaddr inet cidr text varchar char bytea \
diff --git a/contrib/chkpass/Makefile b/contrib/chkpass/Makefile
index b775aef..22efe7b 100644
--- a/contrib/chkpass/Makefile
+++ b/contrib/chkpass/Makefile
@@ -5,6 +5,7 @@ OBJS = chkpass.o
 
 EXTENSION = chkpass
 DATA = chkpass--1.0.sql chkpass--unpackaged--1.0.sql
+PGFILEDESC = "chkpass - Data type for storage of encrypted passwords"
 
 SHLIB_LINK = $(filter -lcrypt, $(LIBS))
 
diff --git a/contrib/citext/Makefile b/contrib/citext/Makefile
index 6594252..8eddf30 100644
--- a/contrib/citext/Makefile
+++ b/contrib/citext/Makefile
@@ -4,6 +4,7 @@ MODULES = citext
 
 EXTENSION = citext
 DATA = citext--1.0.sql citext--unpackaged--1.0.sql
+PGFILEDESC = "citext - Case-insensitive character string type"
 
 REGRESS = citext
 
diff --git a/contrib/cube/Makefile b/contrib/cube/Makefile
index b5cd5d0..fba76a5 100644
--- a/contrib/cube/Makefile
+++ b/contrib/cube/Makefile
@@ -5,6 +5,7 @@ OBJS= cube.o cubeparse.o
 
 EXTENSION = cube
 DATA = cube--1.0.sql cube--unpackaged--1.0.sql
+PGFILEDESC = "cube - Data type for multidimensional cube representation"
 
 REGRESS = cube
 
diff --git a/contrib/dblink/Makefile b/contrib/dblink/Makefile
index 32314a0..58584e1 100644
--- a/contrib/dblink/Makefile
+++ b/contrib/dblink/Makefile
@@ -8,6 +8,7 @@ SHLIB_PREREQS = submake-libpq
 
 EXTENSION = dblink
 DATA = dblink--1.1.sql dblink--1.0--1.1.sql dblink--unpackaged--1.0.sql
+PGFILEDESC = "dblink - Connection facility for PostgreSQL"
 
 REGRESS = dblink
 
diff --git a/contrib/dict_int/Makefile b/contrib/dict_int/Makefile
index 3a3fc36..030acb7 100644
--- a/contrib/dict_int/Makefile
+++ b/contrib/dict_int/Makefile
@@ -5,6 +5,7 @@ OBJS = dict_int.o
 
 EXTENSION = dict_int
 DATA = dict_int--1.0.sql dict_int--unpackaged--1.0.sql
+PGFILEDESC = "dict_int - Add-on dictionary template for full-text search"
 
 REGRESS = dict_int
 
diff --git a/contrib/dict_xsyn/Makefile b/contrib/dict_xsyn/Makefile
index ce92baa..0b3d6e5 100644
--- a/contrib/dict_xsyn/Makefile
+++ b/contrib/dict_xsyn/Makefile
@@ -6,6 +6,7 @@ OBJS = dict_xsyn.o
 EXTENSION = dict_xsyn
 DATA = dict_xsyn--1.0.sql dict_xsyn--unpackaged--1.0.sql
 DATA_TSEARCH = xsyn_sample.rules
+PGFILEDESC = "dict_xsyn - Add-on dictionary template for full-text search"
 
 REGRESS = dict_xsyn
 
diff --git a/contrib/dummy_seclabel/Makefile b/contrib/dummy_seclabel/Makefile
index 105400f..20f86fc 100644
--- a/contrib/dummy_seclabel/Makefile
+++ b/contrib/dummy_seclabel/Makefile
@@ -1,6 +1,7 @@
 # contrib/dummy_seclabel/Makefile
 
 MODULES = dummy_seclabel
+PGFILEDESC = "dummy_seclabel - Regression testing of the SECURITY LABEL statement"
 
 ifdef USE_PGXS
 PG_CONFIG = pg_config
diff --git a/contrib/earthdistance/Makefile b/contrib/earthdistance/Makefile
index 48a7cf8..3a35859 100644
--- a/contrib/earthdistance/Makefile
+++ b/contrib/earthdistance/Makefile
@@ -4,6 +4,7 @@ MODULES = earthdistance
 
 EXTENSION = earthdistance
 DATA = earthdistance--1.0.sql earthdistance--unpackaged--1.0.sql
+PGFILEDESC = "earthdistance - Calculate distances on the surface of the Earth"
 
 REGRESS = earthdistance
 REGRESS_OPTS = --extra-install=contrib/cube
diff --git a/contrib/file_fdw/Makefile b/contrib/file_fdw/Makefile
index 4616cec..7d637de 100644
--- a/contrib/file_fdw/Makefile
+++ b/contrib/file_fdw/Makefile
@@ -4,6 +4,7 @@ MODULES = file_fdw
 
 EXTENSION = file_fdw
 DATA = file_fdw--1.0.sql
+PGFILEDESC = "file_fdw - Foreign data wrapper for files"
 
 REGRESS = file_fdw
 
diff --git a/contrib/fuzzystrmatch/Makefile b/contrib/fuzzystrmatch/Makefile
index 834b679..68f8bf2 100644
--- a/contrib/fuzzystrmatch/Makefile
+++ b/contrib/fuzzystrmatch/Makefile
@@ -5,6 +5,7 @@ OBJS = fuzzystrmatch.o dmetaphone.o
 
 EXTENSION = fuzzystrmatch
 DATA = fuzzystrmatch--1.0.sql fuzzystrmatch--unpackaged--1.0.sql
+PGFILEDESC = "fuzzystrmatch - Similarities and distance between strings"
 
 ifdef USE_PGXS
 PG_CONFIG = pg_config
diff --git a/contrib/hstore/Makefile b/contrib/hstore/Makefile
index 2b60fbe..98fc304 100644
--- a/contrib/hstore/Makefile
+++ b/contrib/hstore/Makefile
@@ -8,6 +8,7 @@ EXTENSION = hstore
 DATA = hstore--1.3.sql hstore--1.2--1.3.sql \
 	hstore--1.1--1.2.sql hstore--1.0--1.1.sql \
 	hstore--unpackaged--1.0.sql
+PGFILEDESC = "hstore - Data type for key/value pairs"
 
 REGRESS = hstore
 
diff --git a/contrib/intagg/Makefile b/contrib/intagg/Makefile
index 2cfe997..bf36a61 100644
--- a/contrib/intagg/Makefile
+++ b/contrib/intagg/Makefile
@@ -2,6 +2,7 @@
 
 EXTENSION = intagg
 DATA = intagg--1.0.sql intagg--unpackaged--1.0.sql
+PGFILEDESC = "intagg - Integer aggregator and numerator"
 
 ifdef USE_PGXS
 PG_CONFIG = pg_config
diff --git a/contrib/intarray/Makefile b/contrib/intarray/Makefile
index 71f820e..f322512 100644
--- a/contrib/intarray/Makefile
+++ b/contrib/intarray/Makefile
@@ -5,6 +5,7 @@ OBJS = _int_bool.o _int_gist.o _int_op.o _int_tool.o _intbig_gist.o _int_gin.o
 
 EXTENSION = intarray
 DATA = intarray--1.0.sql intarray--unpackaged--1.0.sql
+PGFILEDESC = "intarray - Functions and operators for array of integers"
 
 REGRESS = _int
 
diff --git a/contrib/isn/Makefile b/contrib/isn/Makefile
index bd8f193..1c09116 100644
--- a/contrib/isn/Makefile
+++ b/contrib/isn/Makefile
@@ -4,6 +4,7 @@ MODULES = isn
 
 EXTENSION = isn
 DATA = isn--1.0.sql isn--unpackaged--1.0.sql
+PGFILEDESC = "isn - Data types for numbering standards"
 
 ifdef USE_PGXS
 PG_CONFIG = pg_config
diff --git a/contrib/lo/Makefile b/contrib/lo/Makefile
index 66b337c..907ccf0 100644
--- a/contrib/lo/Makefile
+++ b/contrib/lo/Makefile
@@ -4,6 +4,7 @@ MODULES = lo
 
 EXTENSION = lo
 DATA = lo--1.0.sql lo--unpackaged--1.0.sql
+PGFILEDESC = "lo - Management for large objects"
 
 ifdef USE_PGXS
 PG_CONFIG = pg_config
diff --git a/contrib/ltree/Makefile b/contrib/ltree/Makefile
index 65d42f8..a90d045 100644
--- a/contrib/ltree/Makefile
+++ b/contrib/ltree/Makefile
@@ -7,6 +7,7 @@ PG_CPPFLAGS = -DLOWER_NODE
 
 EXTENSION = ltree
 DATA = ltree--1.0.sql ltree--unpackaged--1.0.sql
+PGFILEDESC = "ltree - Data type for representing labels of data stored"
 
 REGRESS = ltree
 
diff --git a/contrib/pageinspect/Makefile b/contrib/pageinspect/Makefile
index ee78cb2..c96140f 100644
--- a/contrib/pageinspect/Makefile
+++ b/contrib/pageinspect/Makefile
@@ -6,6 +6,7 @@ OBJS		= rawpage.o heapfuncs.o btreefuncs.o fsmfuncs.o
 EXTENSION = pageinspect
 DATA = pageinspect--1.2.sql pageinspect--1.0--1.1.sql \
 	pageinspect--1.1--1.2.sql pageinspect--unpackaged--1.0.sql
+PGFILEDESC = "pageinspect - Functions to inspect contents of database pages"
 
 ifdef USE_PGXS
 PG_CONFIG = pg_config
diff --git a/contrib/passwordcheck/Makefile b/contrib/passwordcheck/Makefile
index 4829bfd..2cb4656 100644
--- a/contrib/passwordcheck/Makefile
+++ b/contrib/passwordcheck/Makefile
@@ -2,6 +2,7 @@
 
 MODULE_big = passwordcheck
 OBJS = passwordcheck.o
+PGFILEDESC = "passwordcheck - Strengthen user password checks"
 
 # uncomment the following two lines to enable cracklib support
 # PG_CPPFLAGS = -DUSE_CRACKLIB '-DCRACKLIB_DICTPATH="/usr/lib/cracklib_dict"'
diff --git a/contrib/pg_buffercache/Makefile b/contrib/pg_buffercache/Makefile
index 323c0ac..da18231 100644
--- a/contrib/pg_buffercache/Makefile
+++ b/contrib/pg_buffercache/Makefile
@@ -5,6 +5,7 @@ OBJS = pg_buffercache_pages.o
 
 EXTENSION = pg_buffercache
 DATA = pg_buffercache--1.0.sql pg_buffercache--unpackaged--1.0.sql
+PGFILEDESC = "pg_buffercache - Monitoring of shared buffer cache in real-time"
 
 ifdef USE_PGXS
 PG_CONFIG = pg_config
diff --git a/contrib/pg_freespacemap/Makefile b/contrib/pg_freespacemap/Makefile
index b2e3ba3..2bb50d7 100644
--- a/contrib/pg_freespacemap/Makefile
+++ b/contrib/pg_freespacemap/Makefile
@@ -5,6 +5,7 @@ OBJS = pg_freespacemap.o
 
 EXTENSION = pg_freespacemap
 DATA = pg_freespacemap--1.0.sql pg_freespacemap--unpackaged--1.0.sql
+PGFILEDESC = "pg_freespacemap - Monitoring of free space map"
 
 ifdef USE_PGXS
 PG_CONFIG = pg_config
diff --git a/contrib/pg_prewarm/Makefile b/contrib/pg_prewarm/Makefile
index 176a29a..cdfec0d 100644
--- a/contrib/pg_prewarm/Makefile
+++ b/contrib/pg_prewarm/Makefile
@@ -5,6 +5,7 @@ OBJS = pg_prewarm.o
 
 EXTENSION = pg_prewarm
 DATA = pg_prewarm--1.0.sql
+PGFILEDESC = "pg_prewarm - Preload relation data into system buffer cache"
 
 ifdef USE_PGXS
 PG_CONFIG = pg_config
diff --git a/contrib/pg_stat_statements/Makefile b/contrib/pg_stat_statements/Makefile
index 95a2767..70910e5 100644
--- a/contrib/pg_stat_statements/Makefile
+++ b/contrib/pg_stat_statements/Makefile
@@ -6,6 +6,7 @@ OBJS = pg_stat_statements.o
 EXTENSION = pg_stat_statements
 DATA = pg_stat_statements--1.2.sql pg_stat_statements--1.1--1.2.sql \
 	pg_stat_statements--1.0--1.1.sql pg_stat_statements--unpackaged--1.0.sql
+PGFILEDESC = "pg_stat_statements - Execution statistics of SQL statements"
 
 ifdef USE_PGXS
 PG_CONFIG = pg_config
diff --git a/contrib/pg_trgm/Makefile b/contrib/pg_trgm/Makefile
index 0d549f8..cafef1e 100644
--- a/contrib/pg_trgm/Makefile
+++ b/contrib/pg_trgm/Makefile
@@ -5,6 +5,7 @@ OBJS = trgm_op.o trgm_gist.o trgm_gin.o trgm_regexp.o
 
 EXTENSION = pg_trgm
 DATA = pg_trgm--1.1.sql pg_trgm--1.0--1.1.sql pg_trgm--unpackaged--1.0.sql
+PGFILEDESC = "pg_trgm - Trigram matching"
 
 REGRESS = pg_trgm
 
diff --git a/contrib/pg_xlogdump/Makefile b/contrib/pg_xlogdump/Makefile
index ada261c..a3ba823 100644
--- a/contrib/pg_xlogdump/Makefile
+++ b/contrib/pg_xlogdump/Makefile
@@ -1,6 +1,6 @@
 # contrib/pg_xlogdump/Makefile
 
-PGFILEDESC = "pg_xlogdump"
+PGFILEDESC = "pg_xlogdump - Tool to display in readable form WAL contents"
 PGAPPICON=win32
 
 PROGRAM = pg_xlogdump
diff --git a/contrib/pgcrypto/Makefile b/contrib/pgcrypto/Makefile
index 1c85c98..6874dbf 100644
--- a/contrib/pgcrypto/Makefile
+++ b/contrib/pgcrypto/Makefile
@@ -27,6 +27,7 @@ OBJS		= $(SRCS:.c=.o)
 
 EXTENSION = pgcrypto
 DATA = pgcrypto--1.1.sql pgcrypto--1.0--1.1.sql pgcrypto--unpackaged--1.0.sql
+PGFILEDESC = "pgcrypto - Cryptographic functions"
 
 REGRESS = init md5 sha1 hmac-md5 hmac-sha1 blowfish rijndael \
 	$(CF_TESTS) \
diff --git a/contrib/pgrowlocks/Makefile b/contrib/pgrowlocks/Makefile
index fe80423..23ed97a 100644
--- a/contrib/pgrowlocks/Makefile
+++ b/contrib/pgrowlocks/Makefile
@@ -5,6 +5,7 @@ OBJS		= pgrowlocks.o
 
 EXTENSION = pgrowlocks
 DATA = pgrowlocks--1.1.sql pgrowlocks--1.0--1.1.sql pgrowlocks--unpackaged--1.0.sql
+PGFILEDESC = "pgrowlocks - Display row locking information"
 
 ifdef USE_PGXS
 PG_CONFIG = pg_config
diff --git a/contrib/pgstattuple/Makefile b/contrib/pgstattuple/Makefile
index d991c3a..a12ad59 100644
--- a/contrib/pgstattuple/Makefile
+++ b/contrib/pgstattuple/Makefile
@@ -5,6 +5,7 @@ OBJS		= pgstattuple.o pgstatindex.o
 
 EXTENSION = pgstattuple
 DATA = pgstattuple--1.2.sql pgstattuple--1.1--1.2.sql pgstattuple--1.0--1.1.sql pgstattuple--unpackaged--1.0.sql
+PGFILEDESC = "pgstattuple - Tuple-level statistics"
 
 REGRESS = pgstattuple
 
diff --git a/contrib/postgres_fdw/Makefile b/contrib/postgres_fdw/Makefile
index 8c49720..182f742 100644
--- a/contrib/postgres_fdw/Makefile
+++ b/contrib/postgres_fdw/Makefile
@@ -2,6 +2,7 @@
 
 MODULE_big = postgres_fdw
 OBJS = postgres_fdw.o option.o deparse.o connection.o
+PGFILEDESC = "postgres_fdw - Foreign data wrapper for PostgreSQL"
 
 PG_CPPFLAGS = -I$(libpq_srcdir)
 SHLIB_LINK = $(libpq)
diff --git a/contrib/seg/Makefile b/contrib/seg/Makefile
index fb9c576..f523265 100644
--- a/contrib/seg/Makefile
+++ b/contrib/seg/Makefile
@@ -5,6 +5,7 @@ OBJS = seg.o segparse.o
 
 EXTENSION = seg
 DATA = seg--1.0.sql seg--unpackaged--1.0.sql
+PGFILEDESC = "seg - Representation of line segments"
 
 REGRESS = seg
 
diff --git a/contrib/sepgsql/Makefile b/contrib/sepgsql/Makefile
index ff3a61d..f73e8b6 100644
--- a/contrib/sepgsql/Makefile
+++ b/contrib/sepgsql/Makefile
@@ -4,6 +4,7 @@ MODULE_big = sepgsql
 OBJS = hooks.o selinux.o uavc.o label.o dml.o \
 	database.o schema.o relation.o proc.o
 DATA_built = sepgsql.sql
+PGFILEDESC = "sepgsql - Module for SELinux security policy"
 
 # Note: because we don't tell the Makefile there are any regression tests,
 # we have to clean those result files explicitly
diff --git a/contrib/spi/Makefile b/contrib/spi/Makefile
index 0c11bfc..10ab5bb 100644
--- a/contrib/spi/Makefile
+++ b/contrib/spi/Makefile
@@ -9,6 +9,7 @@ DATA = autoinc--1.0.sql autoinc--unpackaged--1.0.sql \
        moddatetime--1.0.sql moddatetime--unpackaged--1.0.sql \
        refint--1.0.sql refint--unpackaged--1.0.sql \
        timetravel--1.0.sql timetravel--unpackaged--1.0.sql
+PGFILEDESC = "spi - examples of using SPI and triggers"
 
 DOCS = $(addsuffix .example, $(MODULES))
 
diff --git a/contrib/sslinfo/Makefile b/contrib/sslinfo/Makefile
index 0dee6ed..faa297a 100644
--- a/contrib/sslinfo/Makefile
+++ b/contrib/sslinfo/Makefile
@@ -5,6 +5,7 @@ OBJS = sslinfo.o
 
 EXTENSION = sslinfo
 DATA = sslinfo--1.0.sql sslinfo--unpackaged--1.0.sql
+PGFILEDESC = "sslinfo - Informations about SSL certificates"
 
 ifdef USE_PGXS
 PG_CONFIG = pg_config
diff --git a/contrib/tablefunc/Makefile b/contrib/tablefunc/Makefile
index eb10893..d566352 100644
--- a/contrib/tablefunc/Makefile
+++ b/contrib/tablefunc/Makefile
@@ -4,6 +4,7 @@ MODULES = tablefunc
 
 EXTENSION = tablefunc
 DATA = tablefunc--1.0.sql tablefunc--unpackaged--1.0.sql
+PGFILEDESC = "tablefunc - Some functions returning tables"
 
 REGRESS = tablefunc
 
diff --git a/contrib/tcn/Makefile b/contrib/tcn/Makefile
index 7bac5e3..d10929e 100644
--- a/contrib/tcn/Makefile
+++ b/contrib/tcn/Makefile
@@ -4,6 +4,7 @@ MODULES = tcn
 
 EXTENSION = tcn
 DATA = tcn--1.0.sql
+PGFILEDESC = "tcn - Trigger function notifying listeners"
 
 ifdef USE_PGXS
 PG_CONFIG = pg_config
diff --git a/contrib/test_decoding/Makefile b/contrib/test_decoding/Makefile
index 58e0f38..3c02a8e 100644
--- a/contrib/test_decoding/Makefile
+++ b/contrib/test_decoding/Makefile
@@ -2,6 +2,7 @@
 
 MODULES = test_decoding
 OBJS = test_decoding.o
+PGFILEDESC = "test_decoding - Example of a logical decoding output plugin"
 
 # Note: because we don't tell the Makefile there are any regression tests,
 # we have to clean those result files explicitly
diff --git a/contrib/test_parser/Makefile b/contrib/test_parser/Makefile
index b9766cb..855a84b 100644
--- a/contrib/test_parser/Makefile
+++ b/contrib/test_parser/Makefile
@@ -2,6 +2,7 @@
 
 MODULE_big = test_parser
 OBJS = test_parser.o
+PGFILEDESC = "test_parser - Example of a custom parser for full-text search"
 
 EXTENSION = test_parser
 DATA = test_parser--1.0.sql test_parser--unpackaged--1.0.sql
diff --git a/contrib/test_shm_mq/Makefile b/contrib/test_shm_mq/Makefile
index 5e5ac1c..123d016 100644
--- a/contrib/test_shm_mq/Makefile
+++ b/contrib/test_shm_mq/Makefile
@@ -2,6 +2,7 @@
 
 MODULE_big = test_shm_mq
 OBJS = test.o setup.o worker.o
+PGFILEDESC = "test_shm_mq - Example of memory message queue facilities"
 
 EXTENSION = test_shm_mq
 DATA = test_shm_mq--1.0.sql
diff --git a/contrib/tsearch2/Makefile b/contrib/tsearch2/Makefile
index d260fd0..b561ad0 100644
--- a/contrib/tsearch2/Makefile
+++ b/contrib/tsearch2/Makefile
@@ -4,6 +4,7 @@ MODULES = tsearch2
 
 EXTENSION = tsearch2
 DATA = tsearch2--1.0.sql tsearch2--unpackaged--1.0.sql
+PGFILEDESC = "tsearch2 - Backward-compatible text search functionalities"
 
 REGRESS = tsearch2
 
diff --git a/contrib/unaccent/Makefile b/contrib/unaccent/Makefile
index f0be62d..fe4848d 100644
--- a/contrib/unaccent/Makefile
+++ b/contrib/unaccent/Makefile
@@ -6,6 +6,7 @@ OBJS = unaccent.o
 EXTENSION = unaccent
 DATA = unaccent--1.0.sql unaccent--unpackaged--1.0.sql
 DATA_TSEARCH = unaccent.rules
+PGFILEDESC = "unaccent - Text search dictionary that removes accents"
 
 REGRESS = unaccent
 
diff --git a/contrib/uuid-ossp/Makefile b/contrib/uuid-ossp/Makefile
index 335cc7e..d31ae7a 100644
--- a/contrib/uuid-ossp/Makefile
+++ b/contrib/uuid-ossp/Makefile
@@ -5,6 +5,7 @@ OBJS = uuid-ossp.o $(UUID_EXTRA_OBJS)
 
 EXTENSION = uuid-ossp
 DATA = uuid-ossp--1.0.sql uuid-ossp--unpackaged--1.0.sql
+PGFILEDESC = "uuid-ossp - Generation of UUIDs"
 
 REGRESS = uuid_ossp
 
diff --git a/contrib/worker_spi/Makefile b/contrib/worker_spi/Makefile
index fbb29b4..97f10ef 100644
--- a/contrib/worker_spi/Makefile
+++ b/contrib/worker_spi/Makefile
@@ -4,6 +4,7 @@ MODULES = worker_spi
 
 EXTENSION = worker_spi
 DATA = worker_spi--1.0.sql
+PGFILEDESC = "worker_spi - Background worker example"
 
 ifdef USE_PGXS
 PG_CONFIG = pg_config
diff --git a/contrib/xml2/Makefile b/contrib/xml2/Makefile
index be3d018..d0ce896 100644
--- a/contrib/xml2/Makefile
+++ b/contrib/xml2/Makefile
@@ -5,6 +5,7 @@ OBJS = xpath.o xslt_proc.o
 
 EXTENSION = xml2
 DATA = xml2--1.0.sql xml2--unpackaged--1.0.sql
+PGFILEDESC = "xml2 - XPath querying and XSLT functionality"
 
 REGRESS = xml2
 
diff --git a/src/backend/replication/libpqwalreceiver/Makefile b/src/backend/replication/libpqwalreceiver/Makefile
index 774adaa..815e08e 100644
--- a/src/backend/replication/libpqwalreceiver/Makefile
+++ b/src/backend/replication/libpqwalreceiver/Makefile
@@ -17,6 +17,7 @@ override CPPFLAGS := -I$(srcdir) -I$(libpq_srcdir) $(CPPFLAGS)
 OBJS = libpqwalreceiver.o
 SHLIB_LINK = $(libpq)
 SHLIB_PREREQS = submake-libpq
+PGFILEDESC = "libpqwalreceiver - WAL receiver library"
 NAME = libpqwalreceiver
 
 all: all-shared-lib
diff --git a/src/backend/utils/mb/conversion_procs/ascii_and_mic/Makefile b/src/backend/utils/mb/conversion_procs/ascii_and_mic/Makefile
index d71ca16..26f0c05 100644
--- a/src/backend/utils/mb/conversion_procs/ascii_and_mic/Makefile
+++ b/src/backend/utils/mb/conversion_procs/ascii_and_mic/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= ascii_and_mic
+PGFILEDESC	= "ascii_and_mic"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/cyrillic_and_mic/Makefile b/src/backend/utils/mb/conversion_procs/cyrillic_and_mic/Makefile
index 78c384a..933fa15 100644
--- a/src/backend/utils/mb/conversion_procs/cyrillic_and_mic/Makefile
+++ b/src/backend/utils/mb/conversion_procs/cyrillic_and_mic/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= cyrillic_and_mic
+PGFILEDESC	= "cyrillic_and_mic"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/euc2004_sjis2004/Makefile b/src/backend/utils/mb/conversion_procs/euc2004_sjis2004/Makefile
index 199e655..7f31e94 100644
--- a/src/backend/utils/mb/conversion_procs/euc2004_sjis2004/Makefile
+++ b/src/backend/utils/mb/conversion_procs/euc2004_sjis2004/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= euc2004_sjis2004
+PGFILEDESC	= "euc2004_sjis2004"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/euc_cn_and_mic/Makefile b/src/backend/utils/mb/conversion_procs/euc_cn_and_mic/Makefile
index a740656..df511e4 100644
--- a/src/backend/utils/mb/conversion_procs/euc_cn_and_mic/Makefile
+++ b/src/backend/utils/mb/conversion_procs/euc_cn_and_mic/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= euc_cn_and_mic
+PGFILEDESC	= "euc_cn_and_mic"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/euc_jp_and_sjis/Makefile b/src/backend/utils/mb/conversion_procs/euc_jp_and_sjis/Makefile
index fa167e9..aa1eb51 100644
--- a/src/backend/utils/mb/conversion_procs/euc_jp_and_sjis/Makefile
+++ b/src/backend/utils/mb/conversion_procs/euc_jp_and_sjis/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= euc_jp_and_sjis
+PGFILEDESC	= "euc_jp_and_sjis"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/euc_kr_and_mic/Makefile b/src/backend/utils/mb/conversion_procs/euc_kr_and_mic/Makefile
index 5ce5548..c99a115 100644
--- a/src/backend/utils/mb/conversion_procs/euc_kr_and_mic/Makefile
+++ b/src/backend/utils/mb/conversion_procs/euc_kr_and_mic/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= euc_kr_and_mic
+PGFILEDESC	= "euc_kr_and_mic"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/euc_tw_and_big5/Makefile b/src/backend/utils/mb/conversion_procs/euc_tw_and_big5/Makefile
index 7625435..e45d69d 100644
--- a/src/backend/utils/mb/conversion_procs/euc_tw_and_big5/Makefile
+++ b/src/backend/utils/mb/conversion_procs/euc_tw_and_big5/Makefile
@@ -8,6 +8,7 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= euc_tw_and_big5
+PGFILEDESC	= "euc_tw_and_big5"
 
 SRCS += big5.c
 OBJS += big5.o
diff --git a/src/backend/utils/mb/conversion_procs/latin2_and_win1250/Makefile b/src/backend/utils/mb/conversion_procs/latin2_and_win1250/Makefile
index 7587b66..21a61aa 100644
--- a/src/backend/utils/mb/conversion_procs/latin2_and_win1250/Makefile
+++ b/src/backend/utils/mb/conversion_procs/latin2_and_win1250/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= latin2_and_win1250
+PGFILEDESC	= "latin2_and_win1250"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/latin_and_mic/Makefile b/src/backend/utils/mb/conversion_procs/latin_and_mic/Makefile
index ec88740..976ce15 100644
--- a/src/backend/utils/mb/conversion_procs/latin_and_mic/Makefile
+++ b/src/backend/utils/mb/conversion_procs/latin_and_mic/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= latin_and_mic
+PGFILEDESC	= "latin_and_mic"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/utf8_and_ascii/Makefile b/src/backend/utils/mb/conversion_procs/utf8_and_ascii/Makefile
index a4b1b3f..cd31b40 100644
--- a/src/backend/utils/mb/conversion_procs/utf8_and_ascii/Makefile
+++ b/src/backend/utils/mb/conversion_procs/utf8_and_ascii/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= utf8_and_ascii
+PGFILEDESC	= "utf8_and_ascii"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/utf8_and_big5/Makefile b/src/backend/utils/mb/conversion_procs/utf8_and_big5/Makefile
index df72836..50c2bd4 100644
--- a/src/backend/utils/mb/conversion_procs/utf8_and_big5/Makefile
+++ b/src/backend/utils/mb/conversion_procs/utf8_and_big5/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= utf8_and_big5
+PGFILEDESC	= "utf8_and_big5"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/utf8_and_cyrillic/Makefile b/src/backend/utils/mb/conversion_procs/utf8_and_cyrillic/Makefile
index 410037c..941b946 100644
--- a/src/backend/utils/mb/conversion_procs/utf8_and_cyrillic/Makefile
+++ b/src/backend/utils/mb/conversion_procs/utf8_and_cyrillic/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= utf8_and_cyrillic
+PGFILEDESC	= "utf8_and_cyrillic"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/utf8_and_euc2004/Makefile b/src/backend/utils/mb/conversion_procs/utf8_and_euc2004/Makefile
index 58c513a..ef239f1 100644
--- a/src/backend/utils/mb/conversion_procs/utf8_and_euc2004/Makefile
+++ b/src/backend/utils/mb/conversion_procs/utf8_and_euc2004/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= utf8_and_euc2004
+PGFILEDESC	= "utf8_and_euc2004"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/utf8_and_euc_cn/Makefile b/src/backend/utils/mb/conversion_procs/utf8_and_euc_cn/Makefile
index 053162e..7df9e53 100644
--- a/src/backend/utils/mb/conversion_procs/utf8_and_euc_cn/Makefile
+++ b/src/backend/utils/mb/conversion_procs/utf8_and_euc_cn/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= utf8_and_euc_cn
+PGFILEDESC	= "utf8_and_euc_cn"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/utf8_and_euc_jp/Makefile b/src/backend/utils/mb/conversion_procs/utf8_and_euc_jp/Makefile
index 6a7678d..384391c 100644
--- a/src/backend/utils/mb/conversion_procs/utf8_and_euc_jp/Makefile
+++ b/src/backend/utils/mb/conversion_procs/utf8_and_euc_jp/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= utf8_and_euc_jp
+PGFILEDESC	= "utf8_and_euc_jp"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/utf8_and_euc_kr/Makefile b/src/backend/utils/mb/conversion_procs/utf8_and_euc_kr/Makefile
index 13935ab..7bf52d1 100644
--- a/src/backend/utils/mb/conversion_procs/utf8_and_euc_kr/Makefile
+++ b/src/backend/utils/mb/conversion_procs/utf8_and_euc_kr/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= utf8_and_euc_kr
+PGFILEDESC	= "utf8_and_euc_kr"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/utf8_and_euc_tw/Makefile b/src/backend/utils/mb/conversion_procs/utf8_and_euc_tw/Makefile
index 7b9b833..6cf2764 100644
--- a/src/backend/utils/mb/conversion_procs/utf8_and_euc_tw/Makefile
+++ b/src/backend/utils/mb/conversion_procs/utf8_and_euc_tw/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= utf8_and_euc_tw
+PGFILEDESC	= "utf8_and_euc_tw"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/utf8_and_gb18030/Makefile b/src/backend/utils/mb/conversion_procs/utf8_and_gb18030/Makefile
index 1fb3e5a..a31aaff 100644
--- a/src/backend/utils/mb/conversion_procs/utf8_and_gb18030/Makefile
+++ b/src/backend/utils/mb/conversion_procs/utf8_and_gb18030/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= utf8_and_gb18030
+PGFILEDESC	= "utf8_and_gb18030"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/utf8_and_gbk/Makefile b/src/backend/utils/mb/conversion_procs/utf8_and_gbk/Makefile
index 240fe14..6430d40 100644
--- a/src/backend/utils/mb/conversion_procs/utf8_and_gbk/Makefile
+++ b/src/backend/utils/mb/conversion_procs/utf8_and_gbk/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= utf8_and_gbk
+PGFILEDESC	= "utf8_and_gbk"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/utf8_and_iso8859/Makefile b/src/backend/utils/mb/conversion_procs/utf8_and_iso8859/Makefile
index c02323e..a268ac8 100644
--- a/src/backend/utils/mb/conversion_procs/utf8_and_iso8859/Makefile
+++ b/src/backend/utils/mb/conversion_procs/utf8_and_iso8859/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= utf8_and_iso8859
+PGFILEDESC	= "utf8_and_iso8859"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/utf8_and_iso8859_1/Makefile b/src/backend/utils/mb/conversion_procs/utf8_and_iso8859_1/Makefile
index c2fac2e..766ab31 100644
--- a/src/backend/utils/mb/conversion_procs/utf8_and_iso8859_1/Makefile
+++ b/src/backend/utils/mb/conversion_procs/utf8_and_iso8859_1/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= utf8_and_iso8859_1
+PGFILEDESC	= "utf8_and_iso8859_1"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/utf8_and_johab/Makefile b/src/backend/utils/mb/conversion_procs/utf8_and_johab/Makefile
index bdd39fb..fc47e99 100644
--- a/src/backend/utils/mb/conversion_procs/utf8_and_johab/Makefile
+++ b/src/backend/utils/mb/conversion_procs/utf8_and_johab/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= utf8_and_johab
+PGFILEDESC	= "utf8_and_johab"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/utf8_and_sjis/Makefile b/src/backend/utils/mb/conversion_procs/utf8_and_sjis/Makefile
index 7f4dd0c..4e0fd86 100644
--- a/src/backend/utils/mb/conversion_procs/utf8_and_sjis/Makefile
+++ b/src/backend/utils/mb/conversion_procs/utf8_and_sjis/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= utf8_and_sjis
+PGFILEDESC	= "utf8_and_sjis"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/utf8_and_sjis2004/Makefile b/src/backend/utils/mb/conversion_procs/utf8_and_sjis2004/Makefile
index ed0bfde..c96fd0e 100644
--- a/src/backend/utils/mb/conversion_procs/utf8_and_sjis2004/Makefile
+++ b/src/backend/utils/mb/conversion_procs/utf8_and_sjis2004/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= utf8_and_sjis2004
+PGFILEDESC	= "utf8_and_sjis2004"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/utf8_and_uhc/Makefile b/src/backend/utils/mb/conversion_procs/utf8_and_uhc/Makefile
index 5c09c7e..b7bb518 100644
--- a/src/backend/utils/mb/conversion_procs/utf8_and_uhc/Makefile
+++ b/src/backend/utils/mb/conversion_procs/utf8_and_uhc/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= utf8_and_uhc
+PGFILEDESC	= "utf8_and_uhc"
 
 include $(srcdir)/../proc.mk
diff --git a/src/backend/utils/mb/conversion_procs/utf8_and_win/Makefile b/src/backend/utils/mb/conversion_procs/utf8_and_win/Makefile
index 31c510b..097b242 100644
--- a/src/backend/utils/mb/conversion_procs/utf8_and_win/Makefile
+++ b/src/backend/utils/mb/conversion_procs/utf8_and_win/Makefile
@@ -8,5 +8,6 @@ top_builddir = ../../../../../..
 include $(top_builddir)/src/Makefile.global
 
 NAME		= utf8_and_win
+PGFILEDESC	= "utf8_and_win"
 
 include $(srcdir)/../proc.mk
diff --git a/src/bin/pg_basebackup/Makefile b/src/bin/pg_basebackup/Makefile
index c6322ec..5fc73e9 100644
--- a/src/bin/pg_basebackup/Makefile
+++ b/src/bin/pg_basebackup/Makefile
@@ -9,7 +9,7 @@
 #
 #-------------------------------------------------------------------------
 
-PGFILEDESC = "pg_basebackup - takes a streaming base backup of a PostgreSQL instance"
+PGFILEDESC = "pg_basebackup/pg_receivexlog/pg_recvlogical - Backup tool and WAL stream receivers"
 PGAPPICON=win32
 
 subdir = src/bin/pg_basebackup
diff --git a/src/interfaces/ecpg/compatlib/Makefile b/src/interfaces/ecpg/compatlib/Makefile
index db704d7..5582bb7 100644
--- a/src/interfaces/ecpg/compatlib/Makefile
+++ b/src/interfaces/ecpg/compatlib/Makefile
@@ -13,6 +13,7 @@ subdir = src/interfaces/ecpg/compatlib
 top_builddir = ../../../..
 include $(top_builddir)/src/Makefile.global
 
+PGFILEDESC = "ECPG compat - Compatibility Library for ECPG"
 NAME= ecpg_compat
 SO_MAJOR_VERSION= 3
 SO_MINOR_VERSION= 7
diff --git a/src/interfaces/ecpg/ecpglib/Makefile b/src/interfaces/ecpg/ecpglib/Makefile
index 9f4582e..9bf4d1f 100644
--- a/src/interfaces/ecpg/ecpglib/Makefile
+++ b/src/interfaces/ecpg/ecpglib/Makefile
@@ -13,6 +13,7 @@ subdir = src/interfaces/ecpg/ecpglib
 top_builddir = ../../../..
 include $(top_builddir)/src/Makefile.global
 
+PGFILEDESC = "ECPG - Embedded SQL in C"
 NAME= ecpg
 SO_MAJOR_VERSION= 6
 SO_MINOR_VERSION= 7
diff --git a/src/interfaces/ecpg/pgtypeslib/Makefile b/src/interfaces/ecpg/pgtypeslib/Makefile
index d73c37e..3eb643b 100644
--- a/src/interfaces/ecpg/pgtypeslib/Makefile
+++ b/src/interfaces/ecpg/pgtypeslib/Makefile
@@ -13,6 +13,7 @@ subdir = src/interfaces/ecpg/pgtypeslib
 top_builddir = ../../../..
 include $(top_builddir)/src/Makefile.global
 
+PGFILEDESC = "pgtypes - Library for data type mapping"
 NAME= pgtypes
 SO_MAJOR_VERSION= 3
 SO_MINOR_VERSION= 6
diff --git a/src/interfaces/ecpg/test/Makefile b/src/interfaces/ecpg/test/Makefile
index d359fce..0befee3 100644
--- a/src/interfaces/ecpg/test/Makefile
+++ b/src/interfaces/ecpg/test/Makefile
@@ -13,6 +13,8 @@ override CPPFLAGS := \
 	'-DDLSUFFIX="$(DLSUFFIX)"' \
 	$(CPPFLAGS)
 
+PGFILEDESC = "ECPG Test - Regression tests for ECPG"
+
 # where to find psql for testing an existing installation
 PSQLDIR = $(bindir)
 
diff --git a/src/pl/plperl/GNUmakefile b/src/pl/plperl/GNUmakefile
index 1e800a3..831da22 100644
--- a/src/pl/plperl/GNUmakefile
+++ b/src/pl/plperl/GNUmakefile
@@ -26,6 +26,7 @@ override CPPFLAGS := -I. -I$(srcdir) $(CPPFLAGS) -I$(perl_archlibexp)/CORE
 
 rpathdir = $(perl_archlibexp)/CORE
 
+PGFILEDESC = "PL/Perl - Perl Procedural Language"
 
 NAME = plperl
 
diff --git a/src/pl/plpgsql/src/Makefile b/src/pl/plpgsql/src/Makefile
index 852b0c7..2ddbefb 100644
--- a/src/pl/plpgsql/src/Makefile
+++ b/src/pl/plpgsql/src/Makefile
@@ -10,6 +10,8 @@ subdir = src/pl/plpgsql/src
 top_builddir = ../../../..
 include $(top_builddir)/src/Makefile.global
 
+PGFILEDESC = "PL/pgSQL - SQL Procedural Language"
+
 # Shared library parameters
 NAME= plpgsql
 
diff --git a/src/pl/plpython/Makefile b/src/pl/plpython/Makefile
index 020861a..cf57e97 100644
--- a/src/pl/plpython/Makefile
+++ b/src/pl/plpython/Makefile
@@ -38,6 +38,8 @@ override CPPFLAGS := -I. -I$(srcdir) $(python_includespec) $(CPPFLAGS)
 
 rpathdir = $(python_libdir)
 
+PGFILEDESC = "PL/Python - Python Procedural Language"
+
 NAME = plpython$(python_majorversion)
 
 OBJS = \
diff --git a/src/pl/tcl/Makefile b/src/pl/tcl/Makefile
index 2ab2a27..70333e7 100644
--- a/src/pl/tcl/Makefile
+++ b/src/pl/tcl/Makefile
@@ -34,6 +34,7 @@ ifneq ($(PORTNAME), win32)
 SHLIB_LINK = $(TCL_LIB_SPEC) $(TCL_LIBS) -lc
 endif
 
+PGFILEDESC = "PL/Tcl - Tcl Procedural Language"
 
 NAME = pltcl
 
diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm
index 0377772..3bee965 100644
--- a/src/tools/msvc/Mkvcbuild.pm
+++ b/src/tools/msvc/Mkvcbuild.pm
@@ -505,6 +505,7 @@ sub mkvcbuild
 			'pgp-mpi-internal.c', 'imath.c');
 	}
 	$pgcrypto->AddReference($postgres);
+	$pgcrypto->AddDir('contrib/pgcrypto');
 	$pgcrypto->AddLibrary('wsock32.lib');
 	my $mf = Project::read_file('contrib/pgcrypto/Makefile');
 	GenerateContribSqlFiles('pgcrypto', $mf);
@@ -539,6 +540,7 @@ sub mkvcbuild
 			$p->AddFile(
 				'src\backend\utils\mb\conversion_procs\\' . $sub . '\\' . $1);
 		}
+		$p->AddDir('src\backend\utils\mb\conversion_procs\\' . $sub);
 		$p->AddReference($postgres);
 	}
 
-- 
2.0.0

