1
0
Fork 0

Merging upstream version 1.4.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-16 10:07:22 +01:00
parent cd3404518a
commit 4776b16754
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
795 changed files with 3047 additions and 1805 deletions

View file

@ -8,13 +8,14 @@
project(
'libnvme', ['c'],
meson_version: '>= 0.50.0',
version: '1.3',
version: '1.4',
license: 'LGPL-2.1-or-later',
default_options: [
'c_std=gnu99',
'warning_level=1',
'buildtype=debug',
'prefix=/usr/local',
'sysconfdir=etc',
]
)
@ -50,45 +51,62 @@ conf.set('PROJECT_VERSION', '"@0@"'.format(meson.project_version()))
conf.set('SYSCONFDIR', '"@0@"'.format(sysconfdir))
# Check for json-c availability
json_c_dep = dependency('json-c',
version: '>=0.13',
required: true,
fallback : ['json-c', 'json_c_dep'])
if get_option('json-c').disabled()
json_c_dep = dependency('', required: false)
else
json_c_dep = dependency('json-c',
version: '>=0.13',
required: true,
fallback : ['json-c', 'json_c_dep'])
endif
conf.set('CONFIG_JSONC', json_c_dep.found(), description: 'Is json-c required?')
# Check for OpenSSL availability
openssl_dep = dependency('openssl',
version: '>=1.1.0',
required: get_option('openssl'),
fallback : ['openssl', 'libssl_dep'])
if openssl_dep.found()
conf.set('CONFIG_OPENSSL', true,
description: 'Is OpenSSL/LibreSSL available?')
if get_option('openssl').disabled()
openssl_dep = dependency('', required: false)
else
openssl_dep = dependency('openssl',
version: '>=1.1.0',
required: get_option('openssl'),
fallback : ['openssl', 'libssl_dep'])
if openssl_dep.version().version_compare('<2.0.0')
api_version = 1
endif
if openssl_dep.version().version_compare('>=3.0.0')
api_version = 3
# Test for LibreSSL v3.x with incomplete OpenSSL v3 APIs
is_libressl = cc.has_header_symbol('openssl/opensslv.h',
'LIBRESSL_VERSION_NUMBER',
dependencies: openssl_dep)
has_header = cc.has_header('openssl/core_names.h',
dependencies: openssl_dep)
if is_libressl and not has_header
if openssl_dep.found()
if openssl_dep.version().version_compare('<2.0.0')
api_version = 1
endif
endif
if openssl_dep.version().version_compare('>=3.0.0')
api_version = 3
endif
conf.set('CONFIG_OPENSSL_@0@'.format(api_version), true,
description: 'OpenSSL/LibreSSL API version @0@'.format(api_version))
# Test for LibreSSL v3.x with incomplete OpenSSL v3 APIs
if openssl_dep.type_name() != 'internal'
is_libressl = cc.has_header_symbol('openssl/opensslv.h',
'LIBRESSL_VERSION_NUMBER',
dependencies: openssl_dep)
has_header = cc.has_header('openssl/core_names.h',
dependencies: openssl_dep)
if is_libressl and not has_header
api_version = 1
endif
endif
conf.set('CONFIG_OPENSSL_@0@'.format(api_version), true,
description: 'OpenSSL/LibreSSL API version @0@'.format(api_version))
endif
endif
conf.set('CONFIG_OPENSSL', openssl_dep.found(),
description: 'Is OpenSSL/LibreSSL available?')
if get_option('keyutils').disabled()
keyutils_dep = dependency('', required: false)
else
keyutils_dep = dependency('libkeyutils',
required : get_option('keyutils'))
endif
conf.set('CONFIG_KEYUTILS', keyutils_dep.found(),
description: 'Is libkeyutils available?')
if get_option('libdbus').disabled()
libdbus_dep = dependency('', required: false)
else
@ -199,7 +217,10 @@ conf.set10(
conf.set(
'HAVE_LIBNSS',
cc.links(
'''int main(int argc, char **argv) {
'''#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
int main(int argc, char **argv) {
struct addrinfo hints, *result;
return getaddrinfo(argv[1], argv[2], &hints, &result);
}
@ -245,3 +266,18 @@ subdir('libnvme')
subdir('test')
subdir('examples')
subdir('doc')
################################################################################
if meson.version().version_compare('>=0.53.0')
summary_dict = {
'prefixdir': prefixdir,
'sysconfdir': sysconfdir,
'bindir': bindir,
'includedir': includedir,
'datadir': datadir,
'mandir': mandir,
'libdir': libdir,
'build location': meson.current_build_dir(),
}
summary(summary_dict)
endif