Re: meson PGXS compatibility
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: pgsql-hackers@postgresql.org, Nazir Bilal Yavuz <byavuz81@gmail.com>, Peter Eisentraut <peter.eisentraut@enterprisedb.com>, Tom Lane <tgl@sss.pgh.pa.us>
Date: 2022-10-13T05:16:48Z
Lists: pgsql-hackers
Attachments
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
Commits
-
meson: Add basic PGXS compatibility
- 5bdd0cfb9103 16.0 landed
-
autoconf: Move export_dynamic determination to configure
- 9db49fc5bfdc 16.0 landed
-
autoconf: Don't AC_SUBST() LD in configure
- 069de07eae73 16.0 landed
-
autoconf: Unify CFLAGS_SSE42 and CFLAGS_ARMV8_CRC32C
- e0f0e08e17a6 16.0 landed
-
autoconf: Rely on ar supporting index creation
- 2473cb9ff374 16.0 landed