aol/moloch — pull request #216 by yalla (2014-03-07 20:19:50+00:00)
Title: Preparations for building on OSX

I'm currently trying to make it build on OSX. It doesn't compile yet due compiler dependencies. Apple's llvm-gcc42 doesn't support `-ug_checksum_update`, the other gcc-variants from Macports do, but don't support `-rdynamic`. Still working on this. Submitting anyway because other people might pick up the problem as well.

However, I had to do the following changes (safely wrapped around `#ifdef __APPLE__`):

* adapted `setsockopt()` and `getsockopt()` for `__APPLE__`
* adapted tcphdr/udphdr semantics for `__APPLE__`
* adapted file flags; `O_DIRECT`, `O_NOATIME` not supported on `__APPLE__`, `O_LARGEFILE` not necessary, files are always large (if I understood it correctly `noatime` can only be set per filesystem)
* added OSX-compile-notes.txt; assumes Macports is installed at `/opt/local` (the default) and the necessary libraries are already in place. Obviously `PF_RING` won't work on this platform.

I'm pretty sure that most of these changes will enhance the possibility to make it compile on other *BSD platforms; at least on NetBSD and IRIX the `tcphdr` and `udphdr` structs are similar to OSX.

Cheers, Alex.