=cut
use strict;
-use Debian::Debhelper::Dh_Lib;
+use Debian::Debhelper::Dh_Buildsystems;
=head1 SYNOPSIS
-B<dh_auto_build> [S<I<debhelper options>>] [S<B<--> I<params>>]
+B<dh_auto_build> [S<I<build system options>>] [S<I<debhelper options>>] [S<B<--> I<params>>]
=head1 DESCRIPTION
-dh_auto_build is a debhelper program that tries to automatically
-build a package. If a Makefile is found, this is done by running make.
-If there's a setup.py, it is run to build the package.
+B<dh_auto_build> is a debhelper program that tries to automatically build a
+package. It does so by running the appropriate command for the build system
+it detects the package uses. For example, if a F<Makefile> is found, this is
+done by running B<make> (or B<MAKE>, if the environment variable is set). If
+there's a F<setup.py>, or F<Build.PL>, it is run to build the package.
This is intended to work for about 90% of packages. If it doesn't work,
-you're encoruaged to skip using dh_auto_build at all, and just run the
+you're encouraged to skip using B<dh_auto_build> at all, and just run the
build process manually.
=head1 OPTIONS
+See L<debhelper(7)/B<BUILD SYSTEM OPTIONS>> for a list of common build
+system selection and control options.
+
=over 4
=item B<--> I<params>
-Pass "params" to the program that is run. These can be used to suppliment
-or override the standard parameters that dh_auto_build passes.
+Pass I<params> to the program that is run, after the parameters that
+B<dh_auto_build> usually passes.
=back
=cut
-init();
-
-if (-e "Makefile" || -e "makefile" || -e "GNUmakefile") {
- doit($ENV{MAKE}, @{$dh{U_PARAMS}});
-}
-elsif (-e "setup.py") {
- doit("python setup.py", "build", @{$dh{U_PARAMS}});
-}
+buildsystems_init();
+buildsystems_do();
=head1 SEE ALSO