+2001-02-10 Lars J. Aas <larsa@sim.no>
+
+ * automake.in ($MACRO_PATTERN): Include '@' in name regex.
+ (&canonicalize): New. Includes '@' in canonical range.
+ (&check_canonical_spelling, &handle_programs, &handle_libraries,
+ &handle_ltlibraries, &handle_texinfo): Use &canonicalize.
+
2001-02-10 Raja R Harinath <harinath@cs.umn.edu>
* automake.in (handle_configure): Revert part of
# Only recognize leading spaces, not leading tabs. If we recognize
# leading tabs here then we need to make the reader smarter, because
# otherwise it will think rules like `foo=bar; \' are errors.
-$MACRO_PATTERN = "^ *([A-Za-z0-9_]+)[ \t]*([:+]?)=[ \t]*(.*)\$";
+$MACRO_PATTERN = "^ *([A-Za-z0-9_\@]+)[ \t]*([:+]?)=[ \t]*(.*)\$";
$BOGUS_MACRO_PATTERN = "^ *([^ \t]*)[ \t]*([:+]?)=[ \t]*(.*)\$";
$GNITS_VERSION_PATTERN = "[0-9]+\\.[0-9]+([a-z]|\\.[0-9]+)?";
$IF_PATTERN = "^if[ \t]+\([A-Za-z][A-Za-z0-9_]*\)[ \t]*\(#.*\)?\$";
return $seen_libobjs;
}
+# Canonicalize the input parameter
+sub canonicalize
+{
+ local($string) = @_;
+ $string =~ tr/A-Za-z0-9_\@/_/c;
+ return $string;
+}
+
# Canonicalize a name, and check to make sure the non-canonical name
# is never used. Returns canonical name. Arguments are name and a
# list of suffixes to check for.
local ($name, @suffixes) = @_;
local ($xname, $xt);
- ($xname = $name) =~ tr/A-Za-z0-9_/_/c;
+ $xname = &canonicalize ($name);
if ($xname ne $name)
{
local ($xt);
{
foreach $one_file (@proglist)
{
- # Canonicalize names.
- ($xname = $one_file) =~ tr/A-Za-z0-9_/_/c;
+ $xname = &canonicalize ($one_file);
if (&variable_defined ($xname . '_LDADD'))
{
{
foreach $onelib (@liblist)
{
- # Canonicalize names.
- ($xlib = $onelib) =~ tr/A-Za-z0-9_/_/c;
+ $xlib = &canonicalize ($onelib);
if (&variable_defined ($xlib . '_LIBADD'))
{
&check_libobjs_sources ($xlib, $xlib . '_LIBADD');
{
foreach $onelib (@liblist)
{
- # Canonicalize names.
- ($xlib = $onelib) =~ tr/A-Za-z0-9_/_/c;
+ $xlib = &canonicalize ($onelib);
if (&variable_defined ($xlib . '_LIBADD'))
{
&check_libobjs_sources ($xlib, $xlib . '_LIBADD');
# work if the target has it and the dependency doesn't.
push (@texi_deps, '$(srcdir)/' . $vtexi) if $vtexi;
- # Canonicalize name first.
- ($canonical = $infobase) =~ tr/A-Za-z0-9_/_/c;
+ $canonical = &canonicalize ($infobase);
if (&variable_defined ($canonical . "_TEXINFOS"))
{
push (@texi_deps, '$(' . $canonical . '_TEXINFOS)');