Tuesday, April 30, 2024

Re: SUGGESTION: Makefile.template should have info on autoreconf

On 2024/04/29 23:28, izder456 wrote:
> Hello ports@,
>
> I was working on a port earlier today that configures via GNU autotools.
>
> I needed the `configure` script, which wasn't included. When I grabbed
> the sources with `DIST_TUPLE`, `autoconf` didn't seem to generate one.
> (spat some really confusing error, unrelated to the ports tree).
> *side note: GNU autotools error really suck*
>
> It looked like `CONFIGURE_STYLE = autoreconf` was needed. (which ended
> up working fine).
>
> But, what frustrated me was the lack of documentation on this one
> specific option. I just grepped the tree to see if that command was
> ever used, and sure enough it is a valid (and used) `CONFIGURE_STYLE`.

The actual documentation is in bsd.port.mk(5)

$ man bsd.port.mk
...
CONFIGURE_STYLE
Set to style of configuration that needs to happen.

If 'perl', assume perl(1)'s ExtUtils::MakeMaker(3p) style. Add
'modbuild' to enable Module::Build(3p), 'modbuild tiny' to
enable Module::Build::Tiny(3p), or 'modinst' for
Module::Install(3p) style.

If 'gnu', assume GNU configure style. Add 'dest' if port does
not handle DESTDIR correctly, and needs to be configured to add
DESTDIR to prefixes (see also DESTDIRNAME). Add 'old' if port
is an older autoconf port that does not recognize --sysconfdir.
Add 'autoconf' if autoconf needs to be rerun first, but set
'no-autoheader' to prevent autoheader from running.
Alternatively, add 'autoreconf' to rerun autoconf, automake, and
related tools to completely regenerate the GNU build framework.

If 'imake', assume port configures using X11 ports Imakefile
framework. Add 'noman' if port has no man pages the Imakefile
should try installing.

If 'simple', there is a configure script, but it does not fit
the normal GNU configure conventions.

Extensions may be defined by specific MODULES. See
port-modules(5) for details.

> I dunno, but it seems worthwhile to add this information
> to Makefile.template.

I've added a quick mention and some examples of common usage.

No comments:

Post a Comment