diff --git a/CHANGES b/CHANGES index a8a965618d..b05242c31f 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,9 @@ -2.4-45 | 2015-07-21 10:50:02 -0700 +2.4-45 | 2015-07-21 15:19:43 -0700 + + * Enabling Broker by default. This means CAF is now a required + dependency, altjough for now at least, there's still a switch + --disable-broker to turn it off. * Requiring a C++11 compiler, and turning on C++11 support. (Robin Sommer) diff --git a/NEWS b/NEWS index e47b58ffd0..348c179bdc 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,18 @@ release. For an exhaustive list of changes, see the ``CHANGES`` file (note that submodules, such as BroControl and Broccoli, come with their own ``CHANGES``.) +Bro 2.5 (in progress) +===================== + +New Dependencies +---------------- + +- Bro now requires a compiler with C++11 support for building the + source code. + +- Bro now requires the C++ Actor Framework, CAF, which must be + installed first. See http://actor-framework.org. + Bro 2.4 ======= diff --git a/configure b/configure index 950905b2c1..407a2e2dca 100755 --- a/configure +++ b/configure @@ -41,8 +41,7 @@ Usage: $0 [OPTION]... [VAR=VALUE]... --enable-perftools-debug use Google's perftools for debugging --enable-jemalloc link against jemalloc --enable-ruby build ruby bindings for broccoli (deprecated) - --enable-broker enable use of the Broker communication library - (requires C++ Actor Framework and C++11) + --disable-broker disable use of the Broker communication library --disable-broccoli don't build or install the Broccoli library --disable-broctl don't install Broctl --disable-auxtools don't build or install auxiliary tools @@ -94,7 +93,7 @@ Usage: $0 [OPTION]... [VAR=VALUE]... sourcedir="$( cd "$( dirname "$0" )" && pwd )" # Function to append a CMake cache entry definition to the -# CMakeCacheEntries variable +# CMakeCacheEntries variable. # $1 is the cache entry variable name # $2 is the cache entry variable type # $3 is the cache entry variable value @@ -102,6 +101,17 @@ append_cache_entry () { CMakeCacheEntries="$CMakeCacheEntries -D $1:$2=$3" } +# Function to remove a CMake cache entry definition from the +# CMakeCacheEntries variable +# $1 is the cache entry variable name +remove_cache_entry () { + CMakeCacheEntries="$CMakeCacheEntries -U $1" + + # Even with -U, cmake still warns by default if + # added previously with -D. + CMakeCacheEntries="$CMakeCacheEntries --no-warn-unused-cli" +} + # set defaults builddir=build prefix=/usr/local/bro @@ -111,10 +121,12 @@ append_cache_entry BRO_ROOT_DIR PATH $prefix append_cache_entry PY_MOD_INSTALL_DIR PATH $prefix/lib/broctl append_cache_entry BRO_SCRIPT_INSTALL_PATH STRING $prefix/share/bro append_cache_entry BRO_ETC_INSTALL_DIR PATH $prefix/etc +append_cache_entry BROKER_PYTHON_HOME PATH $prefix append_cache_entry ENABLE_DEBUG BOOL false append_cache_entry ENABLE_PERFTOOLS BOOL false append_cache_entry ENABLE_PERFTOOLS_DEBUG BOOL false -append_cache_entry ENABLE_JEMALLOC BOOL false +append_cache_entry ENABLE_JEMALLOC BOOL false +append_cache_entry ENABLE_BROKER BOOL true append_cache_entry BinPAC_SKIP_INSTALL BOOL true append_cache_entry BUILD_SHARED_LIBS BOOL true append_cache_entry INSTALL_AUX_TOOLS BOOL true @@ -149,8 +161,8 @@ while [ $# -ne 0 ]; do append_cache_entry BRO_ROOT_DIR PATH $optarg append_cache_entry PY_MOD_INSTALL_DIR PATH $optarg/lib/broctl - if [ -n "$user_enabled_broker" ]; then - append_cache_entry BROKER_PYTHON_HOME PATH $prefix + if [ -n "$user_disabled_broker" ]; then + append_cache_entry BROKER_PYTHON_HOME PATH $optarg fi ;; --scriptdir=*) @@ -186,10 +198,10 @@ while [ $# -ne 0 ]; do --enable-jemalloc) append_cache_entry ENABLE_JEMALLOC BOOL true ;; - --enable-broker) - append_cache_entry ENABLE_BROKER BOOL true - append_cache_entry BROKER_PYTHON_HOME PATH $prefix - user_enabled_broker="true" + --disable-broker) + append_cache_entry ENABLE_BROKER BOOL false + remove_cache_entry BROKER_PYTHON_HOME + user_disabled_broker="true" ;; --disable-broccoli) append_cache_entry INSTALL_BROCCOLI BOOL false diff --git a/doc/install/install.rst b/doc/install/install.rst index 03b77fba8c..eff3ec9728 100644 --- a/doc/install/install.rst +++ b/doc/install/install.rst @@ -32,12 +32,13 @@ before you begin: * Libz * Bash (for BroControl) * Python (for BroControl) + * C++ Actor Framework (CAF) (http://actor-framework.org) To build Bro from source, the following additional dependencies are required: * CMake 2.8 or greater (http://www.cmake.org) * Make - * C/C++ compiler + * C/C++ compiler with C++11 support * SWIG (http://www.swig.org) * Bison (GNU Parser Generator) * Flex (Fast Lexical Analyzer) @@ -46,6 +47,10 @@ To build Bro from source, the following additional dependencies are required: * zlib headers * Perl +.. todo:: + + Update with instructions for installing CAF. + To install the required dependencies, you can use: * RPM/RedHat-based Linux: