From a911ebb353ead05be37723b7bca8b42857423462 Mon Sep 17 00:00:00 2001
From: hsc <hsc@8c4709b5-6ec9-48aa-a5cd-a96041d1645a>
Date: Fri, 19 Oct 2012 09:45:00 +0000
Subject: [PATCH] Revert "explicit aspect activation"

Unfortunately, this does not (yet) work as advertised.  I need to fight another
round of CMake battles before retrying.  Reverting to previous state for now.

This reverts r1753.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1767 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
---
 CMakeLists.txt                                |  19 ++-
 cmake/bochs.cmake                             |   2 +-
 cmake/compilerconfig.cmake                    |   8 +-
 cmake/macros.cmake                            |   5 -
 src/CMakeLists.txt                            |   3 -
 src/core/sal/CMakeLists.txt                   | 118 ++++++------------
 src/core/sal/bochs/BochsListener.ah           |   7 +-
 src/core/sal/bochs/BochsNoAbort.ah            |   6 +
 src/core/sal/bochs/BochsNonVerbose.ah         |   6 +
 src/core/sal/bochs/Breakpoints.ah             |   6 +
 src/core/sal/bochs/Credits.ah                 |   8 +-
 .../sal/bochs/DisableKeyboardInterrupt.ah     |   6 +
 src/core/sal/bochs/DisableLogFunctions.ah     |   5 +
 src/core/sal/bochs/FailBochsInit.ah           |   5 +
 src/core/sal/bochs/FireInterrupt.ah           |   7 +-
 src/core/sal/bochs/GuestSysCom.ah             |   6 +
 src/core/sal/bochs/IOPortCom.ah               |   7 ++
 src/core/sal/bochs/Interrupt.ah               |   6 +
 src/core/sal/bochs/InterruptSuppression.ah    |   6 +
 src/core/sal/bochs/Jump.ah                    |   7 ++
 src/core/sal/bochs/MemAccess.ah               |   6 +
 src/core/sal/bochs/Reboot.ah                  |   6 +
 src/core/sal/bochs/RestoreState.ah            |   7 ++
 src/core/sal/bochs/SaveState.ah               |   6 +
 src/core/sal/bochs/Trap.ah                    |   6 +
 src/core/sal/gem5/Gem5Listener.ah             |   6 +
 src/core/sal/ovp/FailOVPInit.ah               |   6 +
 .../sal/perf/BreakpointControllerSlice.ah     |   6 +
 src/core/sal/perf/BreakpointManagerSlice.ah   |   6 +
 src/core/sal/perf/FastBreakpoints.ah          |   4 +
 src/core/sal/qemu/QEMUListener.ah             |   6 +
 src/core/sal/t32/T32Listener.ah               |   6 +
 src/dummy.ah                                  |   4 -
 .../checksum-oostubs/CMakeLists.txt           |   1 -
 src/experiments/cool-checksum/CMakeLists.txt  |   1 -
 .../ecos_kernel_test/CMakeLists.txt           |   1 -
 src/experiments/fault-coverage/CMakeLists.txt |   1 -
 src/experiments/fire-interrupt/CMakeLists.txt |   1 -
 src/experiments/hsc-simple/CMakeLists.txt     |   1 -
 src/experiments/l4-sys/CMakeLists.txt         |   1 -
 .../mh-test-campaign/CMakeLists.txt           |   1 -
 src/experiments/perf-test/CMakeLists.txt      |   1 -
 src/experiments/rampage/CMakeLists.txt        |   1 -
 .../regression-test/CMakeLists.txt            |   1 -
 src/experiments/tracing-test/CMakeLists.txt   |   1 -
 src/experiments/vezs-example/CMakeLists.txt   |   1 -
 .../weather-monitor/CMakeLists.txt            |   1 -
 47 files changed, 201 insertions(+), 131 deletions(-)
 delete mode 100644 cmake/macros.cmake
 delete mode 100644 src/dummy.ah

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7f136110..0f87d994 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -10,13 +10,6 @@ PROJECT(Fail*)
 
 set(PROJECT_VERSION "0.0.1" CACHE STRING "Fail* version number")
 
-#### Setup search path for custom cmake scripts  ####
-SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
-
-# initialize list of active aspect headers
-set(CMAKE_ASPECT_HEADERS "" CACHE INTERNAL "List of active aspect headers" FORCE)
-include(macros)
-
 #### Put all resulting library files in <your_build_dir>/lib ####
 SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib)
 
@@ -26,6 +19,13 @@ SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
 ## (The autoconf'd Bochs instance is placed in the auto-configured path,
 ## as we still just call Bochs' Makefile's make install)
 
+
+#### Setup search path for custom cmake scipts  ####
+SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
+
+#### Compiler configuration, see cmake/compilerconfig.cmake
+include(compilerconfig)
+
 #### Backend selection ####
 OPTION( BUILD_BOCHS  "Build Bochs Variant?" ON)
 OPTION( BUILD_GEM5   "Build gem5 Variant?" OFF)
@@ -66,17 +66,12 @@ include_directories(${CMAKE_BINARY_DIR}/src/core)
 ## Add CMakeLists from subdirectories:
 add_subdirectory(src)
 
-#### Compiler configuration, see cmake/compilerconfig.cmake
-# Needs to come after source subdirectories, as we only now know all active .ah files.
-include(compilerconfig)
-
 #### Backend-related build system stuff
 include(bochs)
 include(gem5)
 include(ovp)
 include(qemu)
 include(t32)
-
 ## Just for testing:
 ## Invoking bochs build via external project
 # Setup configure call for bochs (-> make ebochs)
diff --git a/cmake/bochs.cmake b/cmake/bochs.cmake
index 3127ddee..a0778c84 100644
--- a/cmake/bochs.cmake
+++ b/cmake/bochs.cmake
@@ -71,7 +71,7 @@ if(BUILD_BOCHS)
   set(bochs_src_dir ${PROJECT_SOURCE_DIR}/simulators/bochs)
 
   add_custom_command(OUTPUT "${bochs_src_dir}/libfailbochs.a"
-    COMMAND +make -C ${bochs_src_dir} CXX=\"ag++ ${AGPP_PARAMETERS} -I${PROJECT_SOURCE_DIR}/src/core -I${CMAKE_BINARY_DIR}/src/core --Xcompiler\" LIBTOOL=\"/bin/sh ./libtool --tag=CXX\" libfailbochs.a
+    COMMAND +make -C ${bochs_src_dir} CXX=\"ag++ -p ${PROJECT_SOURCE_DIR} -I${PROJECT_SOURCE_DIR}/src/core -I${CMAKE_BINARY_DIR}/src/core ${CMAKE_AGPP_FLAGS} --Xcompiler\" LIBTOOL=\"/bin/sh ./libtool --tag=CXX\" libfailbochs.a
     COMMENT "[${PROJECT_NAME}] Building libfailbochs"
   )
 
diff --git a/cmake/compilerconfig.cmake b/cmake/compilerconfig.cmake
index dfa65c3c..c656c54b 100644
--- a/cmake/compilerconfig.cmake
+++ b/cmake/compilerconfig.cmake
@@ -18,12 +18,8 @@ elseif(${COMPILER} STREQUAL "ag++")
   set(CMAKE_C_COMPILER "ag++")
   set(CMAKE_CXX_COMPILER "ag++")
   set(CMAKE_AGPP_FLAGS "--real-instances" CACHE STRING "Additional ag++ flags, e.g. --real-instances --keep_woven")
-  foreach(aspect_header ${CMAKE_ASPECT_HEADERS})
-    list(APPEND AGPP_ASPECTLIST -a ${aspect_header})
-  endforeach(aspect_header)
-  set(AGPP_PARAMETERS ${AGPP_ASPECTLIST} -p ${CMAKE_SOURCE_DIR} ${CMAKE_AGPP_FLAGS})
-  unset(AGPP_ASPECTLIST)
-  add_definitions(${AGPP_PARAMETERS} --Xcompiler)
+  ## Here we add the build dir holding the generated header files (protobuf)
+  add_definitions("-p ${CMAKE_SOURCE_DIR} ${CMAKE_AGPP_FLAGS} --Xcompiler")
 
 else(${COMPILER} STREQUAL "clang")
   message(FATAL_ERROR "COMPILER must be exactly one of clang/gcc/ag++.  If unsure, use 'ag++'.")
diff --git a/cmake/macros.cmake b/cmake/macros.cmake
deleted file mode 100644
index 503892b3..00000000
--- a/cmake/macros.cmake
+++ /dev/null
@@ -1,5 +0,0 @@
-macro(add_aspect_headers)
-	foreach(ah_path ${ARGN})
-		set(CMAKE_ASPECT_HEADERS ${CMAKE_ASPECT_HEADERS} ${ah_path} CACHE INTERNAL "List of active aspect headers")
-	endforeach()
-endmacro()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 33717a8d..bbc85a11 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -29,9 +29,6 @@ endforeach(plugin_name)
 # (probably there's a smarter way to do that with cmake?)
 add_library(fail dummy.cc)
 
-# dummy .ah file to keep the aspect-header list non-empty
-add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/dummy.ah)
-
 ## Setup build dependencies of the Fail* lib 
 ## -> the Fail* targets and user defined experiment targets
 # start/end-group: ld must iterate over these archives more than once to figure
diff --git a/src/core/sal/CMakeLists.txt b/src/core/sal/CMakeLists.txt
index 797753a3..9c1deb33 100644
--- a/src/core/sal/CMakeLists.txt
+++ b/src/core/sal/CMakeLists.txt
@@ -1,104 +1,58 @@
-# common:
-set(SRCS
-	Listener.cc
-	ListenerManager.cc
-	SALConfig.cc
-	Register.cc
-	SimulatorController.cc
-	perf/BreakpointBuffer.cc
-)
-if(CONFIG_FAST_BREAKPOINTS)
-	add_aspect_headers(
-		${CMAKE_CURRENT_SOURCE_DIR}/perf/BreakpointControllerSlice.ah
-		${CMAKE_CURRENT_SOURCE_DIR}/perf/BreakpointManagerSlice.ah
-		${CMAKE_CURRENT_SOURCE_DIR}/perf/FastBreakpoints.ah)
-endif()
-
 if(BUILD_BOCHS)
-	list(APPEND SRCS
+	set(SRCS
+		Listener.cc
+		ListenerManager.cc
+		SALConfig.cc
+		Register.cc
+		SimulatorController.cc
+		perf/BreakpointBuffer.cc
 		bochs/BochsController.cc
 		bochs/BochsListener.cc
 	)
-	add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/BochsListener.ah)
-	if(CONFIG_BOCHS_NO_ABORT)
-		add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/BochsNoAbort.ah)
-	endif()
-	if(CONFIG_BOCHS_NON_VERBOSE)
-		add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/BochsNonVerbose.ah)
-	endif()
-	if(CONFIG_EVENT_BREAKPOINTS)
-		add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/Breakpoints.ah)
-	endif()
-	add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/Credits.ah)
-	if(CONFIG_DISABLE_KEYB_INTERRUPTS)
-		add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/DisableKeyboardInterrupt.ah)
-	endif()
-	add_aspect_headers(
-		${CMAKE_CURRENT_SOURCE_DIR}/bochs/DisableLogFunctions.ah
-		${CMAKE_CURRENT_SOURCE_DIR}/bochs/FailBochsInit.ah)
-	if(CONFIG_FIRE_INTERRUPTS)
-		add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/FireInterrupt.ah)
-	endif()
-	if(CONFIG_EVENT_GUESTSYS)
-		add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/GuestSysCom.ah)
-	endif()
-	if(CONFIG_EVENT_INTERRUPT)
-		add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/Interrupt.ah)
-	endif()
-	if(CONFIG_SUPPRESS_INTERRUPTS)
-		add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/InterruptSuppression.ah)
-	endif()
-	if(CONFIG_EVENT_IOPORT)
-		add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/IOPortCom.ah)
-	endif()
-	if(CONFIG_EVENT_JUMP)
-		add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/Jump.ah)
-	endif()
-	if(CONFIG_EVENT_MEMREAD OR CONFIG_EVENT_MEMWRITE)
-		add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/MemAccess.ah)
-	endif()
-	if(CONFIG_SR_REBOOT)
-		add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/Reboot.ah)
-	endif()
-	if(CONFIG_SR_RESTORE)
-		add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/RestoreState.ah)
-	endif()
-	if(CONFIG_SR_SAVE)
-		add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/SaveState.ah)
-	endif()
-	if(CONFIG_EVENT_TRAP)
-		add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/Trap.ah)
-	endif()
 elseif(BUILD_GEM5)
-	list(APPEND SRCS
+	set(SRCS
+		Listener.cc
+		ListenerManager.cc
+		SALConfig.cc
+		Register.cc
+		SimulatorController.cc
+		perf/BreakpointBuffer.cc
 		gem5/Gem5Controller.cc
 		gem5/Gem5PCEvents.cc
 	)
-	# note: contrary to the original preprocessor conditional we do not
-	# depend on CONFIG_EVENT_BREAKPOINTS here (not necessary)
-	add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/gem5/Gem5Listener.ah)
 elseif(BUILD_OVP)
-	list(APPEND SRCS
+	set(SRCS
+		Listener.cc
+		ListenerManager.cc
+		SALConfig.cc
+		Register.cc
+		SimulatorController.cc
+		perf/BreakpointBuffer.cc
 		${VARIANT}/OVPController.cc
 	)
-	add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/ovp/FailOVPInit.ah)
 elseif(BUILD_QEMU)
-	list(APPEND SRCS
+	set(SRCS
+		Listener.cc
+		ListenerManager.cc
+		SALConfig.cc
+		Register.cc
+		perf/BreakpointBuffer.cc
+		SimulatorController.cc
 		qemu/QEMUController.cc
 		qemu/wrappers.cc
 	)
-	# note: contrary to the original preprocessor conditional we do not
-	# depend on CONFIG_EVENT_BREAKPOINTS here (not necessary)
-	add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/qemu/QEMUListener.ah)
 elseif(BUILD_T32)
-	list(APPEND SRCS
+	set(SRCS
+		Listener.cc
+		ListenerManager.cc
+		SALConfig.cc
+		Register.cc
+		perf/BreakpointBuffer.cc
+		SimulatorController.cc
 		t32/T32Controller.cc
 		t32/wrappers.cc
 	)
-	# note: contrary to the original preprocessor conditional we do not
-	# depend on CONFIG_EVENT_BREAKPOINTS here (not necessary)
-	add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/t32/T32Listener.ah)
-endif()
+endif(BUILD_BOCHS)
 
 add_library(fail-sal ${SRCS})
 
diff --git a/src/core/sal/bochs/BochsListener.ah b/src/core/sal/bochs/BochsListener.ah
index 37a8f40d..ea290a5e 100644
--- a/src/core/sal/bochs/BochsListener.ah
+++ b/src/core/sal/bochs/BochsListener.ah
@@ -1,9 +1,13 @@
 #ifndef __BOCHS_LISTENER_AH__
   #define __BOCHS_LISTENER_AH__
 
+#include "config/VariantConfig.hpp"
+#include "config/FailConfig.hpp"
+
+#if defined(BUILD_BOCHS) && defined(CONFIG_EVENT_BREAKPOINTS)
+
 #include <cassert>
 #include "bochs.h"
-
 #include "BochsListener.hpp"
 
 /*
@@ -47,4 +51,5 @@ aspect BochsListener {
 	};
 };
 
+#endif // BUILD_BOCHS && CONFIG_EVENT_BREAKPOINTS
 #endif // __BOCHS_LISTENER_AH__
diff --git a/src/core/sal/bochs/BochsNoAbort.ah b/src/core/sal/bochs/BochsNoAbort.ah
index fcb9ca61..2f719377 100644
--- a/src/core/sal/bochs/BochsNoAbort.ah
+++ b/src/core/sal/bochs/BochsNoAbort.ah
@@ -1,6 +1,11 @@
 #ifndef __BOCHS_NO_ABORT_AH__
   #define __BOCHS_NO_ABORT_AH__
 
+#include "config/VariantConfig.hpp"
+#include "config/FailConfig.hpp"
+
+#if defined(BUILD_BOCHS) && defined(CONFIG_BOCHS_NO_ABORT)
+
 #include "bochs.h"
 
 aspect BochsNoAbort {
@@ -32,4 +37,5 @@ aspect BochsNoAbort {
 	}
 };
 
+#endif // CONFIG_BOCHS_NO_ABORT
 #endif // __BOCHS_NO_ABORT_AH__
diff --git a/src/core/sal/bochs/BochsNonVerbose.ah b/src/core/sal/bochs/BochsNonVerbose.ah
index 172e1a30..a978f6e7 100644
--- a/src/core/sal/bochs/BochsNonVerbose.ah
+++ b/src/core/sal/bochs/BochsNonVerbose.ah
@@ -1,6 +1,11 @@
 #ifndef __BOCHS_NON_VERBOSE_AH__
   #define __BOCHS_NON_VERBOSE_AH__
 
+#include "config/VariantConfig.hpp"
+#include "config/FailConfig.hpp"
+
+#if defined(BUILD_BOCHS) && defined(CONFIG_BOCHS_NON_VERBOSE)
+
 #include "bochs.h"
 
 /*
@@ -52,4 +57,5 @@ aspect BochsNonVerbose {
 	     : around () { }
 };
 
+#endif // CONFIG_BOCHS_NON_VERBOSE
 #endif // __BOCHS_NON_VERBOSE_AH__
diff --git a/src/core/sal/bochs/Breakpoints.ah b/src/core/sal/bochs/Breakpoints.ah
index 32238a80..768a5705 100644
--- a/src/core/sal/bochs/Breakpoints.ah
+++ b/src/core/sal/bochs/Breakpoints.ah
@@ -1,6 +1,11 @@
 #ifndef __BREAKPOINTS_AH__
   #define __BREAKPOINTS_AH__
 
+#include "config/VariantConfig.hpp"
+#include "config/FailConfig.hpp"
+
+#if defined(BUILD_BOCHS) && defined(CONFIG_EVENT_BREAKPOINTS)
+
 #include "bochs.h"
 #include "cpu/cpu.h"
 
@@ -24,4 +29,5 @@ aspect Breakpoints {
 	}
 };
 
+#endif // CONFIG_EVENT_BREAKPOINTS
 #endif // __BREAKPOINTS_AH__
diff --git a/src/core/sal/bochs/Credits.ah b/src/core/sal/bochs/Credits.ah
index 4e9bcd63..0268392c 100644
--- a/src/core/sal/bochs/Credits.ah
+++ b/src/core/sal/bochs/Credits.ah
@@ -1,11 +1,14 @@
 #ifndef __CREDITS_AH__
   #define __CREDITS_AH__
 
+#include "config/VariantConfig.hpp"
+#include "config/FailConfig.hpp"
+
+#ifdef BUILD_BOCHS
+
 #include <string.h>
 #include <stdio.h>
 
-#include "config/FailConfig.hpp"
-
 aspect Credits {
 	bool first;
 	Credits() : first(true) {}
@@ -28,4 +31,5 @@ aspect Credits {
 	}
 };
 
+#endif // BUILD_BOCHS
 #endif // __CREDITS_AH__
diff --git a/src/core/sal/bochs/DisableKeyboardInterrupt.ah b/src/core/sal/bochs/DisableKeyboardInterrupt.ah
index b0835685..b7010193 100644
--- a/src/core/sal/bochs/DisableKeyboardInterrupt.ah
+++ b/src/core/sal/bochs/DisableKeyboardInterrupt.ah
@@ -1,6 +1,11 @@
 #ifndef __DISABLE_KEYBOARD_INTERRUPT_AH__
   #define __DISABLE_KEYBOARD_INTERRUPT_AH__
 
+#include "config/VariantConfig.hpp"
+#include "config/FailConfig.hpp"
+
+#if defined(BUILD_BOCHS) && defined(CONFIG_DISABLE_KEYB_INTERRUPTS)
+
 #include "iodev/iodev.h"
 #include "iodev/keyboard.h"
 
@@ -17,4 +22,5 @@ aspect DisableKeyboardInterrupt {
 	}
 };
 
+#endif // CONFIG_DISABLE_KEYB_INTERRUPTS
 #endif // __DISABLE_KEYBOARD_INTERRUPT_AH__
diff --git a/src/core/sal/bochs/DisableLogFunctions.ah b/src/core/sal/bochs/DisableLogFunctions.ah
index 278c92be..190e32b9 100644
--- a/src/core/sal/bochs/DisableLogFunctions.ah
+++ b/src/core/sal/bochs/DisableLogFunctions.ah
@@ -1,6 +1,10 @@
 #ifndef __DISABLE_ADD_REMOVE_LOGFN_AH__
   #define __DISABLE_ADD_REMOVE_LOGFN_AH__
 
+#include "config/VariantConfig.hpp"
+
+#ifdef BUILD_BOCHS
+
 /* Hack to prevent Bochs' logfunctions list (bochs.h) to overflow if the
  * experiment restores simulator state more than ~1000 times.
  *
@@ -16,4 +20,5 @@ aspect DisableLogFunctions {
 	advice execution (add_remove_logfn()) : around () { }
 };
 
+#endif // BUILD_BOCHS
 #endif // __DISABLE_ADD_REMOVE_LOGFN_AH__
diff --git a/src/core/sal/bochs/FailBochsInit.ah b/src/core/sal/bochs/FailBochsInit.ah
index 464e4ed6..42b9fcac 100644
--- a/src/core/sal/bochs/FailBochsInit.ah
+++ b/src/core/sal/bochs/FailBochsInit.ah
@@ -1,6 +1,10 @@
 #ifndef __FAIL_BOCHS_INIT_AH__
   #define __FAIL_BOCHS_INIT_AH__
 
+#include "config/VariantConfig.hpp"
+
+#ifdef BUILD_BOCHS
+
 #include "../SALInst.hpp"
 
 aspect FailBochsInit {
@@ -10,4 +14,5 @@ aspect FailBochsInit {
 	}
 };
 
+#endif
 #endif // __FAIL_BOCHS_INIT_AH__
diff --git a/src/core/sal/bochs/FireInterrupt.ah b/src/core/sal/bochs/FireInterrupt.ah
index cbd04b66..de31e871 100644
--- a/src/core/sal/bochs/FireInterrupt.ah
+++ b/src/core/sal/bochs/FireInterrupt.ah
@@ -1,10 +1,14 @@
 #ifndef __FIREINTERRUPT_AH__
   #define __FIREINTERRUPT_AH__
 
+#include "config/VariantConfig.hpp"
+#include "config/FailConfig.hpp"
+
+#if defined(BUILD_BOCHS) && defined(CONFIG_FIRE_INTERRUPTS)
+
 #include "bochs.h"
 #include "cpu/cpu.h"
 #include "iodev/iodev.h"
-
 #include "../SALInst.hpp"
 
 aspect FireInterrupt {
@@ -37,4 +41,5 @@ aspect InterruptDone {
 	}
 };
 
+#endif // CONFIG_FIRE_INTERRUPTS
 #endif // __FIREINTERRUPT_AH__
diff --git a/src/core/sal/bochs/GuestSysCom.ah b/src/core/sal/bochs/GuestSysCom.ah
index 6c4fa5b9..5cf412be 100644
--- a/src/core/sal/bochs/GuestSysCom.ah
+++ b/src/core/sal/bochs/GuestSysCom.ah
@@ -1,6 +1,11 @@
 #ifndef __GUEST_SYS_COM_AH__
   #define __GUEST_SYS_COM_AH__
 
+#include "config/VariantConfig.hpp"
+#include "config/FailConfig.hpp"
+
+#if defined(BUILD_BOCHS) && defined(CONFIG_EVENT_GUESTSYS)
+
 #include "bochs.h"
 #include "cpu/cpu.h"
 
@@ -24,4 +29,5 @@ aspect GuestSysCom {
 	}
 };
 
+#endif // CONFIG_EVENT_GUESTSYS
 #endif // __GUEST_SYS_COM_AH__
diff --git a/src/core/sal/bochs/IOPortCom.ah b/src/core/sal/bochs/IOPortCom.ah
index 411cde86..18fa3722 100644
--- a/src/core/sal/bochs/IOPortCom.ah
+++ b/src/core/sal/bochs/IOPortCom.ah
@@ -1,10 +1,16 @@
 #ifndef __IOPORT_COM_AH__
   #define __IOPORT_COM_AH__
 
+#include "config/VariantConfig.hpp"
+#include "config/FailConfig.hpp"
+
+#if defined(BUILD_BOCHS) && defined(CONFIG_EVENT_IOPORT)
+
 #include "bochs.h"
 #include "cpu/cpu.h"
 
 #include "../SALInst.hpp"
+
 #include "BochsHelpers.hpp"
 
 // TODO: ATM only capturing bytewise output (most common, I suppose)
@@ -29,4 +35,5 @@ aspect IOPortCom {
 	}
 };
 
+#endif // CONFIG_EVENT_IOPORT
 #endif // __IOPORT_COM_AH__
diff --git a/src/core/sal/bochs/Interrupt.ah b/src/core/sal/bochs/Interrupt.ah
index f1864586..d926ffc8 100644
--- a/src/core/sal/bochs/Interrupt.ah
+++ b/src/core/sal/bochs/Interrupt.ah
@@ -1,6 +1,11 @@
 #ifndef __INTERRUPT_AH__
   #define __INTERRUPT_AH__
 
+#include "config/VariantConfig.hpp"
+#include "config/FailConfig.hpp"
+
+#if defined(BUILD_BOCHS) && defined(CONFIG_EVENT_INTERRUPT)
+
 #include "bochs.h"
 #include "cpu/cpu.h"
 
@@ -30,4 +35,5 @@ aspect Interrupt {
 	}
 };
 
+#endif // CONFIG_EVENT_INTERRUPT
 #endif // __INTERRUPT_AH__
diff --git a/src/core/sal/bochs/InterruptSuppression.ah b/src/core/sal/bochs/InterruptSuppression.ah
index b5fda5ba..9500debf 100644
--- a/src/core/sal/bochs/InterruptSuppression.ah
+++ b/src/core/sal/bochs/InterruptSuppression.ah
@@ -1,6 +1,11 @@
 #ifndef __INTERRUPT_SUPPRESSION_AH__
   #define __INTERRUPT_SUPPRESSION_AH__
 
+#include "config/VariantConfig.hpp"
+#include "config/FailConfig.hpp"
+
+#if defined(BUILD_BOCHS) && defined(CONFIG_SUPPRESS_INTERRUPTS)
+
 #include "bochs.h"
 #include "cpu/cpu.h"
 
@@ -18,4 +23,5 @@ aspect InterruptSuppression {
 	}
 };
 
+#endif // CONFIG_SUPPRESS_INTERRUPTS
 #endif // __INTERRUPT_SUPPRESSION_AH__
diff --git a/src/core/sal/bochs/Jump.ah b/src/core/sal/bochs/Jump.ah
index b5e362b0..bf2920d0 100644
--- a/src/core/sal/bochs/Jump.ah
+++ b/src/core/sal/bochs/Jump.ah
@@ -1,10 +1,16 @@
 #ifndef __JUMP_AH__
   #define __JUMP_AH__
 
+#include "config/VariantConfig.hpp"
+#include "config/FailConfig.hpp"
+
+#if defined(BUILD_BOCHS) && defined(CONFIG_EVENT_JUMP)
+
 #include <iostream>
 #include <cstdlib>
 #include <string>
 #include <ctime>
+
 #include "bochs.h"
 
 #include "../SALInst.hpp"
@@ -129,4 +135,5 @@ aspect Jump {
 	}
 };
 
+#endif // CONFIG_EVENT_JUMP
 #endif // __JUMP_AH__
diff --git a/src/core/sal/bochs/MemAccess.ah b/src/core/sal/bochs/MemAccess.ah
index 86c0483b..37dbb030 100644
--- a/src/core/sal/bochs/MemAccess.ah
+++ b/src/core/sal/bochs/MemAccess.ah
@@ -1,8 +1,12 @@
 #ifndef __MEM_ACCESS_AH__
   #define __MEM_ACCESS_AH__
 
+#include "config/VariantConfig.hpp"
 #include "config/FailConfig.hpp"
 
+#ifdef BUILD_BOCHS
+#if defined(CONFIG_EVENT_MEMREAD) || defined(CONFIG_EVENT_MEMWRITE)
+
 #include <iostream>
 
 #include "bochs.h"
@@ -153,4 +157,6 @@ aspect MemAccess {
 #endif
 };
 
+#endif // CONFIG_EVENT_MEMACCESS
+#endif // BUILD_BOCHS
 #endif // __MEM_ACCESS_AH__
diff --git a/src/core/sal/bochs/Reboot.ah b/src/core/sal/bochs/Reboot.ah
index d27f7e41..d530f067 100644
--- a/src/core/sal/bochs/Reboot.ah
+++ b/src/core/sal/bochs/Reboot.ah
@@ -1,6 +1,11 @@
 #ifndef __REBOOT_AH__
   #define __REBOOT_AH__
 
+#include "config/VariantConfig.hpp"
+#include "config/FailConfig.hpp"
+
+#if defined(BUILD_BOCHS) && defined(CONFIG_SR_REBOOT)
+
 #include "bochs.h"
 #include "../SALInst.hpp"
 
@@ -20,4 +25,5 @@ aspect Reboot {
 	}
 };
 
+#endif // CONFIG_SR_REBOOT
 #endif // __REBOOT_AH__
diff --git a/src/core/sal/bochs/RestoreState.ah b/src/core/sal/bochs/RestoreState.ah
index c6bf969a..9c9001f6 100644
--- a/src/core/sal/bochs/RestoreState.ah
+++ b/src/core/sal/bochs/RestoreState.ah
@@ -1,7 +1,13 @@
 #ifndef __RESTORE_STATE_AH__
   #define __RESTORE_STATE_AH__
 
+#include "config/VariantConfig.hpp"
+#include "config/FailConfig.hpp"
+
+#if defined(BUILD_BOCHS) && defined(CONFIG_SR_RESTORE)
+
 #include <iostream>
+
 #include "bochs.h"
 
 #include "../SALInst.hpp"
@@ -17,4 +23,5 @@ aspect RestoreState {
 	}
 };
 
+#endif // CONFIG_SR_RESTORE
 #endif // __RESTORE_STATE_AH__
diff --git a/src/core/sal/bochs/SaveState.ah b/src/core/sal/bochs/SaveState.ah
index 7ca96af1..f0f11699 100644
--- a/src/core/sal/bochs/SaveState.ah
+++ b/src/core/sal/bochs/SaveState.ah
@@ -1,6 +1,11 @@
 #ifndef _SAVE_STATE_AH__
   #define _SAVE_STATE_AH__
 
+#include "config/VariantConfig.hpp"
+#include "config/FailConfig.hpp"
+
+#if defined(BUILD_BOCHS) && defined(CONFIG_SR_SAVE)
+
 #include "bochs.h"
 
 #include "../SALInst.hpp"
@@ -24,4 +29,5 @@ aspect SaveState {
 	}
 };
 
+#endif // CONFIG_SR_SAVE
 #endif // _SAVE_STATE_AH__
diff --git a/src/core/sal/bochs/Trap.ah b/src/core/sal/bochs/Trap.ah
index 02a58ad3..df427dea 100644
--- a/src/core/sal/bochs/Trap.ah
+++ b/src/core/sal/bochs/Trap.ah
@@ -1,6 +1,11 @@
 #ifndef __TRAP_AH__
   #define __TRAP_AH__
 
+#include "config/VariantConfig.hpp"
+#include "config/FailConfig.hpp"
+
+#if defined(BUILD_BOCHS) && defined(CONFIG_EVENT_TRAP)
+
 #include "bochs.h"
 #include "cpu/cpu.h"
 
@@ -17,4 +22,5 @@ aspect Trap {
 	}
 };
 
+#endif // CONFIG_EVENT_TRAP
 #endif // __TRAP_AH__
diff --git a/src/core/sal/gem5/Gem5Listener.ah b/src/core/sal/gem5/Gem5Listener.ah
index e685eac6..be3e556e 100644
--- a/src/core/sal/gem5/Gem5Listener.ah
+++ b/src/core/sal/gem5/Gem5Listener.ah
@@ -1,6 +1,11 @@
 #ifndef __GEM5LISTENER_AH__
   #define __GEM5LISTENER_AH__
 
+#include "config/VariantConfig.hpp"
+#include "config/FailConfig.hpp"
+
+#if defined(BUILD_GEM5) && defined(CONFIG_EVENT_BREAKPOINTS)
+
 #include "Gem5PCEvents.hpp"
 #include "sim/system.hh"
 
@@ -30,4 +35,5 @@ aspect Gem5Listener
 	};
 };
 
+#endif // BUILD_GEM5 && CONFIG_EVENT_BREAKPOINTS
 #endif // __GEM5LISTENER_AH__
diff --git a/src/core/sal/ovp/FailOVPInit.ah b/src/core/sal/ovp/FailOVPInit.ah
index d2c8f55c..ca79042f 100644
--- a/src/core/sal/ovp/FailOVPInit.ah
+++ b/src/core/sal/ovp/FailOVPInit.ah
@@ -1,7 +1,12 @@
 #ifndef __OVPINIT_AH__
   #define __OVPINIT_AH__
 
+#include "config/VariantConfig.hpp"
+
+#ifdef BUILD_OVP
+
 #include <iostream>
+
 #include "../SALInst.hpp"
 
 aspect FailOVPInit {
@@ -13,4 +18,5 @@ aspect FailOVPInit {
 	}
 };
 
+#endif // BUILD_OVP
 #endif // __OVPINIT_AH__
diff --git a/src/core/sal/perf/BreakpointControllerSlice.ah b/src/core/sal/perf/BreakpointControllerSlice.ah
index 250d579d..c4b8d4cd 100644
--- a/src/core/sal/perf/BreakpointControllerSlice.ah
+++ b/src/core/sal/perf/BreakpointControllerSlice.ah
@@ -1,6 +1,10 @@
 #ifndef __BREAKPOINT_CONTROLLER_SLICE_AH__
   #define __BREAKPOINT_CONTROLLER_SLICE_AH__
 
+#include "config/FailConfig.hpp"
+
+#ifdef CONFIG_FAST_BREAKPOINTS
+
 #include <iostream>
 #include "../Listener.hpp"
 
@@ -48,4 +52,6 @@ public:
 	{ addListener(rli); return resume(); }
 };
 
+#endif // CONFIG_FAST_BREAKPOINTS
+
 #endif // __BREAKPOINT_CONTROLLER_SLICE_AH__
diff --git a/src/core/sal/perf/BreakpointManagerSlice.ah b/src/core/sal/perf/BreakpointManagerSlice.ah
index 80954e5a..4d7266b9 100644
--- a/src/core/sal/perf/BreakpointManagerSlice.ah
+++ b/src/core/sal/perf/BreakpointManagerSlice.ah
@@ -1,6 +1,10 @@
 #ifndef __BREAKPOINT_MANAGER_SLICE_AH__
   #define __BREAKPOINT_MANAGER_SLICE_AH__
 
+#include "config/FailConfig.hpp"
+
+#ifdef CONFIG_FAST_BREAKPOINTS
+
 #include "BreakpointBuffer.hpp"
 
 /**
@@ -47,4 +51,6 @@ public:
 	}
 };
 
+#endif // CONFIG_FAST_BREAKPOINTS
+
 #endif // __BREAKPOINT_MANAGER_SLICE_AH__
diff --git a/src/core/sal/perf/FastBreakpoints.ah b/src/core/sal/perf/FastBreakpoints.ah
index 608b408c..f45d38e0 100644
--- a/src/core/sal/perf/FastBreakpoints.ah
+++ b/src/core/sal/perf/FastBreakpoints.ah
@@ -3,6 +3,8 @@
 
 #include "config/FailConfig.hpp"
 
+#ifdef CONFIG_FAST_BREAKPOINTS
+
 #ifndef CONFIG_EVENT_BREAKPOINTS
 #error Breakpoint events are required for fast breakpoints!
 #endif
@@ -78,4 +80,6 @@ aspect FastBreakpoints {
 	}
 };
 
+#endif // CONFIG_FAST_BREAKPOINTS // see above
+
 #endif // __FAST_BREAKPOINTS_AH__
diff --git a/src/core/sal/qemu/QEMUListener.ah b/src/core/sal/qemu/QEMUListener.ah
index 0ab842f5..1ee027af 100644
--- a/src/core/sal/qemu/QEMUListener.ah
+++ b/src/core/sal/qemu/QEMUListener.ah
@@ -1,6 +1,11 @@
 #ifndef __QEMULISTENER_AH__
   #define __QEMULISTENER_AH__
 
+#include "config/VariantConfig.hpp"
+#include "config/FailConfig.hpp"
+
+#if defined(BUILD_QEMU) && defined(CONFIG_EVENT_BREAKPOINTS)
+
 #include "../SALInst.hpp"
 
 extern "C" {
@@ -51,4 +56,5 @@ aspect QEMUListener
 	};
 };
 
+#endif // BUILD_QEMU && CONFIG_EVENT_BREAKPOINTS
 #endif // __QEMULISTENER_AH__
diff --git a/src/core/sal/t32/T32Listener.ah b/src/core/sal/t32/T32Listener.ah
index 1f0683a2..d7e9e01e 100644
--- a/src/core/sal/t32/T32Listener.ah
+++ b/src/core/sal/t32/T32Listener.ah
@@ -1,6 +1,11 @@
 #ifndef __T32LISTENER_AH__
   #define __T32LISTENER_AH__
 
+#include "config/VariantConfig.hpp"
+#include "config/FailConfig.hpp"
+
+#if defined(BUILD_T32) && defined(CONFIG_EVENT_BREAKPOINTS)
+
 #include "../SALInst.hpp"
 
 aspect T32Listener
@@ -26,4 +31,5 @@ aspect T32Listener
 	};
 };
 
+#endif // BUILD_T32 && CONFIG_EVENT_BREAKPOINTS
 #endif // __T32LISTENER_AH__
diff --git a/src/dummy.ah b/src/dummy.ah
deleted file mode 100644
index aa8b24fb..00000000
--- a/src/dummy.ah
+++ /dev/null
@@ -1,4 +0,0 @@
-// dummy aspect header:
-// Makes sure at least *one* .ah file is active, and ag++ is called with at
-// least *one* -a parameter.  Otherwise ag++ would take *all* .ah files in the
-// project tree into account.
diff --git a/src/experiments/checksum-oostubs/CMakeLists.txt b/src/experiments/checksum-oostubs/CMakeLists.txt
index 9950f837..5549eeda 100644
--- a/src/experiments/checksum-oostubs/CMakeLists.txt
+++ b/src/experiments/checksum-oostubs/CMakeLists.txt
@@ -3,7 +3,6 @@ set(EXPERIMENT_TYPE ChecksumOOStuBSExperiment)
 configure_file(../instantiate-experiment.ah.in
                ${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah @ONLY
 )
-add_aspect_headers(${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah)
 
 ## Setup desired protobuf descriptions HERE ##
 set(MY_PROTOS 
diff --git a/src/experiments/cool-checksum/CMakeLists.txt b/src/experiments/cool-checksum/CMakeLists.txt
index d6dd2d56..1edac21c 100644
--- a/src/experiments/cool-checksum/CMakeLists.txt
+++ b/src/experiments/cool-checksum/CMakeLists.txt
@@ -3,7 +3,6 @@ set(EXPERIMENT_TYPE CoolChecksumExperiment)
 configure_file(../instantiate-experiment.ah.in
                ${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah @ONLY
 )
-add_aspect_headers(${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah)
 
 ## Setup desired protobuf descriptions HERE ##
 set(MY_PROTOS 
diff --git a/src/experiments/ecos_kernel_test/CMakeLists.txt b/src/experiments/ecos_kernel_test/CMakeLists.txt
index c832eb57..be55671c 100644
--- a/src/experiments/ecos_kernel_test/CMakeLists.txt
+++ b/src/experiments/ecos_kernel_test/CMakeLists.txt
@@ -3,7 +3,6 @@ set(EXPERIMENT_TYPE EcosKernelTestExperiment)
 configure_file(../instantiate-experiment.ah.in
                ${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah @ONLY
 )
-add_aspect_headers(${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah)
 
 ## Setup desired protobuf descriptions HERE ##
 set(MY_PROTOS 
diff --git a/src/experiments/fault-coverage/CMakeLists.txt b/src/experiments/fault-coverage/CMakeLists.txt
index 0058c0a0..b0356a3a 100644
--- a/src/experiments/fault-coverage/CMakeLists.txt
+++ b/src/experiments/fault-coverage/CMakeLists.txt
@@ -4,7 +4,6 @@ set(EXPERIMENT_TYPE FaultCoverageExperiment)
 configure_file(../instantiate-experiment.ah.in
                ${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah @ONLY
 )
-add_aspect_headers(${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah)
 
 #experiment sources
 set(MY_EXPERIMENT_SRCS
diff --git a/src/experiments/fire-interrupt/CMakeLists.txt b/src/experiments/fire-interrupt/CMakeLists.txt
index c9df5739..457eb1ef 100644
--- a/src/experiments/fire-interrupt/CMakeLists.txt
+++ b/src/experiments/fire-interrupt/CMakeLists.txt
@@ -3,7 +3,6 @@ set(EXPERIMENT_TYPE FireInterruptExperiment)
 configure_file(../instantiate-experiment.ah.in
                ${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah @ONLY
 )
-add_aspect_headers(${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah)
 
 #experiment sources
 set(MY_EXPERIMENT_SRCS
diff --git a/src/experiments/hsc-simple/CMakeLists.txt b/src/experiments/hsc-simple/CMakeLists.txt
index 8bdb626d..26450fdb 100644
--- a/src/experiments/hsc-simple/CMakeLists.txt
+++ b/src/experiments/hsc-simple/CMakeLists.txt
@@ -3,7 +3,6 @@ set(EXPERIMENT_TYPE HSCSimpleExperiment)
 configure_file(../instantiate-experiment.ah.in
                ${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah @ONLY
 )
-add_aspect_headers(${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah)
 
 #experiment sources
 set(MY_EXPERIMENT_SRCS
diff --git a/src/experiments/l4-sys/CMakeLists.txt b/src/experiments/l4-sys/CMakeLists.txt
index aa2e7281..61112e19 100644
--- a/src/experiments/l4-sys/CMakeLists.txt
+++ b/src/experiments/l4-sys/CMakeLists.txt
@@ -3,7 +3,6 @@ set(EXPERIMENT_TYPE L4SysExperiment)
 configure_file(../instantiate-experiment.ah.in
                ${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah @ONLY
 )
-add_aspect_headers(${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah)
 
 ## Setup desired protobuf descriptions HERE ##
 set(MY_PROTOS 
diff --git a/src/experiments/mh-test-campaign/CMakeLists.txt b/src/experiments/mh-test-campaign/CMakeLists.txt
index 19bc80be..19828ffc 100644
--- a/src/experiments/mh-test-campaign/CMakeLists.txt
+++ b/src/experiments/mh-test-campaign/CMakeLists.txt
@@ -3,7 +3,6 @@ set(EXPERIMENT_TYPE MHTestExperiment)
 configure_file(../instantiate-experiment.ah.in
                ${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah @ONLY
 )
-add_aspect_headers(${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah)
 
 ## Setup desired protobuf descriptions HERE ##
 set(MY_PROTOS 
diff --git a/src/experiments/perf-test/CMakeLists.txt b/src/experiments/perf-test/CMakeLists.txt
index bc98119f..fd32857f 100644
--- a/src/experiments/perf-test/CMakeLists.txt
+++ b/src/experiments/perf-test/CMakeLists.txt
@@ -3,7 +3,6 @@ set(EXPERIMENT_TYPE PerfTestExperiment)
 configure_file(../instantiate-experiment.ah.in
                ${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah @ONLY
 )
-add_aspect_headers(${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah)
 
 #experiment sources
 set(MY_EXPERIMENT_SRCS
diff --git a/src/experiments/rampage/CMakeLists.txt b/src/experiments/rampage/CMakeLists.txt
index fce5377d..4d05b491 100644
--- a/src/experiments/rampage/CMakeLists.txt
+++ b/src/experiments/rampage/CMakeLists.txt
@@ -3,7 +3,6 @@ set(EXPERIMENT_TYPE RAMpageExperiment)
 configure_file(../instantiate-experiment-indirect.ah.in
                ${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah @ONLY
 )
-add_aspect_headers(${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah)
 
 set(MY_PROTOS 
 	rampage.proto
diff --git a/src/experiments/regression-test/CMakeLists.txt b/src/experiments/regression-test/CMakeLists.txt
index d107f4b9..23586b5f 100644
--- a/src/experiments/regression-test/CMakeLists.txt
+++ b/src/experiments/regression-test/CMakeLists.txt
@@ -3,7 +3,6 @@ set(EXPERIMENT_TYPE RegressionTest)
 configure_file(../instantiate-experiment.ah.in
                ${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah @ONLY
 )
-add_aspect_headers(${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah)
 
 #experiment sources
 set(MY_EXPERIMENT_SRCS
diff --git a/src/experiments/tracing-test/CMakeLists.txt b/src/experiments/tracing-test/CMakeLists.txt
index 94150d69..fe8c210f 100644
--- a/src/experiments/tracing-test/CMakeLists.txt
+++ b/src/experiments/tracing-test/CMakeLists.txt
@@ -3,7 +3,6 @@ set(EXPERIMENT_TYPE TracingTest)
 configure_file(../instantiate-experiment.ah.in
                ${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah @ONLY
 )
-add_aspect_headers(${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah)
 
 set(MY_CAMPAIGN_SRCS
 	experiment.hpp
diff --git a/src/experiments/vezs-example/CMakeLists.txt b/src/experiments/vezs-example/CMakeLists.txt
index 6bddd8a6..72d2938c 100644
--- a/src/experiments/vezs-example/CMakeLists.txt
+++ b/src/experiments/vezs-example/CMakeLists.txt
@@ -3,7 +3,6 @@ set(EXPERIMENT_TYPE VEZSExperiment)
 configure_file(../instantiate-experiment.ah.in
                ${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah @ONLY
 )
-add_aspect_headers(${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah)
 
 ## Setup desired protobuf descriptions HERE ##
 set(MY_PROTOS 
diff --git a/src/experiments/weather-monitor/CMakeLists.txt b/src/experiments/weather-monitor/CMakeLists.txt
index d58c4807..5874abc4 100644
--- a/src/experiments/weather-monitor/CMakeLists.txt
+++ b/src/experiments/weather-monitor/CMakeLists.txt
@@ -3,7 +3,6 @@ set(EXPERIMENT_TYPE WeatherMonitorExperiment)
 configure_file(../instantiate-experiment.ah.in
                ${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah @ONLY
 )
-add_aspect_headers(${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah)
 
 ## Setup desired protobuf descriptions HERE ##
 set(MY_PROTOS 
-- 
GitLab