<div dir="ltr"><div dir="ltr">On Thu, May 4, 2023 at 6:45 AM Dennis Buteyn <<a href="mailto:dennis.buteyn@xorcom.com">dennis.buteyn@xorcom.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div>On 5/3/23 22:48, Joshua C. Colp wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Greetings all,
<div><br>
</div>
<div>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:</div>
<div><br>
</div>
<div>1. To regenerate configure if <a href="http://configure.ac" target="_blank">configure.ac</a>
has been changed, so that developers don't have a stale
configure</div>
<div>2. To provide instructions if configure is not present and
"make" is run, I'm on the fence on automatically running it</div>
<div>3. Releases (and tags) would need to have a generated
configure in them</div>
<div><br>
</div>
<div>Thoughts?</div>
</div>
</blockquote>
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.</div></blockquote><div><br></div><div>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.</div><div><br></div><div>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?</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
<p>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.<br>
</p>
<p>Many Automake/Autotools projects provide some bootstrap script to
generate configure from <a href="http://configure.ac" target="_blank">configure.ac</a>, with step-by-step
instructions on how to build (bootstrap, configure, make).<br>
</p>
<p>To make building as simple as possible, instructions for building
from a branch, tag or any other source should be identical.</p></div></blockquote><div>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?</div></div><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div style="font-family:tahoma,sans-serif"><font color="#073763">Joshua C. Colp</font></div><div style="font-family:tahoma,sans-serif"><font color="#073763">Asterisk Project Lead</font></div><div style="font-family:tahoma,sans-serif"><font color="#073763">Sangoma Technologies</font></div><div style="font-family:tahoma,sans-serif"><font color="#073763">Check us out at <a href="http://www.sangoma.com" target="_blank">www.sangoma.com</a> and <a href="http://www.asterisk.org" target="_blank">www.asterisk.org</a></font><br></div></div></div></div></div></div></div></div></div></div></div>