Blame common/m4/gst-function.m4

Packit 971217
dnl
Packit 971217
dnl Check for compiler mechanism to show functions in debugging
Packit 971217
dnl copied from an Ali patch floating on the internet
Packit 971217
dnl
Packit 971217
AC_DEFUN([AG_GST_CHECK_FUNCTION],[
Packit 971217
  dnl #1: __PRETTY_FUNCTION__
Packit 971217
  AC_MSG_CHECKING(whether $CC implements __PRETTY_FUNCTION__)
Packit 971217
  AC_CACHE_VAL(gst_cv_have_pretty_function,[
Packit 971217
    AC_TRY_LINK([#include <stdio.h>],
Packit 971217
                [printf("%s", __PRETTY_FUNCTION__);],
Packit 971217
                gst_cv_have_pretty_function=yes,
Packit 971217
                gst_cv_have_pretty_function=no)
Packit 971217
  ])
Packit 971217
  AC_MSG_RESULT($gst_cv_have_pretty_function)
Packit 971217
  if test "$gst_cv_have_pretty_function" = yes; then
Packit 971217
    AC_DEFINE(HAVE_PRETTY_FUNCTION, 1,
Packit 971217
              [defined if the compiler implements __PRETTY_FUNCTION__])
Packit 971217
  fi
Packit 971217
Packit 971217
dnl #2: __FUNCTION__
Packit 971217
  AC_MSG_CHECKING(whether $CC implements __FUNCTION__)
Packit 971217
  AC_CACHE_VAL(gst_cv_have_function,[
Packit 971217
    AC_TRY_LINK([#include <stdio.h>],
Packit 971217
                [printf("%s", __FUNCTION__);],
Packit 971217
                gst_cv_have_function=yes,
Packit 971217
                gst_cv_have_function=no)
Packit 971217
  ])
Packit 971217
  AC_MSG_RESULT($gst_cv_have_function)
Packit 971217
  if test "$gst_cv_have_function" = yes; then
Packit 971217
    AC_DEFINE(HAVE_FUNCTION, 1,
Packit 971217
              [defined if the compiler implements __FUNCTION__])
Packit 971217
  fi
Packit 971217
Packit 971217
dnl #3: __func__
Packit 971217
  AC_MSG_CHECKING(whether $CC implements __func__)
Packit 971217
  AC_CACHE_VAL(gst_cv_have_func,[
Packit 971217
    AC_TRY_LINK([#include <stdio.h>],
Packit 971217
                [printf("%s", __func__);],
Packit 971217
                gst_cv_have_func=yes,
Packit 971217
                gst_cv_have_func=no)
Packit 971217
  ])
Packit 971217
  AC_MSG_RESULT($gst_cv_have_func)
Packit 971217
  if test "$gst_cv_have_func" = yes; then
Packit 971217
    AC_DEFINE(HAVE_FUNC, 1,
Packit 971217
              [defined if the compiler implements __func__])
Packit 971217
  fi
Packit 971217
Packit 971217
dnl now define FUNCTION to whatever works, and fallback to ""
Packit 971217
  if test "$gst_cv_have_pretty_function" = yes; then
Packit 971217
    function=__PRETTY_FUNCTION__
Packit 971217
  else
Packit 971217
    if test "$gst_cv_have_function" = yes; then
Packit 971217
      function=__FUNCTION__
Packit 971217
    else
Packit 971217
      if test "$gst_cv_have_func" = yes; then
Packit 971217
        function=__func__
Packit 971217
      else
Packit 971217
        function=\"\"
Packit 971217
      fi
Packit 971217
    fi
Packit 971217
  fi
Packit 971217
  AC_DEFINE_UNQUOTED(GST_FUNCTION, $function, [macro to use to show function name])
Packit 971217
])