public inbox for [email protected]
help / color / mirror / Atom feedFrom: Tristan Partin <[email protected]>
To: Andrew Dunstan <[email protected]>
To: Andres Freund <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Subject: Re: meson: pgxs Makefile.global differences
Date: Mon, 21 Aug 2023 10:48:23 -0500
Message-ID: <CUYCAD19HJ25.36D6QV4YQHQY2@gonk> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
<CUV2U1MR5T8E.2T55FGZG23INJ@gonk>
<[email protected]>
<[email protected]>
On Mon Aug 21, 2023 at 10:33 AM CDT, Andrew Dunstan wrote:
>
> On 2023-08-17 Th 16:51, Andres Freund wrote:
> > Hi,
> >
> > On 2023-08-17 14:45:54 -0500, Tristan Partin wrote:
> >> On Thu Aug 17, 2023 at 2:32 PM CDT, Andrew Dunstan wrote:
> >>> I started digging into a warning I noticed on my FDW builds where
> >>> Postgres is built with meson, e.g.<https://buildfarm.postgresql.org/cgi-bin/show_stage_log.pl?nm=crake&dt=2023-08-16%2018%3A37%3A25...;
> >>> which has this:
> >>>
> >>> cc1: warning: ‘-Wformat-security’ ignored without ‘-Wformat’
> >>> [-Wformat-security]
> >>>
> >>> I found that the pgxs Makefile.global built under meson is a bit
> >>> different. On debug builds for both this is what I get on HEAD (meson)
> >>> and REL_15_STABLE (autoconf), stripped of the current components:
> > I assume "current" means the flags that are present in both cases?
> >
> >
> >>> HEAD: CFLAGS =-Wshadow=compatible-local
> >>> REL_15_STABLE: CFLAGS =-Wall -g
> >>>
> >>> The warning is apparently due to the missing -Wall.
> >>>
> >>> Shouldn't we be aiming for pretty much identical settings?
> > The difference for -Wshadow=compatible-local is due to changes between 15 and
> > HEAD.
> >
> > We're indeed not adding -Wall right now (the warning level is handled by
> > meson, so it doesn't show up in our cflags right now).
> >
> >
> >> I agree that they should be identical. The meson bild should definitely be
> >> aiming for 100% compatibility for the Makefile.global.
> > I don't think that's feasible. It was a fair bit of work to get the most
> > important contents to match, while skipping lots of things that are primarily
> > relevant for building the server (which isn't relevant for pgxs).
> >
> > That said, in this specific case, I agree, we should likely emit -Wall to
> > Makefile.global in meson as well.
> >
>
> Where should we do that? And how about the -g that's also missing for
> debug-enabled builds?
Look in src/makefiles/meson.build. You will see a line like
'CFLAGS': var_cflags. You probably want to do something like:
pgxs_cflags = var_cflags + cc.get_supported_arguments('-Wxxx')
if get_option('debug')
# Populate for debug flags that aren't -g
debug_flags = {}
pgxs_cflags += debug_flags.get(cc.get_id(),
cc.get_supported_arguments('-g')
endif
...
CFLAGS: pgxs_cflags,
...
--
Tristan Partin
Neon (https://neon.tech)
view thread (8+ messages)
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected]
Subject: Re: meson: pgxs Makefile.global differences
In-Reply-To: <CUYCAD19HJ25.36D6QV4YQHQY2@gonk>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox