Hi Aidar,
Thanks for the updates! I reviewed v6 and tested it on Linux aarch64.
With Meson 1.3.2, an installed PGXS extension gets the OpenSSL and ICU
flags from non-default prefixes, builds, and loads successfully. I also
checked the CMake path, including an OpenSSL include directory with a
space.
I found two remaining issues with Meson 0.57.2:
1. pkg_config_libdir can be a string, but this line fails in that case:
pkg_config_libdir = [] + meson.get_external_property('pkg_config_libdir', [])
With [properties] pkg_config_libdir = '/usr/lib/aarch64-linux-gnu/pkgconfig',
setup fails with "can only concatenate list (not \"str\") to list".
The same configuration succeeds without v6. Could this use an empty
list followed by +=, as incdirs_list already does?
2. In 0.57.2 the machine-file binary entry is named 'pkgconfig'. With
[binaries] pkgconfig pointing to a wrapper, dependency() uses that
wrapper, but find_program('pkg-config') finds /usr/bin/pkg-config.
My wrapper selects .pc files with non-default include paths; Meson's
dependency flags contain those paths, but the exported CPPFLAGS and
ICU_CFLAGS lose them. Looking up both names fixes this in my test.
I checked both changes together on 0.57.2: the string case configures,
and the wrapper case exports the expected include paths.
Also, you were right about keeping the host-side lookup: my earlier
"native: true" suggestion was wrong for cross builds.
Best regards,
Yuriy