Re: RFE: configure -> dependency list on exit.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
  let me formulate a proposal.  I try to be as specific as possible.

AC_MSG_NEED(PACKAGE, TEXT)
------------------------------
Prints a message and saves it for later usage.
Example: AC_MSG_NEED(foo, [grab the latest foo from foo.org])
prints:

Suggestion:
  foo		grab the latest foo from foo.org

AC_MSG_COND_NEED(CONDITION, PACKAGE, TEXT)
------------------------------------------
Prints a message and saves it for later usage.
Example: AC_MSG_COND_NEED(--with-graphs, libxy,
	[use the latest xy library from http://www.xylib.net/])
prints:

Suggestion (for --with-graphs):
  libxy		use the latest xy library from http://www.xylib.net/
	

AC_OUTPUT
---------
If there were any call to AC_MSG_NEED or AC_MSG_COND_NEED, all the
suggestions are printed, and then configure exits; it doesn't create
config.status in this case.

Example:
Suggestions:
  foo		grab the latest foo from foo.org
  bar		grab the latest bar from http://www.barbar.com
(for --with-graphs):
  libxy		use the latest xy library from http://www.xylib.net/

Thats all.  I think implementing this proposal is a good step forward.

The most difficult part is the documentation, of course.  I don't
volunteer for it.  Hugh, could you please write a patch to autoconf.texi,
which would document these macros, and, most importantly, encouradge
their usage?

I could then add some macros and patch autoconf's own configure.ac.

A few comments:
Comment #1:
-----------
I chose AC_MSG_NEED instead of a combination of AC_MSG_END and
AS_SUGGEST_STRING.  I think the macro should be as simple as possible,
so that mor people use it.

Comment #2:
-----------
This proposal doesn't handle dependencies among the requirements.
This is intentional; I think a maintainer should only specify the
list of requirements.  Only sysadmins and distribution builders are
allowed to think about a "dependency tree".
In most cases, we can check for all requirements independently.
In the rare case when it is impossible to perform a check for "bar"
if "foo" wasn't found, we can use this pattern:

# check for foo and set have_foo
if test $have_foo = no; then
  AC_MSG_NEED(foo, [grab foo from ...])
fi
have_bar=no
if test $have_foo = yes; then
  # check for bar
  # and set have_bar appropriately
fi
if test $have_bar = no; then
  AC_MSG_NEED(bar, [grab bar from ...])
fi

Hugh, are you willing to work on this proposal, and make a patch to
autoconf.texi?

Stepan


_______________________________________________
Autoconf mailing list
Autoconf@xxxxxxx
http://lists.gnu.org/mailman/listinfo/autoconf

[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux