From 15033a2b626ea8d932ca6743587ead0b2bd70688 Mon Sep 17 00:00:00 2001 From: Daniel Thayer Date: Fri, 12 Oct 2012 16:54:26 -0500 Subject: [PATCH] Allow faster rebuilds in certain cases Previously, when rebuilding with a different "--prefix" or "--scriptdir", all Bro source files were recompiled. With this change, only util.cc is recompiled. Instead of specifying command-line preprocessor macros on all source files, a header file is regenerated when needed which only util.cc includes. --- src/CMakeLists.txt | 5 +---- src/util-config.h.in | 3 +++ src/util.cc | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 src/util-config.h.in diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ce440852d7..b77863d107 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -4,6 +4,7 @@ include_directories(BEFORE ) configure_file(version.c.in ${CMAKE_CURRENT_BINARY_DIR}/version.c) +configure_file(util-config.h.in ${CMAKE_CURRENT_BINARY_DIR}/util-config.h) # This creates a custom command to transform a bison output file (inFile) # into outFile in order to avoid symbol conflicts: @@ -444,10 +445,6 @@ set(bro_SRCS collect_headers(bro_HEADERS ${bro_SRCS}) -add_definitions(-DBRO_SCRIPT_INSTALL_PATH="${BRO_SCRIPT_INSTALL_PATH}") -add_definitions(-DBRO_SCRIPT_SOURCE_PATH="${BRO_SCRIPT_SOURCE_PATH}") -add_definitions(-DBRO_BUILD_PATH="${CMAKE_CURRENT_BINARY_DIR}") - add_executable(bro ${bro_SRCS} ${bro_HEADERS}) target_link_libraries(bro ${brodeps} ${CMAKE_THREAD_LIBS_INIT}) diff --git a/src/util-config.h.in b/src/util-config.h.in new file mode 100644 index 0000000000..c50c4e6b48 --- /dev/null +++ b/src/util-config.h.in @@ -0,0 +1,3 @@ +#define BRO_SCRIPT_INSTALL_PATH "@BRO_SCRIPT_INSTALL_PATH@" +#define BRO_SCRIPT_SOURCE_PATH "@BRO_SCRIPT_SOURCE_PATH@" +#define BRO_BUILD_PATH "@CMAKE_CURRENT_BINARY_DIR@" diff --git a/src/util.cc b/src/util.cc index 3b6fcac76f..76ca7729df 100644 --- a/src/util.cc +++ b/src/util.cc @@ -1,6 +1,7 @@ // See the file "COPYING" in the main distribution directory for copyright. #include "config.h" +#include "util-config.h" #ifdef TIME_WITH_SYS_TIME # include