[Bro-Dev] Cmake for Bro

Robin Sommer robin at icir.org
Mon Oct 18 10:04:09 PDT 2010

(Moving this to bro-dev, let's keep dev discussions there). 

On Mon, Oct 18, 2010 at 11:13 -0500, you wrote:

> I can see that happening.  I'll plan for that to happen unless we
> find some other CMake projects that are doing something more
> brilliant.

Ok, I think this is my favorite option so far, it will also solve
the --help problem. 

> 1) --enable-shippedpcap, "use the shipped version of libpcap"

Please get rid of that, we don't want to ship a pcap anymore at all. 

> 2) bison vs. byacc

I think the main reason for supporting both was that some systems
used to come with the former, and others with the latter. I'm not
sure how that's today, but I'd be fine supporting just bison. Vern,
what do you think?

Just looked at the other (Bro-specific) configure options, below are
my thoughts. Anybody, please check whether you agree (active mapping
and DFA cache expiration I'm most unsure about). 


--------- cut -------------------------------------------------------

  --enable-brov6          enable IPV6 processing
    -> Keep; we should eventually turn this always on and remove the
    configure option, but we aren't quire there yet. 

  --enable-int64          enable use of int64 (long long) for integers
    -> Remove; let's always turns this on and remove the configure option. 
  --enable-activemapping  enable active mapping processing
    -> Do we want to keep active mapping in the code? Is anybody
    using that?
  --enable-expire-dfa-states enable DFA state expiration
    -> Do we want to keep this in code? Nobody is probably using
    it, and it complicates the DFA code quite a bit.
  --enable-debug          no compiler optimizations
    -> Keep. 
  --disable-select-loop   disable select-based main loop
    -> Remove; no longer needed.
  --enable-perftools      use Google's perftools
    -> Keep. 
  --enable-shippedpcap    use the shipped version of libpcap
    -> Remove.
  --disable-nbdns         Disable non-blocking DNS support
    -> Remove; don't think anybody uses this.
  --disable-largefile     omit support for large files
    -> Remove.
  --disable-broccoli      Do not build/package Broccoli
    -> Remove; broccoli will be its own package.
  --disable-broctl        Do not build/package broctl framework
    -> Remove; BroControl will be its own package.
  --enable-cluster        Configure broctl for cluster usage
    -> Remove; that's an option for BroControl.

  --with-openssl=PATH     path to OpenSSL (needed for SSL analyzer and secure communication)
    -> Keep, but I'm wondering whether we should make OpenSSL a
    mandatory dependency to get rid of all the "#if openssl"
  --with-perl=PATH        path/name of the Perl interpreter
     -> Remove; I don't think we're using Perl anywhere anymore. 
  --with-dag=PATH         path to the DAG library (for native support for Endace Tech.'s DAG monitoring cards)
     -> Remove; nobody has been using the native DAG support in
  --with-binpac=PATH      path to a binpac executable for compiling analyzer code
     -> Keep. 

Robin Sommer * Phone +1 (510) 722-6541 * robin at icir.org 
ICSI/LBNL    * Fax   +1 (510) 666-2956 *   www.icir.org

More information about the bro-dev mailing list