source: trunk/FACT++/.macro_dir/ac_check_class.m4@ 16882

Last change on this file since 16882 was 14134, checked in by tbretz, 12 years ago
Fixed a problem with AC_CHECK_CLASS with leads to common failure if one failed.
File size: 2.2 KB
Line 
1dnl @synopsis AC_CHECK_PACKAGE(PACKAGE, FUNCTION, LIBRARY , HEADERFILE [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
2dnl
3dnl Provides --with-PACKAGE, --with-PACKAGE-include and --with-PACKAGE-libdir
4dnl options to configure. Supports the now standard --with-PACKAGE=DIR
5dnl approach where the package's include dir and lib dir are underneath DIR,
6dnl but also allows the include and lib directories to be specified seperately
7dnl
8dnl adds the extra -Ipath to CFLAGS if needed
9dnl adds extra -Lpath to LD_FLAGS if needed
10dnl searches for the FUNCTION in the LIBRARY with
11dnl AC_CHECK_LIBRARY and thus adds the lib to LIBS
12dnl
13dnl defines HAVE_PKG_PACKAGE if it is found, (where PACKAGE in the
14dnl HAVE_PKG_PACKAGE is replaced with the actual first parameter passed)
15dnl note that autoheader will complain of not having the HAVE_PKG_PACKAGE and you
16dnl will have to add it to acconfig.h manually
17dnl
18dnl @version $Id$
19dnl @author Caolan McNamara <caolan@skynet.ie>
20dnl
21dnl with fixes from...
22dnl Alexandre Duret-Lutz <duret_g@lrde.epita.fr>
23
24AC_DEFUN([AC_CHECK_CLASS],
25[
26
27AC_ARG_WITH($1,
28[ --with-$1[=DIR] root directory of $1 installation],
29with_$1=$withval
30if test "${with_$1}" != yes; then
31 $1_include="$withval/include"
32 $1_libdir="$withval/lib"
33fi
34)
35
36AC_ARG_WITH($1-include,
37[ --with-$1-include=DIR specify exact include dir for $1 headers (e.g. $4)],
38$1_include="$withval")
39
40AC_ARG_WITH($1-libdir,
41[ --with-$1-libdir=DIR specify exact library dir for $1 library (e.g. lib$3)
42 --without-$1 disables $1 usage completely],
43$1_libdir="$withval")
44
45if test "${with_$1}" != no ; then
46 OLD_LIBS=$LIBS
47 OLD_LDFLAGS=$LDFLAGS
48 OLD_CFLAGS=$CFLAGS
49 OLD_CPPFLAGS=$CPPFLAGS
50
51 if test "${$1_libdir}" ; then
52 LDFLAGS="$LDFLAGS -L${$1_libdir}"
53 fi
54 if test "${$1_include}" ; then
55 CPPFLAGS="$CPPFLAGS -I${$1_include}"
56 CFLAGS="$CFLAGS -I${$1_include}"
57 fi
58
59 no_good=no
60
61 AC_CHECK_HEADER($4,,no_good=yes)
62
63 AC_LANG_PUSH([C++])
64 AC_CHECK_CPP($3, [#include <$4>] , [$2],,no_good=yes, $7)
65 AC_LANG_POP([C++])
66
67 if test "$no_good" = yes; then
68dnl broken
69 ifelse([$6], , , [$6])
70
71 LIBS=$OLD_LIBS
72 LDFLAGS=$OLD_LDFLAGS
73 CPPFLAGS=$OLD_CPPFLAGS
74 CFLAGS=$OLD_CFLAGS
75 else
76dnl fixed
77 ifelse([$5], , , [$5])
78
79 AC_DEFINE(HAVE_PKG_$1)
80 fi
81
82fi
83
84])
Note: See TracBrowser for help on using the repository browser.