OS/2 does not allow undefined symbols at all when linking a dll. So,
setting allow_undefined to no by default is reasonable.

* build-aux/ltmain.in (func_mode_link): Set allow_undefined to no on
OS/2.
---
 build-aux/ltmain.in | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index ccd10a72..aae17b23 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -4838,7 +4838,15 @@ func_mode_link ()
       # even a static library is built.  For now, we need to specify
       # -no-undefined on the libtool link line when we can be certain
       # that all symbols are satisfied, otherwise we get a static library.
-      allow_undefined=yes
+      case $host in
+      *-*-os2*)
+        # OS/2 does not allow undefined symbols at all when linking a dll.
+        allow_undefined=no
+        ;;
+      *)
+        allow_undefined=yes
+        ;;
+      esac
       ;;
     *)
       allow_undefined=yes
-- 
2.50.1


Reply via email to