On Thu, 2023-05-04 at 14:31 -0400, James Cloos wrote: > > > > > > "DB" == Dennis Buteyn <dennis.but...@xorcom.com> writes: > > DB> Many Automake/Autotools projects provide some bootstrap script to > DB> generate configure from configure.ac, with step-by-step instructions > DB> on how to build (bootstrap, configure, make). > > asterisk does have a bootstrap.sh, so the instructions for making from > git should include running that. > like most packages do.
First, asterisk is untypical (although valid) autotools project: * It use autoconf, but not really automake (no Makefile.am) * However, its "bootstrap.sh" does run automake (to copy things like "config.{guess,sub}" * It has its own linking methodology (not using libtool directly) It's important to note that Autotools consider two categories of "builders": * Those that just want to build the code as is -- for using the results. * Developers that need full control of the build (e.g: adding new source) * The principal difference between those groups are the requirements: - Regular "builders" are expected to have compiler, make, etc. But not necessarily autotools (or a specific version of autotools) - Developers should have a compatible version of autotools as well. * As a result: - The "make dist" target of typical automake project generates a tarball that is *ALREADY BOOTSTRAPPED* (with "configure" and other generated files) - But those generated files are not committed to Git, so developers need to have autotools to do the bootstrap. (in full autotools project, running "autoreconf -fvi" does the Right-Thing) Now let's look at the concrete Asterisk case: * Even just a clean build require tons of libraries for useful result * IMO, adding a requirement for autoconf/automake/etc... is a drop in the ocean. * I.e: even for simple build we can require and assume a full "developer" build * So building from git should be: - autoreconf -fvi # <-- can be in "bootstrap.sh" - ./configure ... - make - make install * OTOH, a release tarball should imitate "make dist" (for consistency): (i.e: with all files generated by bootstrap) Bye, -- Oron Peled -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev