From 4846f4ab6989c20db4375440948266b742fa7a1f Mon Sep 17 00:00:00 2001 From: Kevin Steves Date: Fri, 22 Mar 2002 18:19:53 +0000 Subject: [PATCH] - (stevesk) configure and cpp __FUNCTION__ gymnastics to handle nielsisms --- ChangeLog | 3 ++- acconfig.h | 8 +++++++- configure.ac | 28 +++++++++++++++++++++++++++- defines.h | 8 +++++++- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 04d101ba3..81259c8e4 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 @@ -7995,4 +7996,4 @@ - Wrote replacements for strlcpy and mkdtemp - Released 1.0pre1 -$Id: ChangeLog,v 1.1968 2002/03/22 18:07:17 stevesk Exp $ +$Id: ChangeLog,v 1.1969 2002/03/22 18:19:53 stevesk Exp $ diff --git a/acconfig.h b/acconfig.h index b2cf81ca7..cbdbde216 100644 --- a/acconfig.h +++ b/acconfig.h @@ -1,4 +1,4 @@ -/* $Id: acconfig.h,v 1.123 2002/03/22 17:23:26 stevesk Exp $ */ +/* $Id: acconfig.h,v 1.124 2002/03/22 18:19:54 stevesk Exp $ */ #ifndef _CONFIG_H #define _CONFIG_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 4a61c82f4..c704da3d3 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -# $Id: configure.ac,v 1.27 2002/03/22 17:23:26 stevesk Exp $ +# $Id: configure.ac,v 1.28 2002/03/22 18:19:54 stevesk Exp $ AC_INIT AC_CONFIG_SRCDIR([ssh.c]) @@ -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 ac2d96691..e4e413638 100644 --- a/defines.h +++ b/defines.h @@ -1,7 +1,7 @@ #ifndef _DEFINES_H #define _DEFINES_H -/* $Id: defines.h,v 1.81 2002/03/08 03:11:08 mouring Exp $ */ +/* $Id: defines.h,v 1.82 2002/03/22 18:19:54 stevesk Exp $ */ /* Necessary headers */ @@ -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.