cmdline parsing: move into a dedicated perl module
With this change, we delegate most of the automake and aclocal code
for command-line options parsing to a new module "Automake::Getopt".
This allows better code sharing between automake and aclocal, and
also with Autoconf, which will sync the new module from us. See
also autoconf commit 'v2.68-120-gf4be358' (2012-01-17, "getopt: new
Autom4te::Getopt module"), and this mailing list discussion:
<http://lists.gnu.org/archive/html/autoconf-patches/2012-01/msg00033.html>
This change might interact with the behaviour described in automake
bug#7434; for example, starting from now, "automake -Wfoo --version"
will cause automake to emit diagnostic like "unknown warning
category 'foo'" before actually printing the version number and
exiting. This is not a big deal in practice, and the code sharing
and simplifications introduced by this patch is certainly worth it.
Still, we should revisited the issue in the future.
* lib/Automake/Getopt.pm: New module, basically a slightly-edited
copy of the 'lib/Autom4te/Getopt.pm' file from the autoconf devel
repository (commit v2.68-120-gf4be358). It defines and exports ...
(parse_options): ... this new function.
* automake.in (parse_arguments): Use the new function.
* aclocal.in (parse_arguments): Likewise.
* lib/Automake/Makefile.am (dist_perllib_DATA): Add the new file.
* tests/getopt.test: Remove.
* tests/list-of-tests.mk: Update.