autoconf: Special Chars in Variables

1 
1 7.3 Special Characters in Output Variables
1 ==========================================
1 
1 Many output variables are intended to be evaluated both by `make' and
1 by the shell.  Some characters are expanded differently in these two
1 contexts, so to avoid confusion these variables' values should not
1 contain any of the following characters:
1 
1      " # $ & ' ( ) * ; < > ? [ \ ^ ` |
1 
1    Also, these variables' values should neither contain newlines, nor
1 start with `~', nor contain white space or `:' immediately followed by
1 `~'.  The values can contain nonempty sequences of white space
1 characters like tabs and spaces, but each such sequence might
1 arbitrarily be replaced by a single space during substitution.
1 
1    These restrictions apply both to the values that `configure'
1 computes, and to the values set directly by the user.  For example, the
1 following invocations of `configure' are problematic, since they
1 attempt to use special characters within `CPPFLAGS' and white space
1 within `$(srcdir)':
1 
1      CPPFLAGS='-DOUCH="&\"#$*?"' '../My Source/ouch-1.0/configure'
1 
1      '../My Source/ouch-1.0/configure' CPPFLAGS='-DOUCH="&\"#$*?"'
1