On 11/19/2011 01:48 AM, Adam Mercer wrote: > Hi > > Is there a way to change the default value of specific configuration > flags depending on whether the project is built from the development > repository or from a release tarball, i.e. built using "make dist"? > There are specific configuration flags that I would like to have > enabled by default when building from the development repository but > not for a release. > > Does anyone know a way that I can achieve this without changing the > macro definition for every release?
Yes - use m4_esyscmd to run a command that determines whether you are
likely to be a VCS checkout or a tarball. Autoconf itself does exactly
that; it has this in configure.ac:
AC_INIT([GNU Autoconf],
m4_esyscmd([build-aux/git-version-gen .tarball-version]),
[[email protected]])
where build-aux/git-version-gen is a script that determines whether this
is a tarball release (as evidenced by the existence of a file
.tarball-version, created only at 'make dist' time and matching the
corresponding 'git tag' version string chosen at release time) or a git
checkout (as evidenced by a .git subdirectory), and alters the version
string accordingly (either a release value, or an extended intra-release
version such as 2.68.54-d641). Also, since AC_INIT sets the m4 macro
AC_PACKAGE_VERSION and the shell variable $PACKAGE_VERSION, the rest of
the configure.ac can make decisions about whether this is a development
release or a tarball release based on whether the version string is
short or long. End result: you have a configure.ac that does not need
any modifications, and yet still behaves differently between developer's
trees and formal releases.
--
Eric Blake [email protected] +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Autoconf mailing list [email protected] https://lists.gnu.org/mailman/listinfo/autoconf
