From 515f2455b4b69f5fcd2c61a532663280785db737 Mon Sep 17 00:00:00 2001
From: Peter Kjellerstedt <pkj@axis.com>
Date: Tue, 28 Apr 2020 02:05:33 +0200
Subject: [PATCH] Add options to configure the use of libbsd

Upstream-Status: Inappropriate [oe deterministic build specific]
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>

Rebase to 4.14.4
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
 buildtools/wafsamba/wscript |  7 +++++++
 lib/replace/wscript         | 29 +++++++++++++++--------------
 lib/texpect/wscript         |  8 +++++++-
 3 files changed, 29 insertions(+), 15 deletions(-)

diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript
index 8729b08..1c55428 100644
--- a/buildtools/wafsamba/wscript
+++ b/buildtools/wafsamba/wscript
@@ -145,6 +145,13 @@ Currently the only tested value is 'smbtorture,smbd/smbd' for Samba'''),
                    help=("Disable use of gettext"),
                    action="store_true", dest='disable_gettext', default=False)
 
+    opt.add_option('--with-libbsd',
+                   help=("Enable use of libbsd"),
+                   action="store_true", dest='enable_libbsd')
+    opt.add_option('--without-libbsd',
+                   help=("Disable use of libbsd"),
+                   action="store_false", dest='enable_libbsd', default=False)
+
     gr = opt.option_group('developer options')
 
     gr.add_option('-C',
diff --git a/lib/replace/wscript b/lib/replace/wscript
index 9ef9bd9..d47de4f 100644
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
@@ -439,20 +439,21 @@ def configure(conf):
 
     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')
+    if Options.options.enable_libbsd:
+        # 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;
diff --git a/lib/texpect/wscript b/lib/texpect/wscript
index 44f92a8..79e8d09 100644
--- a/lib/texpect/wscript
+++ b/lib/texpect/wscript
@@ -1,7 +1,13 @@
 #!/usr/bin/env python
 
+from waflib import Options
+
 def configure(conf):
-    conf.CHECK_FUNCS_IN('openpty', 'util', checklibc=True, headers='pty.h util.h bsd/libutil.h libutil.h')
+    hdrs = 'pty.h util.h'
+    if Options.options.enable_libbsd:
+        hdrs += ' bsd/libutil.h'
+    hdrs += ' libutil.h'
+    conf.CHECK_FUNCS_IN('openpty', 'util', checklibc=True, headers=hdrs)
 
 def build(bld):
     bld.SAMBA_BINARY('texpect',
-- 
2.25.1

