The inline
keyword is not part of ANSI C and the library does not
export any inline function definitions by default. However, the library
provides optional inline versions of performance-critical functions by
conditional compilation. The inline versions of these functions can be
included by defining the macro HAVE_INLINE
when compiling an
application.
gcc -c -DHAVE_INLINE app.c
If you use autoconf
this macro can be defined automatically.
The following test should be placed in your `configure.in' file,
AC_C_INLINE if test "$ac_cv_c_inline" != no ; then AC_DEFINE(HAVE_INLINE,1) AC_SUBST(HAVE_INLINE) fi
and the macro will then be defined in the compilation flags or by
including the file `config.h' before any library headers. If you
do not define the macro HAVE_INLINE
then the slower non-inlined
versions of the functions will be used instead.
Note that the actual usage of the inline keyword is extern
inline
, which eliminates unnecessary function definitions in GCC.
If the form extern inline
causes problems with other compilers a
stricter autoconf test can be used, see section Autoconf Macros.