INSTALL, CodingStyle: Recognize that Clang is an acceptable compiler.
authorBen Pfaff <blp@nicira.com>
Thu, 1 Aug 2013 22:27:52 +0000 (15:27 -0700)
committerBen Pfaff <blp@nicira.com>
Thu, 1 Aug 2013 22:32:44 +0000 (15:32 -0700)
Clang has nice static analysis and works well as an Open vSwitch compiler,
so mention it more explicitly.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
CodingStyle
INSTALL

index 22f0f45..55b37a1 100644 (file)
@@ -518,7 +518,8 @@ older compilers:
 
   As a matter of style, avoid // comments.
 
-  Avoid using GCC extensions unless you also add a fallback for
-non-GCC compilers.  You can, however, use GCC extensions and C99
-features in code that compiles only on GNU/Linux (such as
-lib/netdev-linux.c), because GCC is the system compiler there.
+  Avoid using GCC or Clang extensions unless you also add a fallback
+for other compilers.  You can, however, use C99 features or GCC
+extensions also supported by Clang in code that compiles only on
+GNU/Linux (such as lib/netdev-linux.c), because GCC is the system
+compiler there.
diff --git a/INSTALL b/INSTALL
index a0eb266..4c54b59 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -18,8 +18,13 @@ you will need the following software:
 
     - GNU make.
 
-    - The GNU C compiler.  We generally test with version 4.1, 4.2, or
-      4.3.
+    - A C compiler, such as:
+
+        * GCC 4.x.
+
+        * Clang.  Clang 3.4 and later provide useful static semantic
+          analysis and thread-safety checks.  For Ubuntu, there are
+          nightly built packages available on clang's website.
 
     - libssl, from OpenSSL, is optional but recommended if you plan to
       connect the Open vSwitch to an OpenFlow controller.  libssl is
@@ -28,11 +33,6 @@ you will need the following software:
       libssl is installed, then Open vSwitch will automatically build
       with support for it.
 
-    - clang, from LLVM, is optional. It provides useful static semantic
-      analyzer and thread-safety check. clang version must be 3.4 or
-      later. For Ubuntu, there are nightly built packages available on
-      clang's website.
-
 To compile the kernel module on Linux, you must also install the
 following.  If you cannot build or install the kernel module, you may
 use the userspace-only implementation, at a cost in performance.  The