Should a configure script be distributed if configure.ac is available?

Currently, our installation instructions:

autoreconf -fi ./configure ... 

The autoreconf step generates a configure file from configure.ac and Makefile.in from Makefile.in . If one of the dependencies (say pkg-config ) is not installed, both configure and autoreconf fail, although the latter prints a cryptic error message.

When releasing the original tarballs, if the configure script will ship in a package or not? What other files need to be included if they need to be distributed? The build-aux and autom4te.cache directories and autom4te.cache files were also aclocal.m4 .

+6
source share
3 answers

There should not be anything auto-generated in the SCM repository (including configure - but the opinions of the developers are indented here). Tarball must contain the state after autoreconf -fi and / or autogen.sh (or any other name you choose for it). Thirdly, you can also use make dist , although this requires that all the files that should be displayed in the tarball are also listed in the Makefiles.

+6
source

Installation instructions are horribly violated. The user does not need to set up the startup chain to build your software. You must distribute the script configuration in your tarball. Please note that you should not include configure script in your version control system. (You should not use your version control system as a distribution system.)

+4
source

The script configuration must be built by the maintainer and distributed in tarball. End users will never have to touch them, and it is a good idea to provide this with AM_MAINTAINER_MODE if you are using automake. If not, make sure your Makefile.in does not run configure at startup for end users.

Let automake create a distribution for you if you want to know what else is there. The auxiliary directory build-aux and aclocal.m4 do, automat4e.cache does not work.

+3
source

Source: https://habr.com/ru/post/905991/


All Articles