summaryrefslogtreecommitdiff
path: root/dh_auto_configure
diff options
context:
space:
mode:
Diffstat (limited to 'dh_auto_configure')
-rwxr-xr-xdh_auto_configure67
1 files changed, 4 insertions, 63 deletions
diff --git a/dh_auto_configure b/dh_auto_configure
index 5f48056..34d6298 100755
--- a/dh_auto_configure
+++ b/dh_auto_configure
@@ -7,7 +7,7 @@ dh_auto_configure - automatically configure a package prior to building
=cut
use strict;
-use Debian::Debhelper::Dh_Lib;
+use Debian::Debhelper::Dh_Buildsystems;
=head1 SYNOPSIS
@@ -17,7 +17,7 @@ B<dh_auto_configure> [S<I<debhelper options>>] [S<B<--> I<params>>]
dh_auto_configure is a debhelper program that tries to automatically
configure a package prior to building. It looks for and runs a ./configure
-script, Makefile.PL, or Build.PL. A standard set of parameters is
+script, Makefile.PL, Build.PL, or cmake. A standard set of parameters is
determined and passed to the program that is run. If no program to run is
found, dh_auto_configure will exit without doing anything.
@@ -41,67 +41,8 @@ or override those parameters. For example:
=cut
-init();
-
-sub dpkg_architecture_value {
- my $var=shift;
- my $value=`dpkg-architecture -q$var 2>/dev/null` || error("dpkg-architecture failed");
- chomp $value;
- return $value;
-}
-
-sub sourcepackage {
- open (CONTROL, 'debian/control') ||
- error("cannot read debian/control: $!\n");
- while (<CONTROL>) {
- chomp;
- s/\s+$//;
- if (/^Source:\s*(.*)/) {
- close CONTROL;
- return $1;
- }
- }
-
- close CONTROL;
- error("could not find Source: line in control file.");
-}
-
-if (-x "configure") {
- # Standard set of options for configure.
- my @opts;
- push @opts, "--build=".dpkg_architecture_value("DEB_BUILD_GNU_TYPE");
- push @opts, "--prefix=/usr";
- push @opts, "--includedir=\${prefix}/include";
- push @opts, "--mandir=\${prefix}/share/man";
- push @opts, "--infodir=\${prefix}/share/info";
- push @opts, "--sysconfdir=/etc";
- push @opts, "--localstatedir=/var";
- push @opts, "--libexecdir=\${prefix}/lib/".sourcepackage();
- push @opts, "--disable-maintainer-mode";
- push @opts, "--disable-dependency-tracking";
- # Provide --host only if different from --build, as recommended in
- # autotools-dev README.Debian: When provided (even if equal) autotools
- # 2.52+ switches to cross-compiling mode.
- if (dpkg_architecture_value("DEB_BUILD_GNU_TYPE") ne dpkg_architecture_value("DEB_HOST_GNU_TYPE")) {
- push @opts, "--host=".dpkg_architecture_value("DEB_HOST_GNU_TYPE");
- }
- doit("./configure", @opts, @{$dh{U_PARAMS}});
-}
-elsif (-e "Makefile.PL") {
- # If set to a true value then MakeMaker's prompt function will
- # always return the default without waiting for user input.
- $ENV{PERL_MM_USE_DEFAULT}=1;
- # This prevents Module::Install from interactive behavior.
- $ENV{PERL_AUTOINSTALL}="--skipdeps";
-
- doit("perl", "Makefile.PL", "INSTALLDIRS=vendor",
- "create_packlist=0", @{$dh{U_PARAMS}});
-}
-elsif (-e "Build.PL") {
- $ENV{PERL_MM_USE_DEFAULT}=1; # Module::Build can also use this.
- $ENV{MODULEBUILDRC} = "/dev/null";
- doit("perl", "Build.PL", "installdirs=vendor", @{$dh{U_PARAMS}});
-}
+buildsystems_init();
+buildsystems_do();
=head1 SEE ALSO