I have spent some time reviewing the code. It applies well and PG master branch build fine with setting extraver or keep it undefined. I have observed the following output applying the patch i.e.
Keeping extraver undefined :
C:\PG\postgresql\inst_withpatch_no_extra-version>bin\psql.exe -d postgres psql (9.5devel) WARNING: Console code page (437) differs from Windows code page (1252) 8-bit characters might not work correctly. See psql reference page "Notes for Windows users" for details. Type "help" for help. postgres=# select version(); version ---------------------------------------------------------------- PostgreSQL 9.5devel, compiled by Visual C++ build 1600, 64-bit (1 row) C:\PG\postgresql\inst_withpatch_no_extra-version>bin\initdb.exe -V initdb (PostgreSQL) 9.5devel
Setting extraver as ‘June27’ :
C:\PG\postgresql\inst_withpatch_extra-version>bin\psql -d postgres psql (9.5devel) WARNING: Console code page (437) differs from Windows code page (1252) 8-bit characters might not work correctly. See psql reference page "Notes for Windows users" for details. Type "help" for help. postgres=# select version(); version ---------------------------------------------------------------------- PostgreSQL 9.5develJune27, compiled by Visual C++ build 1600, 64-bit (1 row)
It seems that extraver information only appears when version function is being used. If we use -V (--version) with pg utilities/binaries, it does not include additional provided information.
Can you please guide how can I perform similar functionality via configure script (that can be used on Unix like OS/MinGW) or It is intended for Window specific requirement ?. Thanks.
Please find attached a patch extending support of --with-extra-version in the MSVC scripts. This is something I have been using internally, and I believe that it is useful for Windows packagers. Similarly to the other options, a new field called extraver is added in config_default.pl and it can be overwritten in config.pl to have an additional version string, similarly to what is currently doable with ./configure.
I'll add this patch to the next commit fest. Regards, -- Michael