+++ /dev/null
---- a/meson.build
-+++ b/meson.build
-@@ -300,7 +300,6 @@ endif
- # Google Test
- GTEST_DEP = dependency(
- 'gtest',
-- fallback: ['gtest', 'gtest_dep'],
- required: FUZZ_OPT.enabled() or TESTS_OPT.enabled(),
- )
-
-@@ -363,167 +362,80 @@ conf_data.set('HAVE_PGSQL', POSTGRESQL_D
-
- #### Compiler Checks
-
--# The required keyword in cpp.run() is an 1.5.0 feature.
--result = cpp.run(
-- fs.read('compiler-checks/get-cpp-standard.cc'),
-- name: 'Get cpp standard',
--)
--if result.returncode() == 0
-- cpp_standard = result.stdout().strip()
--else
-- error('C++ standard is unknown')
--endif
--message(f'Detected C++ standard (__cplusplus value) is @cpp_standard@.')
--cpp_std_opt = get_option('cpp_std')
--no_cpp_std_opt_msg = 'Please set a C++ standard by passing the -D cpp_std argument to meson.'
--cpp_std_opt_msg = f'-D cpp_std=@cpp_std_opt@ is not enough.'
--if cpp_standard.version_compare('<201100')
-- msgs = [
-- 'Kea requires at least C++11 to build.',
-- 'Recommended C++ standard is C++14 but some dependencies require at least C++20',
-- ]
-- if cpp_std_opt == 'none'
-- msgs += no_cpp_std_opt_msg
-- else
-- msgs += cpp_std_opt_msg
-- endif
-- error('\n'.join(msgs))
--endif
--if cpp_standard.version_compare('<201400')
-- result = cpp.run(
-- fs.read('compiler-checks/boost-math-cpp14.cc'),
-- name: 'BOOST_MATH_REQUIRES_CPP14',
-- dependencies: [boost_dep, threads_dep],
-- )
-- if result.returncode() != 0
-- msgs = ['Boost Math requires at least C++14.']
-- if cpp_std_opt == 'none'
-- msgs += no_cpp_std_opt_msg
-- else
-- msgs += cpp_std_opt_msg
-- endif
-- error('\n'.join(msgs))
-- endif
--endif
--if NETCONF_DEP.found() and cpp_standard.version_compare('<202000')
-- msgs = ['NETCONF dependency requires at least C++20.']
-- if cpp_std_opt == 'none'
-- msgs += no_cpp_std_opt_msg
-- else
-- msgs += cpp_std_opt_msg
-- endif
-- if netconf_opt.enabled()
-- error('\n'.join(msgs))
-- else
-- msgs += 'Disabling NETCONF.'
-- warning('\n'.join(msgs))
-- NETCONF_DEP = disabler()
-- endif
--endif
--if CRYPTO_DEP.name() == botan.name() and cpp_standard.version_compare('<202000')
-- msgs = ['Botan dependency requires at least C++20.']
-- if cpp_std_opt == 'none'
-- msgs += no_cpp_std_opt_msg
-- else
-- msgs += cpp_std_opt_msg
-- endif
-- error('\n'.join(msgs))
--endif
--
--result = cpp.run(
-- fs.read('compiler-checks/boost-has-threads.cc'),
-- dependencies: [boost_dep, threads_dep],
-- name: 'BOOST_HAS_THREADS',
--)
--if result.returncode() != 0
-- error('boost is not configured to use threads')
--endif
--
--if cpp.has_header('boost/regex.h', dependencies: [boost_dep], required: false)
-- result = cpp.run(
-- fs.read('compiler-checks/boost-regex.cc'),
-- dependencies: [boost_dep, threads_dep],
-- name: 'GET_SYSTEM_VS_BOOST_REGEX_HEADER',
-- )
-- if result.returncode() != 0
-- error('boost/regex.h is used in place of system regex.h')
-- endif
--endif
--
--result = cpp.run(
-+result = cpp.compiles(
- fs.read('compiler-checks/chrono-same-duration.cc'),
- name: 'CHRONO_SAME_DURATION',
- )
--conf_data.set('CHRONO_SAME_DURATION', result.returncode() == 0)
-+conf_data.set('CHRONO_SAME_DURATION', result)
-
- if CRYPTO_DEP.name() == openssl.name()
-- result1 = cpp.run(
-+ result1 = cpp.compiles(
- fs.read('compiler-checks/have-generic-tls-method.cc'),
- name: 'HAVE_GENERIC_TLS_METHOD',
- dependencies: [boost_dep, CRYPTO_DEP, threads_dep],
- )
-- result2 = cpp.run(
-+ result2 = cpp.compiles(
- fs.read('compiler-checks/stream-truncated-error.cc'),
- name: 'HAVE_STREAM_TRUNCATED_ERROR',
- dependencies: [boost_dep, CRYPTO_DEP, threads_dep],
- )
-- if result1.returncode() != 0 or result2.returncode() != 0
-+ if not result1 or not result2
- error('Boost TLS support broken.')
- endif
- endif
-
- if CRYPTO_DEP.name() == botan.name()
-- result = cpp.run(
-+ result = cpp.compiles(
- fs.read('compiler-checks/botan-hash.cc'),
- name: 'CHECK_BOTAN_LIBRARY',
- dependencies: [boost_dep, CRYPTO_DEP, threads_dep],
- )
-- if result.returncode() != 0
-+ if not result
- error('Botan library does not work.')
- endif
- endif
-
--result = cpp.run(
-+result = cpp.compiles(
- fs.read('compiler-checks/have-optreset.cc'),
- name: 'HAVE_OPTRESET',
- )
--conf_data.set('HAVE_OPTRESET', result.returncode() == 0)
-+conf_data.set('HAVE_OPTRESET', result)
-
--result = cpp.run(fs.read('compiler-checks/have-sa-len.cc'), name: 'HAVE_SA_LEN')
--conf_data.set('HAVE_SA_LEN', result.returncode() == 0)
-+result = cpp.compiles(fs.read('compiler-checks/have-sa-len.cc'), name: 'HAVE_SA_LEN')
-+conf_data.set('HAVE_SA_LEN', result)
-
--result = cpp.run(
-+result = cpp.compiles(
- fs.read('compiler-checks/log4cplus-initializer.cc'),
- name: 'LOG4CPLUS_INITIALIZER_H',
- dependencies: [LOG4CPLUS_DEP],
- )
--conf_data.set('LOG4CPLUS_INITIALIZER_H', result.returncode() == 0)
-+conf_data.set('LOG4CPLUS_INITIALIZER_H', result)
-
- if MYSQL_DEP.found()
-- result = cpp.run(
-+ result = cpp.compiles(
- fs.read('compiler-checks/mysql-my-bool.cc'),
- name: 'MYSQL_MY_BOOL',
- dependencies: [MYSQL_DEP],
- )
-- conf_data.set('HAVE_MYSQL_MY_BOOL', result.returncode() == 0)
-+ conf_data.set('HAVE_MYSQL_MY_BOOL', result)
-
-- result = cpp.run(
-+ result = cpp.compiles(
- fs.read('compiler-checks/mysql-get-option.cc'),
- name: 'HAVE_MYSQL_GET_OPTION',
- dependencies: [MYSQL_DEP],
- )
-- conf_data.set('HAVE_MYSQL_GET_OPTION', result.returncode() == 0)
-+ conf_data.set('HAVE_MYSQL_GET_OPTION', result)
- endif
-
--result = cpp.run(
-+result = cpp.compiles(
- fs.read('compiler-checks/fuzzing-with-clusterfuzzlite.cc'),
- name: 'FUZZING_WITH_CLUSTERFUZZLITE',
- )
--FUZZING_WITH_CLUSTERFUZZLITE = result.returncode() == 0
-+FUZZING_WITH_CLUSTERFUZZLITE = result
-
- have_afl = false
--result = cpp.run(fs.read('compiler-checks/have-afl.cc'), name: 'HAVE_AFL')
--if result.returncode() == 0
-+result = cpp.compiles(fs.read('compiler-checks/have-afl.cc'), name: 'HAVE_AFL')
-+if result
- have_afl = true
- endif
- conf_data.set('HAVE_AFL', have_afl)
-@@ -534,22 +446,22 @@ if GTEST_DEP.found()
- if GTEST_DEP.type_name() == 'internal'
- conf_data.set('HAVE_CREATE_UNIFIED_DIFF', true)
- else
-- result = cpp.run(
-+ result = cpp.compiles(
- fs.read('compiler-checks/have-create-unified-diff.cc'),
- name: 'HAVE_CREATE_UNIFIED_DIFF',
- dependencies: [GTEST_DEP],
- )
-- conf_data.set('HAVE_CREATE_UNIFIED_DIFF', result.returncode() == 0)
-+ conf_data.set('HAVE_CREATE_UNIFIED_DIFF', result)
- endif
- endif
-
- if KRB5_DEP.found()
-- result = cpp.run(
-+ result = cpp.compiles(
- fs.read('compiler-checks/have-gss-str-to-oid.cc'),
- name: 'HAVE_GSS_STR_TO_OID',
- dependencies: [KRB5_DEP],
- )
-- conf_data.set('HAVE_GSS_STR_TO_OID', result.returncode() == 0)
-+ conf_data.set('HAVE_GSS_STR_TO_OID', result)
- endif
-
- #### Other checks.
-@@ -753,7 +665,7 @@ if result.returncode() == 0
- else
- report_conf_data.set('CXX_VERSION', 'unknown')
- endif
--report_conf_data.set('CXX_STANDARD', cpp_standard)
-+report_conf_data.set('CXX_STANDARD', '20')
- compile_args += cpp_args_opt
- report_conf_data.set('CXX_ARGS', ' '.join(compile_args))
- report_conf_data.set('LD_ID', cpp.get_linker_id())
-@@ -762,29 +674,25 @@ report_conf_data.set('LD_ARGS', ' '.join
- report_conf_data.set('PYTHON_PATH', PYTHON.full_path())
- report_conf_data.set('PYTHON_VERSION', PYTHON.version())
- report_conf_data.set('PKGPYTHONDIR', PKGPYTHONDIR)
--result = cpp.run(
-+result = cpp.compiles(
- fs.read('compiler-checks/get-boost-version.cc'),
- dependencies: [boost_dep, threads_dep],
- name: 'Get Boost version',
- )
--if result.returncode() == 0
-- report_conf_data.set('BOOST_VERSION', result.stdout().strip())
-+if result
-+ report_conf_data.set('BOOST_VERSION', boost_dep.version())
- else
- report_conf_data.set('BOOST_VERSION', 'unknown version')
- endif
- if CRYPTO_DEP.name() == botan.name()
- report_conf_data.set('CRYPTO_NAME', 'Botan')
- report_conf_data.set('SPACES', ' ')
-- result = cpp.run(
-+ result = cpp.compiles(
- fs.read('compiler-checks/get-botan-version.cc'),
- name: 'Get Botan version',
- dependencies: [CRYPTO_DEP],
- )
-- if result.returncode() == 0
-- version = result.stdout().strip()
-- else
-- version = botan.version()
-- endif
-+ version = botan.version()
- if version == 'unknown'
- version = 'unknown version'
- endif
-@@ -792,31 +700,23 @@ if CRYPTO_DEP.name() == botan.name()
- elif CRYPTO_DEP.name() == openssl.name()
- report_conf_data.set('CRYPTO_NAME', 'OpenSSL')
- report_conf_data.set('SPACES', ' ')
-- result = cpp.run(
-+ result = cpp.compiles(
- fs.read('compiler-checks/get-openssl-version.cc'),
- name: 'Get OpenSSL version',
- dependencies: [CRYPTO_DEP],
- )
-- if result.returncode() == 0
-- version = result.stdout().strip()
-- else
-- version = openssl.version()
-- endif
-+ version = openssl.version()
- if version == 'unknown'
- version = 'unknown version'
- endif
- report_conf_data.set('CRYPTO_VERSION', version)
- endif
--result = cpp.run(
-+result = cpp.compiles(
- fs.read('compiler-checks/get-log4cplus-version.cc'),
- name: 'Get Log4cplus version',
- dependencies: [LOG4CPLUS_DEP],
- )
--if result.returncode() == 0
-- version = result.stdout().strip()
--else
-- version = log4cplus.version()
--endif
-+version = LOG4CPLUS_DEP.version()
- if version == 'unknown'
- version = 'unknown version'
- endif
-@@ -1091,13 +991,6 @@ pkg.generate(
-
- #### More Custom Targets
-
--if TARGETS_GEN_MESSAGES.length() > 0
-- alias_target('messages', TARGETS_GEN_MESSAGES)
--else
-- error(
-- 'No messages to generate. This is probably an error in the meson.build files.',
-- )
--endif
- if TARGETS_GEN_PARSER.length() > 0
- alias_target('parser', TARGETS_GEN_PARSER)
- else