summaryrefslogtreecommitdiff
path: root/SConstruct
AgeCommit message (Collapse)Author
2008-11-15Output: Include gzstream package to allow automatically-gzipped outputClint Smullen
The gzstream package provides an ostream-interface for writing gzipped files. The package comes from: http://www.cs.unc.edu/Research/compgeom/gzstream/ And is distributed under the LGPL license. Both the license and version information has been preservered, though all other files in the package have been purged. Minor modifications to the code have been made. The output module detects when a filename ends in .gz and constructs an ogzstream object instead of an ofstream object. This works for both the create(...) and find(...) commands. Additionally, since gzstream objects needs to be closed to ensure proper file termination, I have the output deconstructor deleting all ostream's that it manages on behalf of find(...). At the moment, the only output file that I know this functionality works for is stats, i.e. by specifying "--stats-file=m5stats.txt.gz" on the command line.
2008-11-10SCons: Allow top level directory of EXTRAS able to contain SConscripts.Nathan Binkert
The current EXTRAS will fail if the top level directory pointed to by EXTRAS has a SConscript file in it. We allow this by including the directory name of the EXTRA in the build directory which prevents a clash between src/SConscript and extra/SConscript. Maintain compatibility with older uses of EXTRAS by adding a -I for each top level extra directory.
2008-10-26BATCH: Run as, ar, and ranlib with BATCH_CMD so that they execute on the ↵Ali Saidi
batch hosts, not local host.
2008-10-08Scons: Update compare_versions() to ignore trailing charecters after an int. ↵Ali Saidi
This is a fix for a mysql version number that includes a (E.g. 5.0.51a)
2008-09-27gcc: Version 4.3 adds some warnings that we're turning off.Nathan Binkert
We just can't deal with right now.
2008-09-19We're searching for g++ incorrectlyNathan Binkert
2008-08-03libm5: Create a libm5 static library for embedding m5.Nathan Binkert
This should allow m5 to be more easily embedded into other simulators. The m5 binary adds a simple main function which then calls into the m5 libarary to start the simulation. In order to make this work correctly, it was necessary embed python code directly into the library instead of the zipfile hack. This is because you can't just append the zipfile to the end of a library the way you can a binary. As a result, Python files that are part of the m5 simulator are now compile, marshalled, compressed, and then inserted into the library's data section with a certain symbol name. Additionally, a new Importer was needed to allow python to get at the embedded python code. Small additional changes include: - Get rid of the PYTHONHOME stuff since I don't think anyone ever used it, and it just confuses things. Easy enough to add back if I'm wrong. - Create a few new functions that are key to initializing and running the simulator: initSignals, initM5Python, m5Main. The original code for creating libm5 was inspired by a patch Michael Adler, though the code here was done by me.
2008-04-08SCons: Manually specifying header only directories with Dir() works around ↵Ali Saidi
the problem --HG-- extra : convert_revision : d9713228d934cf4a45114a972603b8bca2bd27d3
2008-04-07SCons: Make BATCH options global sticky so libelf is built appropriately.Ali Saidi
--HG-- extra : convert_revision : 4bca5c31b8421305d41aac072696964b39d7ff16
2008-04-07SCons: Add check for SCons version since the latest are broken.Ali Saidi
--HG-- extra : convert_revision : bb0ea1221214e4e34d4223e345956c3febce3dc9
2008-03-24Add FAST_ALLOC_DEBUG and FAST_ALLOC_STATS as SConstruct options.Steve Reinhardt
--HG-- extra : convert_revision : 56a7f646f2ac87019c78ba7fa62c5f4bdc00ba44
2008-02-11EXTRAS now points to src instead of needing 'src' subdir.Steve Reinhardt
--HG-- extra : convert_revision : 8e7e4516ace8c7852eeea3c479bfd567839a8061
2008-02-11Wait to set BUILD_DIR until *after* env is copied.Steve Reinhardt
--HG-- extra : convert_revision : 03153e7aaa1fb2a435900eab08a98ec1a6ce62db
2008-02-05Cleaned up os.path imports a bit.Steve Reinhardt
--HG-- extra : convert_revision : ee75bf9abd249ab053e804739cc50972475cd5b6
2008-02-05Make EXTRAS work for SConsopts too.Steve Reinhardt
Requires pushing source files down into 'src' subdir relative to directory listed in EXTRAS. --HG-- extra : convert_revision : ca04adc3e24c60bd3e7b63ca5770b31333d76729
2007-11-19Compiling: Make sure that libelf is also compiled for 64bit on OS X.Ali Saidi
--HG-- extra : convert_revision : 9d4f7064e0aa4b6cc6a5bcf0f6fb5289047cd143
2007-11-16Make EXTRAS work for relative directories.Steve Reinhardt
Also print a little feedback when processing EXTRAS. --HG-- extra : convert_revision : 9cb324b0d5bc60a3c98af6495f16415b529e4af2
2007-11-08Compiling: If possible compile a 64 bit binary on Mac OS X.Ali Saidi
--HG-- extra : convert_revision : 23d7c3744bfb20adaa31c999e0478e9055b4f657
2007-11-01SConstruct: fix scons null conf object problemSteve Reinhardt
so that "scons --help" works again. --HG-- extra : convert_revision : 317d52480a44339d8a77ce61f1c5e58cd9d1dd01
2007-10-31SConstruct: undo half of last changeset; looked innocuous but wasn't.Steve Reinhardt
--HG-- extra : convert_revision : 237da629f9e4e8f9151fcf3c47ea2ef72918356a
2007-10-31SConstruct: Fix env Dir/String problemSteve Reinhardt
--HG-- extra : convert_revision : 6c5b6e9541030774bc44933f021fec51fb3cb227
2007-08-12Style: fix IGNORE_STYLE so it isn't required on the command line.Ali Saidi
--HG-- extra : convert_revision : 42ff16a2ae0316cc4b70ade961a50d5d4a5eb950
2007-08-12style: If IGNORE_STYLE=True is set on the scons command line, ignore style.Nathan Binkert
Use this in the regress script to avoid issues with the checker. --HG-- extra : convert_revision : 562b6a6d73dc46e412d00ba2588af2793335274e
2007-07-28style: Check/Fix whitespace on SCons filesNathan Binkert
--HG-- extra : convert_revision : 46e6b2dd8e1984cbab0ea24c94760794734c0f95
2007-07-26scons: make things work when EXTRAS is not defined.Nathan Binkert
--HG-- extra : convert_revision : 83562b55ec099e609c64cd42eb47a8481e4e85e7
2007-07-25Add a new SCons option called EXTRAS that allows you to include stuff inNathan Binkert
the build process that is outside of the main M5 tree. --HG-- extra : convert_revision : 6edc4fbc58240f83b59c7b5707c0390cdb85d9ec
2007-07-22Merge Gabe's changes with mine.Steve Reinhardt
--HG-- extra : convert_revision : f50ed42e7acb3f11e610fd6976eaa8df0c6ba2ab
2007-07-21Add code to turn the style stuff into a mercurial hook.Nathan Binkert
Nag the user during compile if they have an hg cloned copy of M5, have mercurial installed, but don't have the style hook enabled. --HG-- extra : convert_revision : 6bcbb67f1a3fcd36db7d3ef16a9ff19680f126f2
2007-07-14Handle broken swig version that prints version info on stderr.Steve Reinhardt
--HG-- extra : convert_revision : 83021779c40972fa56893d21713c6115cd481bc4
2007-06-10Add the -templatereduce option to swig to prepare for more templates.Nathan Binkert
remove the old scanner and replace it with ours instead of just adding ours, this fixes some issues with dependency tracking. --HG-- extra : convert_revision : 925d42ad024deaea48a243067d0ea9542aeba324
2007-05-30Fix compiling on Solaris since Nate's libelf changeAli Saidi
SConstruct: export env after we've set CC/CXX ext/libelf/SConscript: pull in the CC/CXX variables from env. Use gm4 if it exists ext/libelf/elf_begin.c: ext/libelf/libelf_allocate.c: include errno.h instead of sys/errno.h ext/libelf/elf_common.h: use the more standard uintX_t ext/libelf/elf_strptr.c: ext/libelf/elf_update.c: include sysmacros.h on Solaris for roundup() --HG-- extra : convert_revision : ea1aab834029399c445dfa4c9f78febf2c3d8f0c
2007-03-10Rework the way SCons recurses into subdirectories, making itNathan Binkert
automatic. The point is that now a subdirectory can be added to the build process just by creating a SConscript file in it. The process has two passes. On the first pass, all subdirs of the root of the tree are searched for SConsopts files. These files contain any command line options that ought to be added for a particular subdirectory. On the second pass, all subdirs of the src directory are searched for SConscript files. These files describe how to build any given subdirectory. I have added a Source() function. Any file (relative to the directory in which the SConscript resides) passed to that function is added to the build. Clean up everything to take advantage of Source(). function is added to the list of files to be built. --HG-- extra : convert_revision : 103f6b490d2eb224436688c89cdc015211c4fd30
2007-03-03Add build hooks for x86.Gabe Black
--HG-- extra : convert_revision : 438eb74f14e6ea60bab5012110f3946c9213786e
2007-01-27I missed a couple of thingsAli Saidi
--HG-- extra : convert_revision : 2fa44718e381ff743fa1cf12f4db2221dca87e4c
2007-01-27While I'm waiting for legion to run make m5 compile with a few more compilersAli Saidi
SConstruct: src/SConscript: Add flags for Intel CC while i'm at it src/base/compiler.hh: the _Pragma stuff needst to be called this way unless someone happens to have a cleaner way src/base/cprintf_formats.hh: add std:: where appropriate src/base/statistics.hh: use this->map since icc was getting confused about std::map vs the locally defined map src/cpu/static_inst.hh: Add some more dummy returns where needed src/mem/packet.hh: add more dummy returns where needed src/sim/host.hh: use limits to come up with max tick --HG-- extra : convert_revision : 08e9f7898b29fb9d063136529afb9b6abceab60c
2007-01-26make our code a little more standards compliantAli Saidi
pretty close to compiling w/ suns compiler briefly: add dummy return after panic()/fatal() split out flags by compiler vendor include cstring and cmath where appropriate use std namespace for string ops SConstruct: Add code to detect compiler and choose cflags based on detected compiler Fix zlib check to work with suncc src/SConscript: split out flags by compiler vendor src/arch/sparc/isa/decoder.isa: use correct namespace for sqrt src/arch/sparc/isa/formats/basic.isa: add dummy return around panic src/arch/sparc/isa/formats/integerop.isa: use correct namespace for stringops src/arch/sparc/isa/includes.isa: include cstring and cmath where appropriate src/arch/sparc/isa_traits.hh: remove dangling comma src/arch/sparc/system.cc: dummy return to make sun cc front end happy src/arch/sparc/tlb.cc: src/base/compression/lzss_compression.cc: use std namespace for string ops src/arch/sparc/utility.hh: no reason to say something is unsigned unsigned int src/base/compression/null_compression.hh: dummy returns to for suncc front end src/base/cprintf.hh: use standard variadic argument syntax instead of gnuc specefic renaming src/base/hashmap.hh: don't need to define hash for suncc src/base/hostinfo.cc: need stdio.h for sprintf src/base/loader/object_file.cc: munmap is in std namespace not null src/base/misc.hh: use M5 generic noreturn macros use standard variadic macro __VA_ARGS__ src/base/pollevent.cc: we need file.h for file flags src/base/random.cc: mess with include files to make suncc happy src/base/remote_gdb.cc: malloc memory for function instead of having a non-constant in an array size src/base/statistics.hh: use std namespace for floor src/base/stats/text.cc: include math.h for rint (cmath won't work) src/base/time.cc: use suncc version of ctime_r src/base/time.hh: change macro to work with both gcc and suncc src/base/timebuf.hh: include cstring from memset and use std:: src/base/trace.hh: change variadic macros to be normal format src/cpu/SConscript: add dummy returns where appropriate src/cpu/activity.cc: include cstring for memset src/cpu/exetrace.hh: include cstring fro memcpy src/cpu/simple/base.hh: add dummy return for panic src/dev/baddev.cc: src/dev/pciconfigall.cc: src/dev/platform.cc: src/dev/sparc/t1000.cc: add dummy return where appropriate src/dev/ide_atareg.h: make define work for both gnuc and suncc src/dev/io_device.hh: add dummy returns where approirate src/dev/pcidev.hh: src/mem/cache/cache_impl.hh: src/mem/cache/miss/blocking_buffer.cc: src/mem/cache/tags/lru.hh: src/mem/cache/tags/split.hh: src/mem/cache/tags/split_lifo.hh: src/mem/cache/tags/split_lru.hh: src/mem/dram.cc: src/mem/packet.cc: src/mem/port.cc: include cstring for string ops src/dev/sparc/mm_disk.cc: add dummy return where appropriate include cstring for string ops src/mem/cache/miss/blocking_buffer.hh: src/mem/port.hh: Add dummy return where appropriate src/mem/cache/tags/iic.cc: cast hastSets to double for log() call src/mem/physical.cc: cast pmemAddr to char* for munmap src/sim/byteswap.hh: make define work for suncc and gnuc --HG-- extra : convert_revision : ef8a1f1064e43b6c39838a85c01aee4f795497bd
2006-12-04Better handling of scons -u targets.Steve Reinhardt
--HG-- extra : convert_revision : 7bf0688a1c83d8385b77a59a1c75040e9624c0ae
2006-12-04SConstruct:Steve Reinhardt
Couple minor fixes. SConstruct: Couple minor fixes. --HG-- extra : convert_revision : 25f3c12570287334c2cbd1cf9b8227043a57e7d1
2006-12-04import os.path.join as joinpathSteve Reinhardt
--HG-- extra : convert_revision : 200612675e49908b9ff9c965aede35a657241391
2006-11-29Add in O3CPU to default CPU list.Kevin Lim
--HG-- extra : convert_revision : 4aaaae058cb763580ea0b9019d4a9346938121d4
2006-11-13Parse CC/CXX early so that we use the correct compiler for testing ↵Ali Saidi
dependencies/versions/libraries/etc --HG-- extra : convert_revision : b34ee03e44b35df30b746c4c570316db75d6ffe5
2006-11-09Get SPARC to the point that it starts running. Add ability to load the ROM ↵Ali Saidi
bin files, cleanup lockstep printing a bit Since we don't have a platform yet, you need to comment out the default responder stuff in Bus.py to make it work. SConstruct: Add TARGET_ISA to the list of environment variables that end up in the build_env for python configs/common/FSConfig.py: add a simple SPARC system to being testing with, you'll need to change makeLinuxAlphaSystem to makeSparcSystem in fs.py for now src/SConscript: add a raw file object, at least until we get more info about how to compile openboot properly src/arch/sparc/system.cc: src/arch/sparc/system.hh: add parameters for ROM files (OBP/Reset/Hypervisor), a ROM, load files into ROM src/base/loader/object_file.cc: src/base/loader/object_file.hh: add option to try raw when nothing works src/cpu/exetrace.cc: cleanup lockstep printing a little bit src/cpu/m5legion_interface.h: change the instruction to be 32 bits because it is src/mem/physical.cc: fix assert that doesn't work if memory starts somewhere above 0 src/python/m5/objects/BaseCPU.py: Add if statement to choose between sparc tlbs and alpha tlbs src/python/m5/objects/System.py: Add a sparc system that sets the rom addresses correctly src/python/m5/params.py: add the ability to add Addr() together --HG-- extra : convert_revision : bbbd8a56134f2dda2728091f740e2f7119b0c4af
2006-11-09Factor out all of the encumbered stuff into separate SConscriptNathan Binkert
files so the directories can easily be deleted. Remove the FullCPU from the ALL_CPU_LIST and only add it if it exists. --HG-- extra : convert_revision : b16f56bb92a0063803c5099732dc289fe4363768
2006-11-07Made kern a switching header file directory.Gabe Black
SConstruct: Put the code to make a switching header directory into a function so they are easy to make. src/arch/SConscript: Replace switching header code with the new function call. src/kern/SConscript: Created a new switching header directory in kern, and moved the declaration of some source files here. --HG-- rename : src/kern/kernel_stats.cc => src/kern/base_kernel_stats.cc rename : src/kern/kernel_stats.hh => src/kern/base_kernel_stats.hh extra : convert_revision : 98f5320a5ade567c3e4f67fef123dfb0c5122545
2006-11-06replace NULL with 0.... Why isn't NULL defined by default on Mac OS X I ↵Ali Saidi
don't know --HG-- extra : convert_revision : b60403445bd4e855732fd4e6753068abd90ecc9d
2006-11-04fixes so that M5 will compile under solarisAli Saidi
SConstruct: Add check to see if we need to include libsocket src/arch/sparc/floatregfile.cc: src/arch/sparc/intregfile.cc: use memset rather than bzero and include the appropriate headerfile src/base/pollevent.cc: If we're compling under solaris we need sys/file.h src/base/random.cc: src/base/random.hh: solaris doesn't have random(), so use rint with the correct rounding mode if we're compiling on solaris src/base/stats/flags.hh: u_int32_t?? src/base/time.hh: grab the timersub() define from freebsd since it doesn't exist in solaris src/cpu/inst_seq.hh: we don't need to include stdint here src/sim/byteswap.hh: the method to detect endianness on Solaris is a little more complex... --HG-- extra : convert_revision : 6b7db0e900e7bccfc250d65c125065f27280dda1
2006-10-20Construct a correct value of PYTHONHOME from the interpreterNathan Binkert
running SCons, make it into a sticky option that can be overridden at build time, and set it up before the interpreter is started. Also, fix the code that turns sticky options into config/*.hh so that it works with types other than bool. --HG-- extra : convert_revision : 602398b35d4da4e813f78865678ed348fdea7270
2006-10-01Move Python setup into Configure section so we can test whether theSteve Reinhardt
setup is correct and provide meeaningful error messages when it's not. Also fix for building on Cygwin where python lib is in /bin and not /lib. --HG-- extra : convert_revision : 7a29ba17463de60c72b3d8b04e4c4f81fc64bf61
2006-08-21SConstruct:Steve Reinhardt
Add checks for swig & libz, version check for swig. Factor out version check code into function, use for mysql too. SConstruct: Add checks for swig & libz, version check for swig. Factor out version check code into function, use for mysql too. --HG-- extra : convert_revision : a077d961ae52011141fbf5021b167485f8638139
2006-08-20TEST_CPU_MODELS isn't used anymore.Steve Reinhardt
--HG-- extra : convert_revision : 742bda87e79657573cec404b8650fa26d189d1a1