From fc0304ba92ec7ae9a2f75fbc31d97fee39d19665 Mon Sep 17 00:00:00 2001
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
Date: Wed, 7 Sep 2016 23:03:43 -0300
Subject: [PATCH] libreplace: disable libbsd support

Disable libbsd support, samba4 uses a global config.h for its own
codebase and that of heimdal (when building with builtin).
This causes redefinition conflicts for link(2) when both standard
unistd.h and bsd/unistd.h get included.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
(rebased for versions 4.7.3 & 4.8.0)
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 lib/replace/wscript | 12 ------------
 1 file changed, 12 deletions(-)

diff --git a/lib/replace/wscript b/lib/replace/wscript
index 1dfd902..456be9b 100644
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
@@ -296,21 +296,6 @@
 
     strlcpy_in_bsd = False
 
-    # libbsd on some platforms provides strlcpy and strlcat
-    if not conf.CHECK_FUNCS('strlcpy strlcat'):
-        if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
-                               checklibc=True):
-            strlcpy_in_bsd = True
-    if not conf.CHECK_FUNCS('getpeereid'):
-        conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
-    if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
-        conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
-    if not conf.CHECK_FUNCS('setproctitle_init'):
-        conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
-
-    if not conf.CHECK_FUNCS('closefrom'):
-        conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-
     conf.CHECK_CODE('''
                 struct ucred cred;
                 socklen_t cred_len;
-- 
2.7.3

