]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#3729] Fix yang dependency detection
authorAndrei Pavel <andrei@isc.org>
Mon, 10 Feb 2025 10:11:15 +0000 (12:11 +0200)
committerAndrei Pavel <andrei@isc.org>
Thu, 13 Feb 2025 08:06:31 +0000 (10:06 +0200)
meson.build

index 014d6b3434be7843b01e91fbb526f3265e63d767..be036de1a23eadb0d51855f700d54975e103583e 100644 (file)
@@ -240,19 +240,30 @@ netconf_deps_array = []
 netconf_deps_found = true
 foreach dep : ['yang', 'yang-cpp', 'sysrepo', 'sysrepo-cpp']
     netconf_deps = netconf_deps + {dep: dependency(dep, required: false)}
-    if not netconf_deps[dep].found()
-        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',
-                    ),
+    if netconf_deps[dep].found()
+        continue
+    endif
+
+    # Try adding lib to it. libyang and libyang-cpp define the wrong pkg-config.
+    netconf_deps = netconf_deps + {dep: dependency('lib' + dep, required: false)}
+    if netconf_deps[dep].found()
+        continue
+    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
+            ),
+        }
     endif
+endforeach
+foreach dep : ['yang', 'yang-cpp', 'sysrepo', 'sysrepo-cpp']
     if netconf_deps[dep].found()
         netconf_deps_array += netconf_deps[dep]
     else