[Expat-discuss] Re: xmlwf

Gerrit P. Haase gp at familiehaase.de
Sun Dec 28 16:53:29 EST 2003


Hallo Roy,

Am Mittwoch, 24. Dezember 2003 um 22:45 schriebst du:

> Greetings,

> When making expat-1.95.7 in cygwin, I receive the following errors:

> /bin/bash ./libtool --silent --mode=link
> gcc -g -O2 -Wall -Wmissing-prototypes -Wstrict-prototypes -fexceptions
>  -DHAVE_EXPAT_
> CONFIG_H   -I./lib -I.  -o xmlwf/xmlwf xmlwf/xmlwf.o xmlwf/xmlfile.o
> xmlwf/codepage.o xmlwf/readfilemap.o libexpat.la
> ./libtool: line 4841: .libs/lt-xmlwf/xmlwf.c: No such file or
> directory
> ./libtool: line 4857: .libs/lt-xmlwf/xmlwf.c: No such file or
> directory
> ./libtool: line 4916: .libs/lt-xmlwf/xmlwf.c: No such file or
> directory
> ./libtool: line 4920: .libs/lt-xmlwf/xmlwf.c: No such file or
> directory
> ./libtool: line 4930: .libs/lt-xmlwf/xmlwf.c: No such file or
> directory
> ./libtool: line 4934: .libs/lt-xmlwf/xmlwf.c: No such file or
> directory
> gcc: .libs/lt-xmlwf/xmlwf.c: No such file or directory
> gcc: no input files

> Why am I receiving these errors?

Expat doesn't use automake.  The Cygwin libtool uses a special hack to
avoid recompilation of executables during the `make install' step.  I
use a patch to work around this 'bug' in Cygwin libtool.  Apply this
to ltmain.sh and copy it over the Expat libtool.

$ diff -u ltmain.sh~ ltmain.sh
--- ltmain.sh~  2003-08-18 07:36:11.001000000 +0200
+++ ltmain.sh   2003-10-30 00:13:30.104377600 +0100
@@ -4481,8 +4481,10 @@
        esac
        case $host in
          *cygwin* | *mingw* )
-           cwrappersource=`$echo ${objdir}/lt-${output}.c`
-           cwrapper=`$echo ${output}.exe`
+           output_name=`basename $output`
+           output_path=`dirname $output`
+           cwrappersource=`$echo ${output_path}/${objdir}/lt-${output_name}.c`
+           cwrapper=`$echo ${output_path}/${output_name}.exe`
            $rm $cwrappersource $cwrapper
            trap "$rm $cwrappersource $cwrapper; exit 1" 1 2 15
 
@@ -4813,7 +4815,7 @@
          # are only useful if you want to execute the "real" binary.
          # Since the "real" binary is built for $host, then this
          # wrapper might as well be built for $host, too.
-         $run $LTCC -s -o $cwrapper $cwrappersource
+         $run ln -f ${output_path}/${objdir}/${output_name}.exe ${cwrapper}
          ;;
        esac
        $rm $output


Gerrit
-- 
=^..^=





More information about the Expat-discuss mailing list