aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2024-07-20 13:51:08 -0700
committerAndres Freund <andres@anarazel.de>2024-07-20 13:51:14 -0700
commit2416fdb3ee30bdd2810408f93f14d47bff840fea (patch)
treeefd5cd78c37558430c0548a9cdcbbed4bab9c8d1
parent7ed2ce0b257fcceb37bec8520eb293c0522d8681 (diff)
downloadpostgresql-2416fdb3ee30bdd2810408f93f14d47bff840fea.tar.gz
postgresql-2416fdb3ee30bdd2810408f93f14d47bff840fea.zip
meson: Add support for detecting ossp-uuid without pkg-config
This is necessary as ossp-uuid on windows installs neither a pkg-config nor a cmake dependency information. Nor is there another supported uuid implementation available on windows. Reported-by: Dave Page <dpage@pgadmin.org> Reviewed-by: Tristan Partin <tristan@partin.io> Discussion: https://postgr.es/m/20240709065101.xhc74r3mdg2lmn4w@awork3.anarazel.de Backpatch: 16-, where meson support was added
-rw-r--r--meson.build19
1 files changed, 18 insertions, 1 deletions
diff --git a/meson.build b/meson.build
index 78eec743aaa..c09680f3838 100644
--- a/meson.build
+++ b/meson.build
@@ -1386,9 +1386,26 @@ if uuidopt != 'none'
uuidfunc = 'uuid_to_string'
uuidheader = 'uuid.h'
elif uuidopt == 'ossp'
- uuid = dependency('ossp-uuid', required: true)
+ uuid = dependency('ossp-uuid', required: false)
uuidfunc = 'uuid_export'
uuidheader = 'uuid.h'
+
+ # Hardcoded lookup for ossp-uuid. This is necessary as ossp-uuid on
+ # 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,
+ has_headers: uuidheader, header_include_directories: postgres_inc)
+ endif
+ if not uuid.found()
+ uuid = cc.find_library('uuid',
+ required: true, dirs: test_lib_d,
+ has_headers: uuidheader, header_include_directories: postgres_inc)
+ endif
else
error('unknown uuid build option value: @0@'.format(uuidopt))
endif