Commit graph

152 commits

Author SHA1 Message Date
Jon Siwek
7120098ca2 Add support for building/linking broker within bro
The new --enable-broker flag can be used to toggle the use of Broker,
which also implies building with -std=c++11, though nothing makes
use of these features at the moment.
2015-01-08 16:43:07 -06:00
Jon Siwek
28770937b5 Add configure options to fine tune local state dirs used by BroControl.
--logdir: logs produced at run time
--spooldir: other data produced at run time
--localstatedir: contains spool or log dirs if those options aren't set

Addresses BIT-1166.
2014-10-30 17:11:46 -05:00
Robin Sommer
f884fc6c11 Removing DataSeries and ElasticSearch from configure script. 2014-08-13 21:16:01 -07:00
Jon Siwek
da8a1d2489 Remove unused --with-libmagic configure option. 2014-06-11 12:10:20 -05:00
Jon Siwek
01dde0b19f Fix --with-jemalloc and make it imply --enable-jemalloc. 2014-03-10 14:48:13 -05:00
Jon Siwek
ea432102a8 Teach configure script --enable-jemalloc, --with-jemalloc.
Addresses BIT-1128.
2014-03-10 14:36:42 -05:00
Robin Sommer
943f44314a Merge remote-tracking branch 'origin/fastpath'
* origin/fastpath:
  Don't build broccoli ruby bindings by default, use --enable-ruby to do so.
  Revert "Fix race condition in unit test."
  Fix race condition in unit test.
  Change percent_lost in capture-loss from a string to a double.
2013-10-29 09:28:13 -07:00
Jon Siwek
7c7967c1ab Don't build broccoli ruby bindings by default, use --enable-ruby to do so. 2013-10-29 11:04:34 -05:00
Daniel Thayer
d417bd9f3a Update documentation of required packages 2013-09-18 23:48:54 -05:00
Jon Siwek
c69431beac Teach --disable-dataseries/--disable-elasticsearch to ./configure.
Addresses #877.
2012-10-08 16:45:04 -05:00
Jon Siwek
6caeb7d7cf Add --with-curl option to ./configure, addresses #877. 2012-10-08 16:27:15 -05:00
Jon Siwek
cc49193f93 Remove automatic use of gperftools on non-Linux systems.
--enable-perftools must now explicity be supplied to ./configure on
non-Linux systems to link against the tcmalloc library that a
gperftools installation provides.  Linux systems still automatically
link it if it's found.  The rationale is that gperftools was developed
and most throroughly tested on Linux so it's safer there.

There especially seems to be potential problems with gperftools on OS X
(e.g. see http://code.google.com/p/gperftools/issues/detail?id=413),
and Bro currently doesn't work with gpertools there using clang or gcc.
2012-08-28 13:11:12 -05:00
Jon Siwek
3bb6d4e54e Fix configure script to exit with non-zero status on error 2012-08-01 13:58:18 -05:00
Daniel Thayer
3a8f812f1c Correct a typo 2012-07-24 17:32:04 -05:00
Robin Sommer
7fde1165e9 Give configure a --disable-perftools option.
This disables Perftools support even if found. Linking in tcmalloc can
make debugging memory problems quite a bit hard (including confusing
valgrind).
2012-07-19 22:28:55 -07:00
Robin Sommer
be6567f437 Merge remote-tracking branch 'origin/master' into topic/robin/dataseries 2012-05-14 22:17:26 -07:00
Daniel Thayer
751cc1cd51 Fix typos and improve INSTALL document
Updated the list of required and optional libraries and tools.
Rewrote the paragraph about the "aux" tools to more accurately
describe what actually gets installed.
2012-05-14 18:34:25 -05:00
Robin Sommer
c9c180eebe Merge remote-tracking branch 'origin/topic/dnthayer/bug801'
* origin/topic/dnthayer/bug801:
  Added an option to specify the 'etc' directory

Closes #801.

Note, I've adapted the code in configure a bit to make it independent
of the argument order (same for an older option). Hope that works ...
2012-04-24 14:47:34 -07:00
Daniel Thayer
65eb974f5d Added an option to specify the 'etc' directory
Addresses #801.
2012-04-23 11:17:13 -05:00
Robin Sommer
a7bc12066b Merge remote-tracking branch 'origin/master' into topic/robin/dataseries
Conflicts:
	CMakeLists.txt
	cmake
2012-04-17 16:37:37 -07:00
Jon Siwek
91330f1e1c Add support for mobile IPv6 Mobility Header (RFC 6275).
- Accessible at script-layer through 'mobile_ipv6_message' event.

- All Mobile IPv6 analysis now enabled through --enable-mobile-ipv6
  configure-time option, otherwise the mobility header, routing type 2,
  and Home Address Destination option are ignored.
2012-04-09 14:39:00 -05:00
Robin Sommer
952b6b293a Merging in DataSeries support from topic/gilbert/logging.
I copied the code over manually, no merging, because (1) it needed to
be adapted to the new threading API, and (2) there's more stuff in the
branch that I haven't ported yet.

The DS output generally seems to work, but it has seen no further
testing yet.

Not unit tests yet either.
2012-04-03 22:14:56 -07:00
Robin Sommer
42066cc1fd Teaching cmake to always link in tcmalloc if it finds it.
Also renaming --enable-perftools to --enable-perftool-debug to
indicate that the switch is only relevant for debugging the heap. It's
not needed to pick up tcmalloc for better performance.

--with-perftools can still (and always) be used to give a hint where
to find the libraries.

With the threading, using tcmalloc improves memory usage on FreeBSD
significantly when running on a trace. If it fixes the live problems,
remains to be seen ...
2012-03-28 15:42:09 -07:00
Daniel Thayer
fe5d865e64 Remove --enable-brov6 from configure usage text 2012-02-03 18:06:02 -06:00
Jon Siwek
b3f1f45082 Remove --enable-brov6 flag, IPv6 now supported by default.
Internally, all BROv6 preprocessor switches were removed and
addr/subnet representations wrapped in the new IPAddr/IPPrefix classes.

Some script-layer changes of note:

- dns_AAAA_reply event signature changed: the string representation
  of an IPv6 addr is easily derived from the addr value, it doesn't
  need to be another parameter.  This event also now generated directly
  by the DNS analyzer instead of being "faked" into a dns_A_reply event.

- removed addr_to_count BIF.  It used to return the host-order
  count representation of IPv4 addresses only.  To make it more
  generic, we might later add a BIF to return a vector of counts
  in order to support IPv6.

- changed the result of enclosing addr variables in vertical pipes
  (e.g. |my_addr|) to return the bit-width of the address type which
  is 128 for IPv6 and 32 for IPv4.  It used to function the same
  way as addr_to_count mentioned above.

- remove bro_has_ipv6 BIF
2012-02-03 16:46:58 -06:00
Jon Siwek
dd49f7d477 Add configure options for ruby/bindings integration. 2011-09-12 15:38:23 -05:00
Jon Siwek
4ac6d0ae2e Fixes for script auto-documentation.
- Fixing the parts of the `make restdoc` and `make doc` process that were
  broken by the last Bro script re-organization

- Generated documentation for Bro scripts derived from BiFs now use the
  original BiF source file as the "original source file" link

- Renaming of the internal POLICYDEST definition and other misc places that
  refer to "policy" scripts; that terminology doesn't make total sense now

- Added a documentation blacklist reminder test that will fail if there's
  scripts that are blacklisted from being documentated because they're still
  in progress

- Some minor Bro script changes to fix small @load dependency errors

Addresses #543
2011-08-08 19:50:45 -05:00
Jon Siwek
c0c8b515f9 --with-perftools configure option now assumes --enable-perftools (closes #527) 2011-08-01 10:45:23 -05:00
Seth Hall
e6d63b20b3 Removed the cluster option from the configure script. 2011-07-15 01:46:56 -04:00
Jon Siwek
dec97ab56d Changes to the way user-modifiable config files are installed.
- Duplicates of the distribution's configuration files are now always
  installed with a .example suffix
- Added --binary-package configure option to toggle configure logic
  specific to the creation of binary packages.
- When not in binary packaging mode, `make install` never overwrites
  existing configure files in case they've been modified.  The previous
  behavior (CMake's default) would only avoid overwriting modified files
  if one consistently uses the same build directory and doesn't reconfigure.
- Fixed an issue with Mac package's pre-install script not preserving ACLs
- Minor cleanup/refactor of the make-mac/rpm-packages scripts
2011-02-24 22:02:22 -06:00
Jon Siwek
da3fb85e5c Adding more configure options for finding dependencies 2011-01-28 10:10:16 -06:00
Jon Siwek
4817f7de4e Configure wrapper now deletes previous CMake cache 2011-01-24 11:26:29 -06:00
Jon Siwek
bbe078e06c Changed configure wrapper to create config.status 2011-01-20 12:37:38 -06:00
Jon Siwek
1d8ad8e946 Changes for packaging
- Added 'dist' target to top-level Makefile for doing source packages
- Added 'make-*-packages' scripts for generating binary packages
- Fixes for the ConfigurePackaging CMake script
  - No longer fails when package version doesn't include a patch-level
  - Now considers the case when a package doesn't install any
    config files and the INSTALLED_CONFIG_FILES var is empty
2011-01-14 22:25:10 -06:00
Jon Siwek
8d4f487add Changes to CMake logic for binary packaging
- pre/post install scripts now track configuration files that may
  be clobbered on package install/upgrade through the
  INSTALLED_CONFIG_FILES CMake variable and attempts to make backups
  when the distribution's file differs from the existing file.
2011-01-13 21:58:25 -06:00
Jon Siwek
7936782057 Changes for CPack binary packaging 2011-01-12 16:26:25 -06:00
Jon Siwek
b496d63632 Added OS X configures options for SDK & minimum version 2011-01-06 16:57:25 -06:00
Jon Siwek
fa07bcd233 Changes to allow source packaging via CPack
- Refactored all packaging related stuff into a single CMake module
- Build should no longer fail when optional sources (e.g. broctl)
  do not exist in the source directory, instead a warning is issued
- Additional configure options to change packaging behavior
2011-01-05 12:05:39 -06:00
Jon Siwek
efbd22a33f Allow CMake generators to pass through configure
The default generator is Unix Makefiles for most platforms, but this
lets the builder easily select a different build framework depending
on their platform (e.g. Xcode, CodeBlocks, Eclipse ...)
2010-12-02 14:23:20 -06:00
Jon Siwek
5964da43fb Better way to get source dir of configure script
And updated submodules
2010-11-22 21:19:02 -06:00
Jon Siwek
8901b30236 Enable broccoli, broctl, aux tools by default
The configure wrapper now only provides --disable options for each
aux. package.
2010-11-22 19:42:37 -06:00
Jon Siwek
0878e9b8f1 Configure wrapper fixes for Broctl
Made order of --enable-broctl and --enable-cluster not matter.

--enable-cluster always enables Broctl in cluster configuration even if
the other option is used.

--enable-broctl will enable Broctl in standalone configuration only if
--enable-cluster isn't present.
2010-11-19 11:28:43 -06:00
Jon Siwek
e4d12ea1d3 Changed default CMAKE_BUILD_TYPE to RelWithDebInfo
The --enable-debug option of the configure wrapper changes it to Debug.
Removed --enable-release option of the configure wrapper.
Updated submodules
2010-11-18 11:34:29 -06:00
Jon Siwek
ffdf9e7474 Configure wrapper checks if source directory moved 2010-11-17 20:38:35 -06:00
Jon Siwek
90be6b5e7d Policy dir follows prefix if not explicitly set 2010-11-17 20:38:35 -06:00
Jon Siwek
15063b73fe Build summary output adjusted.
By default broccoli and broctl would not explicitly show as "false"
(meaning disabled).
2010-11-17 20:38:35 -06:00
Jon Siwek
3c7c068685 Renaming of DATADIR CMake variable.
To POLICYDIR since that's more clear.  Also decided that restricting
it to a subdirectory of prefix isn't much use as an option, so went
back to having it be an absolute path.
2010-11-17 20:38:35 -06:00
Jon Siwek
7737572aab Allow building auxilliary projects along with Bro.
BinPAC, Broccoli, Broctl, and Bro auxilliary tools are included
as git submodules.
2010-11-17 20:38:35 -06:00
Jon Siwek
c147710319 configure now writes directly to CMakeCache.txt
The intermediate BuildOptions.cmake file is no longer needed.
2010-11-17 20:38:35 -06:00
Jon Siwek
737ce489a9 Added CPack packaging and fix Linux compatibility.
- configure wrapper had bash syntax some places; replaced w/ sh syntax
- Added FindOpenSSL module.  The one that ships with CMake does not
  allow for specifying a non-standard location.
- datadir configure option changed to be relative to prefix.  This
  simplifies the packaging from having to consider absolute paths.
- Added macro for changing install_name of shared libs that need to
  ship with precompiled Bro for OS X.  This is only the optional
  libmagic and libGeoIP for now.
2010-11-17 20:38:35 -06:00