ext: Revamp the systemc SConscripts.
The existing scripts were including pthread code and QT code at the same time, and also insisting on an having a set of architecture specific source files for whatever the current architecture is. This change selects using either QT or pthreads based on the host architecture, distributes accumulating source files, list source files explicitly (to avoid including redundant coroutine libraries) and makes scons insist on an architecture specific QT implementation only if QT is being used. It also defines a preprocessor symbol which tells some headers whether or not pthreads are being used, and also clones the scons environment to avoid leaking flags into the main environment used to compile gem5 itself. If the host architecture isn't supported by systemc, a warning will be printed, and the various build products and SConscript files will be skipped over. Change-Id: I1a40123a11e49e02922a054f093246cf197087bf Reviewed-on: https://gem5-review.googlesource.com/3461Reviewed-by: Matthias Jung <email@example.com> Reviewed-by: Christian Menard <firstname.lastname@example.org> Reviewed-by: Jason Lowe-Power <email@example.com> Maintainer: Jason Lowe-Power <firstname.lastname@example.org>
Showing with 412 additions and 26 deletions