From: Fred Morcos Date: Thu, 4 Apr 2024 12:07:02 +0000 (+0200) Subject: Meson: Integrate libdecaf library and header detection X-Git-Tag: rec-5.1.0-alpha1~59^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F14031%2Fhead;p=thirdparty%2Fpdns.git Meson: Integrate libdecaf library and header detection --- diff --git a/meson/libdecaf/meson.build b/meson/libdecaf/meson.build index c7b274bfc3..a7770e1c46 100644 --- a/meson/libdecaf/meson.build +++ b/meson/libdecaf/meson.build @@ -5,38 +5,52 @@ if not opt_libdecaf.disabled() dep_libdecaf = dependency('libdecaf', required: false) if not dep_libdecaf.found() - dep_libdecaf = cxx.find_library( - 'decaf', - dirs: [ - '/usr', - '/usr' / 'lib', - '/usr' / 'local', - '/usr' / 'local' / 'lib', - ], - required: opt_libdecaf - ) - endif - - if dep_libdecaf.found() - message('Libdecaf: Checking for header file') + all_lib_dirs = [ + '/usr', + '/usr' / 'lib', + '/usr' / 'local', + '/usr' / 'local' / 'lib', + ] - include_dirs = include_directories( + all_include_dirs = [ '/usr' / 'include', '/usr' / 'include' / 'decaf', '/usr' / 'local' / 'include', '/usr' / 'local' / 'include' / 'decaf', - is_system: true, - ) + ] - cxx.has_header( - 'decaf.hxx', - required: true, - include_directories: include_dirs, + fs = import('fs') + + lib_dirs = [] + foreach lib_dir: all_lib_dirs + if fs.is_dir(lib_dir) + lib_dirs += lib_dir + endif + endforeach + + include_dirs = [] + foreach include_dir: all_include_dirs + if fs.is_dir(include_dir) + include_dirs += include_dir + endif + endforeach + include_dirs = include_directories(include_dirs, is_system: true) + + dep_libdecaf = cxx.find_library( + 'decaf', + dirs: lib_dirs, + required: opt_libdecaf, + has_headers: [ + 'decaf.hxx', + 'decaf' / 'spongerng.hxx', + 'decaf' / 'eddsa.hxx', + ], + header_include_directories: include_dirs, ) dep_libdecaf = declare_dependency( - include_directories: dir, dependencies: dep_libdecaf, + include_directories: include_dirs, ) endif endif