Re: automating pg_config.h.win32 maintenance
От | Heikki Linnakangas |
---|---|
Тема | Re: automating pg_config.h.win32 maintenance |
Дата | |
Msg-id | 594b0e2a-6343-039a-1bac-a3ec7e74f2bf@iki.fi обсуждение исходный текст |
Ответ на | automating pg_config.h.win32 maintenance (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>) |
Ответы |
Re: automating pg_config.h.win32 maintenance
|
Список | pgsql-hackers |
On 13/12/2019 14:51, Peter Eisentraut wrote: > Keeping pg_config.h.win32 up to date with pg_config.h.in is a gratuitous > annoyance. Hear hear! > My proposal is that we essentially emulate what config.status does in > Perl code. config.status gets a list of defines discovered by configure > and processes pg_config.h.in to pg_config.h by substituting the defines. > The MSVC build system basically has those defines hardcoded, but the > processing we can do in just the same way. It already had code to do a > bit of that anyway, so it's really not a big leap. See attached > patches. (I put the remove of pg_config.h.win32 into a separate patch > so that reviewers can just apply the first patch and then diff the > produced pg_config.h with the existing pg_config.h.win32.) Sounds good. I hadn't realized we already had the infrastructure ready for this. A couple of minor comments: > + print $o "/* src/include/pg_config.h. Generated from pg_config.h.in by ", basename(__FILE__), ". */\n"; How about just hardcoding this to "Generated from pg_config.h.in by Solution.pm". Using basename(__FILE__) seems overly cute. > + my @simple_defines = qw( > + HAVE_ATOMICS > + ... long list ... > + USE_WIN32_SHARED_MEMORY > + ); > + > + foreach my $k (@simple_defines) > + { > + $define{$k} = 1; > + } I don't think this @simple_defines is really any better than listing all the options directly with "$define{HAVE_ATOMICS} = 1". And some simple defines are already listed like that, e.g. HAVE_DECL_STRNLEN above that list. - Heikki
В списке pgsql-hackers по дате отправления: