summaryrefslogtreecommitdiffstats
path: root/libs/tdb/patches/100-Remove_libbsd_dependency_check.patch
blob: c970dc8e5ebb3c1ce6ff79f3e77fa44b86b7bad2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
@@ -441,33 +441,13 @@ def configure(conf):
 
     conf.CHECK_FUNCS('prctl dirname basename')
 
-    strlcpy_in_bsd = False
+    # Not checking for libbsd
+    conf.CHECK_FUNCS('strlcpy strlcat')
+    conf.CHECK_FUNCS('getpeereid')
+    conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h')
+    conf.CHECK_FUNCS('setproctitle_init')
 
-    # 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
-    elif conf.env.enable_fuzzing:
-        # Just to complicate it more, some versions of Honggfuzz have
-        # got strlcpy and strlcat in libc, but not in <string.h>
-        # (unless it is there coincidentally, on a BSD). Therefore we
-        # can't use CHECK_FUNCS alone to decide whether to add the
-        # headers to replace.h.
-        #
-        # As this is only known to happen on a fuzzing compiler, we'll
-        # skip the check when not in fuzzing mode.
-        conf.CHECK_HEADERS('bsd/string.h')
-
-    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_FUNCS('closefrom')
 
     conf.CHECK_CODE('''
                 struct ucred cred;
@@ -850,9 +830,6 @@ syscall(SYS_copy_file_range,0,NULL,0,NUL
 
     # look for a method of finding the list of network interfaces
     for method in ['HAVE_IFACE_GETIFADDRS', 'HAVE_IFACE_AIX', 'HAVE_IFACE_IFCONF', 'HAVE_IFACE_IFREQ']:
-        bsd_for_strlcpy = ''
-        if strlcpy_in_bsd:
-            bsd_for_strlcpy = ' bsd'
         if conf.CHECK_CODE('''
                            #define %s 1
                            #define NO_CONFIG_H 1
@@ -865,7 +842,7 @@ syscall(SYS_copy_file_range,0,NULL,0,NUL
                            #include "tests/getifaddrs.c"
                            ''' % method,
                            method,
-                           lib='nsl socket' + bsd_for_strlcpy,
+                           lib='nsl socket',
                            addmain=False,
                            execute=True):
             break
@@ -913,7 +890,6 @@ def build(bld):
                 break
 
     extra_libs = ''
-    if bld.CONFIG_SET('HAVE_LIBBSD'): extra_libs += ' bsd'
     if bld.CONFIG_SET('HAVE_LIBRT'): extra_libs += ' rt'
     if bld.CONFIG_SET('REPLACE_REQUIRES_LIBSOCKET_LIBNSL'): extra_libs += ' socket nsl'