autoconf-patches
[Top][All Lists]
Advanced

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

Re: Spaces in the checks with ac_unique_file break the program


From: Alexandre Duret-Lutz
Subject: Re: Spaces in the checks with ac_unique_file break the program
Date: Fri, 24 Jun 2005 08:51:08 +0200
User-agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3.50 (gnu/linux)

>>> "Paul" == Paul Eggert <address@hidden> writes:

 Paul> Does Automake handle arbitrary special characters in $(bindir), etc.?
 Paul> For example, are parentheses allowed?  Dollar signs?  Quotation marks
 Paul> (both single and double)?

Basically the only thing we do is to quote (single or double)
the directory variables everywhere they appear in Makefile
rules, and preserve the quotation in the scripts we call.  We
never eval directory variables.  So assuming proper quotation in
scripts, I believe the main problems are in the Makefile:

  # and $ will be interpreted by make whatever we do
  ", ', and `, should lead to parse errors when make runs the commands
  (\ is not clear to me)

 Paul> Here is a list of troublesome possibilities.  Are there test cases
 Paul> for all of these in the Automake test suite?

 Paul> * File names starting with '-' or with '~'.

The installation directory names are absolute so they don't.
And the scripts that process each subdirectory name individually
(install-sh & mkinstalldirs) protect names starting with -.  I
don't expect any problem with ~.  Still I don't think any of
these are tested.

 Paul> * File names containing a space, a tab, or a newline.

I think these work fine, although only the space is tested.
(Actually the test is to use a double space, since foo=`echo $foo`
would preserve single spaces.)

 Paul> * File names containing one of the following characters:

 Paul> " # $ & ' ( ) * ; < = > ? [ \ `

I hope & ( ) * ; < = > ? [ work, but again I don't think these are
tested.
-- 
Alexandre Duret-Lutz





reply via email to

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