SYSCONFDIR = get_option('sysconfdir')
DATABASE_SCRIPTS_DIR = TOP_BUILD_DIR / 'src/share/database/scripts'
-DEFAULT_HOOKS_PATH = PREFIX / LIBDIR / 'kea/hooks'
+HOOKS_PATH = LIBDIR / 'kea/hooks'
+DEFAULT_HOOKS_PATH = PREFIX / HOOKS_PATH
KEA_ADMIN_BUILT = TOP_BUILD_DIR / 'src/bin/lfc/kea-admin'
KEA_ADMIN_INSTALLED = PREFIX / SBINDIR / 'kea-admin'
KEA_LFC_BUILT = TOP_BUILD_DIR / 'src/bin/lfc/kea-lfc'
#### System-specific Compiler Flags
-compile_args = []
-link_args = []
+compile_args = get_option('cpp_args')
+link_args = get_option('cpp_link_args')
# $ORIGIN documented at https://www.man7.org/linux/man-pages/man8/ld.so.8.html
-rpath1 = '$ORIGIN/../lib' # rpath for executables
-rpath2 = '$ORIGIN/../..' # rpath for hook libraries
+# EXECUTABLE_RPATH = f'$ORIGIN/../@LIBDIR@'
+# HOOK_RPATH = '$ORIGIN/../..'
+INSTALL_RPATH = PREFIX / LIBDIR
+BUILD_RPATH = TOP_BUILD_DIR / 'src/lib'
+
if SYSTEM == 'darwin'
- compile_args += ['-D__APPLE_USE_RFC_3542']
+ compile_args += '-D__APPLE_USE_RFC_3542'
add_project_arguments('-D__APPLE_USE_RFC_3542', language: 'cpp')
- link_arg = f'-Wl,-rpath,@rpath1@,-rpath,@rpath2@'
- link_args += [link_arg]
- add_project_link_arguments(link_arg, language: 'cpp')
-else
- link_arg = f'-Wl,-rpath=@rpath1@,-rpath=@rpath2@'
- link_args += [link_arg]
- add_project_link_arguments(link_arg, language: 'cpp')
endif
premium = fs.is_dir('premium')
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: SBINDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: [agent_lib] + LIBS_BUILT_SO_FAR,
)
subdir('tests')
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: SBINDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: [d2_lib] + LIBS_BUILT_SO_FAR,
)
subdir('tests')
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: SBINDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: [dhcp4_lib] + LIBS_BUILT_SO_FAR,
)
subdir('tests')
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: SBINDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: [dhcp6_lib] + LIBS_BUILT_SO_FAR,
)
subdir('tests')
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: SBINDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: [lfc_lib] + LIBS_BUILT_SO_FAR,
)
subdir('tests')
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: SBINDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: [netconf_lib] + LIBS_BUILT_SO_FAR,
override_options: ['cpp_std=c++20'],
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: SBINDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: [perfdhcp_lib] + LIBS_BUILT_SO_FAR,
)
subdir('tests')
dependencies: [KRB5_DEP, CRYPTO_DEP],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
'version.cc',
include_directories: [include_directories('.')] + INCLUDES,
install: true,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
dependencies: [CRYPTO_DEP],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
dependencies: [CRYPTO_DEP],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
dependencies: [CRYPTO_DEP],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
dependencies: [CRYPTO_DEP],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
dependencies: [CRYPTO_DEP, MYSQL_DEP, POSTGRESQL_DEP],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
dependencies: [CRYPTO_DEP],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
dependencies: [CRYPTO_DEP],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
dependencies: [CRYPTO_DEP],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
dependencies: [CRYPTO_DEP],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
dependencies: [CRYPTO_DEP],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
dependencies: [CRYPTO_DEP],
include_directories: [include_directories('.'), include_directories('..')] + INCLUDES,
install: true,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
dependencies: [CRYPTO_DEP, MYSQL_DEP],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
dependencies: [CRYPTO_DEP],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
dependencies: [CRYPTO_DEP, POSTGRESQL_DEP],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
dependencies: [CRYPTO_DEP],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
dependencies: [CRYPTO_DEP],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
dependencies: [CRYPTO_DEP],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
dependencies: [CRYPTO_DEP],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
dependencies: [CRYPTO_DEP],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
'version.cc',
include_directories: [include_directories('.')] + INCLUDES,
install: false,
- install_dir: LIBDIR / 'kea/hooks',
+ install_dir: HOOKS_PATH,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
name_suffix: 'so',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '60.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '83.0.0',
# Avoids: ld: error: undefined symbol: environ on FreeBSD
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '80.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '80.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '61.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '61.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '74.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '106.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '66.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '125.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '68.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '81.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '43.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '114.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '85.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '1.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '72.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '85.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '85.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '1.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '86.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '51.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '31.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '10.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '98.0.0',
)
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: LIBDIR,
+ install_rpath: INSTALL_RPATH,
+ build_rpath: BUILD_RPATH,
link_with: LIBS_BUILT_SO_FAR,
version: '71.0.0',
override_options: ['cpp_std=c++20'],