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{



Reply via email to