diff --git a/src/Options.cc b/src/Options.cc index de49298435..b01e859087 100644 --- a/src/Options.cc +++ b/src/Options.cc @@ -133,7 +133,7 @@ void usage(const char* prog) { printf(" -T|--re-level | set 'RE_level' for rules\n"); printf(" -U|--status-file | Record process status in file\n"); printf(" -W|--watchdog | activate watchdog timer\n"); - printf(" -X|--zeekygen | generate documentation based on config file\n"); + printf(" -X|--zeekygen | generate documentation based on config file; implies -a\n"); #ifdef USE_PERFTOOLS_DEBUG printf(" -m|--mem-leaks | show leaks [perftools]\n"); diff --git a/src/zeek-setup.cc b/src/zeek-setup.cc index 8e79f3a5a8..68bc62647c 100644 --- a/src/zeek-setup.cc +++ b/src/zeek-setup.cc @@ -641,6 +641,10 @@ SetupResult setup(int argc, char** argv, Options* zopts) { auto zeekygen_cfg = options.zeekygen_config_file.value_or(""); zeekygen_mgr = new zeekygen::detail::Manager(zeekygen_cfg, zeek_argv[0]); + // Zeekygen documentation generation (via -X) implies we only parse: + if ( ! zeekygen_cfg.empty() ) + detail::parse_only = true; + add_essential_input_file("base/init-bare.zeek"); add_essential_input_file("builtin-plugins/__preload__.zeek"); add_essential_input_file("base/init-frameworks-and-bifs.zeek"); @@ -985,7 +989,7 @@ SetupResult setup(int argc, char** argv, Options* zopts) { } } - if ( options.parse_only ) { + if ( detail::parse_only ) { if ( analysis_options.usage_issues > 0 ) analyze_scripts(options.no_unused_warnings);