5 dh_auto_configure - automatically configure a package prior to building
10 use Debian::Debhelper::Dh_Lib;
14 B<dh_auto_configure> [S<I<debhelper options>>] [S<B<--> I<params>>]
18 dh_auto_configure is a debhelper program that tries to automatically
19 configure a package prior to building. It looks for and runs a ./configure
20 script, Makefile.PL, or Build.PL. A standard set of parameters is
21 determined and passed to the program that is run. If no program to run is
22 found, dh_auto_configure will exit without doing anything.
24 This is intended to work for about 90% of packages. If it doesn't work,
25 you're encouraged to skip using dh_auto_configure at all, and just run
26 ./configure or its equivalent manually.
34 Pass "params" to the program that is run. These can be used to supplement
35 or override the standard parameters that dh_auto_configure passes.
44 # Standard set of options for configure.
46 push @opts, "--build=".dpkg_architecture_value("DEB_BUILD_GNU_TYPE");
47 push @opts, "--prefix=/usr";
48 push @opts, "--includedir=\${prefix}/include";
49 push @opts, "--mandir=\${prefix}/share/man";
50 push @opts, "--infodir=\${prefix}/share/info";
51 push @opts, "--sysconfdir=/etc";
52 push @opts, "--localstatedir=/var";
53 push @opts, "--libexecdir=\${prefix}/lib/".sourcepackage();
54 push @opts, "--disable-maintainer-mode";
55 push @opts, "--disable-dependency-tracking";
56 # Provide --host only if different from --build, as recommended in
57 # autotools-dev README.Debian: When provided (even if equal) autotools
58 # 2.52+ switches to cross-compiling mode.
59 if (dpkg_architecture_value("DEB_BUILD_GNU_TYPE") ne dpkg_architecture_value("DEB_HOST_GNU_TYPE")) {
60 push @opts, "--host=".dpkg_architecture_value("DEB_HOST_GNU_TYPE");
62 doit("./configure", @opts, @{$dh{U_PARAMS}});
64 elsif (-e "Makefile.PL") {
65 # If set to a true value then MakeMaker's prompt function will
66 # # always return the default without waiting for user input.
67 $ENV{PERL_MM_USE_DEFAULT}=1;
68 doit("perl", "Makefile.PL", "INSTALLDIRS=vendor", @{$dh{U_PARAMS}});
70 elsif (-e "Build.PL") {
71 $ENV{PERL_MM_USE_DEFAULT}=1; # Module::Build can also use this.
72 $ENV{MODULEBUILDRC} = "/dev/null";
73 doit("perl", "Build.PL", "installdirs=vendor", @{$dh{U_PARAMS}});
80 This program is a part of debhelper.
84 Joey Hess <joeyh@debian.org>