Skip to content

Commit

Permalink
meson: Add support for detecting ossp-uuid without pkg-config
Browse files Browse the repository at this point in the history
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
  • Loading branch information
anarazel committed Jul 20, 2024
1 parent a850701 commit 1213875
Showing 1 changed file with 18 additions and 1 deletion.
19 changes: 18 additions & 1 deletion meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 1213875

Please sign in to comment.