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  (Michael Paquier <michael@paquier.xyz>)
Список 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 по дате отправления:

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: automating pg_config.h.win32 maintenance
Следующее
От: Peter Eisentraut
Дата:
Сообщение: logical replication does not fire per-column triggers