Re: meson PGXS compatibility

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-hackers(at)postgresql(dot)org, Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: meson PGXS compatibility
Date: 2022-10-13 05:16:48
Message-ID: 20221013051648.ufz7ud2b5tioctyt@awork3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On 2022-10-10 14:35:14 -0700, Andres Freund wrote:
> On 2022-10-05 13:07:10 -0700, Andres Freund wrote:
> > 0004: solaris: Check for -Wl,-E directly instead of checking for gnu LD
> >
> > This allows us to get rid of the nontrivial detection of with_gnu_ld,
> > simplifying meson PGXS compatibility. It's also nice to delete libtool.m4.
> >
> > I don't like the SOLARIS_EXPORT_DYNAMIC variable I invented. If somebody has
> > a better idea...
>
> A cleaner approach could be to add a LDFLAGS_BE and emit the -Wl,-E into it
> from both configure and meson, solely based on whether -Wl,-E is supported. I
> haven't verified cygwin, but on our other platforms that seems to do the right
> thing.

I think that does look better. See the attached 0003.

The attached v3 of this patch has an unchanged 0001 (CRC cflags).

For 0002, I still removed LD from Makefile.global, but instead just hardcoded
ld in the export file generation portion of the backend build - there's no
working alternative linkers, and we already hardcode a bunch of other paths in
mkldexport.

0003 is changed significantly - as proposed in the message quoted above, I
introduced LDFLAGS_EX_BE and moved the detection -Wl,-E (I used
-Wl,--export-dynamic, which we previously only used on FreeBSD) into
configure, getting rid of export_dynamic.

0004, the patch introducing PGXS compat, saw a few changes too:
- I implemented one of the FIXMEs, the correct determination of strip flags
- I moved the bulk of the pgxs compat code to src/makefiles/meson.build - imo
src/meson.build got bulked up too much with pgxs-emulation code
- some minor cleanups

Greetings,

Andres Freund

Attachment Content-Type Size
v3-0001-autoconf-Unify-CFLAGS_SSE42-and-CFLAGS_ARMV8_CRC3.patch text/x-diff 9.6 KB
v3-0002-autoconf-Don-t-AC_SUBST-LD-in-configure.patch text/x-diff 3.2 KB
v3-0003-autoconf-Move-export_dynamic-determination-to-con.patch text/x-diff 26.3 KB
v3-0004-meson-Add-PGXS-compatibility.patch text/x-diff 9.2 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2022-10-13 05:23:40 Re: meson PGXS compatibility
Previous Message Amit Kapila 2022-10-13 05:07:40 Re: create subscription - improved warning message