598f15cf24532dce5b3bf1e0b6052aa0ff114778
There were two issues with how paths were handled for these files. 1. The code in the ProtoBuf class would drop the subdirectory part of the path name when generating the name of the .cc and .h files the protoc compiler would output. Since protoc wouldn't generate files where scons expected, it would fail when it tried to build the .cc. 2. protoc will use the --proto_path and --cpp_out settings to figure out what path to use for generated files. It will remove the --proto_path prefix it found the .proto file with from the files path, and then add the rest to the --cpp_out prefix. The input files should come from the build directory using symlinks set up by scons, and the output files should end up alongside them. That means the --proto_path setting should be the build directory, and so should --cpp_out. That's fortunately simpler than what was there before, since it doesn't depend on what the source or targets are. Change-Id: I69692d2fe3813011982f0c1c9824589a132f93ed Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/37218 Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Maintainer: Gabe Black <gabe.black@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
This is the gem5 simulator. The main website can be found at http://www.gem5.org A good starting point is http://www.gem5.org/about, and for more information about building the simulator and getting started please see http://www.gem5.org/documentation and http://www.gem5.org/documentation/learning_gem5/introduction. To build gem5, you will need the following software: g++ or clang, Python (gem5 links in the Python interpreter), SCons, SWIG, zlib, m4, and lastly protobuf if you want trace capture and playback support. Please see http://www.gem5.org/documentation/general_docs/building for more details concerning the minimum versions of the aforementioned tools. Once you have all dependencies resolved, type 'scons build/<ARCH>/gem5.opt' where ARCH is one of ARM, NULL, MIPS, POWER, SPARC, or X86. This will build an optimized version of the gem5 binary (gem5.opt) for the the specified architecture. See http://www.gem5.org/documentation/general_docs/building for more details and options. The basic source release includes these subdirectories: - configs: example simulation configuration scripts - ext: less-common external packages needed to build gem5 - src: source code of the gem5 simulator - system: source for some optional system software for simulated systems - tests: regression tests - util: useful utility programs and files To run full-system simulations, you will need compiled system firmware (console and PALcode for Alpha), kernel binaries and one or more disk images. If you have questions, please send mail to gem5-users@gem5.org Enjoy using gem5 and please share your modifications and extensions.
Description