Here's an incremental.  I folded in some tweaks which make it slightly easier to
build without clang or sparse.

Still good?
Ethan

---
 .gitignore           |  6 ++----
 utilities/ovs-dev.py | 19 +++++++++++++++----
 2 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/.gitignore b/.gitignore
index 1c75f69..d80fc63 100644
--- a/.gitignore
+++ b/.gitignore
@@ -45,10 +45,8 @@
 /missing-distfiles
 /package.m4
 /stamp-h1
-/build_gcc
-/build_clang
-/_build
-/build
+/_build-gcc
+/_build-clang
 Module.symvers
 TAGS
 cscope.*
diff --git a/utilities/ovs-dev.py b/utilities/ovs-dev.py
index 9975d8d..c5445e2 100755
--- a/utilities/ovs-dev.py
+++ b/utilities/ovs-dev.py
@@ -24,8 +24,8 @@ ENV = os.environ
 HOME = ENV["HOME"]
 OVS_SRC = HOME + "/ovs"
 ROOT = HOME + "/root"
-BUILD_GCC = OVS_SRC + "/build_gcc"
-BUILD_CLANG = OVS_SRC + "/build_clang"
+BUILD_GCC = OVS_SRC + "/_build-gcc"
+BUILD_CLANG = OVS_SRC + "/_build-clang"
 PATH = "%(ovs)s/utilities:%(ovs)s/ovsdb:%(ovs)s/vswitchd" % {"ovs": BUILD_GCC}
 
 ENV["CFLAGS"] = "-g -O0"
@@ -85,11 +85,17 @@ def conf():
     _sh(*configure)
 
     try:
-        _sh("clang --version", capture=True)
+        _sh("clang --version", check=True)
         clang = True
     except subprocess.CalledProcessError:
         clang = False
 
+    try:
+        _sh("sparse --version", check=True)
+        sparse = True
+    except subprocess.CalledProcessError:
+        sparse = False
+
     if clang:
         try:
             os.mkdir(BUILD_CLANG)
@@ -100,6 +106,11 @@ def conf():
         os.chdir(BUILD_CLANG)
         _sh(*configure)
 
+    if sparse:
+        c1 = "C=1"
+    else:
+        c1 = ""
+
     os.chdir(OVS_SRC)
 
     make_str = "\t$(MAKE) -C %s $@\n"
@@ -108,7 +119,7 @@ def conf():
     mf.write("all:\n%:\n")
     if clang:
         mf.write(make_str % BUILD_CLANG)
-    mf.write("\t$(MAKE) -C %s C=1 $@\n" % BUILD_GCC)
+    mf.write("\t$(MAKE) -C %s %s $@\n" % (BUILD_GCC, c1))
     mf.write("\ncheck:\n")
     mf.write(make_str % BUILD_GCC)
     mf.close()
-- 
1.8.1.2

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to