Merge branch 'mainstream'
[sliver-openvswitch.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 5589fe7..95ee898 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -9,6 +9,7 @@ on a specific platform, please see one of these files:
     - INSTALL.Fedora
     - INSTALL.RHEL
     - INSTALL.XenServer
+    - INSTALL.NetBSD
 
 Build Requirements
 ------------------
@@ -18,8 +19,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
@@ -88,9 +94,8 @@ To run the unit tests, you also need:
     - Perl.  Version 5.10.1 is known to work.  Earlier versions should
       also work.
 
-If you modify the vswitchd database schema, then the E-R diagram in
-the ovs-vswitchd.conf.db(5) manpage will be updated properly only if
-you have the following:
+The ovs-vswitchd.conf.db(5) manpage will include an E-R diagram, in
+formats other than plain text, only if you have the following:
 
     - "dot" from graphviz (http://www.graphviz.org/).
 
@@ -107,6 +112,8 @@ installing the following to obtain better warnings:
 
     - GNU make.
 
+    - clang, version 3.4 or later
+
 Also, you may find the ovs-dev script found in utilities/ovs-dev.py useful.
 
 Installation Requirements
@@ -173,6 +180,10 @@ Prerequisites section, follow the procedure below to build.
 
       % ./configure CC=gcc-4.2
 
+   To use 'clang' compiler:
+
+      % ./configure CC=clang
+
    To build the Linux kernel module, so that you can run the
    kernel-based switch, pass the location of the kernel build
    directory on --with-linux.  For example, to build for a running
@@ -188,6 +199,11 @@ Prerequisites section, follow the procedure below to build.
 
       % ./configure --with-linux=/path/to/linux KARCH=mips
 
+   If you plan to do much Open vSwitch development, you might want to
+   add --enable-Werror, which adds the -Werror option to the compiler
+   command line, turning warnings into errors.  That makes it
+   impossible to miss warnings generated by the build.
+
    The configure script accepts a number of other options and honors
    additional environment variables.  For a full list, invoke
    configure with the --help option.