Fallback to uuid for ossp-uuid with meson

The upstream name for the ossp-uuid package / pkg-config file is
"uuid". Many distributions change this to be "ossp-uuid" to not
conflict with e2fsprogs.

This lookup fails on distributions which don't change this name, for
example NixOS / nixpkgs. Both "ossp-uuid" and "uuid" are also checked
in configure.ac.

Author: Wolfgang Walther
Reviewed-by: Nazir Bilal Yavuz, Alvaro Herrera, Peter Eisentraut
Reviewed-by: Tristan Partin
Discussion: https://www.postgresql.org/message-id/ca8f37e1-a2c3-40e2-91f6-59c3d3652ad4@technowledgy.de
Backpatch: 16-, where meson support was added
This commit is contained in:
Heikki Linnakangas 2024-07-27 13:53:08 +03:00
parent c9e2457390
commit a00fae9d43

View File

@ -1416,7 +1416,9 @@ if uuidopt != 'none'
uuidfunc = 'uuid_to_string'
uuidheader = 'uuid.h'
elif uuidopt == 'ossp'
uuid = dependency('ossp-uuid', required: false)
# In upstream, the package and library is called just 'uuid', but many
# distros change it to 'ossp-uuid'.
uuid = dependency('ossp-uuid', 'uuid', required: false)
uuidfunc = 'uuid_export'
uuidheader = 'uuid.h'
@ -1424,8 +1426,6 @@ if uuidopt != 'none'
# windows installs neither a pkg-config nor a cmake dependency
# information. Nor is there another supported uuid implementation
# available on windows.
#
# Sometimes the ossp-uuid library is named 'uuid' sometimes 'ossp-uuid'
if not uuid.found()
uuid = cc.find_library('ossp-uuid',
required: false, dirs: test_lib_d,