diff --git a/meson.build b/meson.build
index ee925f7ad816a13459f292a654c3e03388f484fe..eaa47e2cc5ae36e771a8c1cce1572c6c42f66ea3 100644
--- a/meson.build
+++ b/meson.build
@@ -565,18 +565,19 @@ endif
 ##########################
 # location of libiberty.h
 #
-if compiler.has_header('libiberty.h',
-                       args: cflags,
-                       include_directories: include_directories(incdirs))
-    # Fedora
-    cflags += '-D__HAVE_LIBIBERTYH__'
-elif compiler.has_header('libiberty/libiberty.h',
-                         args: cflags,
-                         include_directories: include_directories(incdirs))
-    # Debian and derivatives e.g. Ubuntu
-    cflags += '-D__HAVE_LIBIBERTY_LIBIBERTYH__'
-else
-    error('cannot find libiberty.h at either <libiberty.h> or <libiberty/libiberty.h>')
+if compiler.find_library('iberty',
+                         required:false).found()
+    if compiler.has_header('libiberty.h',
+                           args: cflags,
+                           include_directories: include_directories(incdirs))
+        # Fedora
+        cflags += '-D__HAVE_LIBIBERTYH__'
+    elif compiler.has_header('libiberty/libiberty.h',
+                             args: cflags,
+                             include_directories: include_directories(incdirs))
+        # Debian and derivatives e.g. Ubuntu
+        cflags += '-D__HAVE_LIBIBERTY_LIBIBERTYH__'
+    endif
 endif
 
 ############################################################