changeset 31568:3db113eef95f

setup: test some header files The next patch will use "statfs", which requires different header files on different platforms. Linux: sys/vfs.h or sys/statfs.h FreeBSD or OSX: sys/param.h and sys/mount.h Therefore test them so we can include the correct ones.
author Jun Wu <quark@fb.com>
date Mon, 20 Mar 2017 15:43:27 -0700
parents 312e62640798
children cc3ec3027695
files setup.py
diffstat 1 files changed, 10 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/setup.py	Mon Mar 20 15:11:18 2017 -0700
+++ b/setup.py	Mon Mar 20 15:43:27 2017 -0700
@@ -595,6 +595,16 @@
     if re.search(plat, sys.platform) and hasfunction(new_compiler(), func):
         osutil_cflags.append('-DHAVE_%s' % func.upper())
 
+for plat, header in [
+    ('bsd|darwin|linux', 'sys/mount.h'),
+    ('bsd|darwin|linux', 'sys/param.h'),
+    ('linux', 'linux/magic.h'),
+    ('linux', 'sys/vfs.h'),
+]:
+    if re.search(plat, sys.platform) and hasheader(new_compiler(), header):
+        macro = header.replace('/', '_').replace('.', '_').upper()
+        osutil_cflags.append('-DHAVE_%s' % macro)
+
 if sys.platform == 'darwin':
     osutil_ldflags += ['-framework', 'ApplicationServices']