xref: /aosp_15_r20/external/libcap-ng/m4/cap-ng.m4 (revision 8dd5e09d5faf27a871e8654ddaa2d2af7c696578)
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