File: configure.ac

package info (click to toggle)
myodbc 2.50.39-3
  • links: PTS
  • area: main
  • in suites: woody
  • size: 1,372 kB
  • ctags: 571
  • sloc: sh: 8,709; ansic: 6,505; makefile: 84
file content (233 lines) | stat: -rw-r--r-- 5,372 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233

AC_INIT(myodbc.c)
AM_INIT_AUTOMAKE(myodbc,2.50.39)

myodbc_version=$VERSION

# See the libtool docs for information on how to do shared lib versions.
SHARED_LIB_VERSION=1:0:0

AM_CONFIG_HEADER(myconf.h)

AC_SUBST(myodbc_version)

AC_PROG_CC
AC_PROG_CPP

AC_PROG_LN_S

AM_ENABLE_SHARED
AM_DISABLE_STATIC

# define _UNIX_
AC_DEFINE(_UNIX_)

AM_PROG_LIBTOOL
AC_CHECK_LIB(z,compress)

AC_ARG_WITH(mysql-libs,
[  --with-mysql-libs=DIR   Look for mysql client libraries in DIR],
mysql_libs=$withval,mysql_libs="")

AC_MSG_CHECKING([for the mysql client libraries])

# two common alternate mysql_lib locations
alt_lib1="/usr/local/mysql/lib/mysql"
alt_lib2="/usr/lib/mysql"

AC_MSG_RESULT([$mysql_libs])

mysql_ok=no

if test -n "$mysql_libs"
then
  LIBS="-L$mysql_libs $LIBS"
  MYSQL_LIB_PATH="-L$mysql_libs"
fi
AC_SUBST(MYSQL_LIB_PATH)

AC_CHECK_LIB(mysqlclient,mysql_real_query,mysql_ok=yes,mysql_ok=no)
SAVE_LIBS=$LIBS

if test "x$mysql_ok" != "xyes"
then
	LIBS="-L$alt_lib1 $SAVE_LIBS"
	MYSQL_LIB_PATH="-L$alt_lib1"
	AC_SUBST(MYSQL_LIB_PATH)

	AC_CHECK_LIB(mysqlclient,mysql_real_connect,mysql_ok=yes,mysql_ok=no)
fi


if test "x$mysql_ok" != "xyes"
then
	LIBS="-L$alt_lib2 $SAVE_LIBS"
	MYSQL_LIB_PATH="-L$alt_lib2"
	AC_SUBST(MYSQL_LIB_PATH)

	AC_CHECK_LIB(mysqlclient,mysql_change_user,mysql_ok=yes,mysql_ok=no)
fi


if test "x$mysql_ok" != "xyes"
then
	AC_MSG_ERROR([Could not find libmysqlclient in '$alt_lib1' or '$alt_lib2'. Try another location.])
fi



# Check for MySQL include files

AC_ARG_WITH(mysql-includes,
[  --with-mysql-includes=DIR   Look for mysql include files in DIR],
mysql_includes=$withval,mysql_includes="")

AC_MSG_CHECKING([for mysql include files in $mysql_includes])

# two common alternate mysql_include locations
alt_inc1="/usr/local/mysql/include/mysql"
alt_inc2="/usr/include/mysql"

if test ! -f "$mysql_includes/my_config.h"
then
  if test ! -f "$alt_inc1/my_config.h"
  then
    if test ! -f "$alt_inc2/my_config.h"
    then
	AC_MSG_RESULT(no)
	AC_MSG_ERROR([Could not find the mysql include file my_config.h in '$alt_inc1' or '$alt_inc2'])
    else
	AC_MSG_RESULT(yes)
	MYSQL_INCLUDES="-I$alt_inc2"
	AC_SUBST(MYSQL_INCLUDES)
    fi
  else
      AC_MSG_RESULT(yes)
      MYSQL_INCLUDES="-I$alt_inc1"
      AC_SUBST(MYSQL_INCLUDES)
  fi
else
    AC_MSG_RESULT(yes)
    MYSQL_INCLUDES="-I$mysql_includes"
    AC_SUBST(MYSQL_INCLUDES)
fi

#check for unixODBC

use_unixODBC=no
AC_ARG_WITH(unixODBC,
[  --with-unixODBC[=DIR]   Use unixODBC located in DIR],
[use_unixODBC=yes;unixODBC="$withval"],use_unixODBC=no)

if test "x$use_unixODBC" = "xyes"
then

# default to /usr if not specified
if test "x$unixODBC" = "x"
then
	unixODBC="/usr";
fi

AC_ARG_WITH(unixODBC-includes,
[  --with-unixODBC-includes=DIR Find unixODBC headers in DIR],
unixODBC_includes="$withval",unixODBC_includes="$unixODBC/include")

AC_ARG_WITH(unixODBC-libs,
[  --with-unixODBC-libs=DIR Find unixODBC libraries in DIR],
unixODBC_libs="$withval",unixODBC_libs="$unixODBC/lib")

AC_CHECK_UNIXODBC($unixODBC_includes,$unixODBC_libs)

else

# check for iodbc

AC_ARG_WITH(iodbc,
[  --with-iodbc[=DIR]      Use iODBC located in DIR],
iodbc="$withval")

AC_ARG_WITH(iodbc-includes,
[  --with-iodbc-includes=DIR Find iODBC headers in DIR],
iodbc_includes="$withval")

AC_ARG_WITH(iodbc-libs,
[  --with-iodbc-libs=DIR   Find iODBC libraries in DIR],
iodbc_libs="$withval")

case "$iodbc" in
    yes)
       ;;
    no)
       AC_MSG_ERROR([iodbc is required - you cannot disable it])
       ;;
    *)
       if test "$iodbc_includes" = ""; then
               iodbc_includes="$iodbc/include"
       fi
       if test "$iodbc_libs" = ""; then
               iodbc_libs="$iodbc/lib"
       fi
       ;;
esac

AC_CHECK_IODBC($iodbc_includes,$iodbc_libs)

AC_ARG_WITH(odbc-ini,
[  --with-odbc-ini=PATH    Location of system odbc.ini [IODBCDIR/etc/odbc.ini]],
odbc_ini="$withval",odbc_ini="$iodbc/etc/odbc.ini")

if test "x$have_iodbcinst" != "xyes"
then
	AC_DEFINE_UNQUOTED(SYSTEM_ODBC_INI,"$odbc_ini")
fi

fi

#
# Add some extra LDFLAGS to the linking of the shared library
#

AC_ARG_WITH(ldflags,
    [  --with-ldflags=option   Extra arguments for linking. Normally -lmysqlclient],
    EXTRA_LDFLAGS="$withval",EXTRA_LDFLAGS="")
AC_SUBST(EXTRA_LDFLAGS)

# if we're working in an older odbc environment,
# we don't have the SQL* types, so we need to fall
# back to the old versions

AC_CHECK_ODBC_TYPE(SQLHENV,HENV)
AC_CHECK_ODBC_TYPE(SQLHDBC,HDBC)
AC_CHECK_ODBC_TYPE(SQLHSTMT,HSTMT)

AC_CHECK_ODBC_TYPE(SQLINTEGER,SDWORD)
AC_CHECK_ODBC_TYPE(SQLUINTEGER,UDWORD)
AC_CHECK_ODBC_TYPE(SQLSMALLINT,SWORD)
AC_CHECK_ODBC_TYPE(SQLUSMALLINT,UWORD)

AC_CHECK_ODBC_TYPE(SQLPOINTER,PTR)
AC_CHECK_ODBC_TYPE(SQLHWND,HWND)

AC_CHECK_ODBC_TYPE(SQLRETURN,RETCODE)

AC_CHECK_ODBC_TYPE(SQLCHAR,UCHAR)

AC_OUTPUT(Makefile)

if test "x$iodbc_ok" = "xyes" && test "x$have_iodbcinst" != "xyes"
then
cat <<EOF
----------------------------------------------------------------
Warning: using iODBC but libiodbcinst library not found.
Enabling workaround, which will search for mysql datasource
configuration as follows:

1. \$ODBCINI, and if not found - \$HOME/.odbc.ini (User data sources)
2. $odbc_ini (System data sources)

If you want to change (2), re-run configure using the
   --with-odbc-ini=/some/other/path/odbc.ini
option.
----------------------------------------------------------------
EOF
fi