dh-autoreconf(7)

dh-autoreconf7

Debhelper add-on to run autoreconf during build

Overview

The dh-autoreconf package provides a sequence addon for debhelper 7 and is enabled by default since compatibility level 10. For earlier compatibility levels it can be enabled in the following way:

    #!/usr/bin/make -f
    %:
        dh $@ --with autoreconf

This will call dh_autoreconf prior to dh_auto_configure and will call dh_autoreconf_clean before dh_clean.

For more information on how to control the autoreconf process or how to other possible options, read the dh_autoreconf(1) and dh_autoreconf_clean(1) manual pages.

CDBS integration

This package also provides /usr/share/cdbs/1/rules/autoreconf.mk for packages using CDBS. The variable "DEB_DH_AUTORECONF_ARGS" can be used to pass extra arguments to dh_autoreconf, and the variable "DEB_DH_AUTORECONF_CLEAN_ARGS" to pass arguments to dh_autoreconf_clean. See their manual pages for information on available arguments.

Tips and examples

Patching ltmain.sh for as-needed linker flags

You can add support for -Wl,--as-needed to ltmain.sh (at least for those ltmain.sh scripts changed during autoreconf) by passing the argument --as-needed to dh_autoreconf, as demonstrated in the following example:

    override_dh_autoreconf:
        dh_autoreconf --as-needed

and for CDBS, by adding it to the correct variable such as:

    DEB_DH_AUTORECONF_ARGS = --as-needed

For more information about this feature, see dh_autoreconf(1)

Running multiple commands with dh_autoreconf

Please note that you may run dh_autoreconf only once. If you need to run multiple commands, you can put the commands into a script or your debian/rules file and then pass the name of your script to dh_autoreconf. For example, if your script is called debian/autogen.sh, you can put the following into your debian/rules if you use dh:

    override_dh_autoreconf:
        dh_autoreconf debian/autogen.sh

Or, if you use CDBS:

    DEB_DH_AUTORECONF_ARGS += debian/autogen.sh

Caveats

dh_autoreconf is mostly a superset of the dh_update_autotools_config debhelper command included in debhelper since version 9.20160115. When using the dh sequencer, dh_update_autotools_config is run before dh_autoreconf and updates the config.guess and config.sub files. This is required in cases where autoreconf does not update config.guess and config.sub itself.

From time to time, there might be a short breakage for those using automatic ltmain.sh patching, when the patch no longer applies to the ltmain.sh.

You can only run dh_autoreconf once. Future versions may be able to be run multiple times, but this requires slightly more planning.

Releases

8 releases since Debian 6.0 (Squeeze); the text changed 5 times.

  1. 6.0
  2. 7
  3. 8
  4. 9
  5. 10
  6. 11–13

Author

Julian Andres Klode <[email protected]>

From dh-autoreconf 20 in Debian 13 (Trixie). Parsed by carta from the page's man source.