Thanks for downloading the Mace source package. Mace is a toolkit and language for building distributed systems. An old version of our documentation is in the docs directory. Our Wiki documentation is offline temporarily while we migrate to Bitbucket. The License is available in the LICENSE file, and is a BSD-style license.
Please email us to let us know if you're using Mace and how, we'd love to hear from you.
First, you'll probably need to download the [ckillian/mace-extras]
package. Place mace-extras inside the mace checkout, at
Mace uses cmake to configure it's build system. Provided that you have
everything installed already, first create a directory for building Mace.
Then, from within that directory, run
It will check your configuration, and create the build system. Then you
make to build Mace. If you want to change the configuration
make edit_cache will open an editor for setting
the build flags and other configuration options.
make help will also
show you a list of runnable make commands. See
more details on using cmake.
If you wish to compile fewer services than those distributed, you can edit
services/CMakeLists-services.txt. (You can also add new services here.) You
can also select applications by editing at
application/CMakeLists.txt, and you
can add new applications anywhere using one of the sample CMakeLists.txt in the
application directories, and either setting up a new cmake project which uses
the Mace project, or which is included in
Mace is not tested on g++ versions before 3.4, and in particular has been known
to cause internal compiler segfaults with version 3.3. g++ versions 4.0.x have
also been known, at least on Debian systems, to contain a (reported and
confirmed) bug which causes them to emit warnings when Mace code is compiled
with -O2 and -Wall. The Mace compiler and build system may also emit
warnings, but unless the commands fail, these are non-fatal. If you
find you need to disable -Werror or -Wall, you may do so in
mace/CMakeLists.txt. We generally believe Mace compiles readily well
with most g++ versions between 3.4 and 4.7, minus the mentioned 4.0
problems. It has also been tested with clang++, though clang++ at last
check had a bug that caused it to emit incorrect warnings.