]> git.ipfire.org Git - thirdparty/pdns.git/blame - m4/pdns_with_unixodbc.m4
Merge pull request #9134 from omoerbeek/secpoll-cleanup
[thirdparty/pdns.git] / m4 / pdns_with_unixodbc.m4
CommitLineData
4f983d1b
PD
1AC_DEFUN([PDNS_WITH_UNIXODBC],[
2 AC_ARG_WITH([unixodbc],
3 [AS_HELP_STRING([--with-unixodbc=<path>], [root directory path of unixODBC installation])],
4 [
5 UNIXODBC_LIBS_check="$withval/lib/unixodbc $with_unixodbc/lib"
6 UNIXODBC_CFLAGS_check="$withval/include/unixodbc"
7 UNIXODBC_config_check="$withval/bin/odbc_config"
8 ],
9 [
10 UNIXODBC_LIBS_check="/usr/local/unixodbc/lib/unixodbc /usr/local/lib/unixodbc /opt/unixodbc/lib/unixodbc \
11 /usr/lib/unixodbc /usr/lib64/unixodbc /usr/local/unixodbc/lib /usr/local/lib /opt/unixodbc/lib /usr/lib \
12 /usr/sfw/lib/ /usr/lib/odbc /usr/lib/x86_64-linux-gnu $full_libdir"
13 UNIXODBC_CFLAGS_check="/usr/local/unixodbc/include/unixodbc /usr/local/include/unixodbc \
14 /opt/unixodbc/include/unixodbc /opt/unixodbc/include /usr/include/unixodbc /usr/sfw/include/unixodbc \
15 /usr/include /usr/local/include"
16 ]
17 )
18
19 AC_ARG_WITH([odbc-config],
20 [AS_HELP_STRING([--with-odbc-config=<path>], [file path to odbc_config])],
21 [UNIXODBC_config_check=$withval]
22 )
23
24 AC_ARG_WITH([unixodbc-lib],
25 [AS_HELP_STRING([--with-unixodbc-lib=<path>], [directory path of unixODBC library installation])],
26 [
27 UNIXODBC_LIBS_check="$withval/lib/unixodbc $withval/unixodbc $withval"
28 UNIXODBC_config_check="skip"
29 ]
30 )
31
32 AC_ARG_WITH([unixodbc-includes],
33 [AS_HELP_STRING([--with-unixodbc-includes=<path>], [directory path of unixODBC header installation])],
34 [
35 UNIXODBC_CFLAGS_check="$withval/include/unixodbc $withval/unixodbc $withval"
36 UNIXODBC_config_check="skip"
37 ]
38 )
39
40 UNIXODBC_config=""
41 if test "x$UNIXODBC_config_check" != "xskip"; then
42 if test "x$UNIXODBC_config_check" = "x"; then
43 AC_PATH_PROG([UNIXODBC_config], [odbc_config])
44 else
45 AC_MSG_CHECKING([for $UNIXODBC_config_check])
46 if test -x $UNIXODBC_config_check; then
47 UNIXODBC_config="$UNIXODBC_config_check"
48 AC_MSG_RESULT([yes])
49 else
50 UNIXODBC_config=""
51 AC_MSG_ERROR([not found])
52 fi
53 fi
54 fi
55
56 if test "x$UNIXODBC_config" != "x"; then
57 # use this to configure everything
58 UNIXODBC_LIBS=`$UNIXODBC_config --libs`
59 UNIXODBC_CFLAGS=-I`$UNIXODBC_config --include-prefix`
60 else
61 AC_MSG_CHECKING([for unixODBC library directory])
62 UNIXODBC_libdir=
63 for m in $UNIXODBC_LIBS_check; do
64 if test -d "$m" && \
65 (test -f "$m/libodbc.so" || test -f "$m/libodbc.a")
66 then
67 UNIXODBC_libdir=$m
68 break
69 fi
70 done
71 if test -z "$UNIXODBC_libdir"; then
72 AC_MSG_ERROR([Did not find the unixodbc library dir in '$UNIXODBC_LIBS_check'])
73 fi
74 case "$UNIXODBC_libdir" in
75 /*) UNIXODBC_LIBS="-L$UNIXODBC_libdir -lodbc"
76 ;;
77 *) AC_MSG_ERROR([The unixODBC library directory ($UNIXODBC_libdir) must be an absolute path.])
78 ;;
79 esac
80 AC_MSG_RESULT([$UNIXODBC_libdir])
81
82 AC_MSG_CHECKING([for unixODBC include directory])
83 UNIXODBC_CFLAGS=
84 for m in $UNIXODBC_CFLAGS_check; do
85 if test -d "$m" && test -f "$m/sql.h"
86 then
87 UNIXODBC_CFLAGS="$m"
88 break
89 fi
90 done
91 if test -z "$UNIXODBC_CFLAGS"; then
92 AC_MSG_ERROR([Did not find the unixodbc include dir in '$UNIXODBC_CFLAGS_check'])
93 fi
94
95 case "$UNIXODBC_CFLAGS" in
96 /*) AC_MSG_RESULT($UNIXODBC_CFLAGS)
97 ;;
98 *) AC_MSG_ERROR([The unixODBC include directory ($UNIXODBC_CFLAGS) must be an absolute path.])
99 ;;
100 esac
101 UNIXODBC_CFLAGS="-I$UNIXODBC_CFLAGS"
102 fi
103
104 AC_SUBST(UNIXODBC_CFLAGS)
105 AC_SUBST(UNIXODBC_LIBS)
106])