~drizzle-trunk/drizzle/development

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