automake/autoconf

Ryan Schmidt ryandesign at macports.org
Sun Jan 18 00:23:10 PST 2015


On Jan 18, 2015, at 1:37 AM, jerryyhom at gmail.com wrote:

> I am working on a portfile for libressl.  I set some options like so:
> 
> use_autoconf    yes
> use_automake    yes
> 
> but 'port lint --nitpick' warned that port dependencies are listed multiple times.  I commented out one and successfully built the package.  Then I tried reversing the commented option and also successfully built the package.
> 
> As they both seem to do the correct thing, what is the difference between these options?  Is one preferred?  Perhaps their difference could be clarified in the Guide.  Thanks!

The difference is that they do what they say. In other words, "use_autoconf yes" will cause the program "autoconf" to be run; "use_automake yes" will cause the program "automake" to be run; and "use_autoreconf yes" will cause the program "autoreconf" to be run. I believe that's more or less what the guide currently says. Which program(s) you need to run will vary depending on what files you've patched.

"use_autoreconf yes" is often used, often with the addition of "autoreconf.args -fvi", because it seems to result in the most complete regeneration of the applicable files. However, that's not always possible, as some projects contain outdated files that are incompatible with the very current versions of automake and autoconf that we have in MacPorts today.

Some projects include their own script, e.g. autogen.sh, that they prefer to be used instead of running the tools directly; this can be accomplished e.g. with:

use_autoreconf yes
autoreconf.cmd ./autogen.sh
depends_build-append port:autoconf port:automake port:libtool




More information about the macports-dev mailing list