autoconf
[Top][All Lists]
Advanced

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

Re: macros which define macros


From: Sam Steingold
Subject: Re: macros which define macros
Date: Thu, 29 May 2008 13:54:58 -0400
User-agent: Thunderbird 2.0.0.0 (X11/20070326)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Thanks a lot for your kind reply!

Eric Blake wrote:
| Sam Steingold <sds <at> gnu.org> writes:
|
| I noticed you are already trying to collapse the AC_MSG* by using
| AC_CACHE_CHECK, and replacing the obsolete AC_TRY_COMPILE with
| AC_COMPILE_IFELSE - good.

are you watching CLISP development? :-)

| AC_DEFUN([CL_CHECK],[dnl
|   AC_CACHE_CHECK([for $2],[$3],
|     [$1([AC_LANG_PROGRAM([$4],[$5])],[$3=yes], [$3=no])])
|   AS_IF([test $$3 = yes], [$6], [$7])
| ])
|
| AC_DEFUN([CL_COMPILE_CHECK], [CL_CHECK([AC_COMPILE_IFELSE],$@)])
| AC_DEFUN([CL_LINK_CHECK], [CL_CHECK([AC_LINK_IFELSE],$@)])

yes, this does the trick!
thanks!

| m4_define([CL_DEFUN_CHECKER],
|   [_$0([$]1, [$]2, [$]3, [$]4, [$]5, [$]6, [$1])])

interesting.
the above version is shorter and easier for me (and, more importantly,
those who will come after me) to understand, so I will stick with it.

|> Another question - is there a way to reuse the results of
AC_LANG_PROGRAM?
|
| cl_program_xcheck=`cat <<\EOF
| AC_LANG_PROGRAM([#include <sys/socket.h>
| #include <X11/Xlib.h>
| #include <X11/Xauth.h>],
| [XauGetAuthByAddr(AF_INET,0,"",13,"localhost:0.0",13,"localhost:0.0");])
| EOF`

this expands to
~    cl_clx_XauGetAuthByAddr_program=`cat <<\EOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <sys/socket.h>
#include <X11/Xlib.h>
#include <X11/Xauth.h>
int
main ()
{
XauGetAuthByAddr(AF_INET,0,"",13,"localhost:0.0",13,"localhost:0.0");
~  ;
~  return 0;
}
EOF`

which does not look right.


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIPu3yPp1Qsf2qnMcRAquaAJ9BiG0Jb8Lm6Tsf6HHKkmNqhIxqhgCfdYc4
Y3pj+4BBo4/PsG94d3lW6oI=
=9E0o
-----END PGP SIGNATURE-----




reply via email to

[Prev in Thread] Current Thread [Next in Thread]