Repository: mesos
Updated Branches:
  refs/heads/master c7227471f -> d09478d73


Updated docs/configuration.md.

- Copied the output of --help messages from configure, master, and
  slave.
- The option tables are now in html format.
- Removed the explanation of the default configure flags.

Review: https://reviews.apache.org/r/27556


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/d09478d7
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/d09478d7
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/d09478d7

Branch: refs/heads/master
Commit: d09478d73cb3ddd76c7b886bef691c8034fa6908
Parents: c722747
Author: Kapil Arya <[email protected]>
Authored: Thu Nov 6 12:26:52 2014 -0800
Committer: Ian Downes <[email protected]>
Committed: Thu Nov 6 12:27:54 2014 -0800

----------------------------------------------------------------------
 docs/configuration.md | 1730 +++++++++++++++++++++++++++++++++++---------
 1 file changed, 1374 insertions(+), 356 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/d09478d7/docs/configuration.md
----------------------------------------------------------------------
diff --git a/docs/configuration.md b/docs/configuration.md
index 5845ae3..069edeb 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -2,6 +2,7 @@
 layout: documentation
 ---
 
+
 # Mesos Configuration
 
 The Mesos master and slave can take a variety of configuration options through 
command-line arguments, or environment variables. A list of the available 
options can be seen by running `mesos-master --help` or `mesos-slave --help`. 
Each option can be set in two ways:
@@ -19,384 +20,1401 @@ If you have special compilation requirements, please 
refer to `./configure --hel
 
 *These options can be supplied to both masters and slaves.*
 
-```
-  --ip=VALUE                                 IP address to listen on
-
-  --[no-]help                                Prints this help message 
(default: false)
-
-  --log_dir=VALUE                            Location to put log files (no 
default, nothing
-                                             is written to disk unless 
specified;
-                                             does not affect logging to stderr)
-
-  --logbufsecs=VALUE                         How many seconds to buffer log 
messages for (default: 0)
-
-  --logging_level=VALUE                      Log message at or above this 
level; possible values:
-                                             'INFO', 'WARNING', 'ERROR'; if 
quiet flag is used, this
-                                             will affect just the logs from 
log_dir (if specified) (default: INFO)
-
-  --port=VALUE                               Port to listen on (master 
default: 5050 and slave default: 5051)
-
-  --[no-]quiet                               Disable logging to stderr 
(default: false)
-
-  --[no-]version                             Show version and exit. (default: 
false)
-```
+<table class="table table-striped">
+  <thead>
+    <tr>
+      <th width="30%">
+        Flag
+      </th>
+      <th>
+        Explanation
+      </th>
+  </thead>
+
+  <tr>
+    <td>
+      --ip=VALUE
+    </td>
+    <td>
+      IP address to listen on
+
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --[no-]help
+    </td>
+    <td>
+      Prints this help message (default: false)
+
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --[no-]initialize_driver_logging
+    </td>
+    <td>
+      Whether to automatically initialize google logging of scheduler
+      and/or executor drivers. (default: true)
+
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --log_dir=VALUE
+    </td>
+    <td>
+      Location to put log files (no default, nothing
+      is written to disk unless specified;
+      does not affect logging to stderr)
+
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --logbufsecs=VALUE
+    </td>
+    <td>
+      How many seconds to buffer log messages for (default: 0)
+
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --logging_level=VALUE
+    </td>
+    <td>
+      Log message at or above this level; possible values:
+      'INFO', 'WARNING', 'ERROR'; if quiet flag is used, this
+      will affect just the logs from log_dir (if specified) (default: INFO)
+
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --port=VALUE
+    </td>
+    <td>
+      Port to listen on (master default: 5050 and slave default: 5051)
+
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --[no-]quiet
+    </td>
+    <td>
+      Disable logging to stderr (default: false)
+
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --[no-]version
+    </td>
+    <td>
+      Show version and exit. (default: false)
+</table>
 
 ## Master Options
 
 *Required Flags*
 
-```
-  --quorum=VALUE                           The size of the quorum of replicas 
when using 'replicated_log' based
-                                           registry. It is imperative to set 
this value to be a majority of
-                                           masters i.e., quorum > (number of 
masters)/2.
-
-  --work_dir=VALUE                         Where to store the persistent 
information stored in the Registry.
-
-  --zk=VALUE                               ZooKeeper URL (used for leader 
election amongst masters)
-                                           May be one of:
-                                             
zk://host1:port1,host2:port2,.../path
-                                             
zk://username:password@host1:port1,host2:port2,.../path
-                                             file://path/to/file (where file 
contains one of the above)
-```
+<table class="table table-striped">
+  <thead>
+    <tr>
+      <th width="30%">
+        Flag
+      </th>
+      <th>
+        Explanation
+      </th>
+  </thead>
+  <tr>
+    <td>
+      --quorum=VALUE
+    </td>
+    <td>
+      The size of the quorum of replicas when using 'replicated_log' based
+      registry. It is imperative to set this value to be a majority of
+      masters i.e., quorum > (number of masters)/2.
+
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --work_dir=VALUE
+    </td>
+    <td>
+      Where to store the persistent information stored in the Registry.
+
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --zk=VALUE
+    </td>
+    <td>
+      ZooKeeper URL (used for leader election amongst masters)
+      May be one of:
+<pre><code>zk://host1:port1,host2:port2,.../path
+zk://username:password@host1:port1,host2:port2,.../path
+file://path/to/file (where file contains one of the above)</code></pre>
+    </td>
+  </tr>
+</table>
 
 *Optional Flags*
 
-```
-  --allocation_interval=VALUE              Amount of time to wait between 
performing
-                                            (batch) allocations (e.g., 500ms, 
1sec, etc). (default: 1secs)
-  --[no-]authenticate                      If authenticate is 'true' only 
authenticated frameworks are allowed
-                                           to register. If 'false' 
unauthenticated frameworks are also
-                                           allowed to register. (default: 
false)
-  --[no-]authenticate_slaves               If 'true' only authenticated slaves 
are allowed to register.
-                                           If 'false' unauthenticated slaves 
are also allowed to register. (default: false)
-  --cluster=VALUE                          Human readable name for the cluster,
-                                           displayed in the webui.
-  --credentials=VALUE                      Path to a file with a list of 
credentials.
-                                           Each line contains 'principal' and 
'secret' separated by whitespace.
-                                           Path could be of the form 
'file:///path/to/file' or '/path/to/file'.
-  --framework_sorter=VALUE                 Policy to use for allocating 
resources
-                                           between a given user's frameworks. 
Options
-                                           are the same as for user_allocator. 
(default: drf)
-  --hostname=VALUE                         The hostname the master should 
advertise in ZooKeeper.
-                                           If left unset, the hostname is 
resolved from the IP address that the master binds to.
-  --[no-]log_auto_initialize               Whether to automatically initialize 
the replicated log used for the
-                                           registry. If this is set to false, 
the log has to be manually
-                                           initialized when used for the very 
first time. (default: true)
-
-  --recovery_slave_removal_limit=VALUE     For failovers, limit on the 
percentage of slaves that can be removed
-                                           from the registry *and* shutdown 
after the re-registration timeout
-                                           elapses. If the limit is exceeded, 
the master will fail over rather
-                                           than remove the slaves.
-                                           This can be used to provide safety 
guarantees for production
-                                           environments. Production 
environments may expect that across Master
-                                           failovers, at most a certain 
percentage of slaves will fail
-                                           permanently (e.g. due to rack-level 
failures).
-                                           Setting this limit would ensure 
that a human needs to get
-                                           involved should an unexpected 
widespread failure of slaves occur
-                                           in the cluster.
-                                           Values: [0%-100%] (default: 100%)
-
-  --registry=VALUE                         Persistence strategy for the 
registry;
-                                           available options are 
'replicated_log', 'in_memory' (for testing). (default: replicated_log)
-
-  --registry_fetch_timeout=VALUE           Duration of time to wait in order 
to fetch data from the registry
-                                           after which the operation is 
considered a failure. (default: 1mins)
-
-  --registry_store_timeout=VALUE           Duration of time to wait in order 
to store data in the registry
-                                           after which the operation is 
considered a failure. (default: 5secs)
-
-  --[no-]registry_strict                   Whether the Master will take 
actions based on the persistent
-                                           information stored in the Registry. 
Setting this to false means
-                                           that the Registrar will never 
reject the admission, readmission,
-                                           or removal of a slave. 
Consequently, 'false' can be used to
-                                           bootstrap the persistent state on a 
running cluster.
-                                           NOTE: This flag is *experimental* 
and should not be used in
-                                           production yet. (default: false)
-
-  --roles=VALUE                            A comma separated list of the 
allocation
-                                           roles that frameworks in this 
cluster may
-                                           belong to.
-
-  --[no-]root_submissions                  Can root submit frameworks? 
(default: true)
-
-  --slave_reregister_timeout=VALUE         The timeout within which all slaves 
are expected to re-register
-                                           when a new master is elected as the 
leader. Slaves that do not
-                                           re-register within the timeout will 
be removed from the registry
-                                           and will be shutdown if they 
attempt to communicate with master.
-                                           NOTE: This value has to be atleast 
10mins. (default: 10mins)
-
-  --user_sorter=VALUE                      Policy to use for allocating 
resources
-                                           between users. May be one of:
-                                             dominant_resource_fairness (drf) 
(default: drf)
-
-  --webui_dir=VALUE                        Location of the webui files/assets 
(default: /usr/local/share/mesos/webui)
-
-  --weights=VALUE                          A comma separated list of 
role/weight pairs
-                                           of the form 
'role=weight,role=weight'. Weights
-                                           are used to indicate forms of 
priority.
-
-  --whitelist=VALUE                        Path to a file with a list of slaves
-                                           (one per line) to advertise offers 
for.
-                                           Path could be of the form 
'file:///path/to/file' or '/path/to/file'. (default: *)
-
-  --zk_session_timeout=VALUE               ZooKeeper session timeout. 
(default: 10secs)
-```
+<table class="table table-striped">
+  <thead>
+    <tr>
+      <th width="30%">
+        Flag
+      </th>
+      <th>
+        Explanation
+      </th>
+  </thead>
+  <tr>
+    <td>
+      --acls=VALUE
+    </td>
+    <td>
+      The value could be a JSON formatted string of ACLs
+      or a file path containing the JSON formatted ACLs used
+      for authorization. Path could be of the form 
<code>file:///path/to/file</code>
+      or <code>/path/to/file</code>.
+      <p/>
+      See the ACLs protobuf in mesos.proto for the expected format.
+      <p/>
+      JSON file example:
+<pre><code>{
+  "register_frameworks": [
+    {
+      "principals": { "type": "ANY" },
+      "roles": { "values": ["a"] }
+    }
+  ],
+  "run_tasks": [
+    {
+      "principals": { "values": ["a", "b"] },
+      "users": { "values": ["c"] }
+    }
+  ],
+  "shutdown_frameworks": [
+    {
+      "principals": { "values": ["a", "b"] },
+      "framework_principals": { "values": ["c"] }
+    }
+  ]
+}</code></pre>
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --allocation_interval=VALUE
+    </td>
+    <td>
+      Amount of time to wait between performing
+      (batch) allocations (e.g., 500ms, 1sec, etc). (default: 1secs)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --[no-]authenticate
+    </td>
+    <td>
+      If authenticate is 'true' only authenticated frameworks are allowed
+      to register. If 'false' unauthenticated frameworks are also
+      allowed to register. (default: false)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --[no-]authenticate_slaves
+    </td>
+    <td>
+      If 'true' only authenticated slaves are allowed to register.
+      <p/>
+      If 'false' unauthenticated slaves are also allowed to register. 
(default: false)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --authenticators=VALUE
+    </td>
+    <td>
+      Authenticator implementation to use when authenticating frameworks
+      and/or slaves. Use the default <code>crammd5</code>, or
+        load an alternate authenticator module using <code>--modules</code>. 
(default: crammd5)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --cluster=VALUE
+    </td>
+    <td>
+      Human readable name for the cluster,
+      displayed in the webui.
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --credentials=VALUE
+    </td>
+    <td>
+      Either a path to a text file with a list of credentials,
+      each line containing 'principal' and 'secret' separated by whitespace,
+      or, a path to a JSON-formatted file containing credentials.
+      Path could be of the form <code>file:///path/to/file</code> or 
<code>/path/to/file</code>.
+      <p/>
+      JSON file Example:
+<pre><code>{
+  "credentials": [
+    {
+      "principal": "sherman",
+      "secret": "kitesurf"
+    }
+  ]
+}</code></pre>
+
+      <p/>
+      Text file Example:
+<pre><code>    username secret </code></pre>
+
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --framework_sorter=VALUE
+    </td>
+    <td>
+      Policy to use for allocating resources
+      between a given user's frameworks. Options
+      are the same as for user_allocator. (default: drf)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --hostname=VALUE
+    </td>
+    <td>
+      The hostname the master should advertise in ZooKeeper.
+      If left unset, the hostname is resolved from the IP address
+      that the master binds to.
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --[no-]log_auto_initialize
+    </td>
+    <td>
+      Whether to automatically initialize the replicated log used for the
+      registry. If this is set to false, the log has to be manually
+      initialized when used for the very first time. (default: true)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --modules=VALUE
+    </td>
+    <td>
+      List of modules to be loaded and be available to the internal
+      subsystems.
+      <p/>
+      Use <code>--modules=filepath</code> to specify the list of modules via a
+      file containing a JSON formatted string. 'filepath' can be
+      of the form <code>file:///path/to/file</code> or 
<code>/path/to/file</code>.
+      <p/>
+      Use <code>--modules="{...}"</code> to specify the list of modules inline.
+      <p/>
+      JSON file example:
+<pre><code>{
+  "libraries": [
+    {
+      "file": "/path/to/libfoo.so",
+      "modules": [
+        {
+          "name": "org_apache_mesos_bar",
+          "parameters": [
+            {
+              "key": "X",
+              "value": "Y"
+            }
+          ]
+        },
+        {
+          "name": "org_apache_mesos_baz"
+        }
+      ]
+    },
+    {
+      "name": "qux",
+      "modules": [
+        {
+          "name": "org_apache_mesos_norf"
+        }
+      ]
+    }
+  ]
+}</code></pre>
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --offer_timeout=VALUE
+    </td>
+    <td>
+      Duration of time before an offer is rescinded from a framework.
+      <p/>
+      This helps fairness when running frameworks that hold on to offers,
+      or frameworks that accidentally drop offers.
+
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --rate_limits=VALUE
+    </td>
+    <td>
+      The value could be a JSON formatted string of rate limits
+      or a file path containing the JSON formatted rate limits used
+      for framework rate limiting.
+      <p/>
+      Path could be of the form <code>file:///path/to/file</code>
+        or <code>/path/to/file</code>.
+      <p/>
+
+      See the RateLimits protobuf in mesos.proto for the expected format.
+      <p/>
+
+      Example:
+<pre><code>{
+  "limits": [
+    {
+      "principal": "foo",
+      "qps": 55.5
+    },
+    {
+      "principal": "bar"
+    }
+  ],
+  "aggregate_default_qps": 33.3
+}</code></pre>
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --recovery_slave_removal_limit=VALUE
+    </td>
+    <td>
+      For failovers, limit on the percentage of slaves that can be removed
+      from the registry *and* shutdown after the re-registration timeout
+      elapses. If the limit is exceeded, the master will fail over rather
+      than remove the slaves.
+      <p/>
+      This can be used to provide safety guarantees for production
+      environments. Production environments may expect that across Master
+      failovers, at most a certain percentage of slaves will fail
+      permanently (e.g. due to rack-level failures).
+      <p/>
+      Setting this limit would ensure that a human needs to get
+      involved should an unexpected widespread failure of slaves occur
+      in the cluster.
+      <p/>
+      Values: [0%-100%] (default: 100%)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --registry=VALUE
+    </td>
+    <td>
+      Persistence strategy for the registry;
+      <p/>
+      available options are 'replicated_log', 'in_memory' (for testing). 
(default: replicated_log)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --registry_fetch_timeout=VALUE
+    </td>
+    <td>
+      Duration of time to wait in order to fetch data from the registry
+      after which the operation is considered a failure. (default: 1mins)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --registry_store_timeout=VALUE
+    </td>
+    <td>
+      Duration of time to wait in order to store data in the registry
+      after which the operation is considered a failure. (default: 5secs)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --[no-]registry_strict
+    </td>
+    <td>
+      Whether the Master will take actions based on the persistent
+      information stored in the Registry. Setting this to false means
+      that the Registrar will never reject the admission, readmission,
+      or removal of a slave. Consequently, 'false' can be used to
+      bootstrap the persistent state on a running cluster.
+      <p/>
+      NOTE: This flag is *experimental* and should not be used in
+      production yet. (default: false)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --roles=VALUE
+    </td>
+    <td>
+      A comma separated list of the allocation
+      roles that frameworks in this cluster may
+      belong to.
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --[no-]root_submissions
+    </td>
+    <td>
+      Can root submit frameworks? (default: true)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --slave_reregister_timeout=VALUE
+    </td>
+    <td>
+      The timeout within which all slaves are expected to re-register
+      when a new master is elected as the leader. Slaves that do not
+      re-register within the timeout will be removed from the registry
+      and will be shutdown if they attempt to communicate with master.
+      <p/>
+      NOTE: This value has to be atleast 10mins. (default: 10mins)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --user_sorter=VALUE
+    </td>
+    <td>
+      Policy to use for allocating resources
+      between users. May be one of:
+      <p/>
+      dominant_resource_fairness (drf) (default: drf)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --webui_dir=VALUE
+    </td>
+    <td>
+      Directory path of the webui files/assets (default: 
/usr/local/share/mesos/webui)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --weights=VALUE
+    </td>
+    <td>
+      A comma separated list of role/weight pairs
+      of the form 'role=weight,role=weight'. Weights
+      are used to indicate forms of priority.
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --whitelist=VALUE
+    </td>
+    <td>
+      Path to a file with a list of slaves
+      (one per line) to advertise offers for.
+      <p/>
+      Path could be of the form <code>file:///path/to/file</code> or 
<code>/path/to/file</code>. (default: *)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --zk_session_timeout=VALUE
+    </td>
+    <td>
+      ZooKeeper session timeout. (default: 10secs)
+    </td>
+  </tr>
+</table>
 
 ## Slave Options
 
 *Required Flags*
 
-```
-  --master=VALUE                             May be one of:
-                                               
zk://host1:port1,host2:port2,.../path
-                                               
zk://username:password@host1:port1,host2:port2,.../path
-                                               file://path/to/file (where file 
contains one of the above)
-```
+<table class="table table-striped">
+  <thead>
+    <tr>
+      <th width="30%">
+        Flag
+      </th>
+      <th>
+        Explanation
+      </th>
+  </thead>
+  <tr>
+    <td>
+      --master=VALUE
+    </td>
+    <td>
+      This specifies how to connect to a master or a quorum of masters. This 
flag works with 3 different techniques. It may be one of:
+      <ol>
+        <li> hostname or ip to a master or comma-delimited list of masters, 
e.g.,
+<pre><code>--master=localhost:5050
+--master=10.0.0.5:5050,10.0.0.6:5050
+</code></pre>
+        </li>
+
+        <li> zookeeper or quorum hostname/ip + port + master registration path 
</li>
+<pre><code>--master=zk://host1:port1,host2:port2,.../path
+--master=zk://username:password@host1:port1,host2:port2,.../path
+</code></pre>
+        </li>
+
+        <li> a path to a file containing either one of the above options </li>
+<pre><code> --master=file://path/to/file (where file contains one of the 
above)</code></pre>
+        </li>
+      </ol>
+      Examples:
+
+    </td>
+  </tr>
+</table>
 
 *Optional Flags*
 
-```
-  --attributes=VALUE                         Attributes of machine
-
-  --[no-]cgroups_enable_cfs                  Cgroups feature flag to enable 
hard limits on CPU resources
-                                             via the CFS bandwidth limiting 
subfeature.
-                                             (default: false)
-
-  --cgroups_hierarchy=VALUE                  The path to the cgroups hierarchy 
root
-                                             (default: /sys/fs/cgroup)
-
-  --cgroups_root=VALUE                       Name of the root cgroup
-                                             (default: mesos)
-
-  --cgroups_subsystems=VALUE                 This flag has been deprecated and 
is no longer used,
-                                             please update your flags
-
-  --[no-]checkpoint                          Whether to checkpoint slave and 
frameworks information
-                                             to disk. This enables a restarted 
slave to recover
-                                             status updates and reconnect with 
(--recover=reconnect) or
-                                             kill (--recover=cleanup) old 
executors (default: true)
-
-  --containerizer_path=VALUE                 The path to the external 
containerizer executable used when
-                                             external isolation is activated 
(--isolation=external).
-
-  --credential=VALUE                         Path to a file containing a 
single line with
-                                             the 'principal' and 'secret' 
separated by whitespace.
-                                             Path could be of the form 
'file:///path/to/file' or '/path/to/file'
-
-  --default_container_image=VALUE            The default container image to 
use if not specified by a task,
-                                             when using external containerizer
-
-  --default_role=VALUE                       Any resources in the --resources 
flag that
-                                             omit a role, as well as any 
resources that
-                                             are not present in --resources 
but that are
-                                             automatically detected, will be 
assigned to
-                                             this role. (default: *)
-
-  --disk_watch_interval=VALUE                Periodic time interval (e.g., 
10secs, 2mins, etc)
-                                             to check the disk usage (default: 
1mins)
-
-  --executor_registration_timeout=VALUE      Amount of time to wait for an 
executor
-                                             to register with the slave before 
considering it hung and
-                                             shutting it down (e.g., 60secs, 
3mins, etc) (default: 1mins)
-
-  --executor_shutdown_grace_period=VALUE     Amount of time to wait for an 
executor
-                                             to shut down (e.g., 60secs, 
3mins, etc) (default: 5secs)
-
-  --frameworks_home=VALUE                    Directory prepended to relative 
executor URIs (default: )
-
-  --gc_delay=VALUE                           Maximum amount of time to wait 
before cleaning up
-                                             executor directories (e.g., 
3days, 2weeks, etc).
-                                             Note that this delay may be 
shorter depending on
-                                             the available disk usage. 
(default: 1weeks)
-
-  --hadoop_home=VALUE                        Where to find Hadoop installed 
(for
-                                             fetching framework executors from 
HDFS)
-                                             (no default, look for HADOOP_HOME 
in
-                                             environment or find hadoop on 
PATH) (default: )
-
-  --hostname=VALUE                           The hostname the slave should 
report.
-                                             If left unset, the hostname is 
resolved from the IP address that the slave binds to.
-
-  --isolation=VALUE                          Isolation mechanisms to use, 
e.g., 'posix/cpu,posix/mem'
-                                             or 'cgroups/cpu,cgroups/mem' or 
'external'. (default: posix/cpu,posix/mem)
-
-  --launcher_dir=VALUE                       Location of Mesos binaries 
(default: /usr/local/libexec/mesos)
-
-  --recover=VALUE                            Whether to recover status updates 
and reconnect with old executors.
-                                             Valid values for 'recover' are
-                                             reconnect: Reconnect with any old 
live executors.
-                                             cleanup  : Kill any old live 
executors and exit.
-                                                        Use this option when 
doing an incompatible slave
-                                                        or executor upgrade!).
-                                             NOTE: If checkpointed slave 
doesn't exist, no recovery is performed
-                                                   and the slave registers 
with the master as a new slave. (default: reconnect)
-
-  --recovery_timeout=VALUE                   Amount of time alloted for the 
slave to recover. If the slave takes
-                                             longer than recovery_timeout to 
recover, any executors that are
-                                             waiting to reconnect to the slave 
will self-terminate.
-                                             NOTE: This flag is only 
applicable when checkpoint is enabled.
-                                             (default: 15mins)
-
-  --registration_backoff_factor=VALUE        Slave initially picks a random 
amount of time between [0, b], where
-                                             b = register_backoff_factor, to 
(re-)register with a new master.
-                                             Subsequent retries are 
exponentially backed off based on this
-                                             interval (e.g., 1st retry uses a 
random value between [0, b * 2^1],
-                                             2nd retry between [0, b * 2^2], 
3rd retry between [0, b * 2^3] etc)
-                                             up to a maximum of 1mins 
(default: 1secs)
-
-  --resource_monitoring_interval=VALUE       Periodic time interval for 
monitoring executor
-                                             resource usage (e.g., 10secs, 
1min, etc) (default: 1secs)
-
-  --resources=VALUE                          Total consumable resources per 
slave, in
-                                             the form 
'name(role):value;name(role):value...'.
-
-  --slave_subsystems=VALUE                   List of comma-separated cgroup 
subsystems to run the slave binary
-                                             in, e.g., 'memory,cpuacct'. The 
default is none.
-                                             Present functionality is intended 
for resource monitoring and
-                                             no cgroup limits are set, they 
are inherited from the root mesos
-                                             cgroup.
-
-  --[no-]strict                              If strict=true, any and all 
recovery errors are considered fatal.
-                                             If strict=false, any expected 
errors (e.g., slave cannot recover
-                                             information about an executor, 
because the slave died right before
-                                             the executor registered.) during 
recovery are ignored and as much
-                                             state as possible is recovered.
-                                             (default: true)
-
-  --[no-]switch_user                         Whether to run tasks as the user 
who
-                                             submitted them rather than the 
user running
-                                             the slave (requires setuid 
permission) (default: true)
-
-  --work_dir=VALUE                           Where to place framework work 
directories
-                                             (default: /tmp/mesos)
-```
+<table class="table table-striped">
+  <thead>
+    <tr>
+      <th width="30%">
+        Flag
+      </th>
+      <th>
+        Explanation
+      </th>
+  </thead>
+  <tr>
+    <td>
+      --attributes=VALUE
+    </td>
+    <td>
+      Attributes of machine, in the form:
+      <p/>
+      <code>rack:2</code> or <code>'rack:2;u:1'</code>
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --[no-]cgroups_enable_cfs
+    </td>
+    <td>
+      Cgroups feature flag to enable hard limits on CPU resources
+      via the CFS bandwidth limiting subfeature.
+      (default: false)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --cgroups_hierarchy=VALUE
+    </td>
+    <td>
+      The path to the cgroups hierarchy root
+      (default: /sys/fs/cgroup)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --[no-]cgroups_limit_swap
+    </td>
+    <td>
+      Cgroups feature flag to enable memory limits on both memory and
+      swap instead of just memory.
+      (default: false)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --cgroups_root=VALUE
+    </td>
+    <td>
+      Name of the root cgroup
+      (default: mesos)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --cgroups_subsystems=VALUE
+    </td>
+    <td>
+      This flag has been deprecated and is no longer used,
+      please update your flags
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --[no-]checkpoint
+    </td>
+    <td>
+      This flag is deprecated and will be removed in a future release.
+      Whether to checkpoint slave and frameworks information
+      to disk. This enables a restarted slave to recover
+      status updates and reconnect with (--recover=reconnect) or
+      kill (--recover=cleanup) old executors (default: true)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --containerizer_path=VALUE
+    </td>
+    <td>
+      The path to the external containerizer executable used when
+      external isolation is activated (--isolation=external).
+
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --containerizers=VALUE
+    </td>
+    <td>
+      Comma separated list of containerizer implementations
+      to compose in order to provide containerization.
+      <p/>
+      Available options are 'mesos', 'external', and
+      'docker' (on Linux). The order the containerizers
+      are specified is the order they are tried
+      (--containerizers=mesos).
+      (default: mesos)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --credential=VALUE
+    </td>
+    <td>
+      Either a path to a text with a single line
+      containing 'principal' and 'secret' separated by whitespace.
+      <p/>
+      Or a path containing the JSON formatted information used for one 
credential.
+      <p/>
+      Path could be of the form <code>file:///path/to/file< code> or 
<code>/path/to/file</code>.
+      <p/>
+      JSON file example:
+<pre><code>{
+  "principal": "username",
+  "secret": "secret"
+}</code></pre>
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --default_container_image=VALUE
+    </td>
+    <td>
+      The default container image to use if not specified by a task,
+      when using external containerizer.
+
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --default_container_info=VALUE
+    </td>
+    <td>
+      JSON formatted ContainerInfo that will be included into
+      any ExecutorInfo that does not specify a ContainerInfo.
+      <p/>
+      See the ContainerInfo protobuf in mesos.proto for
+      the expected format.
+      <p/>
+      Example:
+<pre><code>{
+  "type": "MESOS",
+  "volumes": [
+    {
+      "host_path": "./.private/tmp",
+      "container_path": "/tmp",
+      "mode": "RW"
+    }
+  ]
+}</code></pre>
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --default_role=VALUE
+    </td>
+    <td>
+      Any resources in the --resources flag that
+      omit a role, as well as any resources that
+      are not present in --resources but that are
+      automatically detected, will be assigned to
+      this role. (default: *)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --disk_watch_interval=VALUE
+    </td>
+    <td>
+      Periodic time interval (e.g., 10secs, 2mins, etc)
+      to check the disk usage (default: 1mins)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --docker=VALUE
+    </td>
+    <td>
+      The absolute path to the docker executable for docker
+      containerizer.
+      (default: docker)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --docker_remove_delay=VALUE
+    </td>
+    <td>
+      The amount of time to wait before removing docker containers
+      (e.g., 3days, 2weeks, etc).
+      (default: 6hrs)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --docker_sandbox_directory=VALUE
+    </td>
+    <td>
+      The absolute path for the directory in the container where the
+      sandbox is mapped to.
+      (default: /mnt/mesos/sandbox)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --executor_registration_timeout=VALUE
+    </td>
+    <td>
+      Amount of time to wait for an executor
+      to register with the slave before considering it hung and
+      shutting it down (e.g., 60secs, 3mins, etc) (default: 1mins)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --executor_shutdown_grace_period=VALUE
+    </td>
+    <td>
+      Amount of time to wait for an executor
+      to shut down (e.g., 60secs, 3mins, etc) (default: 5secs)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --frameworks_home=VALUE
+    </td>
+    <td>
+      Directory path prepended to relative executor URIs (default: )
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --gc_delay=VALUE
+    </td>
+    <td>
+      Maximum amount of time to wait before cleaning up
+      executor directories (e.g., 3days, 2weeks, etc).
+      <p/>
+      Note that this delay may be shorter depending on
+      the available disk usage. (default: 1weeks)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --hadoop_home=VALUE
+    </td>
+    <td>
+      Path to find Hadoop installed (for
+      fetching framework executors from HDFS)
+      (no default, look for HADOOP_HOME in
+      environment or find hadoop on PATH) (default: )
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --hostname=VALUE
+    </td>
+    <td>
+      The hostname the slave should report.
+      <p/>
+      If left unset, the hostname is resolved from the IP address
+      that the slave binds to.
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --isolation=VALUE
+    </td>
+    <td>
+      Isolation mechanisms to use, e.g., 'posix/cpu,posix/mem', or
+      'cgroups/cpu,cgroups/mem', or network/port_mapping
+      (configure with flag: --with-network-isolator to enable),
+      or 'external', or load an alternate isolator module using
+      the <code>--modules</code> flag. (default: posix/cpu,posix/mem)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --launcher_dir=VALUE
+    </td>
+    <td>
+      Directory path of Mesos binaries (default: /usr/local/lib/mesos)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --modules=VALUE
+    </td>
+    <td>
+      List of modules to be loaded and be available to the internal
+      subsystems.
+      <p/>
+      Use <code>--modules=filepath</code> to specify the list of modules via a
+      file containing a JSON formatted string. 'filepath' can be
+      of the form <code>file:///path/to/file</code> or 
<code>/path/to/file</code>.
+      <p/>
+      Use <code>--modules="{...}"</code> to specify the list of modules inline.
+      <p/>
+      JSON file example:
+<pre><code>
+{
+  "libraries": [
+    {
+      "file": "/path/to/libfoo.so",
+      "modules": [
+        {
+          "name": "org_apache_mesos_bar",
+          "parameters": [
+            {
+              "key": "X",
+              "value": "Y"
+            }
+          ]
+        },
+        {
+          "name": "org_apache_mesos_baz"
+        }
+      ]
+    },
+    {
+      "name": "qux",
+      "modules": [
+        {
+          "name": "org_apache_mesos_norf"
+        }
+      ]
+    }
+  ]
+}</code></pre>
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --perf_duration=VALUE
+    </td>
+    <td>
+      Duration of a perf stat sample. The duration must be less
+      that the perf_interval. (default: 10secs)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --perf_events=VALUE
+    </td>
+    <td>
+      List of command-separated perf events to sample for each container
+      when using the perf_event isolator. Default is none.
+      <p/>
+      Run command 'perf list' to see all events. Event names are
+      sanitized by downcasing and replacing hyphens with underscores
+      when reported in the PerfStatistics protobuf, e.g., cpu-cycles
+      becomes cpu_cycles; see the PerfStatistics protobuf for all names.
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --perf_interval=VALUE
+    </td>
+    <td>
+      Interval between the start of perf stat samples. Perf samples are
+      obtained periodically according to perf_interval and the most
+      recently obtained sample is returned rather than sampling on
+      demand. For this reason, perf_interval is independent of the
+      resource monitoring interval (default: 1mins)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --recover=VALUE
+    </td>
+    <td>
+      Whether to recover status updates and reconnect with old executors.
+      <p/>
+      Valid values for 'recover' are
+      <p/>
+      reconnect: Reconnect with any old live executors.
+      <p/>
+      cleanup  : Kill any old live executors and exit.
+      <p/>
+      Use this option when doing an incompatible slave
+      or executor upgrade!).
+      <p/>
+      NOTE: If checkpointed slave doesn't exist, no recovery is performed
+      and the slave registers with the master as a new slave. (default: 
reconnect)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --recovery_timeout=VALUE
+    </td>
+    <td>
+      Amount of time alloted for the slave to recover. If the slave takes
+      longer than recovery_timeout to recover, any executors that are
+      waiting to reconnect to the slave will self-terminate.
+      <p/>
+      NOTE: This flag is only applicable when checkpoint is enabled.
+      (default: 15mins)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --registration_backoff_factor=VALUE
+    </td>
+    <td>
+      Slave initially picks a random amount of time between [0, b], where
+      b = registration_backoff_factor, to (re-)register with a new master.
+      <p/>
+      Subsequent retries are exponentially backed off based on this
+      interval (e.g., 1st retry uses a random value between [0, b * 2^1],
+      2nd retry between [0, b * 2^2], 3rd retry between [0, b * 2^3] etc)
+      up to a maximum of 1mins (default: 1secs)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --resource_monitoring_interval=VALUE
+    </td>
+    <td>
+      Periodic time interval for monitoring executor
+      resource usage (e.g., 10secs, 1min, etc) (default: 1secs)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --resources=VALUE
+    </td>
+    <td>
+      Total consumable resources per slave, in the form
+      </p>
+      <code>name(role):value;name(role):value...</code>.
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --slave_subsystems=VALUE
+    </td>
+    <td>
+      List of comma-separated cgroup subsystems to run the slave binary
+      in, e.g., <code>memory,cpuacct</code>. The default is none.
+      Present functionality is intended for resource monitoring and
+      no cgroup limits are set, they are inherited from the root mesos
+      cgroup.
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --[no-]strict
+    </td>
+    <td>
+      If strict=true, any and all recovery errors are considered fatal.
+      <p/>
+      If strict=false, any expected errors (e.g., slave cannot recover
+      information about an executor, because the slave died right before
+      the executor registered.) during recovery are ignored and as much
+      state as possible is recovered.
+      (default: true)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --[no-]switch_user
+    </td>
+    <td>
+      Whether to run tasks as the user who
+      submitted them rather than the user running
+      the slave (requires setuid permission) (default: true)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --work_dir=VALUE
+    </td>
+    <td>
+      Directory path to place framework work directories
+      (default: /tmp/mesos)
+    </td>
+  </tr>
+</table>
 
 
 
 
 ## Mesos Build Configuration Options
 
-The configure script has the following options:
-
-```
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print `checking...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for `--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or `..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [/usr/local]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, `make install' will install all the files in
-`/usr/local/bin', `/usr/local/lib' etc.  You can specify
-an installation prefix other than `/usr/local' using `--prefix',
-for instance `--prefix=$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/mesos]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-  --target=TARGET   configure for building compilers for TARGET [HOST]
-
-Optional Features:
-  --disable-option-checking  ignore unrecognized --enable/--with options
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-static[=PKGS]  build static libraries [default=yes]
-  --enable-fast-install[=PKGS]
-                          optimize for fast installation [default=yes]
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
-  --disable-libtool-lock  avoid locking (might break parallel builds)
-  --disable-java          don't build Java bindings
-  --disable-python        don't build Python bindings
-  --disable-optimize      don't try to compile with optimizations
-  --disable-bundled       build against preinstalled dependencies instead of
-                          bundled libraries
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-sysroot=DIR Search for dependent libraries within DIR
-                        (or the compiler's sysroot if not specified).
-  --with-zookeeper[=DIR]  excludes building and using the bundled ZooKeeper
-                          package in lieu of an installed version at a
-                          location prefixed by the given path
-  --with-leveldb[=DIR]    excludes building and using the bundled LevelDB
-                          package in lieu of an installed version at a
-                          location prefixed by the given path
-  --without-cxx11         builds Mesos without C++11 support (deprecated)
-  --with-network-isolator builds the network isolator
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CXX         C++ compiler command
-  CXXFLAGS    C++ compiler flags
-  CPP         C preprocessor
-  CXXCPP      C++ preprocessor
-  JAVA_HOME   location of Java Development Kit (JDK)
-  JAVA_CPPFLAGS
-              preprocessor flags for JNI
-  JAVA_JVM_LIBRARY
-              full path to libjvm.so
-  MAVEN_HOME  looks for mvn at MAVEN_HOME/bin/mvn
-  PYTHON      which Python interpreter to use
-  PYTHON_VERSION
-              The installed Python version to use, for example '2.3'. This
-              string will be appended to the Python interpreter canonical
-              name.
+###The configure script has the following flags for optional features:
+
+<table class="table table-striped">
+  <thead>
+    <tr>
+      <th width="30%">
+        Flag
+      </th>
+      <th>
+        Explanation
+      </th>
+  </thead>
+  <tr>
+    <td>
+      --enable-shared[=PKGS]
+    </td>
+    <td>
+      build shared libraries [default=yes]
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --enable-static[=PKGS]
+    </td>
+    <td>
+      build static libraries [default=yes]
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --enable-fast-install[=PKGS]
+    </td>
+    <td>
+
+      optimize for fast installation [default=yes]
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --disable-libtool-lock
+    </td>
+    <td>
+      avoid locking (might break parallel builds)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --disable-java
+    </td>
+    <td>
+      don't build Java bindings
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --disable-python
+    </td>
+    <td>
+      don't build Python bindings
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --enable-debug
+    </td>
+    <td>
+      enable debugging. If CFLAGS/CXXFLAGS are set, this
+      option won't change them default: no
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --enable-optimize
+    </td>
+    <td>
+      enable optimizations. If CFLAGS/CXXFLAGS are set,
+      this option won't change them default: no
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --disable-bundled
+    </td>
+    <td>
+      build against preinstalled dependencies instead of
+      bundled libraries
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --disable-bundled-distribute
+    </td>
+    <td>
+
+      excludes building and using the bundled distribute
+      package in lieu of an installed version in
+      PYTHONPATH
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --disable-bundled-pip
+    </td>
+    <td>
+      excludes building and using the bundled pip package
+      in lieu of an installed version in PYTHONPATH
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --disable-bundled-wheel
+    </td>
+    <td>
+      excludes building and using the bundled wheel
+      package in lieu of an installed version in
+      PYTHONPATH
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --disable-python-dependency-install
+    </td>
+    <td>
+
+      when the python packages are installed during make
+      install, no external dependencies are downloaded or
+      installed
+    </td>
+  </tr>
+</table>
+
+### The configure script has the following flags for optional packages:
+
+<table class="table table-striped">
+  <thead>
+    <tr>
+      <th width="30%">
+        Flag
+      </th>
+      <th>
+        Explanation
+      </th>
+  </thead>
+  <tr>
+    <td>
+      --with-gnu-ld
+    </td>
+    <td>
+      assume the C compiler uses GNU ld [default=no]
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --with-sysroot=DIR
+    </td>
+    <td>
+      Search for dependent libraries within DIR
+      (or the compiler's sysroot if not specified).
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --with-zookeeper[=DIR]
+    </td>
+    <td>
+      excludes building and using the bundled ZooKeeper
+      package in lieu of an installed version at a
+      location prefixed by the given path
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --with-leveldb[=DIR]
+    </td>
+    <td>
+      excludes building and using the bundled LevelDB
+      package in lieu of an installed version at a
+      location prefixed by the given path
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --with-glog[=DIR]
+    </td>
+    <td>
+      excludes building and using the bundled glog package
+      in lieu of an installed version at a location
+      prefixed by the given path
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --with-protobuf[=DIR]
+    </td>
+    <td>
+      excludes building and using the bundled protobuf
+      package in lieu of an installed version at a
+      location prefixed by the given path
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --with-gmock[=DIR]
+    </td>
+    <td>
+      excludes building and using the bundled gmock
+      package in lieu of an installed version at a
+      location prefixed by the given path
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --with-curl=[=DIR]
+    </td>
+    <td>
+      specify where to locate the curl library
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --with-sasl=[=DIR]
+    </td>
+    <td>
+      specify where to locate the sasl2 library
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --with-zlib=[=DIR]
+    </td>
+    <td>
+      specify where to locate the zlib library
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --with-apr=[=DIR]
+    </td>
+    <td>
+      specify where to locate the apr-1 library
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --with-svn=[=DIR]
+    </td>
+    <td>
+      specify where to locate the svn-1 library
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --with-network-isolator
+    </td>
+    <td>
+      builds the network isolator
+    </td>
+  </tr>
+</table>
+
+### Some influential environment variables for configure script:
 
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
-```
+
+<table class="table table-striped">
+  <thead>
+    <tr>
+      <th width="30%">
+        Flag
+      </th>
+      <th>
+        Explanation
+      </th>
+  </thead>
+  <tr>
+    <td>
+      JAVA_HOME
+    </td>
+    <td>
+      location of Java Development Kit (JDK)
+    </td>
+  </tr>
+  <tr>
+    <td>
+      JAVA_CPPFLAGS
+    </td>
+    <td>
+      preprocessor flags for JNI
+    </td>
+  </tr>
+  <tr>
+    <td>
+      JAVA_JVM_LIBRARY
+    </td>
+    <td>
+      full path to libjvm.so
+    </td>
+  </tr>
+  <tr>
+    <td>
+      MAVEN_HOME
+    </td>
+    <td>
+      looks for mvn at MAVEN_HOME/bin/mvn
+    </td>
+  </tr>
+  <tr>
+    <td>
+      PROTOBUF_JAR
+    </td>
+    <td>
+      full path to protobuf jar on prefixed builds
+    </td>
+  </tr>
+  <tr>
+    <td>
+      PYTHON
+    </td>
+    <td>
+      which Python interpreter to use
+    </td>
+  </tr>
+  <tr>
+    <td>
+      PYTHON_VERSION
+    </td>
+    <td>
+      The installed Python version to use, for example '2.3'. This
+      string will be appended to the Python interpreter canonical
+      name.
+    </td>
+  </tr>
+</table>

Reply via email to