1
by brian
clean slate |
1 |
# Local macros for automake & autoconf |
2 |
||
3 |
#---START: Used in for client configure |
|
319.1.1
by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_ |
4 |
AC_DEFUN([DRIZZLE_TYPE_ACCEPT], |
1
by brian
clean slate |
5 |
[ac_save_CXXFLAGS="$CXXFLAGS" |
6 |
AC_CACHE_CHECK([base type of last arg to accept], mysql_cv_btype_last_arg_accept, |
|
7 |
AC_LANG_PUSH(C++) |
|
8 |
if test "$ac_cv_prog_gxx" = "yes" |
|
9 |
then
|
|
10 |
# Add -Werror, remove -fbranch-probabilities (Bug #268) |
|
11 |
CXXFLAGS=`echo "$CXXFLAGS -Werror" | sed -e 's/-fbranch-probabilities//; s/-Wall//; s/-Wcheck//'` |
|
12 |
fi
|
|
13 |
mysql_cv_btype_last_arg_accept=none |
|
14 |
[AC_TRY_COMPILE([#if defined(inline) |
|
15 |
#undef inline
|
|
16 |
#endif
|
|
17 |
#include <stdlib.h>
|
|
18 |
#include <sys/types.h>
|
|
19 |
#include <sys/socket.h>
|
|
20 |
], |
|
21 |
[int a = accept(1, (struct sockaddr *) 0, (socklen_t *) 0); return (a != 0);], |
|
22 |
mysql_cv_btype_last_arg_accept=socklen_t)] |
|
23 |
if test "$mysql_cv_btype_last_arg_accept" = "none"; then |
|
24 |
[AC_TRY_COMPILE([#if defined(inline) |
|
25 |
#undef inline
|
|
26 |
#endif
|
|
27 |
#include <stdlib.h>
|
|
28 |
#include <sys/types.h>
|
|
29 |
#include <sys/socket.h>
|
|
30 |
], |
|
31 |
[int a = accept(1, (struct sockaddr *) 0, (size_t *) 0); return (a != 0);], |
|
32 |
mysql_cv_btype_last_arg_accept=size_t)] |
|
33 |
fi
|
|
34 |
if test "$mysql_cv_btype_last_arg_accept" = "none"; then |
|
35 |
mysql_cv_btype_last_arg_accept=int |
|
36 |
fi) |
|
37 |
AC_LANG_POP(C++) |
|
38 |
AC_DEFINE_UNQUOTED([SOCKET_SIZE_TYPE], [$mysql_cv_btype_last_arg_accept], |
|
39 |
[The base type of the last arg to accept]) |
|
40 |
CXXFLAGS="$ac_save_CXXFLAGS" |
|
41 |
]) |
|
42 |
#---END: |
|
43 |
||
44 |
dnl Find type of qsort |
|
319.1.1
by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_ |
45 |
AC_DEFUN([DRIZZLE_TYPE_QSORT], |
1
by brian
clean slate |
46 |
[AC_CACHE_CHECK([return type of qsort], mysql_cv_type_qsort, |
47 |
[AC_TRY_COMPILE([#include <stdlib.h> |
|
48 |
#ifdef __cplusplus
|
|
49 |
extern "C"
|
|
50 |
#endif
|
|
51 |
void qsort(void *base, size_t nel, size_t width,
|
|
52 |
int (*compar) (const void *, const void *));
|
|
53 |
], |
|
54 |
[int i;], mysql_cv_type_qsort=void, mysql_cv_type_qsort=int)]) |
|
55 |
AC_DEFINE_UNQUOTED([RETQSORTTYPE], [$mysql_cv_type_qsort], |
|
56 |
[The return type of qsort (int or void).]) |
|
57 |
if test "$mysql_cv_type_qsort" = "void" |
|
58 |
then
|
|
59 |
AC_DEFINE_UNQUOTED([QSORT_TYPE_IS_VOID], [1], [qsort returns void]) |
|
60 |
fi
|
|
61 |
]) |
|
62 |
||
63 |
#---START: Figure out whether to use 'struct rlimit' or 'struct rlimit64' |
|
319.1.1
by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_ |
64 |
AC_DEFUN([DRIZZLE_TYPE_STRUCT_RLIMIT], |
1
by brian
clean slate |
65 |
[ac_save_CXXFLAGS="$CXXFLAGS" |
66 |
AC_CACHE_CHECK([struct type to use with setrlimit], mysql_cv_btype_struct_rlimit, |
|
67 |
AC_LANG_PUSH(C++) |
|
68 |
if test "$ac_cv_prog_gxx" = "yes" |
|
69 |
then
|
|
70 |
# Add -Werror, remove -fbranch-probabilities (Bug #268) |
|
71 |
CXXFLAGS=`echo "$CXXFLAGS -Werror" | sed -e 's/-fbranch-probabilities//; s/-Wall//; s/-Wcheck//'` |
|
72 |
fi
|
|
73 |
mysql_cv_btype_struct_rlimit=none |
|
74 |
[AC_TRY_COMPILE([#if defined(inline) |
|
75 |
#undef inline
|
|
76 |
#endif
|
|
77 |
#include <stdlib.h>
|
|
78 |
#include <sys/resource.h>
|
|
79 |
], |
|
80 |
[struct rlimit64 rl; setrlimit(RLIMIT_CORE, &rl);], |
|
81 |
mysql_cv_btype_struct_rlimit="struct rlimit64")] |
|
82 |
if test "$mysql_cv_btype_struct_rlimit" = "none"; then |
|
83 |
mysql_cv_btype_struct_rlimit="struct rlimit" |
|
84 |
fi) |
|
85 |
AC_LANG_POP(C++) |
|
86 |
AC_DEFINE_UNQUOTED([STRUCT_RLIMIT], [$mysql_cv_btype_struct_rlimit], |
|
87 |
[The struct rlimit type to use with setrlimit]) |
|
88 |
CXXFLAGS="$ac_save_CXXFLAGS" |
|
89 |
]) |
|
90 |
#---END: |
|
91 |
||
236.1.24
by Monty Taylor
Renamed MYSQL_TIME to DRIZZLE_TIME. |
92 |
AC_DEFUN([DRIZZLE_TIMESPEC_TS], |
1
by brian
clean slate |
93 |
[AC_CACHE_CHECK([if struct timespec has a ts_sec member], mysql_cv_timespec_ts, |
94 |
[AC_TRY_COMPILE([#include <pthread.h> |
|
95 |
#ifdef __cplusplus
|
|
96 |
extern "C"
|
|
97 |
#endif
|
|
98 |
], |
|
99 |
[struct timespec abstime; |
|
100 |
||
101 |
abstime.ts_sec = time(NULL)+1;
|
|
102 |
abstime.ts_nsec = 0;
|
|
103 |
], mysql_cv_timespec_ts=yes, mysql_cv_timespec_ts=no)]) |
|
104 |
if test "$mysql_cv_timespec_ts" = "yes" |
|
105 |
then
|
|
106 |
AC_DEFINE([HAVE_TIMESPEC_TS_SEC], [1], |
|
107 |
[Timespec has a ts_sec instead of tv_sev]) |
|
108 |
fi
|
|
109 |
]) |
|
110 |
||
319.1.1
by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_ |
111 |
AC_DEFUN([DRIZZLE_TZNAME], |
1
by brian
clean slate |
112 |
[AC_CACHE_CHECK([if we have tzname variable], mysql_cv_tzname, |
113 |
[AC_TRY_COMPILE([#include <time.h> |
|
114 |
#ifdef __cplusplus
|
|
115 |
extern "C"
|
|
116 |
#endif
|
|
117 |
], |
|
118 |
[ tzset(); |
|
119 |
return tzname[0] != 0; |
|
120 |
], mysql_cv_tzname=yes, mysql_cv_tzname=no)]) |
|
121 |
if test "$mysql_cv_tzname" = "yes" |
|
122 |
then
|
|
123 |
AC_DEFINE([HAVE_TZNAME], [1], [Have the tzname variable]) |
|
124 |
fi
|
|
125 |
]) |
|
126 |
||
127 |
||
319.1.1
by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_ |
128 |
AC_DEFUN([DRIZZLE_PTHREAD_YIELD],[ |
1
by brian
clean slate |
129 |
# Some OSes like Mac OS X have that as a replacement for pthread_yield()
|
130 |
AC_CHECK_FUNCS(pthread_yield_np, AC_DEFINE([HAVE_PTHREAD_YIELD_NP],[],[Define if you have pthread_yield_np])) |
|
131 |
AC_CACHE_CHECK([if pthread_yield takes zero arguments], ac_cv_pthread_yield_zero_arg, |
|
132 |
[AC_TRY_LINK([#define _GNU_SOURCE |
|
133 |
#include <pthread.h>
|
|
134 |
#ifdef __cplusplus
|
|
135 |
extern "C"
|
|
136 |
#endif
|
|
137 |
], |
|
138 |
[
|
|
139 |
pthread_yield();
|
|
140 |
], ac_cv_pthread_yield_zero_arg=yes, ac_cv_pthread_yield_zero_arg=yeso)]) |
|
141 |
if test "$ac_cv_pthread_yield_zero_arg" = "yes" |
|
142 |
then
|
|
143 |
AC_DEFINE([HAVE_PTHREAD_YIELD_ZERO_ARG], [1], |
|
144 |
[pthread_yield that doesn't take any arguments]) |
|
145 |
fi
|
|
146 |
AC_CACHE_CHECK([if pthread_yield takes 1 argument], ac_cv_pthread_yield_one_arg, |
|
147 |
[AC_TRY_LINK([#define _GNU_SOURCE |
|
148 |
#include <pthread.h>
|
|
149 |
#ifdef __cplusplus
|
|
150 |
extern "C"
|
|
151 |
#endif
|
|
152 |
], |
|
153 |
[
|
|
154 |
pthread_yield(0);
|
|
155 |
], ac_cv_pthread_yield_one_arg=yes, ac_cv_pthread_yield_one_arg=no)]) |
|
156 |
if test "$ac_cv_pthread_yield_one_arg" = "yes" |
|
157 |
then
|
|
158 |
AC_DEFINE([HAVE_PTHREAD_YIELD_ONE_ARG], [1], |
|
159 |
[pthread_yield function with one argument]) |
|
160 |
fi
|
|
161 |
]
|
|
162 |
)
|
|
163 |
||
164 |
#---END: |
|
165 |
||
166 |
# From fileutils-3.14/aclocal.m4 |
|
167 |
||
168 |
# @defmac AC_PROG_CC_STDC |
|
169 |
# @maindex PROG_CC_STDC |
|
170 |
# @ovindex CC |
|
171 |
# If the C compiler in not in ANSI C mode by default, try to add an option |
|
172 |
# to output variable @code{CC} to make it so. This macro tries various |
|
173 |
# options that select ANSI C on some system or another. It considers the |
|
174 |
# compiler to be in ANSI C mode if it defines @code{__STDC__} to 1 and |
|
175 |
# handles function prototypes correctly. |
|
176 |
#
|
|
177 |
# Patched by monty to only check if __STDC__ is defined. With the original |
|
178 |
# check it's impossible to get things to work with the Sunpro compiler from |
|
179 |
# Workshop 4.2
|
|
180 |
#
|
|
181 |
# If you use this macro, you should check after calling it whether the C
|
|
182 |
# compiler has been set to accept ANSI C; if not, the shell variable
|
|
183 |
# @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source
|
|
184 |
# code in ANSI C, you can make an un-ANSIfied copy of it by using the
|
|
185 |
# program @code{ansi2knr}, which comes with Ghostscript.
|
|
186 |
# @end defmac
|
|
187 |
||
188 |
AC_DEFUN([AM_PROG_CC_STDC],
|
|
189 |
[AC_REQUIRE([AC_PROG_CC])
|
|
190 |
AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C)
|
|
191 |
AC_CACHE_VAL(am_cv_prog_cc_stdc,
|
|
192 |
[am_cv_prog_cc_stdc=no
|
|
193 |
ac_save_CC="$CC"
|
|
194 |
# Don't try gcc -ansi; that turns off useful extensions and |
|
195 |
# breaks some systems' header files. |
|
196 |
# AIX -qlanglvl=ansi
|
|
197 |
# Ultrix and OSF/1 -std1
|
|
198 |
# HP-UX -Aa -D_HPUX_SOURCE
|
|
199 |
# SVR4 -Xc -D__EXTENSIONS__
|
|
200 |
# removed "-Xc -D__EXTENSIONS__" beacause sun c++ does not like it.
|
|
201 |
for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE"
|
|
202 |
do
|
|
203 |
CC="$ac_save_CC $ac_arg"
|
|
204 |
AC_TRY_COMPILE(
|
|
205 |
[#if !defined(__STDC__)
|
|
206 |
choke me
|
|
207 |
#endif
|
|
208 |
/* DYNIX/ptx V4.1.3 can't compile sys/stat.h with -Xc -D__EXTENSIONS__. */ |
|
209 |
#ifdef _SEQUENT_ |
|
210 |
# include <sys/types.h> |
|
211 |
# include <sys/stat.h> |
|
212 |
#endif
|
|
213 |
], [ |
|
214 |
int test (int i, double x);
|
|
215 |
struct s1 {int (*f) (int a);};
|
|
216 |
struct s2 {int (*f) (double a);};], |
|
217 |
[am_cv_prog_cc_stdc="$ac_arg"; break]) |
|
218 |
done
|
|
219 |
CC="$ac_save_CC" |
|
220 |
]) |
|
221 |
AC_MSG_RESULT($am_cv_prog_cc_stdc) |
|
222 |
case "x$am_cv_prog_cc_stdc" in |
|
223 |
x|xno) ;; |
|
224 |
*) CC="$CC $am_cv_prog_cc_stdc" ;; |
|
225 |
esac
|
|
226 |
]) |
|
227 |
||
228 |
# Orginal from bash-2.0 aclocal.m4, Changed to use termcap last by monty. |
|
229 |
|
|
319.1.1
by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_ |
230 |
AC_DEFUN([DRIZZLE_CHECK_LIB_TERMCAP], |
1
by brian
clean slate |
231 |
[
|
232 |
AC_CACHE_VAL(mysql_cv_termcap_lib,
|
|
233 |
[AC_CHECK_LIB(ncurses, tgetent, mysql_cv_termcap_lib=libncurses,
|
|
234 |
[AC_CHECK_LIB(curses, tgetent, mysql_cv_termcap_lib=libcurses,
|
|
235 |
[AC_CHECK_LIB(termcap, tgetent, mysql_cv_termcap_lib=libtermcap,
|
|
236 |
[AC_CHECK_LIB(tinfo, tgetent, mysql_cv_termcap_lib=libtinfo,
|
|
237 |
mysql_cv_termcap_lib=NOT_FOUND)])])])]) |
|
238 |
AC_MSG_CHECKING(for termcap functions library) |
|
239 |
if test "$mysql_cv_termcap_lib" = "NOT_FOUND"; then |
|
240 |
AC_MSG_ERROR([No curses/termcap library found]) |
|
241 |
elif test "$mysql_cv_termcap_lib" = "libtermcap"; then |
|
242 |
TERMCAP_LIB=-ltermcap |
|
243 |
elif test "$mysql_cv_termcap_lib" = "libncurses"; then |
|
244 |
TERMCAP_LIB=-lncurses |
|
245 |
elif test "$mysql_cv_termcap_lib" = "libtinfo"; then |
|
246 |
TERMCAP_LIB=-ltinfo |
|
247 |
else
|
|
248 |
TERMCAP_LIB=-lcurses |
|
249 |
fi
|
|
250 |
AC_MSG_RESULT($TERMCAP_LIB) |
|
251 |
]) |
|
252 |
||
253 |
dnl Check type of signal routines (posix, 4.2bsd, 4.1bsd or v7) |
|
319.1.1
by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_ |
254 |
AC_DEFUN([DRIZZLE_SIGNAL_CHECK], |
1
by brian
clean slate |
255 |
[AC_REQUIRE([AC_TYPE_SIGNAL]) |
256 |
AC_MSG_CHECKING(for type of signal functions) |
|
257 |
AC_CACHE_VAL(mysql_cv_signal_vintage, |
|
258 |
[
|
|
259 |
AC_TRY_LINK([#include <signal.h>],[ |
|
260 |
sigset_t ss;
|
|
261 |
struct sigaction sa;
|
|
262 |
sigemptyset(&ss); sigsuspend(&ss);
|
|
263 |
sigaction(SIGINT, &sa, (struct sigaction *) 0);
|
|
264 |
sigprocmask(SIG_BLOCK, &ss, (sigset_t *) 0);
|
|
265 |
], mysql_cv_signal_vintage=posix, |
|
266 |
[ |
|
267 |
AC_TRY_LINK([#include <signal.h>], [ |
|
268 |
int mask = sigmask(SIGINT);
|
|
269 |
sigsetmask(mask); sigblock(mask); sigpause(mask);
|
|
270 |
], mysql_cv_signal_vintage=4.2bsd, |
|
271 |
[ |
|
272 |
AC_TRY_LINK([
|
|
273 |
#include <signal.h>
|
|
274 |
RETSIGTYPE foo() { }], [ |
|
275 |
int mask = sigmask(SIGINT);
|
|
276 |
sigset(SIGINT, foo); sigrelse(SIGINT);
|
|
277 |
sighold(SIGINT); sigpause(SIGINT);
|
|
278 |
], mysql_cv_signal_vintage=svr3, mysql_cv_signal_vintage=v7 |
|
279 |
)] |
|
280 |
)] |
|
281 |
)
|
|
282 |
]) |
|
283 |
AC_MSG_RESULT($mysql_cv_signal_vintage) |
|
284 |
if test "$mysql_cv_signal_vintage" = posix; then |
|
285 |
AC_DEFINE(HAVE_POSIX_SIGNALS, [1], |
|
286 |
[Signal handling is POSIX (sigset/sighold, etc)]) |
|
287 |
elif test "$mysql_cv_signal_vintage" = "4.2bsd"; then |
|
288 |
AC_DEFINE([HAVE_BSD_SIGNALS], [1], [BSD style signals]) |
|
289 |
elif test "$mysql_cv_signal_vintage" = svr3; then |
|
290 |
AC_DEFINE(HAVE_USG_SIGHOLD, [1], [sighold() is present and usable]) |
|
291 |
fi
|
|
292 |
]) |
|
293 |
||
319.1.1
by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_ |
294 |
AC_DEFUN([DRIZZLE_CHECK_GETPW_FUNCS], |
1
by brian
clean slate |
295 |
[AC_MSG_CHECKING(whether programs are able to redeclare getpw functions) |
296 |
AC_CACHE_VAL(mysql_cv_can_redecl_getpw,
|
|
297 |
[AC_TRY_COMPILE([#include <sys/types.h>
|
|
298 |
#include <pwd.h>
|
|
299 |
extern struct passwd *getpwent();], [struct passwd *z; z = getpwent();], |
|
300 |
mysql_cv_can_redecl_getpw=yes,mysql_cv_can_redecl_getpw=no)]) |
|
301 |
AC_MSG_RESULT($mysql_cv_can_redecl_getpw) |
|
302 |
if test "$mysql_cv_can_redecl_getpw" = "no"; then |
|
303 |
AC_DEFINE(HAVE_GETPW_DECLS, [1], [getpwent() declaration present]) |
|
304 |
fi
|
|
305 |
]) |
|
306 |
||
319.1.1
by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_ |
307 |
AC_DEFUN([DRIZZLE_HAVE_TIOCGWINSZ], |
1
by brian
clean slate |
308 |
[AC_MSG_CHECKING(for TIOCGWINSZ in sys/ioctl.h) |
309 |
AC_CACHE_VAL(mysql_cv_tiocgwinsz_in_ioctl,
|
|
310 |
[AC_TRY_COMPILE([#include <sys/types.h>
|
|
311 |
#include <sys/ioctl.h>], [int x = TIOCGWINSZ;], |
|
312 |
mysql_cv_tiocgwinsz_in_ioctl=yes,mysql_cv_tiocgwinsz_in_ioctl=no)]) |
|
313 |
AC_MSG_RESULT($mysql_cv_tiocgwinsz_in_ioctl) |
|
314 |
if test "$mysql_cv_tiocgwinsz_in_ioctl" = "yes"; then |
|
315 |
AC_DEFINE([GWINSZ_IN_SYS_IOCTL], [1], |
|
316 |
[READLINE: your system defines TIOCGWINSZ in sys/ioctl.h.]) |
|
317 |
fi
|
|
318 |
]) |
|
319 |
||
319.1.1
by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_ |
320 |
AC_DEFUN([DRIZZLE_HAVE_TIOCSTAT], |
1
by brian
clean slate |
321 |
[AC_MSG_CHECKING(for TIOCSTAT in sys/ioctl.h) |
322 |
AC_CACHE_VAL(mysql_cv_tiocstat_in_ioctl,
|
|
323 |
[AC_TRY_COMPILE([#include <sys/types.h>
|
|
324 |
#include <sys/ioctl.h>], [int x = TIOCSTAT;], |
|
325 |
mysql_cv_tiocstat_in_ioctl=yes,mysql_cv_tiocstat_in_ioctl=no)]) |
|
326 |
AC_MSG_RESULT($mysql_cv_tiocstat_in_ioctl) |
|
327 |
if test "$mysql_cv_tiocstat_in_ioctl" = "yes"; then |
|
328 |
AC_DEFINE(TIOCSTAT_IN_SYS_IOCTL, [1], |
|
329 |
[declaration of TIOCSTAT in sys/ioctl.h]) |
|
330 |
fi
|
|
331 |
]) |
|
332 |
||
319.1.1
by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_ |
333 |
AC_DEFUN([DRIZZLE_TYPE_SIGHANDLER], |
1
by brian
clean slate |
334 |
[AC_MSG_CHECKING([whether signal handlers are of type void]) |
335 |
AC_CACHE_VAL(mysql_cv_void_sighandler, |
|
336 |
[AC_TRY_COMPILE([#include <sys/types.h> |
|
337 |
#include <signal.h>
|
|
338 |
#ifdef signal
|
|
339 |
#undef signal
|
|
340 |
#endif
|
|
341 |
#ifdef __cplusplus
|
|
342 |
extern "C"
|
|
343 |
#endif
|
|
344 |
void (*signal ()) ();], |
|
345 |
[int i;], mysql_cv_void_sighandler=yes, mysql_cv_void_sighandler=no)])dnl |
|
346 |
AC_MSG_RESULT($mysql_cv_void_sighandler) |
|
347 |
if test "$mysql_cv_void_sighandler" = "yes"; then |
|
348 |
AC_DEFINE(VOID_SIGHANDLER, [1], [sighandler type is void (*signal ()) ();]) |
|
349 |
fi
|
|
350 |
]) |
|
351 |
||
319.1.1
by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_ |
352 |
AC_DEFUN([DRIZZLE_STACK_DIRECTION], |
1
by brian
clean slate |
353 |
[AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction, |
354 |
[AC_TRY_RUN([#include <stdlib.h>
|
|
355 |
int find_stack_direction ()
|
|
356 |
{
|
|
357 |
static char *addr = 0;
|
|
358 |
auto char dummy;
|
|
359 |
if (addr == 0)
|
|
360 |
{
|
|
361 |
addr = &dummy;
|
|
362 |
return find_stack_direction ();
|
|
363 |
}
|
|
364 |
else
|
|
365 |
return (&dummy > addr) ? 1 : -1;
|
|
366 |
}
|
|
367 |
int main ()
|
|
368 |
{
|
|
369 |
exit (find_stack_direction() < 0);
|
|
370 |
}], ac_cv_c_stack_direction=1, ac_cv_c_stack_direction=-1, |
|
371 |
ac_cv_c_stack_direction=)]) |
|
372 |
AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction) |
|
373 |
])dnl |
|
374 |
||
319.1.1
by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_ |
375 |
AC_DEFUN([DRIZZLE_CHECK_LONGLONG_TO_FLOAT], |
1
by brian
clean slate |
376 |
[
|
481.1.3
by Monty Taylor
Replaced long long with int64_t. |
377 |
AC_MSG_CHECKING(if conversion of int64_t to float works)
|
1
by brian
clean slate |
378 |
AC_CACHE_VAL(ac_cv_conv_longlong_to_float,
|
379 |
[AC_TRY_RUN([#include <stdio.h>
|
|
481.1.8
by Monty Taylor
Fixed partial longlong->int64 prob. |
380 |
#include <stdint.h>
|
1
by brian
clean slate |
381 |
int main()
|
382 |
{
|
|
481.1.3
by Monty Taylor
Replaced long long with int64_t. |
383 |
int64_t ll=1;
|
1
by brian
clean slate |
384 |
float f;
|
385 |
FILE *file=fopen("conftestval", "w");
|
|
386 |
f = (float) ll;
|
|
387 |
fprintf(file,"%g\n",f);
|
|
388 |
fclose(file);
|
|
389 |
return (0);
|
|
390 |
}], ac_cv_conv_longlong_to_float=`cat conftestval`, |
|
391 |
ac_cv_conv_longlong_to_float=0, |
|
392 |
ac_cv_conv_longlong_to_float="yes")])dnl # Cross compiling, assume can convert |
|
393 |
if test "$ac_cv_conv_longlong_to_float" = "1" -o "$ac_cv_conv_longlong_to_float" = "yes" |
|
394 |
then
|
|
395 |
ac_cv_conv_longlong_to_float=yes |
|
396 |
else
|
|
397 |
ac_cv_conv_longlong_to_float=no |
|
398 |
fi
|
|
399 |
AC_MSG_RESULT($ac_cv_conv_longlong_to_float) |
|
400 |
]) |
|
401 |
||
319.1.1
by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_ |
402 |
AC_DEFUN([DRIZZLE_CHECK_VIO], [ |
1
by brian
clean slate |
403 |
dnl
|
404 |
dnl we always use vio: no need for special defines
|
|
405 |
dnl
|
|
406 |
AC_DEFINE([HAVE_VIO_READ_BUFF], [1], |
|
407 |
[Define to enable buffered read. This works only if syscalls |
|
408 |
read/recv return as soon as there is some data in the kernel
|
|
409 |
buffer, no matter how big the given buffer is.]) |
|
410 |
]) |
|
411 |
||
412 |
# Local version of _AC_PROG_CXX_EXIT_DECLARATION that does not |
|
413 |
# include #stdlib.h as default as this breaks things on Solaris |
|
414 |
# (Conflicts with pthreads and big file handling) |
|
415 |
||
416 |
m4_define([_AC_PROG_CXX_EXIT_DECLARATION], |
|
417 |
[for ac_declaration in \ |
|
418 |
''\
|
|
419 |
'extern "C" void std::exit (int) throw (); using std::exit;' \
|
|
420 |
'extern "C" void std::exit (int); using std::exit;' \
|
|
421 |
'extern "C" void exit (int) throw ();' \
|
|
422 |
'extern "C" void exit (int);' \
|
|
423 |
'void exit (int);' \
|
|
424 |
'#include <stdlib.h>'
|
|
425 |
do
|
|
426 |
_AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$ac_declaration
|
|
427 |
@%:@include <stdlib.h>], |
|
428 |
[exit (42);])], |
|
429 |
[], |
|
430 |
[continue]) |
|
431 |
_AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$ac_declaration], |
|
432 |
[exit (42);])], |
|
433 |
[break]) |
|
434 |
done
|
|
435 |
rm -f conftest* |
|
436 |
if test -n "$ac_declaration"; then |
|
437 |
echo '#ifdef __cplusplus' >>confdefs.h |
|
438 |
echo $ac_declaration >>confdefs.h |
|
439 |
echo '#endif' >>confdefs.h |
|
440 |
fi
|
|
441 |
])# _AC_PROG_CXX_EXIT_DECLARATION |
|
442 |
||
443 |
dnl --------------------------------------------------------------------------- |
|
444 |
||
445 |
||
446 |
dnl --------------------------------------------------------------------------- |
|
319.1.1
by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_ |
447 |
dnl Macro: DRIZZLE_CHECK_MAX_INDEXES |
1
by brian
clean slate |
448 |
dnl Sets MAX_INDEXES |
449 |
dnl --------------------------------------------------------------------------- |
|
319.1.1
by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_ |
450 |
AC_DEFUN([DRIZZLE_CHECK_MAX_INDEXES], [ |
1
by brian
clean slate |
451 |
AC_ARG_WITH([max-indexes], |
452 |
AS_HELP_STRING([--with-max-indexes=N], |
|
453 |
[Sets the maximum number of indexes per table, default 64]), |
|
454 |
[max_indexes="$withval"], |
|
455 |
[max_indexes=64]) |
|
456 |
AC_MSG_CHECKING([max indexes per table]) |
|
457 |
AC_DEFINE_UNQUOTED([MAX_INDEXES], [$max_indexes], |
|
458 |
[Maximum number of indexes per table]) |
|
459 |
AC_MSG_RESULT([$max_indexes]) |
|
460 |
]) |
|
461 |
dnl --------------------------------------------------------------------------- |
|
319.1.1
by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_ |
462 |
dnl END OF DRIZZLE_CHECK_MAX_INDEXES SECTION |
1
by brian
clean slate |
463 |
dnl --------------------------------------------------------------------------- |
464 |
||
520.4.41
by mordred
Fixed configure.ac to work cleanly on Solaris - and define some good compile flags. |
465 |
AC_DEFUN([DRIZZLE_CHECK_C_VERSION],[ |
466 |
||
467 |
dnl Print version of C compiler
|
|
468 |
AC_MSG_CHECKING("C Compiler version")
|
|
469 |
if test "$GCC" = "yes"
|
|
470 |
then
|
|
471 |
CC_VERSION=`$CC --version | sed 1q`
|
|
472 |
elif test "$SUNCC" = "yes"
|
|
473 |
then
|
|
632.1.21
by Monty Taylor
Cleaned up compiler version checking. |
474 |
CC_VERSION=`$CC -V 2>&1 | sed 1q`
|
520.4.41
by mordred
Fixed configure.ac to work cleanly on Solaris - and define some good compile flags. |
475 |
else
|
476 |
CC_VERSION=""
|
|
477 |
fi
|
|
632.1.23
by Monty Taylor
One more version string cleanup. |
478 |
AC_MSG_RESULT("$CC_VERSION")
|
520.4.41
by mordred
Fixed configure.ac to work cleanly on Solaris - and define some good compile flags. |
479 |
AC_SUBST(CC_VERSION)
|
480 |
]) |
|
481 |
||
1
by brian
clean slate |
482 |
|
319.1.1
by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_ |
483 |
AC_DEFUN([DRIZZLE_CHECK_CXX_VERSION], [ |
520.4.41
by mordred
Fixed configure.ac to work cleanly on Solaris - and define some good compile flags. |
484 |
dnl Print version of CXX compiler
|
485 |
AC_MSG_CHECKING("C++ Compiler version")
|
|
486 |
if test "$GCC" = "yes"
|
|
487 |
then
|
|
1
by brian
clean slate |
488 |
CXX_VERSION=`$CXX --version | sed 1q`
|
520.4.41
by mordred
Fixed configure.ac to work cleanly on Solaris - and define some good compile flags. |
489 |
elif test "$SUNCC" = "yes"
|
490 |
then
|
|
632.1.21
by Monty Taylor
Cleaned up compiler version checking. |
491 |
CXX_VERSION=`$CXX -V 2>&1 | sed 1q`
|
520.4.41
by mordred
Fixed configure.ac to work cleanly on Solaris - and define some good compile flags. |
492 |
else
|
493 |
CXX_VERSION=""
|
|
494 |
fi
|
|
632.1.23
by Monty Taylor
One more version string cleanup. |
495 |
AC_MSG_RESULT("$CXX_VERSION")
|
520.4.41
by mordred
Fixed configure.ac to work cleanly on Solaris - and define some good compile flags. |
496 |
AC_SUBST(CXX_VERSION)
|
1
by brian
clean slate |
497 |
]) |
498 |
||
319.1.1
by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_ |
499 |
AC_DEFUN([DRIZZLE_PROG_AR], [ |
1
by brian
clean slate |
500 |
case $CXX_VERSION in
|
501 |
MIPSpro*)
|
|
502 |
AR=$CXX
|
|
503 |
ARFLAGS="-ar -o"
|
|
504 |
;;
|
|
505 |
*Forte*)
|
|
506 |
AR=$CXX
|
|
507 |
ARFLAGS="-xar -o"
|
|
508 |
;;
|
|
509 |
*)
|
|
510 |
AC_CHECK_PROG([AR], [ar], [ar]) |
|
511 |
if test -z "$AR" || test "$AR" = "false" |
|
512 |
then |
|
513 |
AC_MSG_ERROR([You need ar to build the library]) |
|
514 |
fi |
|
515 |
if test -z "$ARFLAGS" |
|
516 |
then |
|
517 |
ARFLAGS="cru" |
|
518 |
fi |
|
519 |
esac
|
|
520 |
AC_SUBST(AR) |
|
521 |
AC_SUBST(ARFLAGS) |
|
522 |
]) |
|
523 |
||
524 |
dnl
|
|
525 |
dnl Macro to check time_t range: according to C standard |
|
526 |
dnl array index must be greater than 0 => if time_t is signed, |
|
527 |
dnl the code in the macros below won't compile. |
|
528 |
dnl
|
|
529 |
||
319.1.1
by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_ |
530 |
AC_DEFUN([DRIZZLE_CHECK_TIME_T],[ |
1
by brian
clean slate |
531 |
AC_MSG_CHECKING(if time_t is unsigned)
|
532 |
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
|
|
533 |
[[
|
|
534 |
#include <time.h>
|
|
535 |
]], |
|
536 |
[[ |
|
537 |
int array[(((time_t)-1) > 0) ? 1 : -1]; |
|
538 |
]] ) |
|
539 |
], [ |
|
540 |
AC_DEFINE([TIME_T_UNSIGNED], 1, [Define to 1 if time_t is unsigned]) |
|
541 |
AC_MSG_RESULT(yes) |
|
542 |
], |
|
543 |
[AC_MSG_RESULT(no)] |
|
544 |
) |
|
545 |
]) |
|
546 |