mirror of
https://github.com/ceph/ceph
synced 2024-12-17 17:05:42 +00:00
autoconf: check for res_nquery explicitly
Creates a test that checks explicitly for res_nquery, which can be a macro in resolv.h. Defines RESOLV_LIBS that contains any libraries that need to be linked against. Notes from later fix: Based on the 2013-09-30 version of wip-port. On FreeBSD, one must include netinet/in.h to get the definitions for stuff in resolv.h. Also, resolv.h's functions are part of libc instead of libresolv. Signed-off-by: Alan Somers <asomers@gmail.com> Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
This commit is contained in:
parent
74873fd110
commit
1cc8558b60
35
configure.ac
35
configure.ac
@ -118,8 +118,41 @@ AX_CXX_STATIC_CAST
|
||||
# Checks for libraries.
|
||||
ACX_PTHREAD
|
||||
AC_CHECK_LIB([uuid], [uuid_parse], [true], AC_MSG_FAILURE([libuuid not found]))
|
||||
|
||||
#
|
||||
# Check for res_nquery in libresolv. There are several variations. On OSX
|
||||
# res_nquery is a macro defined in resolv.h, so the typical AC_CHECK_LIB
|
||||
# doesn't work. On FreeBSD res_nquery can be found in libc. The required
|
||||
# library for linking (if any) is defined RESOLV_LIBS.
|
||||
#
|
||||
AC_CHECK_HEADER([resolv.h], [], [], [#include <netinet/in.h>])
|
||||
|
||||
AC_DEFUN([CHECK_RESOLV_LIBS], [{
|
||||
AC_MSG_CHECKING([if res_nquery will link (LIBS=$1)])
|
||||
saved_LIBS="${LIBS}"
|
||||
LIBS="$1"
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include <netinet/in.h>
|
||||
#include <resolv.h>
|
||||
]], [[res_nquery(0, 0, 0, 0, 0, 0);]])],
|
||||
[AC_MSG_RESULT([yes])
|
||||
[$2]],
|
||||
AC_MSG_RESULT([no]))
|
||||
LIBS="${saved_LIBS}"
|
||||
}])
|
||||
|
||||
RESOLV_LIBS=""
|
||||
CHECK_RESOLV_LIBS([$RESOLV_LIBS], [resolv_libs="ok"])
|
||||
if test x"$resolv_libs" != "xok"; then
|
||||
RESOLV_LIBS="-lresolv"
|
||||
CHECK_RESOLV_LIBS([$RESOLV_LIBS], [resolv_libs="ok"])
|
||||
if test x"$resolv_libs" != "xok"; then
|
||||
AC_MSG_FAILURE([no resolv library found])
|
||||
fi
|
||||
fi
|
||||
AC_SUBST([RESOLV_LIBS])
|
||||
|
||||
AC_CHECK_LIB([m], [pow], [true], AC_MSG_FAILURE([libm not found]))
|
||||
AC_CHECK_LIB([resolv], [__res_nquery], [true], AC_MSG_FAILURE([libresolv not found]))
|
||||
if test x"$linux" = x"yes"; then
|
||||
AC_CHECK_LIB([keyutils], [add_key], [true], AC_MSG_FAILURE([libkeyutils not found]))
|
||||
fi
|
||||
|
@ -68,7 +68,7 @@ radosgw_SOURCES = \
|
||||
rgw/rgw_swift.cc \
|
||||
rgw/rgw_swift_auth.cc \
|
||||
rgw/rgw_main.cc
|
||||
radosgw_LDADD = $(LIBRGW) $(LIBRGW_DEPS) -lresolv $(CEPH_GLOBAL)
|
||||
radosgw_LDADD = $(LIBRGW) $(LIBRGW_DEPS) $(RESOLV_LIBS) $(CEPH_GLOBAL)
|
||||
bin_PROGRAMS += radosgw
|
||||
|
||||
radosgw_admin_SOURCES = rgw/rgw_admin.cc
|
||||
|
Loading…
Reference in New Issue
Block a user