]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#3732] Detect mit krb5 in meson
authorAndrei Pavel <andrei@isc.org>
Wed, 2 Apr 2025 18:56:39 +0000 (21:56 +0300)
committerAndrei Pavel <andrei@isc.org>
Fri, 4 Apr 2025 09:37:25 +0000 (12:37 +0300)
src/hooks/d2/gss_tsig/testutils/meson.build
subprojects/krb5/meson.build

index d91e8231a62b9eaa10cc551734144a20743e446a..3dfdb37ce86870c5eeeea9e7847ee24dd210c0c9 100644 (file)
@@ -7,6 +7,6 @@ ddns_gss_tsig_testutils_lib = static_library(
     'ddns-gss-tsig-testutils',
     'gss_tsig_dns_server.cc',
     cpp_args: [f'-DTEST_DATA_DIR="@current_source_dir@"'],
-    dependencies: [GTEST_DEP, CRYPTO_DEP],
+    dependencies: [CRYPTO_DEP, GTEST_DEP, KRB5_DEP],
     include_directories: [include_directories('.'), include_directories('..')] + INCLUDES,
 )
index 9834d73e49ffd723622c9136cc45a93cb6c587eb..dfb89b838374cb1cac6b369e64f3f5be7a49b800 100644 (file)
@@ -1,28 +1,33 @@
 project('krb5')
-current_source_dir = meson.current_source_dir()
 krb5 = disabler()
-krb5_config = find_program('krb5-config', required: false)
 
-if krb5_config.found()
-    # Detect vendor.
-    vendor_cmd = run_command([krb5_config, '--vendor'], check: false)
-    if vendor_cmd.returncode() != 0
-        path = krb5_config.full_path()
-        message(f'Very old and not usable config script at @path@')
-    else
-        vendor = vendor_cmd.stdout().strip()
-    endif
+foreach krb5_config_name : ['krb5-config', 'krb5-config.mit']
+    krb5_config = find_program(krb5_config_name, required: false)
+
+    if krb5_config.found()
+        # Detect vendor.
+        vendor_cmd = run_command([krb5_config, '--vendor'], check: false)
+        if vendor_cmd.returncode() != 0
+            path = krb5_config.full_path()
+            message(f'Very old and not usable config script at @path@')
+        else
+            vendor = vendor_cmd.stdout().strip()
+        endif
 
-    cflags = run_command([krb5_config, '--cflags', 'gssapi'], check: false)
-    libs = run_command([krb5_config, '--libs', 'gssapi'], check: false)
-    version = run_command([krb5_config, '--version'], check: false)
-    if vendor_cmd.returncode() == 0 and cflags.returncode() == 0 and libs.returncode() == 0 and version.returncode() == 0
-        krb5_version = version.stdout().strip()
-        krb5 = declare_dependency(
-            compile_args: cflags.stdout().split(),
-            link_args: libs.stdout().split(),
-            version: krb5_version,
-            variables: {'vendor': vendor},
-        )
+        cflags = run_command([krb5_config, '--cflags', 'gssapi'], check: false)
+        libs = run_command([krb5_config, '--libs', 'gssapi'], check: false)
+        version = run_command([krb5_config, '--version'], check: false)
+        if vendor_cmd.returncode() == 0 and cflags.returncode() == 0 and libs.returncode() == 0 and version.returncode() == 0
+            krb5_version = version.stdout().strip()
+            krb5 = declare_dependency(
+                compile_args: cflags.stdout().split(),
+                link_args: libs.stdout().split(),
+                version: krb5_version,
+                variables: {'vendor': vendor},
+            )
+        endif
+    endif
+    if krb5.found()
+        break
     endif
-endif
+endforeach