277
# Print version of CC and CXX compiler (if they support --version)
281
AC_SUBST(TARGET_LINUX)
282
AC_DEFINE([TARGET_OS_LINUX], [1], [Whether we build for Linux])
280
287
AC_DEFINE([TARGET_OS_OSX], [1], [Whether we build for OSX])
290
TARGET_SOLARIS="true"
291
AC_SUBST(TARGET_SOLARIS)
292
AC_DEFINE([TARGET_OS_SOLARIS], [1], [Whether we are building for Solaris])
283
CC_VERSION=`$CC --version | sed 1q`
288
AC_MSG_CHECKING("C Compiler version")
289
AC_MSG_RESULT("$CC $CC_VERSION")
295
298
dnl AC_CANONICAL_HOST thinks it's a good idea to just set CFLAGS to
296
299
dnl -g -O2 if you're running gcc. We would like to use something else, thanks.
318
322
dnl TODO: This needs to go away and be replaced with _ISOC99_SOURCE
319
if test "$ac_cv_compiler_gnu" = "yes" -o "$target_os" = "linux-gnu"
323
if test "$ac_cv_c_compiler_gnu" = "yes" -o "$target_os" = "linux-gnu"
321
325
AC_DEFINE([_GNU_SOURCE],[1],[Fix problem with S_ISLNK() on Linux])
386
390
AC_MSG_RESULT($mysql_cv_sys_os)
388
# This should be rewritten to use $target_os
391
TARGET_SOLARIS="true"
392
AC_DEFINE([TARGET_OS_SOLARIS], [1], [Whether we are building for Solaris])
393
AC_SUBST(TARGET_SOLARIS)
397
393
# The following is required for portable results of floating point calculations
398
394
# on PowerPC. The same must also be done for IA-64, but this options is missing
406
# Build optimized or debug version ?
407
# First check for gcc and g++
411
DEBUG_OPTIMIZE_CXX=""
412
OPTIMIZE_CXXFLAGS="-O"
413
if test "$GCC" = "yes"
415
SYMBOLS_FLAGS="-ggdb3"
416
DEBUG_OPTIMIZE_CC="-O0"
417
OPTIMIZE_CFLAGS="-O3"
418
DEBUG_OPTIMIZE_CXX="-O0"
419
OPTIMIZE_CXXFLAGS="-O3"
421
if test "$SUNCC" = "yes"
423
dnl I'm cheating here and sticking C99 support in SYMBOLS_FLAGS
426
OPTIMIZE_CFLAGS="-xO4 -xlibmil -xdepend -Xa -xstrconst -mt -D_FORTEC_"
427
DEBUG_OPTIMIZE_CXX=""
428
OPTIMIZE_CXXFLAGS="-xO4 -xlibmil -library=stlport4 -mt -D_FORTEC_"
431
dnl TODO: Remove this define once we are using 2.61 across the board.
434
# Check whether to enable assertions.
435
AC_DEFUN([AX_HEADER_ASSERT],
437
AC_MSG_CHECKING([whether to enable assertions])
438
AC_ARG_ENABLE([assert],
439
[AS_HELP_STRING([--disable-assert],
440
[Turn off assertions])],
442
[ac_cv_assert="yes"])
443
AC_MSG_RESULT([$ac_cv_assert])
448
CFLAGS="${SYMBOLS_FLAGS} ${CFLAGS}"
449
CXXFLAGS="${SYMBOLS_FLAGS} ${CXXFLAGS}"
452
[AS_HELP_STRING([--with-debug],
453
[Add debug code/turns off optimizations (yes|no) @<:@default=no@:>@])],
454
[with_debug=$withval],
456
if test "$with_debug" = "yes"
459
CFLAGS="$DEBUG_OPTIMIZE_CC -DDEBUG $CFLAGS ${SAVE_CFLAGS}"
460
CXXFLAGS="$DEBUG_OPTIMIZE_CXX -DDEBUG $CXXFLAGS ${SAVE_CXXFLAGS}"
462
# Optimized version. No debug
463
CFLAGS="${OPTIMIZE_CFLAGS} ${CFLAGS} ${SAVE_CFLAGS}"
464
CXXFLAGS="$OPTIMIZE_CXXFLAGS $CXXFLAGS ${SAVE_CXXFLAGS}"
431
487
# libdrizzle versioning when linked with GNU ld.
432
if $LD --version 2>/dev/null|grep -q GNU; then
488
if test "$GCC" = "yes" -a $LD --version 2>/dev/null|grep -q GNU; then
433
489
LD_VERSION_SCRIPT="-Wl,--version-script=\$(top_srcdir)/libdrizzle/libdrizzle.ver"
435
491
AC_SUBST(LD_VERSION_SCRIPT)
438
494
# Check for Google Proto Buffers
439
495
#--------------------------------------------------------------------
497
AC_MSG_CHECKING(for Google Protocol Buffers)
498
AC_ARG_WITH(protobuf,
499
[AS_HELP_STRING([--with-protobuf],
500
[Use protobuf directory])],
501
[ with_protobuf=$withval ],
502
[ with_protobuf=yes ])
504
save_CPPFLAGS="$CPPFLAGS"
507
if test "$with_protobuf" = "yes"
512
CPPFLAGS="-I$withval/include"
513
LIBS="-L$withval/lib -lprotobuf"
441
516
AC_LANG_PUSH([C++])
442
517
AC_CHECK_HEADERS([google/protobuf/message.h])
443
518
if test "x$ac_cv_header_google_protobuf_message_h" != "xyes"
445
520
AC_MSG_ERROR([Couldn't find message.h. Try installing Google Protocol Buffer development packages])
448
save_CFLAGS="$CFLAGS"
522
AC_MSG_RESULT("$wthval")
453
524
AC_CACHE_CHECK([for Message in libprotobuf], ac_libprotobuf_works, [
890
963
AC_CHECK_HEADERS(limits.h pwd.h select.h linux/config.h)
891
964
AC_CHECK_HEADERS(sys/fpu.h utime.h sys/utime.h )
892
965
AC_CHECK_HEADERS(synch.h sys/mman.h sys/socket.h netinet/in.h arpa/inet.h)
893
AC_CHECK_HEADERS(sys/timeb.h sys/vadvise.h sys/wait.h term.h)
966
AC_CHECK_HEADERS(sys/timeb.h sys/vadvise.h sys/wait.h)
967
AC_CHECK_HEADERS([curses.h term.h],[],[],
968
[[#ifdef HAVE_CURSES_H
894
972
AC_CHECK_HEADERS(termio.h termios.h sched.h alloca.h)
895
973
AC_CHECK_HEADERS(sys/ioctl.h malloc.h sys/malloc.h sys/ipc.h sys/shm.h)
896
974
AC_CHECK_HEADERS(sys/prctl.h sys/resource.h sys/param.h port.h ieeefp.h)
976
1054
AC_DEFINE_UNQUOTED([COMPILATION_COMMENT],["$COMPILATION_COMMENT"],
977
1055
[Comment about compilation environment])
979
if expr "$target_os" : "[[Ll]]inux.*" > /dev/null
982
AC_DEFINE([TARGET_OS_LINUX], [1], [Whether we build for Linux])
987
1057
dnl Checks for typedefs, structures, and compiler characteristics.
1024
1094
DRIZZLE_CXX_BOOL
1025
1095
AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>])
1026
1096
AC_CHECK_TYPES([size_t], [], [], [#include <stdio.h>])
1097
AC_CHECK_TYPES([uint ulong])
1028
1099
DRIZZLE_PTHREAD_YIELD
1056
1127
# Already-done: stdlib.h string.h unistd.h termios.h
1057
1128
AC_CHECK_HEADERS(stdarg.h dirent.h locale.h ndir.h sys/dir.h \
1058
sys/file.h sys/ndir.h sys/ptem.h sys/pte.h sys/select.h sys/stream.h \
1059
sys/mman.h curses.h termcap.h termio.h termbits.h asm/termbits.h grp.h \
1129
sys/file.h sys/ndir.h sys/pte.h sys/select.h sys/stream.h \
1130
sys/mman.h termcap.h termio.h termbits.h asm/termbits.h grp.h \
1060
1131
paths.h semaphore.h)
1062
1133
# Already-done: strcasecmp
1187
1258
# Sanity check: We chould not have any fseeko symbol unless
1188
1259
# large_file_support=yes
1189
1260
AC_CHECK_FUNC(fseeko,
1190
[if test "$large_file_support" = no -a "$TARGET_LINUX" = "true";
1261
[if test "$large_file_support" = no -a "x$TARGET_LINUX" = "xtrue";
1192
1263
AC_MSG_ERROR("Found fseeko symbol but large_file_support is not enabled!")
1350
1421
AC_SUBST(mysql_plugin_libs)
1351
1422
AC_SUBST(mysql_plugin_defs)
1353
# Build optimized or debug version ?
1354
# First check for gcc and g++
1356
DEBUG_OPTIMIZE_CC=""
1357
OPTIMIZE_CFLAGS="-O"
1358
DEBUG_OPTIMIZE_CXX=""
1359
OPTIMIZE_CXXFLAGS="-O"
1360
if test "$GCC" = "yes"
1362
SYMBOLS_FLAGS="-ggdb3"
1363
DEBUG_OPTIMIZE_CC="-O0"
1364
OPTIMIZE_CFLAGS="-O3"
1365
DEBUG_OPTIMIZE_CXX="-O0"
1366
OPTIMIZE_CXXFLAGS="-O3"
1368
if test "$SUNCC" = "yes"
1371
DEBUG_OPTIMIZE_CC=""
1372
OPTIMIZE_CFLAGS="-xO4 -xlibmil -xdepend"
1373
DEBUG_OPTIMIZE_CXX=""
1374
OPTIMIZE_CXXFLAGS="-xO4 -xlibmil"
1377
dnl TODO: Remove this define once we are using 2.61 across the board.
1380
# Check whether to enable assertions.
1381
AC_DEFUN([AX_HEADER_ASSERT],
1383
AC_MSG_CHECKING([whether to enable assertions])
1384
AC_ARG_ENABLE([assert],
1385
[AS_HELP_STRING([--disable-assert],
1386
[Turn off assertions])],
1387
[ac_cv_assert="no"],
1388
[ac_cv_assert="yes"])
1389
AC_MSG_RESULT([$ac_cv_assert])
1394
CFLAGS="${SYMBOLS_FLAGS} ${CFLAGS}"
1395
CXXFLAGS="${SYMBOLS_FLAGS} ${CXXFLAGS}"
1397
AC_ARG_WITH([debug],
1398
[AS_HELP_STRING([--with-debug],
1399
[Add debug code/turns off optimizations (yes|no) @<:@default=no@:>@])],
1400
[with_debug=$withval],
1402
if test "$with_debug" = "yes"
1405
CFLAGS="$DEBUG_OPTIMIZE_CC -DDEBUG $CFLAGS ${SAVE_CFLAGS}"
1406
CXXFLAGS="$DEBUG_OPTIMIZE_CXX -DDEBUG $CXXFLAGS ${SAVE_CXXFLAGS}"
1408
# Optimized version. No debug
1409
CFLAGS="${OPTIMIZE_CFLAGS} ${CFLAGS} ${SAVE_CFLAGS}"
1410
CXXFLAGS="$OPTIMIZE_CXXFLAGS $CXXFLAGS ${SAVE_CXXFLAGS}"
1413
1425
AC_ARG_ENABLE([profiling],
1414
1426
[AS_HELP_STRING([--enable-profiling],
1608
1620
AC_SUBST(MAKE_BINARY_DISTRIBUTION_OPTIONS)
1610
1622
dnl GCC Precompiled Header Support
1611
AM_CONDITIONAL([GCC_PCH],[test "x$GCC" = "xyes"])
1623
AM_CONDITIONAL([GCC_PCH],[test "$GCC" = "yes"])
1613
1625
AC_CONFIG_FILES(Makefile extra/Makefile mysys/Makefile dnl
1614
1626
mystrings/Makefile storage/Makefile dnl