From 725fc96b706c57ef8ceca5e7d82b175d9a72e845 Mon Sep 17 00:00:00 2001 From: Philipp Stephani Date: Sun, 11 Apr 2021 16:50:29 +0200 Subject: [PATCH] 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. --- configure.ac | 8 ++++---- lib-src/Makefile.in | 9 ++++++--- 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 ]])]) -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) \