libMarshall is a marshalling library, allowing the execution of function calls of any prototype across a number of combinations of Operating Systems, hardware architectures, and calling conventions. It is notably used by libApp, a message-passing framework at the core of the DeforaOS Project.
libMarshall depends on the following components:
- pkg-config (or equivalent tool) from the freedesktop software collection, as found in most software distributions already; otherwise at https://www.freedesktop.org/wiki/Software/pkg-config/
- libSystem from the DeforaOS Project, as found at https://www.defora.org/os/project/27/libSystem if not packaged for your system.
And optionally:
- configure from the DeforaOS Project, likewise found at https://www.defora.org/os/project/16/configure
- GTK-Doc (for the API documentation), found at https://www.gtk.org/gtk-doc/
When building libMarshall from the development sources, it is necessary to
generate Makefiles with configure(1)
. It should be enough to run this tool as
follows:
$ configure
Please refer to the documentation of DeforaOS configure for further instructions.
A default set of Makefiles is provided with releases of this project in order to help building and packaging. The Makefiles provided target the NetBSD Operating System by default, but should work on most platforms without changes.
It is then possible to build the project with make(1)
as usual. The following
command should therefore be enough:
$ make
To build libMarshall for installation in a different directory than the default
/usr/local
, use the PREFIX
variable as follows:
$ make PREFIX="/path/to/destination"
Then use the install
target to effectively install libMarshall on the system.
libMarshall also supports DESTDIR
, to be installed in a staging directory; for
instance:
$ make DESTDIR="/staging/directory" PREFIX="/another/prefix" install