public inbox for [email protected]
help / color / mirror / Atom feedFrom: Nazir Bilal Yavuz <[email protected]>
To: Miłosz Bieniek <[email protected]>
Cc: Peter Eisentraut <[email protected]>
Cc: [email protected]
Subject: Re: [PATCH] Add `headerscheck` run_target to meson
Date: Fri, 28 Nov 2025 18:05:12 +0300
Message-ID: <CAN55FZ1OkRkQMT==EtTWesKBFdBG28WrzhYsex3UG67F7bAQ8A@mail.gmail.com> (raw)
In-Reply-To: <CAMSWrt-A0ha0qANftNYGpa8vEbtiD_7iV+0mdP0g9V8va=K0YA@mail.gmail.com>
References: <CAMSWrt-PoQt4sHryWrB1ViuGBJF_PpbjoSGrWR2Ry47bHNLDqg@mail.gmail.com>
<[email protected]>
<CAMSWrt-A0ha0qANftNYGpa8vEbtiD_7iV+0mdP0g9V8va=K0YA@mail.gmail.com>
Hi,
Thank you for working on this!
On Fri, 28 Nov 2025 at 17:03, Miłosz Bieniek <[email protected]> wrote:
>
> pt., 28 lis 2025 o 12:53 Peter Eisentraut <[email protected]> napisał(a):
> >
> > On 27.11.25 10:28, Miłosz Bieniek wrote:
> > > While reviewing a patch I noticed that we have a `make -s headerscheck`
> > > but there is no equivalent in meson.
> > > I prepared a small patch that adds `headerscheck` and `cpluspluscheck`
> > > targets.
> >
> > This would be good to have, but I don't think your patch works. It
> > seems you need to add the srcdir and builddir command-line arguments to
> > the invocations.
> >
>
> I think you are right. I added srcdir and builddir arguments.
The headerscheck script pulls some information from Makefile.global
after the configure [1] but meson does not generate a full version of
Makefile.global [2], so it does not have the required information to
check perl and python headers. If you run 'meson compile
headerscheck', you get errors like:
In file included from
/home/nbyavuz/Desktop/projects/postgres/src/pl/plperl/plperl.h:25,
from /tmp/headerscheck.YxsZhn/test.c:2:
/home/nbyavuz/Desktop/projects/postgres/src/pl/plperl/plperl_system.h:85:10:
fatal error: EXTERN.h: No such file or directory
85 | #include <EXTERN.h>
| ^~~~~~~~~~
compilation terminated.
In file included from
/home/nbyavuz/Desktop/projects/postgres/src/pl/plpython/plpython.h:39,
from
/home/nbyavuz/Desktop/projects/postgres/src/pl/plpython/plpy_plpymodule.h:8,
from /tmp/headerscheck.YxsZhn/test.c:2:
/home/nbyavuz/Desktop/projects/postgres/src/pl/plpython/plpython_system.h:50:10:
fatal error: Python.h: No such file or directory
50 | #include <Python.h>
| ^~~~~~~~~~
compilation terminated.
-----
[1.1] src/tools/pginclude/headerscheck
# Needs to be run after configuring and creating all generated headers.
# It's advisable to configure --with-perl --with-python, else you're
# likely to get errors from associated headers.
[1.2] src/tools/pginclude/headerscheck
# Pull some info from configure's results.
MGLOB="$builddir/src/Makefile.global"
CPPFLAGS=`sed -n 's/^CPPFLAGS[ ]*=[ ]*//p' "$MGLOB"`
CFLAGS=`sed -n 's/^CFLAGS[ ]*=[ ]*//p' "$MGLOB"`
ICU_CFLAGS=`sed -n 's/^ICU_CFLAGS[ ]*=[ ]*//p' "$MGLOB"`
CC=`sed -n 's/^CC[ ]*=[ ]*//p' "$MGLOB"`
CXX=`sed -n 's/^CXX[ ]*=[ ]*//p' "$MGLOB"`
PG_SYSROOT=`sed -n 's/^PG_SYSROOT[ ]*=[ ]*//p' "$MGLOB"`
perl_includespec=`sed -n 's/^perl_includespec[ ]*=[ ]*//p' "$MGLOB"`
python_includespec=`sed -n 's/^python_includespec[ ]*=[ ]*//p' "$MGLOB"`
[2] src/meson.build
makefile_global = configure_file(
input: 'Makefile.global.in',
output: 'Makefile.global',
configuration: pgxs_cdata,
install: true,
install_dir: dir_pgxs / 'src',
)
configure_files += makefile_global
--
Regards,
Nazir Bilal Yavuz
Microsoft
view thread (10+ messages) latest in thread
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: [PATCH] Add `headerscheck` run_target to meson
In-Reply-To: <CAN55FZ1OkRkQMT==EtTWesKBFdBG28WrzhYsex3UG67F7bAQ8A@mail.gmail.com>
* 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