This rework make it possible to build in-tree as before:
$ make setup
$ make
And from another directory (out-of-tree build):
$ cd <build-dir>
$ make -C ../aws BLD_DIR=$PWD setup
$ make -C ../aws BLD_DIR=$PWD
To build the demos:
$ make -C ../aws/demos BLD_DIR=$PWD
Support for the testsuite has also been reworked to use the out-of-tree
build when needed:
$ make -C ../aws BLD_DIR=$PWD run_regtests
This is a nice build clean-up where now a single library (libaws.a
or libaws.so) will be created for the AWS runtime. This runtime will
also contains the zlib built for AWS if requested.
For MA30-040.
All the makefile installation targets have been modified with the
optionally defined $DESTDIR environment variable to support
installation in chroots and package frameworks.
This library is always built for AWS own use. We now install it to
cover the case where the dynamic libz is installed in the OS but
not the static version. If the OS static version is present it
will be used anyway.
Should fix K310-011.
We now check if Zlib is already installed on the host. If it
is already installed do not build it, the installed version
will be used.
--
Build clean-up, part of IC11-015.
The build process is now based on gprbuild. All files (C and Ada)
are now built using gprbuild. A large clean-up has been done on
the makefile as no specific rules are needed to build C part. A
single invocation of gprbuild from the root makefile is sufficient
to build AWS and associated tools.
The clean process is now done using gprclean.
A final clean-up has been integrated to ensure that all generated
files are put inside the .build directory. No more files are
generated into the source directories. This will make it possible
to add support for multiple builds using different compiler version
for example.
Work for HB03-010.
Now the static and shared versions are built if possible.
The default installed version can be configured using the
new DEFAULT_LIBRARY_TYPE make variable. The setup is now
persistent using a generated makefile.setup makefile.
The shared version is built only if supported by the
plateform.
--
Work for H505-007.
For developers, AWS can now be built in four configurations:
- debug mode / shared libraries
- debug mode / static libraries
- release mode / shared libraries (default mode, see makefile.conf)
- release mode / static libraries
The objects files and libraries are kept for all configurations in
separate directory. It is then possible to test / install them
independently.
For users, AWS can be provided as static and shared libraries. Both
library kinds are selectable with the configuration variable
LIBRARY_TYPE.
--
The actual installation process has been moved to each individual
makefiles instead of having all the code into the main makefile. It is
easier to maintain when the installation is local.
--
Work for GA30-008.