| libnih is a light-weight "standard library" of C functions to ease the |
| development of other libraries and applications. |
| |
| Its goals are: |
| |
| * despite its name, to _not_ reimplement anything found in the |
| standard C library or any library normally found in /lib; |
| |
| * use standard C types and conventions where appropriate; |
| |
| * have a simple and consistent programming interface; |
| |
| * be useful to library developers without needing to be exposed in |
| the library's API; |
| |
| * not hide implementation details or structure contents, we're all |
| adults after all. |
| |
| |
| Dependencies |
| ------------ |
| |
| The D-Bus messaging system is required to build the libnih-dbus library |
| and nih-dbus-tool utility. In order to query the availability of the |
| external library, the pkg-config tool is used; and in order to parse |
| D-Bus introspection data, the expat XML parsing library will be used. |
| |
| The recommended versions are: |
| |
| * pkg-config 0.22 |
| * D-Bus 1.2.16 |
| * expat 2.0.0 |
| |
| These should all be available from the current release of any modern |
| Linux distribution. |
| |
| For detailed compilation and installation instructions see the INSTALL |
| file. If you've checked libnih out from revision control, or want to |
| hack on libnih, see the HACKING file. |
| |
| |
| Cross-compiling |
| --------------- |
| |
| libnih uses the nih-dbus-tool utility it builds during its own build |
| process to generate further sources to be built. When cross-compiling |
| this will fail because the built nih-dbus-tool will most likely not be |
| able to run on the build architecture. |
| |
| This can be solved by building and installing nih-dbus-tool for the |
| build architecture first, then when performing the cross-compile, the |
| installed copy will be used instead. |
| |
| If installed into a common system directory, this is automatic; if not, |
| you can pass the path of the nih-dbus-tool binary to the configure |
| script, e.g.: |
| |
| ./configure --build=i486-linux-gnu --host=gnueabi-linux-arm \ |
| NIH_DBUS_TOOL=/cross/bin/nih-dbus-tool |