Autoconf support for building subsets of components. Thread_db support in autoconf.
[dyninst.git] / aclocal.m4
1
2 dnl: macro simply checks for existence of header file "$2" in dir "$1"
3 AC_DEFUN(PD_CHECK_INC_DIR,[
4   CXXFLAGS_HOLD=$CXXFLAGS
5   if test "$1" != "" ; then
6     AC_MSG_CHECKING([for $2 in $1])
7     CXXFLAGS="$CXXFLAGS -I$1"
8   else
9     AC_MSG_CHECKING([for $2])
10   fi
11   AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([#include "$2"],[])],
12                      [AC_MSG_RESULT(yes)],
13                      [AC_MSG_ERROR([$2 not found in $1])] )
14   CXXFLAGS=$CXXFLAGS_HOLD
15 ])
16
17 AC_DEFUN(PD_CHECK_LIB_TYPE,[
18   LIB_TYPE_DYNAMIC=`ls -H -1 $1 | grep $2 | grep '\.so' | wc | awk '{if($'2' > 0){print "true"} else {print ""}}'`
19   if test "$LIB_TYPE_DYNAMIC" = "true"; then
20         LIB_TYPE_STATIC=        
21   else
22         LIB_TYPE_STATIC=`ls -H -1 $1 | grep $2 | grep '\.a' | wc | awk '{if($'2' > 0){print "true"} else {print ""}}'`
23   fi
24 ])
25
26 AC_DEFUN(PD_SOFT_CHECK_INC_DIR,[
27   CXXFLAGS_HOLD=$CXXFLAGS
28   if test "$1" != "" ; then
29     AC_MSG_CHECKING([for $2 in $1])
30     CXXFLAGS="$CXXFLAGS -I$1"
31   else
32     AC_MSG_CHECKING([for $2])
33   fi
34   AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([#include "$2"],[])],
35                      [AC_DEFINE([cap_have_$3], 1, [...yes])],
36                      [AC_MSG_RESULT([$2 not found in $1])] )
37   CXXFLAGS=$CXXFLAGS_HOLD
38 ])
39
40 dnl: if first argument not set, check for function symbol $3 in lib $2
41 dnl: otherwise, set lib to -L$1 before check 
42 dnl: if $4 and $5 are set, they are additional libdirs and libs needed
43 dnl: for linking to resolve all references properly and test to pass
44 AC_DEFUN(PD_CHECK_LIB_DIR,[
45   if test "$1" = "" ; then
46     AC_CHECK_LIB($2, $3, [], [AC_MSG_ERROR(Can't find lib$2.)])
47   else
48     LIBS_HOLD=$LIBS
49     if test "$4" != "" ; then
50       LIBS="-L$1 -L$4"
51       AC_CHECK_LIB($2, $3, [], [AC_MSG_ERROR(Can't find lib$2 in $1)], $5)
52     else
53       LIBS="-L$1"
54       AC_CHECK_LIB($2, $3, [], [AC_MSG_ERROR(Can't find lib$2 in $1)])
55     fi
56     LIBS=$LIBS_HOLD
57   fi
58 ])
59
60 AC_DEFUN(PD_CHECK_LIB_DIR_WERR,[
61   if test "$1" = "" ; then
62     AC_CHECK_LIB($2, $3, [], $6)
63   else
64     LIBS_HOLD=$LIBS
65     if test "$4" != "" ; then
66       LIBS="-L$1 -L$4"
67       AC_CHECK_LIB($2, $3, [], $6, $5)
68     else
69       LIBS="-L$1"
70       AC_CHECK_LIB($2, $3, [], $6)
71     fi
72     LIBS=$LIBS_HOLD
73   fi
74 ])
75
76 AC_DEFUN(PD_SOFT_CHECK_LIB_DIR,[
77   if test "$1" = "" ; then
78     AC_CHECK_LIB($2, $3, [], [AC_MSG_RESULT(Can't find lib$2.)])
79   else
80     LIBS_HOLD=$LIBS
81     if test "$4" != "" ; then
82       LIBS="-L$1 -L$4"
83       AC_CHECK_LIB($2, $3, [], 
84         [AC_MSG_RESULT(Can't find lib$2 in $1)], $5)
85     else
86       LIBS="-L$1"
87       AC_CHECK_LIB($2, $3, [], 
88         [AC_MSG_RESULT(Can't find lib$2 in $1)])
89     fi
90     LIBS=$LIBS_HOLD
91   fi
92 ])
93
94 AC_DEFUN(PD_CHECK_LIB_FEATURE,[
95   if test "$1" = "" ; then
96     AC_CHECK_LIB($2, $3, [HAS_FEATURE="true"], [])
97   else
98     LIBS_HOLD=$LIBS
99     if test "$4" != "" ; then
100       LIBS="-L$1 -L$4"
101       AC_CHECK_LIB($2, $3, [HAS_FEATURE="true"], [], $5)
102     else
103       LIBS="-L$1"
104       AC_CHECK_LIB($2, $3, [HAS_FEATURE="true"], [])
105     fi
106     LIBS=$LIBS_HOLD
107   fi
108 ])