END
-if test "@HAVE_PYTHON@" != "no" ; then
+if test '@HAVE_PYTHON@' != 'no'; then
cat >> @TOP_BUILD_DIR@/config.report << END
Python:
PYTHON: @PYTHON_PATH@
END
-if test "@HAVE_MYSQL@" != "no" ; then
+if test '@HAVE_MYSQL@' != 'no'; then
cat >> @TOP_BUILD_DIR@/config.report << END
MySQL:
MYSQL_VERSION: @MYSQL_VERSION@
END
fi
-if test "@HAVE_PGSQL@" != "no" ; then
+if test '@HAVE_PGSQL@' != 'no'; then
cat >> @TOP_BUILD_DIR@/config.report << END
PostgreSQL:
PGSQL_VERSION: @PGSQL_VERSION@
END
-if test "@HAVE_GTEST@" != "no" ; then
+if test '@HAVE_GTEST@' != 'no'; then
cat >> @TOP_BUILD_DIR@/config.report << END
Google Test:
GTEST_VERSION: @GTEST_VERSION@
current_source_dir = meson.current_source_dir()
make_devel_conf_data = configuration_data()
make_devel_conf_data.set('builddir', current_build_dir)
-make_devel_conf_data.set('PACKAGE_VERSION', project_version)
+make_devel_conf_data.set('PACKAGE_VERSION', PROJECT_VERSION)
configure_file(
input: 'make-devel.sh.in',
output: 'make-devel.sh',
set -euv
-cd @TOP_SOURCE_DIR@
+cd '@TOP_SOURCE_DIR@'
extract_bnf="@TOP_BUILD_DIR@/tools/extract_bnf.sh"
set -euv
-cd @builddir@
+cd '@builddir@'
# api.rst is always generated via sphinx's conf.py
@PYTHON@ @srcdir@/api2doc.py -o @srcdir@/api.rst
-rm -f @srcdir@/arm/platforms.rst
-cp @TOP_SOURCE_DIR@/platforms.rst @srcdir@/arm/platforms.rst
+rm -f '@srcdir@/arm/platforms.rst'
+cp '@TOP_SOURCE_DIR@/platforms.rst' '@srcdir@/arm/platforms.rst'
# pdf
-if test "@HAVE_PDFLATEX@" != "no" ; then
+if test '@HAVE_PDFLATEX@' != 'no'; then
@SPHINXBUILD@ -M latex @srcdir@ @sphinxbuilddir@ @sphinxopts@
- cd @abs_sphinxbuilddir@/latex
+ cd '@abs_sphinxbuilddir@/latex'
@PDFLATEX_AND_OPTS@ kea-arm.tex
makeindex -s python.ist kea-arm.idx
@PDFLATEX_AND_OPTS@ kea-arm.tex
@PDFLATEX_AND_OPTS@ kea-messages.tex
fi
-cd @builddir@
+cd '@builddir@'
# html
@SPHINXBUILD@ -M html @srcdir@ @sphinxbuilddir@ @sphinxopts@
set -euv
mkdir -p @docdir@
-if test -d "@abs_sphinxbuilddir@/html" ; then
+if test -d '@abs_sphinxbuilddir@/html'; then
cp -r @abs_sphinxbuilddir@/html @docdir@
- if test "@HAVE_PDFLATEX@" != "no" ; then
+ if test '@HAVE_PDFLATEX@' != 'no'; then
@INSTALL@ -c -m 644 @abs_sphinxbuilddir@/latex/kea-arm.pdf @docdir@
@INSTALL@ -c -m 644 @abs_sphinxbuilddir@/latex/kea-messages.pdf @docdir@
fi
set -euv
-cd @TOP_SOURCE_DIR@
+cd '@TOP_SOURCE_DIR@'
# api-files.txt
find src/share/api -type f -name '[a-z]*.json' | sort -V > "@srcdir@/api-files.txt"
@PYTHON@ ./tools/check-messages.py --generate-debug-messages-page
# kea-messages.rst
-cd @srcdir@
+cd '@srcdir@'
@PYTHON@ ./mes2doc.py -o kea-messages.rst
set -euv
-cd @srcdir@
+cd '@srcdir@'
-if test "@HAVE_PLANTUML@" = "no" ; then
+if test '@HAVE_PLANTUML@' = 'no'; then
exit 0
fi
# shellcheck disable=SC2043
for uml in @umls@; do @PLANTUML@ -tsvg "$uml"; done
# format-svgs
-if test "@HAVE_XMLLINT" != "no" ; then
+if test '@HAVE_XMLLINT' != 'no'; then
# shellcheck disable=SC2043
for svg in @svgs@; do xmllint --format "$svg" > tmp; mv tmp "$svg"; done
else
set -euv
-if test "@HAVE_PIP_COMPILE@" = "no" ; then
+if test '@HAVE_PIP_COMPILE@' = 'no'; then
exit 0
fi
-cd @srcdir@
-rm -f ./src/requirements.txt
-pip-compile -r ./src/requirements.in
+cd '@srcdir@'
+@PIP_COMPILE@ --no-strip-extras --rebuild --upgrade ./src/requirements.in
make_conf_data.set('txts', ' '.join(txts))
if PIP_COMPILE.found()
make_conf_data.set('HAVE_PIP_COMPILE', 'yes')
+ make_conf_data.set('PIP_COMPILE', PIP_COMPILE.full_path())
else
make_conf_data.set('HAVE_PIP_COMPILE', 'no')
+ make_conf_data.set('PIP_COMPILE', 'pip-compile')
endif
make_conf_data.set('man8s', ' '.join(man8s))
make_conf_data.set('PREFIX', PREFIX)
project('kea', 'cpp', version: '2.7.7-git', meson_version: '>=0.64.0')
cpp = meson.get_compiler('cpp')
-project_version = meson.project_version()
+PROJECT_VERSION = meson.project_version()
#### Imports
# 'PACKAGE': 'kea',
# 'PACKAGE_BUGREPORT': 'kea-dev@lists.isc.org',
'PACKAGE_NAME': 'kea',
- # 'PACKAGE_STRING': f'kea "@project_version@"',
+ # 'PACKAGE_STRING': f'kea "@PROJECT_VERSION@"',
# 'PACKAGE_TARNAME': 'kea',
# 'PACKAGE_URL': '',
- 'PACKAGE_VERSION': meson.project_version(),
+ 'PACKAGE_VERSION': PROJECT_VERSION,
'PACKAGE_VERSION_TYPE': '"development"',
# 'PREMIUM': false,
# 'PREMIUM_EXTENDED_VERSION': '"no"',
# 'STDC_HEADERS': false,
# 'TOP_BUILDDIR': false,
# 'USE_STATIC_LINK': false,
- 'VERSION': f'"@project_version@"',
+ 'VERSION': f'"@PROJECT_VERSION@"',
# 'WITH_HEIMDAL': false,
# 'YYTEXT_POINTER': false,
# 'SIZE_T': 'size_t',
compile_args = []
link_args = []
+
+# $ORIGIN documented at https://www.man7.org/linux/man-pages/man8/ld.so.8.html
+rpath = '$ORIGIN/../lib'
if SYSTEM == 'darwin'
compile_args += ['-D__APPLE_USE_RFC_3542']
add_project_arguments('-D__APPLE_USE_RFC_3542', language: 'cpp')
- link_arg = '-Wl,-rpath,$ORIGIN/../lib'
+ link_arg = f'-Wl,-rpath,@rpath@'
link_args += [link_arg]
add_project_link_arguments(link_arg, language: 'cpp')
else
- link_arg = '-Wl,-rpath=$ORIGIN/../lib'
+ link_arg = f'-Wl,-rpath=@rpath@'
link_args += [link_arg]
add_project_link_arguments(link_arg, language: 'cpp')
endif
have_premium = fs.is_dir('premium')
if have_premium
conf_data.set('PREMIUM', 'yes')
- conf_data.set('PREMIUM_EXTENDED_VERSION', f'"@project_version@"')
+ conf_data.set('PREMIUM_EXTENDED_VERSION', f'"@PROJECT_VERSION@"')
else
conf_data.set('PREMIUM', 'no')
conf_data.set('PREMIUM_EXTENDED_VERSION', '"no"')
report_conf_data = configuration_data()
report_conf_data.set('TOP_BUILD_DIR', TOP_BUILD_DIR)
report_conf_data.set('PACKAGE_NAME', 'kea')
-report_conf_data.set('PACKAGE_VERSION', project_version)
-report_conf_data.set('EXTENDED_VERSION', project_version + ' (tarball)')
+report_conf_data.set('PACKAGE_VERSION', PROJECT_VERSION)
+report_conf_data.set('EXTENDED_VERSION', PROJECT_VERSION + ' (tarball)')
report_conf_data.set('PACKAGE_VERSION_TYPE', 'development')
report_conf_data.set('OS_TYPE', OS_TYPE)
report_conf_data.set('PREFIX', PREFIX)
kea_admin_conf_data.set('datarootdir', '${prefix}/' + datadir)
kea_admin_conf_data.set('PACKAGE', 'kea')
kea_admin_conf_data.set('PACKAGE_NAME', 'kea')
-kea_admin_conf_data.set('PACKAGE_VERSION', project_version)
-kea_admin_conf_data.set('EXTENDED_VERSION', project_version + ' (tarball)')
+kea_admin_conf_data.set('PACKAGE_VERSION', PROJECT_VERSION)
+kea_admin_conf_data.set('EXTENDED_VERSION', PROJECT_VERSION + ' (tarball)')
kea_admin_conf_data.set('abs_top_builddir', TOP_BUILD_DIR)
kea_admin_conf_data.set('abs_top_srcdir', TOP_SOURCE_DIR)
kea_admin_conf_data.set('sbindir', '${prefix}/' + get_option('sbindir'))
else
keactrl_conf_data.set('HAVE_NETCONF', 'no')
endif
-keactrl_conf_data.set('EXTENDED_VERSION', project_version + ' (tarball)')
-keactrl_conf_data.set('PACKAGE_VERSION', project_version)
+keactrl_conf_data.set('EXTENDED_VERSION', PROJECT_VERSION + ' (tarball)')
+keactrl_conf_data.set('PACKAGE_VERSION', PROJECT_VERSION)
keactrl_conf_data.set('runstatedir', '${prefix}/' + RUN_STATE_DIR + '/run')
keactrl_conf_data.set('localstatedir', '${prefix}/' + RUN_STATE_DIR)
kea_configfiles_destdir = f'@SYSCONFDIR@/kea'
else
keactrl_tests_conf_data.set('HAVE_NETCONF', 'no')
endif
-keactrl_tests_conf_data.set('PACKAGE_VERSION', project_version)
+keactrl_tests_conf_data.set('PACKAGE_VERSION', PROJECT_VERSION)
configure_file(
input: 'keactrl_tests.sh.in',
output: 'keactrl_tests.sh',
kea_shell_conf_data = configuration_data()
kea_shell_conf_data.set('PYTHON', PYTHON.full_path())
-kea_shell_conf_data.set('PACKAGE_VERSION', project_version)
-kea_shell_conf_data.set('EXTENDED_VERSION', project_version + ' (tarball)')
+kea_shell_conf_data.set('PACKAGE_VERSION', PROJECT_VERSION)
+kea_shell_conf_data.set('EXTENDED_VERSION', PROJECT_VERSION + ' (tarball)')
r = run_command(
PYTHON,
dhcp_test_lib_conf_data = configuration_data()
dhcp_test_lib_conf_data.set('abs_top_builddir', TOP_BUILD_DIR)
dhcp_test_lib_conf_data.set('prefix', PREFIX)
-dhcp_test_lib_conf_data.set('PACKAGE_VERSION', project_version)
+dhcp_test_lib_conf_data.set('PACKAGE_VERSION', PROJECT_VERSION)
dhcp_test_lib_conf_data.set('dotlibs', '')
configure_file(
input: 'dhcp_test_lib.sh.in',