If libc does not provide strlcpy check for libbsd with pkg-config to
avoid relying on inline version.

Signed-off-by: Luca Boccassi <bl...@debian.org>
---
This allows distro maintainers to be able to choose to reduce
duplication and let this code be maintained in one place, in the
external library.

 configure | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index 744d6282..1dd9ce84 100755
--- a/configure
+++ b/configure
@@ -330,8 +330,16 @@ EOF
     then
        echo "no"
     else
-       echo 'CFLAGS += -DNEED_STRLCPY' >>$CONFIG
-       echo "yes"
+       if ${PKG_CONFIG} libbsd --exists
+       then
+               echo 'CFLAGS += -include' `${PKG_CONFIG} libbsd 
--variable=includedir`'/bsd/string.h' \
+                       `${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
 }
-- 
2.19.1

Reply via email to