]> git.eshelyaron.com Git - emacs.git/commitdiff
Use pkg-config to check for libseccomp.
authorPhilipp Stephani <phst@google.com>
Sun, 11 Apr 2021 14:50:29 +0000 (16:50 +0200)
committerPhilipp Stephani <phst@google.com>
Sun, 11 Apr 2021 14:50:29 +0000 (16:50 +0200)
We need at list version 2.4.0 of libseccomp for seccomp-filter.c to
build cleanly.

* configure.ac: Use pkg-config to check for libseccomp.
* lib-src/Makefile.in (HAVE_LIBSECCOMP, LIBSECCOMP_LIBS)
(LIBSECCOMP_CFLAGS): New variables.
(SECCOMP_FILTER, seccomp-filter$(EXEEXT)): Use them.

configure.ac
lib-src/Makefile.in

index cb4a9ab2876f614e6e46a2851419b299a2014833..681c25b052cc87dd241dadb2163d7cf97e98847e 100644 (file)
@@ -4189,10 +4189,10 @@ AC_CHECK_HEADERS(
     #include <linux/seccomp.h>
     ]])])
 
-LIBSECCOMP=
-AC_CHECK_HEADER([seccomp.h],
-  [AC_CHECK_LIB([seccomp], [seccomp_init], [LIBSECCOMP=-lseccomp])])
-AC_SUBST([LIBSECCOMP])
+EMACS_CHECK_MODULES([LIBSECCOMP], [libseccomp >= 2.4.0])
+AC_SUBST([HAVE_LIBSECCOMP])
+AC_SUBST([LIBSECCOMP_LIBS])
+AC_SUBST([LIBSECCOMP_CFLAGS])
 
 OLD_LIBS=$LIBS
 LIBS="$LIB_PTHREAD $LIB_MATH $LIBS"
index 5870286cd5c08a283ad071d3bf31fd621520e0b4..b4143b33554be33dad3d839829837df7835eca0c 100644 (file)
@@ -189,10 +189,12 @@ LIB_WSOCK32=@LIB_WSOCK32@
 ## Extra libraries for etags
 LIBS_ETAGS = $(LIB_CLOCK_GETTIME) $(LIB_GETRANDOM)
 
-LIBSECCOMP=@LIBSECCOMP@
+HAVE_LIBSECCOMP=@HAVE_LIBSECCOMP@
+LIBSECCOMP_LIBS=@LIBSECCOMP_LIBS@
+LIBSECCOMP_CFLAGS=@LIBSECCOMP_CFLAGS@
 
 # Currently, we can only generate seccomp filter files for x86-64.
-ifneq ($(LIBSECCOMP),)
+ifeq ($(HAVE_LIBSECCOMP),yes)
 ifeq ($(shell uname -m),x86_64)
 SECCOMP_FILTER=1
 endif
@@ -419,7 +421,8 @@ emacsclient.res: ../nt/emacsclient.rc $(NTINC)/../icons/emacs.ico
 
 ifeq ($(SECCOMP_FILTER),1)
 seccomp-filter$(EXEEXT): $(srcdir)/seccomp-filter.c $(config_h)
-       $(AM_V_CCLD)$(CC) $(ALL_CFLAGS) $< $(LIBSECCOMP) -o $@
+       $(AM_V_CCLD)$(CC) $(ALL_CFLAGS) $(LIBSECCOMP_CFLAGS) $< \
+         $(LIBSECCOMP_LIBS) -o $@
 
 seccomp-filter.bpf seccomp-filter.pfc: seccomp-filter$(EXEEXT)
        $(AM_V_GEN)./seccomp-filter$(EXEEXT) \