[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: expr complaint on FreeBSD for MinGW cross
From: |
Ralf Wildenhues |
Subject: |
Re: expr complaint on FreeBSD for MinGW cross |
Date: |
Sat, 19 Apr 2008 11:36:14 +0200 |
User-agent: |
Mutt/1.5.17+20080114 (2008-01-14) |
* Ralf Wildenhues wrote on Sat, Apr 19, 2008 at 01:56:59AM CEST:
> Ouch. ETOOLATE. Of course $name is used, in libname_spec for example.
> Please ignore this, I'll post an updated patch.
OK to apply?
Thanks,
Ralf
2008-04-19 Ralf Wildenhues <address@hidden>
Fix nonportable use of expr.
* libltdl/config/ltmain.m4sh (func_mode_link) <Transforming
deplibs into only shared deplibs>: Fix expr portability issues,
noted on FreeBSD. While at it, simplify and avoid forking.
Report by Bob Friesenhahn.
diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
index 8c5c45c..5018de8 100644
--- a/libltdl/config/ltmain.m4sh
+++ b/libltdl/config/ltmain.m4sh
@@ -5558,9 +5558,10 @@ EOF
if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
ldd_output=`ldd conftest`
for i in $deplibs; do
- name=`expr $i : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ;
then
case " $predeps $postdeps " in
*" $i "*)
@@ -5587,17 +5588,20 @@ EOF
$ECHO "*** its dynamic dependency list that programs get
resolved with at runtime."
fi
fi
- else
+ ;;
+ *)
newdeplibs="$newdeplibs $i"
- fi
+ ;;
+ esac
done
else
# Error occurred in the first compile. Let's try to salvage
# the situation: Compile a separate program for each library.
for i in $deplibs; do
- name=`expr $i : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
$opt_dry_run || $RM conftest
if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
ldd_output=`ldd conftest`
@@ -5635,9 +5639,11 @@ EOF
$ECHO "*** library that it depends on before this library
will be fully"
$ECHO "*** functional. Installing it before continuing would
be even better."
fi
- else
+ ;;
+ *)
newdeplibs="$newdeplibs $i"
- fi
+ ;;
+ esac
done
fi
;;
@@ -5645,9 +5651,10 @@ EOF
set dummy $deplibs_check_method; shift
file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
for a_deplib in $deplibs; do
- name=`expr $a_deplib : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ;
then
case " $predeps $postdeps " in
*" $a_deplib "*)
@@ -5704,19 +5711,22 @@ EOF
$ECHO "*** using a file magic. Last file checked: $potlib"
fi
fi
- else
+ ;;
+ *)
# Add a -L argument.
newdeplibs="$newdeplibs $a_deplib"
- fi
+ ;;
+ esac
done # Gone through all deplibs.
;;
match_pattern*)
set dummy $deplibs_check_method; shift
match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
for a_deplib in $deplibs; do
- name=`expr $a_deplib : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test -n "$name" && test "$name" != "0"; then
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ;
then
case " $predeps $postdeps " in
*" $a_deplib "*)
@@ -5755,10 +5765,12 @@ EOF
$ECHO "*** using a regex pattern. Last file checked: $potlib"
fi
fi
- else
+ ;;
+ *)
# Add a -L argument.
newdeplibs="$newdeplibs $a_deplib"
- fi
+ ;;
+ esac
done # Gone through all deplibs.
;;
none | unknown | *)