[rtems-tools commit] waf: Update the check_cc tests to a newer method supported by waf.

Chris Johns chrisj at rtems.org
Wed May 29 09:45:59 UTC 2019


Module:    rtems-tools
Branch:    master
Commit:    d7979dece664f3c31d7cb2f4c3b25501e1ab809a
Changeset: http://git.rtems.org/rtems-tools/commit/?id=d7979dece664f3c31d7cb2f4c3b25501e1ab809a

Author:    Chris Johns <chrisj at rtems.org>
Date:      Mon May 27 10:08:27 2019 +1000

waf: Update the check_cc tests to a newer method supported by waf.

- Fix a minor issue in covoar's use of 64bit calls.

---

 misc/wscript                        |  7 +++++--
 rtemstoolkit/wscript                | 19 +++++++++++++------
 tester/covoar/CoverageReaderQEMU.cc |  2 +-
 tester/covoar/wscript               | 12 ++++++++++--
 4 files changed, 29 insertions(+), 11 deletions(-)

diff --git a/misc/wscript b/misc/wscript
index 95c7bde..cd31091 100644
--- a/misc/wscript
+++ b/misc/wscript
@@ -33,8 +33,11 @@ def options(opt):
 def configure(conf):
     conf.load('compiler_c')
 
-    conf.check_cc(function_name = 'strnlen', header_name="string.h",
-                  features = 'c', mandatory = False)
+    conf.check_cc(fragment = '''
+                     #include <string.h>
+                     int main() { size_t l = strnlen("string", 10); } ''',
+                  cflags = '-Wall', define_name = 'HAVE_STRNLEN',
+                  msg = 'Checking for strnlen', mandatory = False)
     conf.write_config_header('config.h')
 
 def build(bld):
diff --git a/rtemstoolkit/wscript b/rtemstoolkit/wscript
index 2c126c8..d9f01b9 100644
--- a/rtemstoolkit/wscript
+++ b/rtemstoolkit/wscript
@@ -45,8 +45,12 @@ def configure(conf):
     conf.find_program('m4')
 
     conf.check(header_name = 'sys/wait.h',  features = 'c', mandatory = False)
-    conf.check_cc(function_name = 'kill', header_name="signal.h",
-                  features = 'c', mandatory = False)
+    conf.check_cc(fragment = '''
+                    #include <sys/types.h>
+                    #include <signal.h>
+                    int main() { pid_t pid = 1234; int r = kill(pid, SIGKILL); } ''',
+                  cflags = '-Wall', define_name = 'HAVE_KILL',
+                  msg = 'Checking for kill', mandatory = False)
     conf.write_config_header('config.h')
 
 def build(bld):
@@ -383,10 +387,13 @@ def conf_libiberty(conf):
     conf.check(header_name='unistd.h',    features = 'c', mandatory = False)
     conf.check(header_name='vfork.h',     features = 'c', mandatory = False)
 
-    conf.check_cc(function_name='getrusage',
-                  header_name="sys/time.h sys/resource.h",
-                  features = 'c', mandatory = False)
-
+    conf.check_cc(fragment = '''
+                    #include <sys/types.h>
+                    #include <sys/time.h>
+                    #include <sys/resource.h>
+                  int main() { struct rusage ru = {0}; int r = getrusage(RUSAGE_SELF, &ru); } ''',
+                  cflags = '-Wall', define_name = 'HAVE_GETRUSAGE',
+                  msg = 'Checking for getrusage', mandatory = False)
     conf.write_config_header('libiberty/config.h')
 
 def bld_libiberty(bld, conf):
diff --git a/tester/covoar/CoverageReaderQEMU.cc b/tester/covoar/CoverageReaderQEMU.cc
index 3d3b50f..7c344e4 100644
--- a/tester/covoar/CoverageReaderQEMU.cc
+++ b/tester/covoar/CoverageReaderQEMU.cc
@@ -21,7 +21,7 @@
 
 #include "qemu-traces.h"
 
-#if HAVE_STAT64
+#if HAVE_OPEN64
 #define OPEN fopen64
 #else
 #define OPEN fopen
diff --git a/tester/covoar/wscript b/tester/covoar/wscript
index 6f722c2..7efa0dd 100644
--- a/tester/covoar/wscript
+++ b/tester/covoar/wscript
@@ -54,8 +54,16 @@ def options(opt):
 
 def configure(conf):
     conf.load('compiler_cxx')
-    conf.check_cc(function_name='open64', header_name="stdlib.h", mandatory = False)
-    conf.check_cc(function_name='stat64', header_name="stdlib.h", mandatory = False)
+    conf.check_cc(fragment = '''
+                    #include <stdlib.h>
+                    int main() { FILE* f = fopen64("name", "r"); } ''',
+                  cflags = '-Wall', define_name = 'HAVE_OPEN64',
+                  msg = 'Checking for fopen64', mandatory = False)
+    conf.check_cc(fragment = '''
+                    #include <sys/stat.h>
+                    int main() { struct stat64 sb; int f = 3; int r = stat64(f, &sb); } ''',
+                  cflags = '-Wall', define_name = 'HAVE_STAT64',
+                  msg = 'Checking for stat64', mandatory = False)
     conf.write_config_header('covoar-config.h')
 
 def build(bld):




More information about the vc mailing list