1*8dd5e09dSSadaf Ebrahimi# libcap-ng.m4 - Checks for the libcap-ng support 2*8dd5e09dSSadaf Ebrahimi# Copyright (c) 2009 Steve Grubb [email protected] 3*8dd5e09dSSadaf Ebrahimi# 4*8dd5e09dSSadaf EbrahimiAC_DEFUN([LIBCAP_NG_PATH], 5*8dd5e09dSSadaf Ebrahimi[ 6*8dd5e09dSSadaf Ebrahimi AC_ARG_WITH(libcap-ng, 7*8dd5e09dSSadaf Ebrahimi [ --with-libcap-ng=[auto/yes/no] Add Libcap-ng support [default=auto]],, 8*8dd5e09dSSadaf Ebrahimi with_libcap_ng=auto) 9*8dd5e09dSSadaf Ebrahimi 10*8dd5e09dSSadaf Ebrahimi # Check for Libcap-ng API 11*8dd5e09dSSadaf Ebrahimi # 12*8dd5e09dSSadaf Ebrahimi # libcap-ng detection 13*8dd5e09dSSadaf Ebrahimi 14*8dd5e09dSSadaf Ebrahimi if test x$with_libcap_ng = xno ; then 15*8dd5e09dSSadaf Ebrahimi have_libcap_ng=no; 16*8dd5e09dSSadaf Ebrahimi else 17*8dd5e09dSSadaf Ebrahimi # Start by checking for header file 18*8dd5e09dSSadaf Ebrahimi AC_CHECK_HEADER(cap-ng.h, capng_headers=yes, capng_headers=no) 19*8dd5e09dSSadaf Ebrahimi 20*8dd5e09dSSadaf Ebrahimi # See if we have libcap-ng library 21*8dd5e09dSSadaf Ebrahimi AC_CHECK_LIB(cap-ng, capng_clear, 22*8dd5e09dSSadaf Ebrahimi CAPNG_LDADD=-lcap-ng,) 23*8dd5e09dSSadaf Ebrahimi 24*8dd5e09dSSadaf Ebrahimi # Check results are usable 25*8dd5e09dSSadaf Ebrahimi if test x$with_libcap_ng = xyes -a x$CAPNG_LDADD = x ; then 26*8dd5e09dSSadaf Ebrahimi AC_MSG_ERROR(libcap-ng support was requested and the library was not found) 27*8dd5e09dSSadaf Ebrahimi fi 28*8dd5e09dSSadaf Ebrahimi if test x$CAPNG_LDADD != x -a $capng_headers = no ; then 29*8dd5e09dSSadaf Ebrahimi AC_MSG_ERROR(libcap-ng libraries found but headers are missing) 30*8dd5e09dSSadaf Ebrahimi fi 31*8dd5e09dSSadaf Ebrahimi fi 32*8dd5e09dSSadaf Ebrahimi 33*8dd5e09dSSadaf Ebrahimi AC_SUBST(CAPNG_LDADD) 34*8dd5e09dSSadaf Ebrahimi AC_MSG_CHECKING(whether to use libcap-ng) 35*8dd5e09dSSadaf Ebrahimi if test x$CAPNG_LDADD != x ; then 36*8dd5e09dSSadaf Ebrahimi AC_DEFINE(HAVE_LIBCAP_NG,1,[libcap-ng support]) 37*8dd5e09dSSadaf Ebrahimi AC_CHECK_DECLS([CAPNG_AMBIENT], [], [], [[#include <cap-ng.h>]]) 38*8dd5e09dSSadaf Ebrahimi AC_MSG_RESULT(yes) 39*8dd5e09dSSadaf Ebrahimi else 40*8dd5e09dSSadaf Ebrahimi AC_MSG_RESULT(no) 41*8dd5e09dSSadaf Ebrahimi fi 42*8dd5e09dSSadaf Ebrahimi]) 43