treewide: internally avoid deprecated machine file uses of "pkgconfig"

We support this in a machine file:

```
[binaries]
pkgconfig = 'pkg-config'
pkg-config = 'pkg-config'
```

and you can use either one, because internally we look up both. If you
only set *one* of them, this plays awkwardly with setting $PKG_CONFIG,
since we don't know which one you set in the machine file and the
*other* one will be initialized from the environment instead.

In commit 22df45a319 we changed program
lookup of config-tool style dependencies to use the regular tool names
and only fall back on the strange internal names. This affected the
pkg-config class too.

The result is that instead of preferring `pkgconfig =` followed by
$PKG_CONFIG followed by `pkg-config =`, we inverted the lookup order.
This is a good idea anyway, because now it behaves consistently with
`find_program('pkg-config')`.

Unfortunately, we documented the wrong name in a bunch of places, and
also used the wrong name in various testsuite bits, which meant that if
you set $PKG_CONFIG and then ran the testsuite, it would fail.

Correct these references, because they are buggy.

One test case expected to find_program() a native copy for convenience
of testing against natively installed glib. Force it to resolve a native
copy.
pull/12060/head
Eli Schwartz 1 year ago
parent 947e0f819b
commit 13f8eba9b6
No known key found for this signature in database
GPG Key ID: CEB167EFB5722BD6
  1. 2
      cross/armclang-linux.txt
  2. 2
      cross/linux-mingw-w64-32bit.txt
  3. 2
      cross/linux-mingw-w64-64bit.txt
  4. 2
      cross/none.txt
  5. 2
      cross/ubuntu-armhf.txt
  6. 6
      docs/markdown/Machine-files.md
  7. 2
      mesonbuild/scripts/env2mfile.py
  8. 2
      test cases/common/44 pkgconfig-gen/meson.build
  9. 2
      test cases/unit/33 cross file overrides always args/ubuntu-armhf-overrides.txt
  10. 2
      test cases/unit/36 exe_wrapper behaviour/broken-cross.txt
  11. 4
      unittests/allplatformstests.py

@ -22,7 +22,7 @@ c = ['/opt/arm/developmentstudio-2019.0/sw/ARMCompiler6.12/bin/armclang', '--tar
#cpp = '/usr/bin/arm-linux-gnueabihf-g++'
ar = '/opt/arm/developmentstudio-2019.0/sw/ARMCompiler6.12/bin/armar'
#strip = '/usr/arm-linux-gnueabihf/bin/strip'
#pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'
#pkg-config = '/usr/bin/arm-linux-gnueabihf-pkg-config'
[host_machine]
system = 'baremetal'

@ -4,7 +4,7 @@ cpp = '/usr/bin/i686-w64-mingw32-g++'
objc = '/usr/bin/i686-w64-mingw32-gcc'
ar = '/usr/bin/i686-w64-mingw32-ar'
strip = '/usr/bin/i686-w64-mingw32-strip'
pkgconfig = '/usr/bin/i686-w64-mingw32-pkg-config'
pkg-config = '/usr/bin/i686-w64-mingw32-pkg-config'
windres = '/usr/bin/i686-w64-mingw32-windres'
exe_wrapper = 'wine'
ld = '/usr/bin/i686-w64-mingw32-ld'

@ -4,7 +4,7 @@ cpp = '/usr/bin/x86_64-w64-mingw32-g++'
objc = '/usr/bin/x86_64-w64-mingw32-gcc'
ar = '/usr/bin/x86_64-w64-mingw32-ar'
strip = '/usr/bin/x86_64-w64-mingw32-strip'
pkgconfig = '/usr/bin/x86_64-w64-mingw32-pkg-config'
pkg-config = '/usr/bin/x86_64-w64-mingw32-pkg-config'
windres = '/usr/bin/x86_64-w64-mingw32-windres'
exe_wrapper = 'wine'
cmake = '/usr/bin/cmake'

@ -15,5 +15,5 @@ fc = ['false']
objc = ['false']
objcpp = ['false']
ar = ['false']
pkgconfig = ['false']
pkg-config = ['false']
cmake = ['false']

@ -6,7 +6,7 @@ cpp = ['/usr/bin/arm-linux-gnueabihf-g++']
rust = ['rustc', '--target', 'arm-unknown-linux-gnueabihf', '-C', 'linker=/usr/bin/arm-linux-gnueabihf-gcc-7']
ar = '/usr/arm-linux-gnueabihf/bin/ar'
strip = '/usr/arm-linux-gnueabihf/bin/strip'
pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'
pkg-config = '/usr/bin/arm-linux-gnueabihf-pkg-config'
ld = '/usr/bin/arm-linux/gnueabihf-ld'
[built-in options]

@ -90,7 +90,7 @@ arch = 'aarch64-linux-gnu'
c = arch + '-gcc'
cpp = arch + '-g++'
strip = arch + '-strip'
pkgconfig = arch + '-pkg-config'
pkg-config = arch + '-pkg-config'
...
```
@ -165,7 +165,7 @@ c_ld = 'gold'
cpp_ld = 'gold'
ar = '/usr/i586-mingw32msvc/bin/ar'
strip = '/usr/i586-mingw32msvc/bin/strip'
pkgconfig = '/usr/bin/i586-mingw32msvc-pkg-config'
pkg-config = '/usr/bin/i586-mingw32msvc-pkg-config'
```
An incomplete list of internally used programs that can be overridden
@ -179,7 +179,7 @@ here is:
- libwmf-config
- llvm-config
- pcap-config
- pkgconfig
- pkg-config
- sdl2-config
- wx-config (or wx-3.0-config or wx-config-gtk)

@ -213,7 +213,7 @@ def detect_cross_debianlike(options: T.Any) -> MachineInfo:
except ValueError:
pass
try:
infos.binaries['pkgconfig'] = locate_path("%s-pkg-config" % host_arch)
infos.binaries['pkg-config'] = locate_path("%s-pkg-config" % host_arch)
except ValueError:
pass # pkg-config is optional
try:

@ -8,7 +8,7 @@ if not cc.find_library('z', required: false).found()
endif
# First check we have pkg-config >= 0.29
pkgconfig = find_program('pkg-config', required: false)
pkgconfig = find_program('pkg-config', native: true, required: false)
if not pkgconfig.found()
error('MESON_SKIP_TEST: pkg-config not found')
endif

@ -6,7 +6,7 @@ cpp = '/usr/bin/arm-linux-gnueabihf-g++'
rust = ['rustc', '--target', 'arm-unknown-linux-gnueabihf', '-C', 'linker=/usr/bin/arm-linux-gnueabihf-gcc-7']
ar = '/usr/arm-linux-gnueabihf/bin/ar'
strip = '/usr/arm-linux-gnueabihf/bin/strip'
pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'
pkg-config = '/usr/bin/arm-linux-gnueabihf-pkg-config'
[properties]
root = '/usr/arm-linux-gnueabihf'

@ -3,7 +3,7 @@ c = '/usr/bin/x86_64-w64-mingw32-gcc'
cpp = '/usr/bin/x86_64-w64-mingw32-g++'
ar = '/usr/bin/x86_64-w64-mingw32-ar'
strip = '/usr/bin/x86_64-w64-mingw32-strip'
pkgconfig = '/usr/bin/x86_64-w64-mingw32-pkg-config'
pkg-config = '/usr/bin/x86_64-w64-mingw32-pkg-config'
windres = '/usr/bin/x86_64-w64-mingw32-windres'
exe_wrapper = 'broken'

@ -2722,7 +2722,7 @@ class AllPlatformTests(BasePlatformTests):
with tempfile.NamedTemporaryFile(mode='w', delete=False, encoding='utf-8') as crossfile:
crossfile.write(textwrap.dedent(
'''[binaries]
pkgconfig = '{}'
pkg-config = '{}'
[properties]
@ -2749,7 +2749,7 @@ class AllPlatformTests(BasePlatformTests):
with tempfile.NamedTemporaryFile(mode='w', delete=False, encoding='utf-8') as crossfile:
crossfile.write(textwrap.dedent(
'''[binaries]
pkgconfig = 'pkg-config'
pkg-config = 'pkg-config'
[properties]
pkg_config_libdir = ['{}']

Loading…
Cancel
Save