bug-automake
[Top][All Lists]
Advanced

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

CONFIG_CLEAN_FILES missing AC_CONFIG_COMMANDS


From: dherring
Subject: CONFIG_CLEAN_FILES missing AC_CONFIG_COMMANDS
Date: Tue, 26 Jan 2010 11:01:00 -0500 (EST)
User-agent: Alpine 2.01 (LNX )

CONFIG_CLEAN_FILES is a list compiled by automake. It is used by distclean-generic to remove all nonstandard files generated by the configure script. Files like config.status are handled by am__CONFIG_DISTCLEAN_FILES.

AC_CONFIG_COMMANDS is one of the four standard instantiating macros.
http://www.gnu.org/software/autoconf/manual/html_node/Configuration-Actions.html

However, automake does not distclean its output like the other three. The code to compile CONFIG_CLEAN_COMMANDS looks something like


# List of files in AC_CONFIG_FILES/AC_OUTPUT without Makefile.am's,
# and their outputs.
my @other_input_files = ();
...
  foreach my $lfile (@other_input_files)
      push (@actual_other_files, $local);
...
  foreach my $spec (@config_links)
          push @actual_other_files, $local if $local;
...
  define_pretty_variable ('CONFIG_CLEAN_FILES', TRUE, INTERNAL,
                          @actual_other_files);


Based on the definition of AC_CONFIG_COMMANDS (not required to output its tag or just a sigle file) and the current automake behavior, I do not recommend changing automake to add this tag to CONFIG_CLEAN_FILES.

However, this macro needs to be able to register files for distclean. As it stands now, all uses of this automake macro require a matching DISTCLEANFILES in Makefile.am. See for example
http://thread.gmane.org/gmane.comp.sysutils.autoconf.general/12510


To fix this, I propose extending Makefile.in in a fairly straightforward manner.

CONFIG_CLEAN_FILES = file1..fileN @CONFIG_CLEAN_FILES@

Where file1..fileN represent the current list of files compiled by automake, and @CONFIG_CLEAN_FILES@ is a variable that can be extended in autoconf.

Thanks,
Daniel




reply via email to

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