On Sun, 5 Oct 2008, Ralf Wildenhues wrote:
* Vincent Torri wrote on Sun, Oct 05, 2008 at 08:00:15PM CEST:
If with those settings, things still fail, you should surround the
func_win32_libid code in your libtool script with 'set -x', 'set +x'
and look at the commands called, when 'libtool --mode=link' is run.
Call them manually and inspect their output. The comments in the
function explain what is expected.
I have run manually the commands of func_win32_libid():
$OBJDUMP -f libws2.a | sed -e '10q'
In archive /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a:
duewbt.o: file format pe-arm-wince-little
architecture: armv4, flags 0x00000038:
HAS_DEBUG, HAS_SYMS, HAS_LOCALS
start address 0x00000000
duewbh.o: file format pe-arm-wince-little
architecture: armv4, flags 0x00000039:
But grep is used to check "i386", and not arm-wince-little.
Please post the output of
/home/torri/local/opt/mingw32ce/bin/arm-mingw32ce-nm -B -f posix -A \
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a |
sed 100q
Here is the result of
/home/torri/local/opt/mingw32ce/bin/arm-mingw32ce-nm -B -f posix -A
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a | sed 100q
[beginning]
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbt.o]: .bss
b 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbt.o]:
.data d 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbt.o]:
.idata$4 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbt.o]:
.idata$5 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbt.o]:
.idata$7 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbt.o]:
.text t 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbt.o]:
__libws2_a_iname I 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbh.o]: .bss
b 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbh.o]:
.data d 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbh.o]:
.idata$2 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbh.o]:
.idata$4 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbh.o]:
.idata$5 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbh.o]:
.text t 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbh.o]:
__libws2_a_iname U
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbh.o]:
_head_libws2_a I 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbh.o]:
fthunk i 00000004
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbh.o]:
hname i 00000004
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00078.o]:
.bss b 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00078.o]:
.data d 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00078.o]:
.idata$4 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00078.o]:
.idata$5 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00078.o]:
.idata$6 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00078.o]:
.idata$7 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00078.o]:
.text t 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00078.o]:
__imp_socket I 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00078.o]:
_head_libws2_a U
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00078.o]:
socket T 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00077.o]:
.bss b 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00077.o]:
.data d 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00077.o]:
.idata$4 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00077.o]:
.idata$5 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00077.o]:
.idata$6 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00077.o]:
.idata$7 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00077.o]:
.text t 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00077.o]:
__imp_shutdown I 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00077.o]:
_head_libws2_a U
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00077.o]:
shutdown T 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00076.o]:
.bss b 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00076.o]:
.data d 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00076.o]:
.idata$4 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00076.o]:
.idata$5 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00076.o]:
.idata$6 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00076.o]:
.idata$7 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00076.o]:
.text t 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00076.o]:
__imp_setsockopt I 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00076.o]:
_head_libws2_a U
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00076.o]:
setsockopt T 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00075.o]:
.bss b 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00075.o]:
.data d 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00075.o]:
.idata$4 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00075.o]:
.idata$5 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00075.o]:
.idata$6 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00075.o]:
.idata$7 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00075.o]:
.text t 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00075.o]:
__imp_sethostname I 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00075.o]:
_head_libws2_a U
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00075.o]:
sethostname T 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00074.o]:
.bss b 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00074.o]:
.data d 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00074.o]:
.idata$4 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00074.o]:
.idata$5 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00074.o]:
.idata$6 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00074.o]:
.idata$7 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00074.o]:
.text t 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00074.o]:
__imp_sendto I 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00074.o]:
_head_libws2_a U
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00074.o]:
sendto T 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00073.o]:
.bss b 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00073.o]:
.data d 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00073.o]:
.idata$4 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00073.o]:
.idata$5 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00073.o]:
.idata$6 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00073.o]:
.idata$7 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00073.o]:
.text t 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00073.o]:
__imp_send I 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00073.o]:
_head_libws2_a U
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00073.o]:
send T 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00072.o]:
.bss b 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00072.o]:
.data d 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00072.o]:
.idata$4 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00072.o]:
.idata$5 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00072.o]:
.idata$6 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00072.o]:
.idata$7 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00072.o]:
.text t 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00072.o]:
__imp_select I 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00072.o]:
_head_libws2_a U
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00072.o]:
select T 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00071.o]:
.bss b 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00071.o]:
.data d 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00071.o]:
.idata$4 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00071.o]:
.idata$5 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00071.o]:
.idata$6 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00071.o]:
.idata$7 i 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00071.o]:
.text t 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00071.o]:
__imp_recvfrom I 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00071.o]:
_head_libws2_a U
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00071.o]:
recvfrom T 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00070.o]:
.bss b 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00070.o]:
.data d 00000000
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00070.o]:
.idata$4 i 00000000
[end]
and try the patch below.
it is working with the patch below. I have a beautiful dll, now :)
Now we need someone who knows about wince to tell us whether this is
the right thing to do.
I'll ask Pedro Alves, who is the lead dev of cegcc.
thank you very much !
Vincent Torri
2008-10-05 Ralf Wildenhues <[EMAIL PROTECTED]>
Fix import library detection for WinCE.
* libltdl/config/ltmain.m4sh (func_win32_libid): Work for
pe-arm-wince import libraries.
Report by Vincent Torri.
diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
index 1a4a0ff..8300849 100644
--- a/libltdl/config/ltmain.m4sh
+++ b/libltdl/config/ltmain.m4sh
@@ -2167,7 +2167,7 @@ func_win32_libid ()
;;
*ar\ archive*) # could be an import, or static
if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
- $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+ $EGREP 'file format (pe-i386(.*architecture: i386)?|pe-arm-wince)'
>/dev/null ; then
win32_nmres=`eval $NM -f posix -A $1 |
$SED -n -e '
1,100{