On 30.08.22 00:13, Andres Freund wrote:
1) For make based builds, all libraries that are built with MODULES rather
than MODULES_big have the wrong "FILETYPE", because Makefile.win32 checks
$(shlib), which is only set for MODULES_big.
This used to be even more widely wrong until recently:
commit 16a4a3d59cd5574fdc697ea16ef5692ce34c54d5
Author: Peter Eisentraut <pe...@eisentraut.org>
Date: 2020-01-15 10:15:06 +0100
Remove libpq.rc, use win32ver.rc for libpq
Afaict before that we only set it correctly for pgevent.
Note, when I worked on this at that time, it was with the aim of
simplifying the version stamping script. So I don't really know much
about this.
3) We don't add an icon to postgres ("This is a daemon process, which is why
it is not labeled as an executable"), but we do add icons to several
libraries, at least snowball, pgevent, libpq.
We should probably just remove the icon from the libraries?
Wouldn't the icon still show up in the file manager or something? Where
is the icon actually used?
4) We include the date, excluding 0 for some mysterious reason, in the version
number. This seems to unnecessarily contribute to making the build not
reproducible. Hails from long ago:
Yeah, that is evil.
5) We have a PGFILEDESC for (nearly?) every binary/library. They largely don't
seem more useful descriptions than the binary's name. Why don't we just
drop most of them and just set the description as something like
"PostgreSQL $name (binary|library)"? I doubt anybody ever looks into these
details except to perhaps check the version number or such.
We do an equivalent shortcut with the pkg-config files:
echo 'Description: PostgreSQL lib$(NAME) library' >>$@
Seems good enough.