build: add LIBREPLACE_EXT
[nivanova/samba-autobuild/.git] / lib / replace / wscript
index d40843522cfe2e6c437f42e4b11f3fee61f61f2c..83f50b03a80df2c8e1fd49107b35d72053265858 100644 (file)
@@ -34,9 +34,6 @@ def configure(conf):
 
     conf.check_tool('compiler_cc')
 
-    if Options.options.developer:
-        conf.ADD_CFLAGS('-Wall -g -DDEVELOPER')
-
     conf.env['RPATH_ON_INSTALL'] = Options.options.enable_rpath
 
     conf.DEFUN('_GNU_SOURCE', 1)
@@ -44,6 +41,16 @@ def configure(conf):
     conf.DEFUN('LIBREPLACE_NETWORK_CHECKS', 1)
 
     conf.CHECK_HEADERS('unistd.h sys/types.h stdlib.h stdio.h stddef.h')
+    conf.CHECK_HEADERS('ctype.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('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
+    conf.CHECK_HEADERS('libaio.h locale.h ndir.h net/if.h pwd.h readline.h')
+    conf.CHECK_HEADERS('readline/history.h readline/readline.h shadow.h sys/acl.h')
+    conf.CHECK_HEADERS('sys/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
+    conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.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')
+    conf.CHECK_HEADERS('sys/vfs.h sys/xattr.h termio.h termios.h')
     conf.CHECK_HEADERS('sys/wait.h sys/stat.h malloc.h grp.h')
     conf.CHECK_HEADERS('crypt.h dlfcn.h dl.h standards.h stdbool.h stdint.h')
     conf.CHECK_HEADERS('sys/select.h setjmp.h utime.h sys/syslog.h syslog.h')
@@ -53,6 +60,7 @@ def configure(conf):
     conf.CHECK_HEADERS('netinet/ip.h netinet/tcp.h netinet/in_ip.h sys/sockio.h sys/un.h')
     conf.CHECK_HEADERS('sys/uio.h ifaddrs.h direct.h dirent.h')
     conf.CHECK_HEADERS('windows.h winsock2.h ws2tcpip.h')
+    conf.CHECK_HEADERS('resolv.h')
 
     if 'HAVE_STDDEF_H' in conf.env and 'HAVE_STDLIB_H' in conf.env:
         conf.DEFUN('STDC_HEADERS', 1)
@@ -95,10 +103,11 @@ def configure(conf):
     conf.CHECK_FUNCS('strtouq strtoll __strtoll strtoq memmem printf memset memcpy')
     conf.CHECK_FUNCS('connect gethostbyname if_nametoindex socketpair')
     conf.CHECK_FUNCS('inet_ntoa inet_ntop dirfd getdirentries getdents syslog')
-    conf.CHECK_FUNCS('timegm getifaddrs freeifaddrs')
+    conf.CHECK_FUNCS('timegm getifaddrs freeifaddrs inet_aton inet_atop crypt')
 
     conf.CHECK_FUNCS_IN('dlopen dlsym dlerror dlclose', 'dl')
     conf.CHECK_FUNCS_IN('poptGetContext', 'popt')
+    conf.CHECK_FUNCS_IN('res_search', 'resolv')
 
     conf.check_cc(fragment='''
     #include <stdarg.h>
@@ -156,6 +165,9 @@ main() { foo("hello"); }
                 quote=0,
                msg="Checking for C99 vsnprintf")
 
+    if Options.options.developer:
+        conf.ADD_CFLAGS('-Wall -g -Wfatal-errors -DDEVELOPER -W -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Werror-implicit-function-declaration -Wformat=2 -Wno-format-y2k')
+
     conf.SAMBA_CONFIG_H()
     conf.SAMBA_BUILD_ENV()
 
@@ -173,3 +185,17 @@ def build(bld):
     bld.SAMBA_BINARY('replace_testsuite',
                      TEST_SOURCES,
                      'replace')
+
+    NET_SOURCES = []
+    if not 'HAVE_INET_NTOA'  in bld.env: NET_SOURCES.append('inet_ntoa.c')
+    if not 'HAVE_INET_ATON'  in bld.env: NET_SOURCES.append('inet_aton.c')
+    if not 'HAVE_INET_ATOP'  in bld.env: NET_SOURCES.append('inet_atop.c')
+    if not 'HAVE_SOCKETPAIR' in bld.env: NET_SOURCES.append('socketpair.c')
+
+    bld.SAMBA_SUBSYSTEM('LIBREPLACE_NETWORK', NET_SOURCES)
+
+
+    CRYPT_SOURCES = []
+    if not 'HAVE_CRYPT' in bld.env: CRYPT_SOURCES.append('crypt.c')
+
+    bld.SAMBA_SUBSYSTEM('LIBREPLACE_EXT', CRYPT_SOURCES)