[asterisk-dev] Removing configure from tree

Joshua C. Colp jcolp at sangoma.com
Thu May 4 04:59:50 CDT 2023


On Thu, May 4, 2023 at 6:45 AM Dennis Buteyn <dennis.buteyn at xorcom.com>
wrote:

> On 5/3/23 22:48, Joshua C. Colp wrote:
>
> Greetings all,
>
> Sean Bright brought up on IRC the removal of configure from git. This may
> be impactful since some users (not necessarily developers) may not
> understand the build system when building from branches (not tags or
> releases) and become confused when configure is not present which is why I
> disagreed with doing so on IRC. I'm curious though what others think of
> such a change. I think to be acceptable it would need:
>
> 1. To regenerate configure if configure.ac has been changed, so that
> developers don't have a stale configure
> 2. To provide instructions if configure is not present and "make" is run,
> I'm on the fence on automatically running it
> 3. Releases (and tags) would need to have a generated configure in them
>
> Thoughts?
>
> Sean is correct that configure should not be present in the source tree
> because it contains build-environment specific parameters. For the same
> reason, Makefile should also not be present in the source tree.
>

I'm not sure what build-environment specific parameters you are referring
to, unless you mean the version of autoconf on the system. The issue Sean
saw was that if developers generated the configure using different autoconf
versions, the output would be different and could result in large reviews.
>From an actual non-developer people who use Asterisk perspective, to the
best of my knowledge we've never seen any issues with either the checked in
configure. The logic certainly, but that's not the result of the process of
producing the configure script but the backing autoconf logic that was
written by someone.

As for Makefiles, the Asterisk ones are not generated. They're written
manually. Are you also proposing changing the build system so those are now
generated?

Running make without configure being present would mean Makefile is also
> not present. As make is (fortunately) not sentient and does not know that
> Makefile is to be generated, it would reasonably state that no Makefile has
> been found. I'm not sure how one would convey additional instructions to
> users in such a case.
>
> Many Automake/Autotools projects provide some bootstrap script to generate
> configure from configure.ac, with step-by-step instructions on how to
> build (bootstrap, configure, make).
>
> To make building as simple as possible, instructions for building from a
> branch, tag or any other source should be identical.
>
That's a fundamentally breaking change if tags and releases do not contain
a configure already. The benefit would need to be large enough to justify
it. What additional benefits are there?

-- 
Joshua C. Colp
Asterisk Project Lead
Sangoma Technologies
Check us out at www.sangoma.com and www.asterisk.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20230504/076c38cb/attachment-0001.html>


More information about the asterisk-dev mailing list