summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Stephani <phst@google.com>2021-04-11 16:50:29 +0200
committerPhilipp Stephani <phst@google.com>2021-04-11 16:50:29 +0200
commit725fc96b706c57ef8ceca5e7d82b175d9a72e845 (patch)
treec225822c92335d5982cc1e1d672bc2eb01f70777
parentd06c54db1b3504caed8673216a72b117d0692351 (diff)
downloademacs-725fc96b706c57ef8ceca5e7d82b175d9a72e845.tar.gz
Use pkg-config to check for libseccomp.
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.
-rw-r--r--configure.ac8
-rw-r--r--lib-src/Makefile.in9
2 files changed, 10 insertions, 7 deletions
diff --git a/configure.ac b/configure.ac
index cb4a9ab2876..681c25b052c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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"
diff --git a/lib-src/Makefile.in b/lib-src/Makefile.in
index 5870286cd5c..b4143b33554 100644
--- a/lib-src/Makefile.in
+++ b/lib-src/Makefile.in
@@ -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) \