summaryrefslogtreecommitdiff
path: root/innobase/configure.in
blob: baf11272ab99d8034f5ca5179a8d4845b43b5974 (plain)
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
# Process this file with autoconf to produce a configure script
AC_INIT
AC_CANONICAL_SYSTEM
AM_MAINTAINER_MODE
AM_CONFIG_HEADER(ib_config.h)
AM_INIT_AUTOMAKE(ib, 0.90)

# This is need before AC_PROG_CC
#

if test "x${CFLAGS-}" = x ; then
  cflags_is_set=no
else
  cflags_is_set=yes
fi

if test "x${CPPFLAGS-}" = x ; then
  cppflags_is_set=no
else
  cppflags_is_set=yes
fi

if test "x${LDFLAGS-}" = x ; then
  ldflags_is_set=no
else
  ldflags_is_set=yes
fi

# The following hack should ensure that configure doesn't add optimizing
# or debugging flags to CFLAGS or CXXFLAGS
CFLAGS="$CFLAGS "
CXXFLAGS="$CXXFLAGS "

AC_PROG_CC
AC_PROG_RANLIB
AC_PROG_INSTALL
AC_PROG_LIBTOOL
AC_CHECK_HEADERS(aio.h sched.h)
AC_CHECK_SIZEOF(int, 4)
AC_CHECK_SIZEOF(long, 4)
AC_CHECK_SIZEOF(void*, 4)
AC_CHECK_FUNCS(sched_yield)
AC_CHECK_FUNCS(fdatasync)
AC_CHECK_FUNCS(localtime_r)
#AC_CHECK_FUNCS(readdir_r) MySQL checks that it has also the right args.
# Some versions of Unix only take 2 arguments.
#AC_C_INLINE  Already checked in MySQL
AC_C_BIGENDIAN

# Build optimized or debug version ?
# First check for gcc and g++
if test "$ac_cv_prog_gcc" = "yes"
then
  DEBUG_CFLAGS="-g"
  DEBUG_OPTIMIZE_CC="-O"
  OPTIMIZE_CFLAGS="$MAX_C_OPTIMIZE"
else
  DEBUG_CFLAGS="-g"
  DEBUG_OPTIMIZE_CC=""
  OPTIMIZE_CFLAGS="-O"
fi
if test "$ac_cv_prog_cxx_g" = "yes"
then
  DEBUG_CXXFLAGS="-g"
  DEBUG_OPTIMIZE_CXX="-O"
  OPTIMIZE_CXXFLAGS="-O3"
else
  DEBUG_CXXFLAGS="-g"
  DEBUG_OPTIMIZE_CXX=""
  OPTIMIZE_CXXFLAGS="-O"
fi
AC_ARG_WITH(debug,
    [  --without-debug         Build a production version without debugging code],
    [with_debug=$withval],
    [with_debug=no])
if test "$with_debug" = "yes"
then
  # Medium debug.
  CFLAGS="$DEBUG_CFLAGS $DEBUG_OPTIMIZE_CC -DDBUG_ON -DSAFE_MUTEX $CFLAGS"
  CXXFLAGS="$DEBUG_CXXFLAGS $DEBUG_OPTIMIZE_CXX -DSAFE_MUTEX $CXXFLAGS"
elif test "$with_debug" = "full"
then
  # Full debug. Very slow in some cases
  CFLAGS="$DEBUG_CFLAGS -DDBUG_ON -DSAFE_MUTEX -DSAFEMALLOC $CFLAGS"
  CXXFLAGS="$DEBUG_CXXFLAGS -DSAFE_MUTEX -DSAFEMALLOC $CXXFLAGS"
else
  # Optimized version. No debug
  CFLAGS="$OPTIMIZE_CFLAGS -DDBUG_OFF $CFLAGS -DDEBUG_OFF"
  CXXFLAGS="$OPTIMIZE_CXXFLAGS -DDBUG_OFF $CXXFLAGS -DDEBUG_OFF"
fi

case "$target_os" in
       lin*)
	 CFLAGS="$CFLAGS -DUNIV_LINUX";;
       hpux10*)
	 CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE -DUNIV_HPUX -DUNIV_HPUX10";;
       hp*)
	 CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE -DUNIV_HPUX";;
       aix*)
         CFLAGS="$CFLAGS -DUNIV_AIX";;
       irix*)
	 CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE";;
       osf*)
	 CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE";;
       sysv5uw7*)
	 # Problem when linking on SCO
	 CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE";;
       openbsd*)
         CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE";;
esac

case "$target" in
       i[[4567]]86-*-*)
	 CFLAGS="$CFLAGS -DUNIV_INTEL_X86";;
	 # The compiler on Linux/S390 does not seem to have inlining
       s390-*-*)
	 CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE";;
esac

AC_OUTPUT(Makefile os/Makefile ut/Makefile btr/Makefile dnl
		buf/Makefile data/Makefile dnl
		dict/Makefile dyn/Makefile dnl
		eval/Makefile fil/Makefile fsp/Makefile fut/Makefile dnl
		ha/Makefile ibuf/Makefile include/Makefile dnl
		lock/Makefile log/Makefile dnl
		mach/Makefile mem/Makefile mtr/Makefile dnl
		page/Makefile pars/Makefile que/Makefile dnl
		read/Makefile rem/Makefile row/Makefile dnl
		srv/Makefile sync/Makefile thr/Makefile trx/Makefile dnl
		usr/Makefile)