From e949da7cb100c571631cd9bc7532e528c1f74820 Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
Date: Mon, 1 Jul 2019 16:14:16 +0800
Subject: [PATCH] ldb: Add configure options for packages

Add configure options for the following packages:
 - acl
 - attr
 - libbsd
 - libcap
 - valgrind

Upstream-Status: Inappropriate [oe deterministic build specific]

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>

upgrade to version 1.5.4
Signed-off-by: Changqing Li <changqing.li@windriver.com>

Rebase to 2.3.0

Rebase to 2.8.0
Remove libaio option
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
 lib/replace/wscript | 80 +++++++++++++++++++++++++++++++++------------
 wscript             |  8 +++++
 2 files changed, 68 insertions(+), 20 deletions(-)

diff --git a/lib/replace/wscript b/lib/replace/wscript
index 37d7759..d0d6bb0 100644
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
@@ -25,6 +25,34 @@ def options(opt):
     opt.PRIVATE_EXTENSION_DEFAULT('')
     opt.RECURSE('buildtools/wafsamba')
 
+    opt.add_option('--with-acl',
+                   help=("Enable use of acl"),
+                   action="store_true", dest='enable_acl')
+    opt.add_option('--without-acl',
+                   help=("Disable use of acl"),
+                   action="store_false", dest='enable_acl', default=False)
+
+    opt.add_option('--with-attr',
+                   help=("Enable use of attr"),
+                   action="store_true", dest='enable_attr')
+    opt.add_option('--without-attr',
+                   help=("Disable use of attr"),
+                   action="store_false", dest='enable_attr', 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)
+
+    opt.add_option('--with-libcap',
+                   help=("Enable use of libcap"),
+                   action="store_true", dest='enable_libcap')
+    opt.add_option('--without-libcap',
+                   help=("Disable use of libcap"),
+                   action="store_false", dest='enable_libcap', default=False)
+
 @Utils.run_once
 def configure(conf):
     conf.RECURSE('buildtools/wafsamba')
@@ -38,12 +66,22 @@ def configure(conf):
     conf.DEFINE('HAVE_LIBREPLACE', 1)
     conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
 
-    conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h')
-    conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
+    conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
+    conf.CHECK_HEADERS('compat.h ctype.h dustat.h')
     conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
     conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
-    conf.CHECK_HEADERS('shadow.h sys/acl.h')
-    conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
+    conf.CHECK_HEADERS('shadow.h')
+    conf.CHECK_HEADERS('sys/attributes.h sys/dir.h sys/epoll.h')
+
+    if Options.options.enable_acl:
+        conf.CHECK_HEADERS('acl/libacl.h sys/acl.h')
+
+    if Options.options.enable_attr:
+        conf.CHECK_HEADERS('attr/attributes.h attr/xattr.h')
+
+    if Options.options.enable_libcap:
+        conf.CHECK_HEADERS('sys/capability.h')
+
     conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h')
     conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
     conf.CHECK_HEADERS('sys/resource.h sys/security.h sys/shm.h sys/statfs.h sys/statvfs.h sys/termio.h')
@@ -113,8 +151,9 @@ def configure(conf):
     conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
     conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
 
-    conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
-    conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h valgrind/callgrind.h')
+    if Options.options.enable_valgrind:
+        conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
+        conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h valgrind/callgrind.h')
     conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
     conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
     conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
@@ -443,20 +482,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/wscript b/wscript
index ed5d45f..6bb0b37 100644
--- a/wscript
+++ b/wscript
@@ -40,6 +40,14 @@ def options(opt):
                    help='disable new LMDB backend for LDB',
                    action='store_true', dest='without_ldb_lmdb', default=False)
 
+    opt.add_option('--with-valgrind',
+                   help=("enable use of valgrind"),
+                   action="store_true", dest='enable_valgrind')
+    opt.add_option('--without-valgrind',
+                   help=("disable use of valgrind"),
+                   action="store_false", dest='enable_valgrind', default=False)
+
+
 
 def configure(conf):
     conf.RECURSE('lib/tdb')
-- 
2.25.1

