automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: automake 1.7.2b, tests/depcomp3.test and DJGPP


From: Richard Dawe
Subject: Re: automake 1.7.2b, tests/depcomp3.test and DJGPP
Date: Wed, 19 Feb 2003 12:42:13 +0000

Hello.

Alexandre Duret-Lutz wrote:
> 
> >>> "Richard" == Richard Dawe <address@hidden> writes:
[snip]
>  Richard> DESTDIR does not work with DJGPP. automake tries to
>  Richard> create paths like $(DESTDIR)/$(binprefix). $(DESTDIR)
>  Richard> and $(binprefix), etc. usually contain fully-qualified
>  Richard> DOS-style paths (c:/some/file). When two
>  Richard> fully-qualified DOS-style paths are concatenated, they
>  Richard> give a filename that doesn't make any sense -
>  Richard> c:/foo/c:/bar. This causes the DESTDIR-related stuff
>  Richard> to fail.
> 
> What are the failing tests?  All those that use `pwd` (either as
> an argument to --prefix or when setting DESTDIR)?  And those
> that run distcheck (that in turn uses `pwd` and DESTDIR)?

libtool3, lisp3, pr87, subpkg, txinfo3, txinfo13, txinfo16, txinfo18

These all fail trying to create paths like this:

c:/temp/am-dc-5668/c:/develop/ports/gnu.dev/automake-1.7.2b/tests/testSubDir/build/txinfo16-1.0/_inst/info

> Would it be right just to drop the leading drive letter as
> follows?
> 
>   workdir=`pwd | sed -e 
> 's,^[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz]:,,`
> 
> I think we could define this in tests/defs.in, and adjust all
> relevant tests to use $workdir instead of `pwd`.  This should
> also go in the distcheck target.  All these places use `pwd` to
> later designate a subdirectory, so the drive shouldn't matter.

How about the change below for the distcheck target? This makes all the tests
listed above pass for me. I haven't touched anything in tests/.

Note that there can be more than 26 DOS drives, so matching alphabetic
characters isn't enough. That's why I've used [^:\\/] below, to match the
first character of the filename.

It also now occurs to me that the problems with DESTDIR and fully-qualified
DOS paths can be avoided, if the user does the right thing. DJGPP translates
/dev/<drive> to <drive>:. So if a package is configured with
--prefix=/dev/<drive>/<whatever>, DESTDIR support will work.

--- orig/automake-1.7.2b/lib/am/distdir.am      2003-01-13 14:06:56.000000000 
+0000
+++ gnu.dev/automake-1.7.2b/lib/am/distdir.am   2003-02-19 12:10:26.000000000
+0000
@@ -303,7 +303,7 @@ distcheck: dist
        mkdir $(distdir)/_inst
 ## Undo the write access.
        chmod a-w $(distdir)
-       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd` \
+       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e
's,^[^:\\/]:[\\/],/,'` \
 ## We will attemp a DESTDIR install in $dc_destdir.  We don't
 ## create this directory under $dc_install_base, because it would
 ## create very long directory names.

[snip]
>  >> It take the same amount of time here.  Unfortunately.
> 
>  Richard> What kind of box do you have? I'm running an Athlon
>  Richard> 850MHz. I've wondered for a while if Linux is much
>  Richard> faster than DJGPP, so I'd be interested to know what
>  Richard> kind of box you are using.
> 
> Mobile Pentium II at 366Mhz here.  Sorry for the bad news.

Oh well. I'll just have to be patient. ;)

Thanks, bye, Rich =]

-- 
Richard Dawe [ http://www.phekda.freeserve.co.uk/richdawe/ ]




reply via email to

[Prev in Thread] Current Thread [Next in Thread]