postgres.git / summary / log / commit / refs

commit    793a5bebebbedd925311ba95cb77e3fb9b704200
Author:   Andres Freund <andres@anarazel.de>
Date:     Sat Jul 20 20:51:09 2024 +0000
First released in: 18.0, 16.4, 17.0

    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


meson.build | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index a7bdf1cfc33..b5978ef6a76 100644 --- a/meson.build +++ b/meson.build @@ -1393,9 +1393,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 [parent: 2b4593379b81]