Date: Mon, 3 May 1999 18:24:49 +0300 (IDT) From: Eli Zaretskii X-Sender: eliz AT is To: Michel de Ruiter cc: "'DJGPP workers'" Subject: RE: v2.03: wrapping up In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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 Precedence: bulk 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?