Blame common/m4/gst-function.m4

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