dh-autoreconf - Man Page

debhelper add-on to run autoreconf during build


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:

        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:

        dh_autoreconf debian/autogen.sh

Or, if you use CDBS:

    DEB_DH_AUTORECONF_ARGS += debian/autogen.sh


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.

See Also

debhelper(7), dh(1), dh_autoreconf(1), dh_autoreconf_clean(1)


Julian Andres Klode <jak@debian.org>

Referenced By

dh_autoreconf(1), dh_autoreconf_clean(1).

2022-07-21 perl v5.36.0 User Contributed Perl Documentation