From c921ee003f84edd6a58ccaa1ced15a2cd221b640 Mon Sep 17 00:00:00 2001 From: stevesk Date: Fri, 22 Mar 2002 18:19:53 +0000 Subject: [PATCH] - (stevesk) configure and cpp __FUNCTION__ gymnastics to handle nielsisms --- ChangeLog | 1 + acconfig.h | 6 ++++++ configure.ac | 26 ++++++++++++++++++++++++++ defines.h | 6 ++++++ 4 files changed, 39 insertions(+) diff --git a/ChangeLog b/ChangeLog index cddfbbf0..c618a8a6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ 20020322 - (stevesk) HAVE_ACCRIGHTS_IN_MSGHDR configure support - (stevesk) [monitor.c monitor_wrap.c] #ifdef HAVE_PW_CLASS_IN_PASSWD + - (stevesk) configure and cpp __FUNCTION__ gymnastics to handle nielsisms 20020321 - (bal) OpenBSD CVS Sync diff --git a/acconfig.h b/acconfig.h index 3519c8c0..8673f741 100644 --- a/acconfig.h +++ b/acconfig.h @@ -181,6 +181,12 @@ /* Define if libc defines __progname */ #undef HAVE___PROGNAME +/* Define if compiler implements __FUNCTION__ */ +#undef HAVE___FUNCTION__ + +/* Define if compiler implements __func__ */ +#undef HAVE___func__ + /* Define if you want Kerberos 4 support */ #undef KRB4 diff --git a/configure.ac b/configure.ac index b3af35fa..1cc56b73 100644 --- a/configure.ac +++ b/configure.ac @@ -1603,6 +1603,32 @@ if test "x$ac_cv_libc_defines___progname" = "xyes" ; then AC_DEFINE(HAVE___PROGNAME) fi +AC_CACHE_CHECK([whether $CC implements __FUNCTION__], ac_cv_cc_implements___FUNCTION__, [ + AC_TRY_LINK([ +#include +], + [ printf("%s", __FUNCTION__); ], + [ ac_cv_cc_implements___FUNCTION__="yes" ], + [ ac_cv_cc_implements___FUNCTION__="no" ] + ) +]) +if test "x$ac_cv_cc_implements___FUNCTION__" = "xyes" ; then + AC_DEFINE(HAVE___FUNCTION__) +fi + +AC_CACHE_CHECK([whether $CC implements __func__], ac_cv_cc_implements___func__, [ + AC_TRY_LINK([ +#include +], + [ printf("%s", __func__); ], + [ ac_cv_cc_implements___func__="yes" ], + [ ac_cv_cc_implements___func__="no" ] + ) +]) +if test "x$ac_cv_cc_implements___func__" = "xyes" ; then + AC_DEFINE(HAVE___func__) +fi + AC_CACHE_CHECK([whether getopt has optreset support], ac_cv_have_getopt_optreset, [ AC_TRY_LINK( diff --git a/defines.h b/defines.h index 8f73ac32..a26e9304 100644 --- a/defines.h +++ b/defines.h @@ -490,6 +490,12 @@ struct winsize { # define OPENSSL_free(x) Free(x) #endif +#if defined(HAVE___func__) +# define __FUNCTION__ __func__ +#elif !defined(HAVE___FUNCTION__) +# define __FUNCTION__ "" +#endif + /* * Define this to use pipes instead of socketpairs for communicating with the * client program. Socketpairs do not seem to work on all systems. -- 2.45.2