marss icon indicating copy to clipboard operation
marss copied to clipboard

Replace SCons with CMake

Open tj90241 opened this issue 3 years ago • 1 comments

  • Remove SCons and replace it with a CMake-driven build system. The immediate benefit of this is that we no longer need to maintain any build scaffolding for qemu, as we just use their configure/Makefiles/etc.

  • Purge qemu out of tree, and instead leverage it as a submodule. The submodule being used has git history for qemu and MARSS-specific changes so that it's easier to understand the changes made for MARSS.

This is preliminary work: we'll need to document the (at least, temporary) requirements such as jq...

When checking out this branch and forever more, one must run git submodule update --init --recursive to fetch the qemu submodule.

Builds can be then done in a separate directory:

mkdir -p build && cd build
cmake ..
make -j9

Signed-off-by: Tyler J. Stachecki [email protected]

tj90241 avatar Feb 13 '22 21:02 tj90241

Currently have to copy ROM images into the build dir, still need to fix...

git submodule update --init --recursive
mkdir -p build && cd build
cmake ..
make -j9
cp -R ../qemu/pc-bios/* share/qemu/

I also have to double-check that qemu-system-x86_64 gets relinked when libptlsim.a changes - I don't think that's the case right now.

There's also a variety of new tools and packages that might be needed, includiing jq, libfdt-dev, and others.

tj90241 avatar Feb 13 '22 21:02 tj90241