},
)
+#### System-specific Variables
+
+SYSTEM = build_machine.system()
+if SYSTEM == 'linux'
+ conf_data.set('OS_LINUX', true)
+ OS_TYPE = 'Linux'
+elif SYSTEM == 'freebsd'
+ conf_data.set('OS_BSD', true)
+ conf_data.set('OS_FREEBSD', true)
+ OS_TYPE = 'BSD'
+elif SYSTEM == 'netbsd'
+ conf_data.set('OS_BSD', true)
+ conf_data.set('OS_NETBSD', true)
+ OS_TYPE = 'BSD'
+elif SYSTEM == 'openbsd'
+ conf_data.set('OS_BSD', true)
+ conf_data.set('OS_OPENBSD', true)
+ OS_TYPE = 'BSD'
+elif SYSTEM == 'sun'
+ conf_data.set('OS_SOLARIS', true)
+ OS_TYPE = 'Solaris'
+elif SYSTEM == 'darwin'
+ conf_data.set('OS_BSD', true)
+ conf_data.set('OS_OSX', true)
+ OS_TYPE = 'BSD'
+else
+ error(f'Build failed: Unsupported system "@SYSTEM@".')
+endif
+message(f'Detected system "@SYSTEM@".')
+
#### Programs
python_exe = find_program('python3', 'python', required: false)
endif
# Search in /opt.
- lib = cpp.find_library(dep, dirs: [f'/opt/@dep@/lib'], required: false)
- if lib.found()
- netconf_deps = netconf_deps + {
- dep: declare_dependency(
- dependencies: [lib],
- include_directories: include_directories(f'/opt/@dep@/include'),
- ),
- }
- endif
+ foreach prefix : ['', 'lib']
+ path = f'/opt/@prefix@@dep@'
+ lib = cpp.find_library(dep, dirs: [f'/@path@/lib'], required: false)
+ if lib.found()
+ netconf_deps = netconf_deps + {
+ dep: declare_dependency(
+ dependencies: [lib],
+ include_directories: include_directories(f'/@path@/include'),
+ variables: {'prefix': f'@path@'},
+ ),
+ }
+ if SYSTEM == 'darwin'
+ add_project_link_arguments(
+ f'-Wl,-rpath,@path@/lib',
+ language: 'cpp',
+ )
+ else
+ add_project_link_arguments(
+ f'-Wl,-rpath=@path@/lib',
+ language: 'cpp',
+ )
+ endif
+ endif
+ endforeach
endforeach
foreach dep : ['yang', 'yang-cpp', 'sysrepo', 'sysrepo-cpp']
if netconf_deps[dep].found()
)
conf_data.set('HAVE_STREAM_TRUNCATED_ERROR', result.returncode() == 0)
-#### System-specific Variables
-
-SYSTEM = build_machine.system()
-if SYSTEM == 'linux'
- conf_data.set('OS_LINUX', true)
- OS_TYPE = 'Linux'
-elif SYSTEM == 'freebsd'
- conf_data.set('OS_BSD', true)
- conf_data.set('OS_FREEBSD', true)
- OS_TYPE = 'BSD'
-elif SYSTEM == 'netbsd'
- conf_data.set('OS_BSD', true)
- conf_data.set('OS_NETBSD', true)
- OS_TYPE = 'BSD'
-elif SYSTEM == 'openbsd'
- conf_data.set('OS_BSD', true)
- conf_data.set('OS_OPENBSD', true)
- OS_TYPE = 'BSD'
-elif SYSTEM == 'sun'
- conf_data.set('OS_SOLARIS', true)
- OS_TYPE = 'Solaris'
-elif SYSTEM == 'darwin'
- conf_data.set('OS_BSD', true)
- conf_data.set('OS_OSX', true)
- OS_TYPE = 'BSD'
-else
- error(f'Build failed: Unsupported system "@SYSTEM@".')
-endif
-message(f'Detected system "@SYSTEM@".')
-
#### System-specific Compiler Flags
compile_args = []
yangdir = f'@DATADIR@/kea/yang/modules/utils'
yang_utils_conf_data = configuration_data()
# Comment says sources (vs build)
-yang_utils_conf_data.set('abs_top_builddir', TOP_SOURCE_DIR)
+yang_utils_conf_data.set('abs_top_builddir', TOP_BUILD_DIR)
# Beware that top_srcdir here must be a relative path.
yang_utils_conf_data.set('top_srcdir', '../../../../..')
yang_utils_conf_data.set('datarootdir', f'@PREFIX@/@DATADIR@')
-yang_lint = find_program('/opt/bin/yanglint', required: false)
-if yang_lint.found()
- yang_utils_conf_data.set('LIBYANG_PREFIX', '/opt')
- yang_utils_conf_data.set('SYSREPO_PREFIX', '/opt')
-else
- yang_utils_conf_data.set('SYSREPO_PREFIX', '/usr/local')
- yang_lint = find_program('/usr/local/bin/yanglint', required: false)
- if yang_lint.found()
- yang_utils_conf_data.set('LIBYANG_PREFIX', '/usr/local')
- else
- yang_lint = find_program('yanglint', required: true)
- yang_utils_conf_data.set('LIBYANG_PREFIX', '')
- endif
-endif
+yang_utils_conf_data.set('prefix', PREFIX)
+yang_utils_conf_data.set(
+ 'LIBYANG_PREFIX',
+ netconf_deps['yang'].get_variable('prefix'),
+)
+yang_utils_conf_data.set(
+ 'SYSREPO_PREFIX',
+ netconf_deps['sysrepo'].get_variable('prefix'),
+)
configure_file(
input: 'check-hashes.sh.in',
input: 'reinstall.sh.in',
output: 'reinstall.sh',
configuration: yang_utils_conf_data,
+ install: true,
+ install_dir: 'share/kea/yang/modules/utils',
)