Blame m4/netsnmp_search_libs.m4

Packit fcad23
dnl @synopsis NETSNMP_SEARCH_LIBS(FUNCTION, SEARCH-LIBS, [ACTION-IF-FOUND],
Packit fcad23
dnl             [ACTION-IF-NOT-FOUND], [OTHER-LIBRARIES], [TARGET-VARIABLE])
Packit fcad23
dnl Similar to AC_SEARCH_LIBS but changes TARGET-VARIABLE instead of LIBS
Packit fcad23
dnl If TARGET-VARIABLE is unset then LIBS is used
Packit fcad23
AC_DEFUN([NETSNMP_SEARCH_LIBS],
Packit fcad23
[m4_pushdef([netsnmp_target],m4_ifval([$6],[$6],[LIBS]))
Packit fcad23
 AC_CACHE_CHECK([for library containing $1],
Packit fcad23
    [netsnmp_cv_func_$1_]netsnmp_target,
Packit fcad23
    [netsnmp_func_search_save_LIBS="$LIBS"
Packit fcad23
     m4_if(netsnmp_target, [LIBS],
Packit fcad23
         [netsnmp_target_val="$LIBS"
Packit fcad23
          netsnmp_temp_LIBS="$5 ${LIBS}"],
Packit fcad23
         [netsnmp_target_val="$netsnmp_target"
Packit fcad23
          netsnmp_temp_LIBS="${netsnmp_target_val} $5 ${LIBS}"])
Packit fcad23
     netsnmp_result=no
Packit fcad23
     LIBS="${netsnmp_temp_LIBS}"
Packit fcad23
     AC_LINK_IFELSE([AC_LANG_CALL([],[$1])],
Packit fcad23
         [netsnmp_result="none required"],
Packit fcad23
         ifelse([$2],[],[],
Packit fcad23
         [for netsnmp_cur_lib in $2 ; do
Packit fcad23
              LIBS="-l${netsnmp_cur_lib} ${netsnmp_temp_LIBS}"
Packit fcad23
              AC_LINK_IFELSE([AC_LANG_CALL([],[$1])],
Packit fcad23
                  [netsnmp_result=-l${netsnmp_cur_lib}
Packit fcad23
                   break])
Packit fcad23
          done]))
Packit fcad23
     LIBS="${netsnmp_func_search_save_LIBS}"
Packit fcad23
     [netsnmp_cv_func_$1_]netsnmp_target="${netsnmp_result}"])
Packit fcad23
 if test "${[netsnmp_cv_func_$1_]netsnmp_target}" != "no" ; then
Packit fcad23
    if test "${[netsnmp_cv_func_$1_]netsnmp_target}" != "none required" ; then
Packit fcad23
       netsnmp_target="${netsnmp_result} ${netsnmp_target_val}"
Packit fcad23
    fi
Packit fcad23
    $3
Packit fcad23
 m4_ifval([$4], [else
Packit fcad23
    $4])
Packit fcad23
 fi
Packit fcad23
 m4_popdef([netsnmp_target])])