explicit aspect activation
ag++ is now called with a list of currently active aspect headers
(ag++ -a aspect1.ah -a aspect2.ah ...). This resolves several problems at
once:
- Build directories may be positioned arbitrarily now, they need not be
a subdirectory of the project anymore.
- Multiple build directories can coexist within the project tree. Before
this commit, the generated instantiate-*.ah aspect headers disturbed
neighboring build trees.
- Due to this, the regression test should be runnable much more easily
now.
- The build time was reduced by an average of about 10%.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1753 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
This commit is contained in:
@ -1,58 +1,104 @@
|
||||
# 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)
|
||||
set(SRCS
|
||||
Listener.cc
|
||||
ListenerManager.cc
|
||||
SALConfig.cc
|
||||
Register.cc
|
||||
SimulatorController.cc
|
||||
perf/BreakpointBuffer.cc
|
||||
list(APPEND SRCS
|
||||
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)
|
||||
set(SRCS
|
||||
Listener.cc
|
||||
ListenerManager.cc
|
||||
SALConfig.cc
|
||||
Register.cc
|
||||
SimulatorController.cc
|
||||
perf/BreakpointBuffer.cc
|
||||
list(APPEND SRCS
|
||||
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)
|
||||
set(SRCS
|
||||
Listener.cc
|
||||
ListenerManager.cc
|
||||
SALConfig.cc
|
||||
Register.cc
|
||||
SimulatorController.cc
|
||||
perf/BreakpointBuffer.cc
|
||||
list(APPEND SRCS
|
||||
${VARIANT}/OVPController.cc
|
||||
)
|
||||
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/ovp/FailOVPInit.ah)
|
||||
elseif(BUILD_QEMU)
|
||||
set(SRCS
|
||||
Listener.cc
|
||||
ListenerManager.cc
|
||||
SALConfig.cc
|
||||
Register.cc
|
||||
perf/BreakpointBuffer.cc
|
||||
SimulatorController.cc
|
||||
list(APPEND SRCS
|
||||
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)
|
||||
set(SRCS
|
||||
Listener.cc
|
||||
ListenerManager.cc
|
||||
SALConfig.cc
|
||||
Register.cc
|
||||
perf/BreakpointBuffer.cc
|
||||
SimulatorController.cc
|
||||
list(APPEND SRCS
|
||||
t32/T32Controller.cc
|
||||
t32/wrappers.cc
|
||||
)
|
||||
endif(BUILD_BOCHS)
|
||||
# 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()
|
||||
|
||||
add_library(fail-sal ${SRCS})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user