How to compile AspectC++ (for Linux on Linux):
==============================================

Prerequisites for compiling the AspectC++ project from the source
repository:

  - The GNU C++ compiler (g++), normally the default compiler of
    the mainstream Linux distributions will work.

  - Working binaries for ac++ and ag++ (the Puma library itself
    is implemented in AspectC++!) -- you can get binaries from
    http://www.aspectc.org/. Unpack the tarball and make sure the
    directory which contains ag++ and ac++ is in your command
    search path.

  - libxml2 including header files (libxml2-dev on some Linux
    distributions). Check if the xml2-config command is in your
    command search path.

Steps for compiling the AspectC++ project (for details, consult the
README files within each of the subdirectories):

$ cd Puma/
$ make
$ cd ../AspectC++/
$ make SHARED=1
$ cd ../Ag++/
$ make

If you compile on a multi-processor or multi-core machine and want to
parallelize the build process, use "make MINUSJ=<P>" when you compile
Puma and "make -j<P>" when you compile AspectC++ and Ag++. "<P>" is
the number of parallel activities that you want to allow, e.g. "make
-j2".

Eventually you will find the compiled binaries of ag++ and ac++ in the
directory "AspectC++/bin/linux-release". These binaries are statically
linked against Puma, but all other libraries (including libxml2) are
used dynamically.

 -  If you need statically linked binaries, follow the instructions in
    AspectC++/README.

 -  If you want a "debug-build" instead of a release build, use "TARGET=linux"
    as an additional option when you run "make" (in all three directories).

If you experience any problems, use our aspectc-user mailing list or
our bugzilla system. Visit www.aspectc.org and look for "support" for
information.

The AspectC++ Developers
