mirror of
https://github.com/zeek/zeek.git
synced 2025-10-12 19:48:20 +00:00
script_opt: Extend Support.h to break include dependencies
Rebuilding ZBody.cc is annoyingly slow with UBSAN or ASAN enabled. A rebuild is currently triggered when touching Manager.h files like logging/Manager.h, broker/Manager.h or file_analysis/Manager.h and various other headers that are included from there or directly in ZBody.h. Add tiny wrapper functions to Support.h that encapsulate the actual Zeek functionality and move the includes to Support.cc instead. This will cause frequent Support.cc rebuilds, but that is decently fast. This comes at the expense of one indirect function call for some ops, but its overhead should be negligible in comparison to a lookup for a connection or component or a log_mgr->Write() call.
This commit is contained in:
parent
bbd7adc0dc
commit
4e7bb59bb1
5 changed files with 216 additions and 125 deletions
|
@ -8,31 +8,6 @@
|
|||
#include "zeek/script_opt/ZAM/Profile.h"
|
||||
#include "zeek/script_opt/ZAM/Support.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// Headers needed for run-time execution:
|
||||
|
||||
// Needed for managing the corresponding values.
|
||||
#include "zeek/File.h"
|
||||
#include "zeek/Func.h"
|
||||
#include "zeek/OpaqueVal.h"
|
||||
|
||||
// Just needed for BiFs.
|
||||
#include "zeek/analyzer/Manager.h"
|
||||
#include "zeek/analyzer/protocol/conn-size/ConnSize.h"
|
||||
#include "zeek/broker/Manager.h"
|
||||
#include "zeek/file_analysis/Manager.h"
|
||||
#include "zeek/file_analysis/file_analysis.bif.h"
|
||||
#include "zeek/logging/Manager.h"
|
||||
#include "zeek/packet_analysis/Manager.h"
|
||||
#include "zeek/packet_analysis/protocol/gtpv1/GTPv1.h"
|
||||
#include "zeek/packet_analysis/protocol/teredo/Teredo.h"
|
||||
|
||||
#include "zeek.bif.func_h"
|
||||
|
||||
// For reading_live and reading_traces
|
||||
#include "zeek/RunState.h"
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
namespace zeek::detail {
|
||||
|
||||
// Static information about globals used in a function.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue