Next: , Previous: , Up: Preparation   [Contents][Index]


2.3 Building sources using Automake

It is much easier if you use GNU Automake instead of writing your own Makefiles. If you do that, you do not have to worry about finding and invoking the libgcrypt-config script at all. Libgcrypt provides an extension to Automake that does all the work for you.

Macro: AM_PATH_LIBGCRYPT ([minimum-version], [action-if-found], [action-if-not-found])

Check whether Libgcrypt (at least version minimum-version, if given) exists on the host system. If it is found, execute action-if-found, otherwise do action-if-not-found, if given.

Additionally, the function defines LIBGCRYPT_CFLAGS to the flags needed for compilation of the program to find the gcrypt.h header file, and LIBGCRYPT_LIBS to the linker flags needed to link the program to the Libgcrypt library. If the used helper script does not match the target type you are building for a warning is printed and the string libgcrypt is appended to the variable gpg_config_script_warn.

This macro searches for libgcrypt-config along the PATH. If you are cross-compiling, it is useful to set the environment variable SYSROOT to the top directory of your target. The macro will then first look for the helper program in the bin directory below that top directory. An absolute directory name must be used for SYSROOT. Finally, if the configure command line option --with-libgcrypt-prefix is used, only its value is used for the top directory below which the helper script is expected.

You can use the defined Autoconf variables like this in your Makefile.am:

AM_CPPFLAGS = $(LIBGCRYPT_CFLAGS)
LDADD = $(LIBGCRYPT_LIBS)