Re: meson: pgxs Makefile.global differences
От | Tristan Partin |
---|---|
Тема | Re: meson: pgxs Makefile.global differences |
Дата | |
Msg-id | CUYCAD19HJ25.36D6QV4YQHQY2@gonk обсуждение исходный текст |
Ответ на | Re: meson: pgxs Makefile.global differences (Andrew Dunstan <andrew@dunslane.net>) |
Список | pgsql-hackers |
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&stg=FileTextArrayFDW-build> > >>> 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)
В списке pgsql-hackers по дате отправления: