Commit graph

370 commits

Author SHA1 Message Date
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
Robin Sommer
eef8b7d1c4 Merge remote-tracking branch 'remotes/origin/topic/seth/elasticsearch' into topic/robin/master-test
I've only tested that it compiles, not whether it still works. The
fact that we don't have any tests for this makes me uneasy ...

* remotes/origin/topic/seth/elasticsearch: (35 commits)
  Some documentation updates for elasticsearch plugin.
  Temporarily removing the ES timeout because it works with signals and is incompatible with Bro threads.
  Changed ES index names to localtime and added a meta index.
  New script for easily duplicating logs to ElasticSearch.
  Some better elasticsearch reliability.
  Fixed small elasticsearch problem in configure output.
  Re-adding the needed call to FinishedRotation in the ES writer plugin.
  Tiny updates.
  Bringing elasticsearch branch up to date with master.
  Adding a define to make the stdint C macros available.
  Adding an extra header.
  Fixed a bug with messed up time value passing to elasticsearch.
  Small updates and a little standardization for config.h.in naming.
  Bug fixes.
  Bug fix and feature.
  Forgot to call the parent method for DoHeartBeat.
  Changed the escaping method.
  Flush logs to ES daemon as Bro is shutting down.
  Reduce the batch size to 1000 and add a maximum time interval for batches.
  Reworked bulk operation string construction to use ODesc and added json escaping.
  ...
2012-07-20 07:43:05 -07: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
Seth Hall
5d04d58385 Fixed small elasticsearch problem in configure output. 2012-07-17 13:57:23 -04:00
Seth Hall
cb7eac212e Small updates and a little standardization for config.h.in naming. 2012-06-17 22:55:11 -04:00
Vlad Grigorescu
d3bb4617e9 Configuration logic - if libcurl is found, enable elasticsearch plugin. 2012-06-15 11:21:24 -04:00
Vlad Grigorescu
7bee0b0d8e Added sending messages to ElasticSearch over HTTP. 2012-06-03 22:07:20 -04: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
8e2ce1d350 Fix CMake from warning about unused ENABLE_PERFTOOLS_DEBUG variable.
The variable was never "used" in the case google perftools was not
found, so CMake warned about it being unused since it was manually
specified as a cache variable in the configure script.  There might
be a better way to organize that, but this is a quick/easy hack.
2012-04-05 11:41:14 -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
Jon Siwek
b552979011 Raise minimum required CMake version to 2.6.3 2012-02-24 13:14:49 -06:00
Jon Siwek
d750c3ba74 Promote libz and libmagic to required dependencies. 2011-11-11 12:39:00 -06:00
Jon Siwek
22a89011a5 Update to use cmake submodule 2011-09-20 10:15:09 -05:00
Robin Sommer
fbe6356927 Install binaries with an RPATH.
Note, I didn't see the topic/jsiwek/cmake-rpath branch in the Bro
repository so I copied the change from the submodules, assuming it
applies in the same way.
2011-09-04 09:00:55 -07:00
Robin Sommer
1ca9def9e6 Merge remote-tracking branch 'origin/topic/jsiwek/autodoc-fixes'
* origin/topic/jsiwek/autodoc-fixes:
  Update doc sources and touch up a few script comments.
  Fixes for script auto-documentation.

Conflicts:
	scripts/base/frameworks/logging/main.bro
2011-08-13 12:09:13 -07:00
Jon Siwek
b783732f7d Workaround for FreeBSD CMake port missing debug flags 2011-08-09 13:34:12 -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
Seth Hall
597a4d6704 Hopefully the last major script reorganization.
- policy/ renamed to scripts/

- By default BROPATH now contains:
	- scripts/
	- scripts/policy
	- scripts/site

- *Nearly* all tests pass.

- All of scripts/base/ is loaded by main.cc
	- Can be disabled by setting $BRO_NO_BASE_SCRIPTS
	- Scripts in scripts/base/ don't use relative path loading to ease use of BRO_NO_BASE_SCRIPTS (to copy and paste that script).

- The scripts in scripts/base/protocols/ only (or soon will only) do logging and state building.

- The scripts in scripts/base/frameworks/ add functionality without causing any additional overhead.

- All "detection" activity happens through scripts in scripts/policy/.

- Communications framework modified temporarily to need an environment variable to actually enable (ENABLE_COMMUNICATION=1)
	- This is so the communications framework can be loaded as part
	  of the base without causing trouble when it's not needed.
	- This will be removed once a resolution to ticket #540 is reached.
2011-08-05 23:09:53 -04:00
Seth Hall
cdca251f47 $PATH is now appropriately set by the bro-path-dev.(sh|csh) scripts. 2011-07-19 16:28:05 -04:00
Seth Hall
9576c85dab One more small vestige of the cluster config option. 2011-07-15 01:51:55 -04:00
Jon Siwek
7d261dcb55 Merge branch 'master' into topic/jsiwek/doc-framework
Conflicts:
	src/main.cc
2011-04-07 16:44:29 -05:00
Jon Siwek
5183ab409b Initial implementation of a make doc target to generate script docs. 2011-04-06 12:06:39 -05:00
Jon Siwek
9282e0adff Add explicit CMake check for compiler 2011-03-09 11:48:00 -06:00
Jon Siwek
abd92115f4 Add alternative way to set BROPATH for running bro from build/ dir.
Adds two extra shell scripts, one to handle either the c-shell
or bourne-shell syntax for setting environment variables, that can
be sourced in order to set the BROPATH directly in the current
shell/environment in a way that's compatible with running bro
from the build/ directory.
2011-03-02 14:14:07 -06:00
Jon Siwek
4da36217b7 Fix for the --with-binpac configure option
Compiling from existing sources no longer overrides this option.
2011-01-24 11:02:16 -06:00
Jon Siwek
6ea8def6f6 MacPorts & Fink paths now prepended to default search prefixes 2011-01-19 14:57:06 -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
5d1f1e9edb Fix package configuration macro returning from sub-project too early 2011-01-11 19:30:31 -06:00
Jon Siwek
911230b037 Add warning when building and installing are done by different users 2011-01-11 15:59: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
e89182dcc0 Changes to make running bro from build dir easier.
The 'bro-path-dev' script is configured at make time to echo the
right paths to policy files.
2010-12-06 11:30:52 -06:00
Jon Siwek
0f854e201b CMake 2.6 compatibility changes
Also removed Mac specific feature of rewriting optional library
install_names.
2010-11-30 13:21:30 -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
1b7c6b469e Fix to allow tilde ($HOME) in install prefix. 2010-11-20 20:40:54 -06:00
Jon Siwek
3b459c368c Added uninstall target 2010-11-20 12:18:54 -06:00
Jon Siwek
4982c02eba Source package excludes .git and generate only TGZ 2010-11-19 11:59:22 -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
552177c33a CPack's source package now ignores the build dir 2010-11-19 10:45:46 -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
efce9dbfe2 Customizable error messages for missing prereqs.
Adds the FindRequiredPackage() macro that wraps the functionality
of the standard find_package() macro.
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
7eb92d6a2d Style/comment enhancements. 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
Jon Siwek
43cbe2a9fc Added configure option to build aux. tools.
Also updated submodules to fix small bug in CMake module path.
2010-11-17 20:38:34 -06:00
Jon Siwek
02e17e949b Added configure script to wrap cmake functionality 2010-11-17 20:38:34 -06:00