www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1999/05/03/14:41:10

Message-ID: <XFMail.990503204149.markus.oberhumer@jk.uni-linz.ac.at>
X-Mailer: XFMail 1.3 [p0] on Linux
X-Priority: 3 (Normal)
MIME-Version: 1.0
In-Reply-To: <Pine.SUN.3.91.990503181220.8375A-100000@is>
X-no-Archive: yes
Return-Read-To: markus DOT oberhumer AT jk DOT uni-linz DOT ac DOT at
Return-Received-To: markus DOT oberhumer AT jk DOT uni-linz DOT ac DOT at
Date: Mon, 03 May 1999 20:41:49 +0200 (CEST)
From: "Markus F.X.J. Oberhumer" <markus DOT oberhumer AT jk DOT uni-linz DOT ac DOT at>
To: djgpp-workers AT delorie DOT com
Subject: RE: v2.03: wrapping up
Cc: Michel de Ruiter <Michel AT smr DOT nl>, eliz AT is DOT elta DOT co DOT il
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id OAA30115
Reply-To: djgpp-workers AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

> So, how about /dev/env/DJDIR AT c:/djgpp@/bin ?  Comments, anybody?

I'd rather not use '@'. While it may work with the current version
of autoconf the autoconf/automake/libtool people usually don't care
too much about backwards compatibility, and things might break in a
future time.

Also I'd propose a character that does not expand under any
know DOS or Unix shell. The obvious idea /dev/env/DJDIR=c:/djgpp=/bin
has the drawback that you cannot assign a '=' to a shell variable
under most DOS shells.

I'm not fully sure, but I think /dev/env/DJDIR~c:/djgpp~/bin
will pass unchanged through all shells, make and autoconf
(because ~ is only expanded at the beginning of a filename).

Markus


On 03-May-99 Eli Zaretskii wrote:
> 
> On Mon, 3 May 1999, Michel de Ruiter wrote:
> 
>> > ?default? was chosen because `?' cannot appear in file names.
>> >  I could use other characters, like `*' or `"' (the double quote),
>> > but they didn't seem more attractive.  However, if people like them
>> > better, changing that is simple.
>> 
>> ? is fine IMHO.
> 
> Well, it turns out it's not ;-).
> 
> The problem is with Make: if it sees any wildcard characters in anything 
> that winds up in a target or a dependency name, it interprets that as a 
> wildcard and tries to expand it.  Here's the bummer: if the wildcard 
> doesn't match anything, it expands to an empty string, and Make fails to 
> do whatever we meant it to do 9which is to pass the whole thing to some 
> library function).
> 
> The upshot of this is that if you say something like this:
> 
>       ./configure --prefix=/dev/env/DJDIR?c:/djgpp?
> 
> The configure script will (hopefully; I didn't try yet) put a line like 
> this in the Makefile's:
> 
>       prefix=/dev/env/DJDIR?c:/djgpp?
> 
> However, when Make runs, if it sees e.g. something like this:
> 
>       ${prefix}/bin:
>               mkdir $@
> 
> it will say "*** No targets.  Stop.", and you lose.
> 
> So it seems that wildcard characters are out, and we will need to use
> characters that do appear in file names.  I have run `find' on my quite
> busy disks, and the `@' character came out as a clear winner: not a single
> file had it.  `@' is not too special for Bash, either (only after a `$'),
> and DJGPP only treats it as special if it is the first character of a
> command-line argument.  If a literal `@' needs to be in the name of a
> /dev/env construct, we could allow two `@'s in a row to mean a literal
> `@'.
> 
> So, how about /dev/env/DJDIR AT c:/djgpp@/bin ?  Comments, anybody?
> 

-----   Markus F.X.J. Oberhumer <markus DOT oberhumer AT jk DOT uni-linz DOT ac DOT at>   -----
-----             http://wildsau.idv.uni-linz.ac.at/mfx/               -----
-----        5E CB 5C 85 DE AF 9E BF  E9 DA 7E 6A 39 F8 CC 67          -----

                             3 WARPS TO URANUS

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019