blob: 7301ac636bde33028ed117812596b672d6ae4b81 [file] [log] [blame]
From ff3dcc4ad71c1105bd8ea11afe7e07efd48c038d Mon Sep 17 00:00:00 2001
From: Vincent Bernat <vincent@bernat.ch>
Date: Tue, 25 Sep 2018 10:57:49 +0200
Subject: [PATCH] build: ability to disable libbsd with --without-libbsd
This is useful when user wants to ensure reproducibility of the build
whatever libbsd is present or not.
Signed-off-by: Trent Piepho <tpiepho@impinj.com>
---
configure.ac | 59 +++++++++++++++++++++++++++++++++++++++--------------------
src/marshal.h | 1 +
2 files changed, 40 insertions(+), 20 deletions(-)
diff --git a/configure.ac b/configure.ac
index 9b40473..589cd96 100644
--- a/configure.ac
+++ b/configure.ac
@@ -173,26 +173,44 @@ AC_FUNC_REALLOC
AC_FUNC_FORK
# Some functions can be in libbsd
-PKG_CHECK_MODULES([libbsd], [libbsd-overlay], [
- _save_CFLAGS="$CFLAGS"
- _save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $libbsd_CFLAGS"
- LIBS="$LIBS $libbsd_LIBS"
- AC_MSG_CHECKING([if libbsd can be linked correctly])
- AC_TRY_LINK([
-@%:@include <sys/time.h>
-@%:@include <sys/types.h>
-],[],
- [
- AC_MSG_RESULT(yes)
- LLDP_CFLAGS="$LLDP_CFLAGS $libbsd_CFLAGS"
- LLDP_LDFLAGS="$LLDP_LDFLAGS $libbsd_LIBS"
- ],[
- AC_MSG_RESULT(no)
- CFLAGS="$_save_CFLAGS"
- LIBS="$_save_LIBS"
- ])
-], [:])
+AC_ARG_WITH([libbsd],
+ AS_HELP_STRING(
+ [--with-libbsd],
+ [Use libbsd @<:@default=auto@:>@]),
+ [],
+ [with_libbsd=auto])
+if test x"$with_libbsd" != x"no"; then
+ PKG_CHECK_MODULES([libbsd], [libbsd-overlay], [
+ _save_CFLAGS="$CFLAGS"
+ _save_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $libbsd_CFLAGS"
+ LIBS="$LIBS $libbsd_LIBS"
+ AC_MSG_CHECKING([if libbsd can be linked correctly])
+ AC_TRY_LINK([
+ @%:@include <sys/time.h>
+ @%:@include <sys/types.h>
+ ],[],
+ [
+ AC_MSG_RESULT(yes)
+ LLDP_CFLAGS="$LLDP_CFLAGS $libbsd_CFLAGS"
+ LLDP_LDFLAGS="$LLDP_LDFLAGS $libbsd_LIBS"
+ with_libbsd=yes
+ ],[
+ AC_MSG_RESULT(no)
+ CFLAGS="$_save_CFLAGS"
+ LIBS="$_save_LIBS"
+ if test x"$with_libbsd" = x"yes"; then
+ AC_MSG_FAILURE([*** no libbsd support found])
+ fi
+ with_libbsd=no
+ ])
+ ], [
+ if test x"$with_libbsd" = x"yes"; then
+ AC_MSG_FAILURE([*** no libbsd support found])
+ fi
+ with_libbsd=no
+ ])
+fi
# setproctitle may have an _init function
AC_REPLACE_FUNCS([setproctitle])
@@ -412,6 +430,7 @@ cat <<EOF
XML output.....: ${with_xml-no}
Oldies support.: $enable_oldies
seccomp........: ${with_seccomp-no}
+ libbsd.........: ${with_libbsd-no}
Privilege separation:
Enabled........: $enable_privsep
diff --git a/src/marshal.h b/src/marshal.h
index b0e8032..0a782d5 100644
--- a/src/marshal.h
+++ b/src/marshal.h
@@ -19,6 +19,7 @@
#define _MARSHAL_H
#include <stddef.h>
+#include <stdint.h>
#include <sys/types.h>
struct marshal_info;
--
2.14.4