diff --git a/configure b/configure index 744d6282..c5655978 100755 --- a/configure +++ b/configure @@ -330,8 +330,15 @@ EOF then echo "no" else - echo 'CFLAGS += -DNEED_STRLCPY' >>$CONFIG - echo "yes" + if ${PKG_CONFIG} libbsd --exists + then + echo 'CFLAGS += -DHAVE_LIBBSD' `${PKG_CONFIG} libbsd --cflags` >>$CONFIG + echo 'LDLIBS +=' `${PKG_CONFIG} libbsd --libs` >> $CONFIG + echo "no" + else + echo 'CFLAGS += -DNEED_STRLCPY' >>$CONFIG + echo "yes" + fi fi rm -f $TMPDIR/strtest.c $TMPDIR/strtest } diff --git a/genl/ctrl.c b/genl/ctrl.c index 6133336a..fef6aaa9 100644 --- a/genl/ctrl.c +++ b/genl/ctrl.c @@ -18,6 +18,9 @@ #include #include #include +#ifdef HAVE_LIBBSD +#include +#endif #include "utils.h" #include "genl_utils.h" diff --git a/ip/iplink.c b/ip/iplink.c index b5519201..067f5409 100644 --- a/ip/iplink.c +++ b/ip/iplink.c @@ -24,6 +24,9 @@ #include #include #include +#ifdef HAVE_LIBBSD +#include +#endif #include #include #include diff --git a/ip/ipnetns.c b/ip/ipnetns.c index 0eac18cf..da019d76 100644 --- a/ip/ipnetns.c +++ b/ip/ipnetns.c @@ -8,6 +8,9 @@ #include #include #include +#ifdef HAVE_LIBBSD +#include +#endif #include #include #include diff --git a/ip/iproute_lwtunnel.c b/ip/iproute_lwtunnel.c index 8f497015..2285bc1d 100644 --- a/ip/iproute_lwtunnel.c +++ b/ip/iproute_lwtunnel.c @@ -16,6 +16,9 @@ #include #include #include +#ifdef HAVE_LIBBSD +#include +#endif #include #include #include diff --git a/ip/ipvrf.c b/ip/ipvrf.c index 8a6b7f97..8572b4f2 100644 --- a/ip/ipvrf.c +++ b/ip/ipvrf.c @@ -21,6 +21,9 @@ #include #include #include +#ifdef HAVE_LIBBSD +#include +#endif #include #include #include diff --git a/ip/ipxfrm.c b/ip/ipxfrm.c index 17ab4abe..b02f30a6 100644 --- a/ip/ipxfrm.c +++ b/ip/ipxfrm.c @@ -28,6 +28,9 @@ #include #include #include +#ifdef HAVE_LIBBSD +#include +#endif #include #include #include diff --git a/ip/tunnel.c b/ip/tunnel.c index d0d55f37..73abb2e2 100644 --- a/ip/tunnel.c +++ b/ip/tunnel.c @@ -24,6 +24,9 @@ #include #include +#ifdef HAVE_LIBBSD +#include +#endif #include #include #include diff --git a/ip/xfrm_state.c b/ip/xfrm_state.c index e8c01746..18e0c6fa 100644 --- a/ip/xfrm_state.c +++ b/ip/xfrm_state.c @@ -27,6 +27,9 @@ #include #include #include +#ifdef HAVE_LIBBSD +#include +#endif #include #include "utils.h" #include "xfrm.h" diff --git a/lib/bpf.c b/lib/bpf.c index 45f279fa..35d7c45a 100644 --- a/lib/bpf.c +++ b/lib/bpf.c @@ -15,6 +15,9 @@ #include #include #include +#ifdef HAVE_LIBBSD +#include +#endif #include #include #include diff --git a/lib/fs.c b/lib/fs.c index 86efd4ed..af36bea0 100644 --- a/lib/fs.c +++ b/lib/fs.c @@ -20,6 +20,9 @@ #include #include #include +#ifdef HAVE_LIBBSD +#include +#endif #include #include diff --git a/lib/inet_proto.c b/lib/inet_proto.c index 0836a4c9..b379d8f8 100644 --- a/lib/inet_proto.c +++ b/lib/inet_proto.c @@ -18,6 +18,9 @@ #include #include #include +#ifdef HAVE_LIBBSD +#include +#endif #include "rt_names.h" #include "utils.h" diff --git a/misc/ss.c b/misc/ss.c index 4d12fb5d..c472fbd9 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -19,6 +19,9 @@ #include #include #include +#ifdef HAVE_LIBBSD +#include +#endif #include #include #include diff --git a/tc/em_ipset.c b/tc/em_ipset.c index 48b287f5..550b2101 100644 --- a/tc/em_ipset.c +++ b/tc/em_ipset.c @@ -20,6 +20,9 @@ #include #include #include +#ifdef HAVE_LIBBSD +#include +#endif #include #include diff --git a/tc/m_pedit.c b/tc/m_pedit.c index 2aeb56d9..baacc80d 100644 --- a/tc/m_pedit.c +++ b/tc/m_pedit.c @@ -23,6 +23,9 @@ #include #include #include +#ifdef HAVE_LIBBSD +#include +#endif #include #include "utils.h" #include "tc_util.h"