]>
Commit | Line | Data |
---|---|---|
4f983d1b PD |
1 | AC_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 | ]) |