From 5662a12fcfcccc11a9def248b206dcbf8e11c6db Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Tue, 17 Mar 2026 04:55:10 +0300
Subject: [PATCH] libtool.m4: Use echo in archive_cmds and archive_expsym_cmds
on OS/2
Fixes that building DLLs fails because $ECHO does not work when it's
set to "printf %s\n".
From https://github.com/komh/libtool-os2
---
acinclude/libtool.m4 | 48 ++++++++++++++++++++++----------------------
configure | 32 ++++++++++++++---------------
2 files changed, 40 insertions(+), 40 deletions(-)
diff --git a/acinclude/libtool.m4 b/acinclude/libtool.m4
index a6ba8fe0..0b6eab8b 100644
--- a/acinclude/libtool.m4
+++ b/acinclude/libtool.m4
@@ -4413,17 +4413,17 @@ _LT_EOF
_LT_TAGVAR(hardcode_minus_L, $1)=yes
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
shrext_cmds=".dll"
- _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
- $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
- $ECHO "DATA MULTIPLE NONSHARED">> $output_objdir/$libname.def~
- $ECHO EXPORTS >> $output_objdir/$libname.def~
+ _LT_TAGVAR(archive_cmds, $1)='echo "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ echo "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ echo EXPORTS >> $output_objdir/$libname.def~
emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
emximp -o $lib $output_objdir/$libname.def'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
- $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
- $ECHO "DATA MULTIPLE NONSHARED">> $output_objdir/$libname.def~
- $ECHO EXPORTS >> $output_objdir/$libname.def~
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ echo "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ echo EXPORTS >> $output_objdir/$libname.def~
prefix_cmds="$SED"~
if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
prefix_cmds="$prefix_cmds -e 1d";
@@ -4993,17 +4993,17 @@ _LT_EOF
_LT_TAGVAR(hardcode_minus_L, $1)=yes
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
shrext_cmds=".dll"
- _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
- $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
- $ECHO "DATA MULTIPLE NONSHARED">> $output_objdir/$libname.def~
- $ECHO EXPORTS >> $output_objdir/$libname.def~
+ _LT_TAGVAR(archive_cmds, $1)='echo "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ echo "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ echo EXPORTS >> $output_objdir/$libname.def~
emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
emximp -o $lib $output_objdir/$libname.def'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
- $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
- $ECHO "DATA MULTIPLE NONSHARED">> $output_objdir/$libname.def~
- $ECHO EXPORTS >> $output_objdir/$libname.def~
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ echo "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ echo EXPORTS >> $output_objdir/$libname.def~
prefix_cmds="$SED"~
if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
prefix_cmds="$prefix_cmds -e 1d";
@@ -5771,17 +5771,17 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(hardcode_minus_L, $1)=yes
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
shrext_cmds=".dll"
- _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
- $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
- $ECHO "DATA MULTIPLE NONSHARED">> $output_objdir/$libname.def~
- $ECHO EXPORTS >> $output_objdir/$libname.def~
+ _LT_TAGVAR(archive_cmds, $1)='echo "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ echo "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ echo EXPORTS >> $output_objdir/$libname.def~
emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
emximp -o $lib $output_objdir/$libname.def'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
- $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
- $ECHO "DATA MULTIPLE NONSHARED">> $output_objdir/$libname.def~
- $ECHO EXPORTS >> $output_objdir/$libname.def~
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ echo "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ echo EXPORTS >> $output_objdir/$libname.def~
prefix_cmds="$SED"~
if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
prefix_cmds="$prefix_cmds -e 1d";
diff --git a/configure b/configure
index a0685e8b..1c1ee613 100755
--- a/configure
+++ b/configure
@@ -8430,17 +8430,17 @@ _LT_EOF
hardcode_minus_L=yes
allow_undefined_flag=unsupported
shrext_cmds=".dll"
- archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
- $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
- $ECHO "DATA MULTIPLE NONSHARED">> $output_objdir/$libname.def~
- $ECHO EXPORTS >> $output_objdir/$libname.def~
+ archive_cmds='echo "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ echo "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ echo EXPORTS >> $output_objdir/$libname.def~
emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
emximp -o $lib $output_objdir/$libname.def'
- archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
- $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
- $ECHO "DATA MULTIPLE NONSHARED">> $output_objdir/$libname.def~
- $ECHO EXPORTS >> $output_objdir/$libname.def~
+ archive_expsym_cmds='echo "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ echo "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ echo EXPORTS >> $output_objdir/$libname.def~
prefix_cmds="$SED"~
if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
prefix_cmds="$prefix_cmds -e 1d";
@@ -9093,17 +9093,17 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \
hardcode_minus_L=yes
allow_undefined_flag=unsupported
shrext_cmds=".dll"
- archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
- $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
- $ECHO "DATA MULTIPLE NONSHARED">> $output_objdir/$libname.def~
- $ECHO EXPORTS >> $output_objdir/$libname.def~
+ archive_cmds='echo "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ echo "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ echo EXPORTS >> $output_objdir/$libname.def~
emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
emximp -o $lib $output_objdir/$libname.def'
- archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
- $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
- $ECHO "DATA MULTIPLE NONSHARED">> $output_objdir/$libname.def~
- $ECHO EXPORTS >> $output_objdir/$libname.def~
+ archive_expsym_cmds='echo "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ echo "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ echo EXPORTS >> $output_objdir/$libname.def~
prefix_cmds="$SED"~
if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
prefix_cmds="$prefix_cmds -e 1d";