~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to configure.ac

  • Committer: Monty Taylor
  • Date: 2008-10-03 02:02:10 UTC
  • mto: This revision was merged to the branch mainline in revision 438.
  • Revision ID: monty@inaugust.com-20081003020210-jptrxxcdbjuzsuth
Fixed -O3 optimization for gcc.

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
AC_CONFIG_SRCDIR([drizzled/drizzled.cc])
8
8
AC_CONFIG_AUX_DIR(config)
9
9
AC_CONFIG_HEADERS([config.h])
 
10
 
 
11
# Save some variables and the command line options for mysqlbug
 
12
SAVE_CC="$CC"
 
13
SAVE_CXX="$CXX"
 
14
SAVE_ASFLAGS="$ASFLAGS"
 
15
SAVE_CFLAGS="$CFLAGS"
 
16
SAVE_CXXFLAGS="$CXXFLAGS"
 
17
SAVE_LDFLAGS="$LDFLAGS"
 
18
SAVE_CXXLDFLAGS="$CXXLDFLAGS"
 
19
CONF_COMMAND="$0 $ac_configure_args"
 
20
AC_SUBST(CONF_COMMAND)
 
21
AC_SUBST(SAVE_CC)
 
22
AC_SUBST(SAVE_CXX)
 
23
AC_SUBST(SAVE_ASFLAGS)
 
24
AC_SUBST(SAVE_CFLAGS)
 
25
AC_SUBST(SAVE_CXXFLAGS)
 
26
AC_SUBST(SAVE_LDFLAGS)
 
27
AC_SUBST(SAVE_CXXLDFLAGS)
 
28
AC_SUBST(CXXLDFLAGS)
 
29
 
10
30
AC_CANONICAL_TARGET
11
31
AM_INIT_AUTOMAKE(-Wall -Werror)
12
32
 
17
37
SHARED_LIB_VERSION=$SHARED_LIB_MAJOR_VERSION:0:0
18
38
 
19
39
 
 
40
dnl AC_CANONICAL_HOST thinks it's a good idea to just set CFLAGS to 
 
41
dnl -g -O2 if you're running gcc. We would like to use something else, thanks.
 
42
if test "x${CFLAGS}" = "x-g -O2"
 
43
then
 
44
  CFLAGS=
 
45
fi
 
46
if test "x${CXXFLAGS}" = "x-g -O2"
 
47
then
 
48
  CXXFLAGS=
 
49
fi
 
50
 
20
51
 
21
52
# Set all version vars based on $VERSION. How do we do this more elegant ?
22
53
# Remember that regexps needs to quote [ and ] since this is run through m4
119
150
  i?86) BASE_MACHINE_TYPE=i386 ;;
120
151
esac
121
152
 
122
 
# Save some variables and the command line options for mysqlbug
123
 
SAVE_CC="$CC"
124
 
SAVE_CXX="$CXX"
125
 
SAVE_ASFLAGS="$ASFLAGS"
126
 
SAVE_CFLAGS="$CFLAGS"
127
 
SAVE_CXXFLAGS="$CXXFLAGS"
128
 
SAVE_LDFLAGS="$LDFLAGS"
129
 
SAVE_CXXLDFLAGS="$CXXLDFLAGS"
130
 
CONF_COMMAND="$0 $ac_configure_args"
131
 
AC_SUBST(CONF_COMMAND)
132
 
AC_SUBST(SAVE_CC)
133
 
AC_SUBST(SAVE_CXX)
134
 
AC_SUBST(SAVE_ASFLAGS)
135
 
AC_SUBST(SAVE_CFLAGS)
136
 
AC_SUBST(SAVE_CXXFLAGS)
137
 
AC_SUBST(SAVE_LDFLAGS)
138
 
AC_SUBST(SAVE_CXXLDFLAGS)
139
 
AC_SUBST(CXXLDFLAGS)
140
 
 
141
153
AM_SANITY_CHECK
142
154
# This is needed is SUBDIRS is set
143
155
AC_PROG_MAKE_SET
166
178
 
167
179
################ End of section to be done before AC_PROG_CC #################
168
180
 
169
 
# The following hack should ensure that configure doesn't add optimizing
170
 
# or debugging flags to CFLAGS or CXXFLAGS
171
 
# C_EXTRA_FLAGS are flags that are automaticly added to both
172
 
# CFLAGS and CXXFLAGS
173
 
CFLAGS="$CFLAGS $C_EXTRA_FLAGS "
174
 
CXXFLAGS="$CXXFLAGS $C_EXTRA_FLAGS "
175
 
 
176
181
dnl Checks for programs.
177
182
AC_PROG_CC
178
183
ifdef([AC_PROG_CC_C99],[
 
184
  dnl TODO: Need to fix this to use c99 instead of gnu99
179
185
  AC_PROG_CC_C99([],[AC_MSG_ERROR([C99 support required for compiling Drizzle])])
180
186
  C99_SUPPORT_HACK=""
181
187
],[C99_SUPPORT_HACK="-std=gnu99"])
205
211
CC_VERSION=""
206
212
fi
207
213
AC_SUBST(CC_VERSION)
 
214
 
 
215
dnl AC_CANONICAL_HOST thinks it's a good idea to just set CFLAGS to 
 
216
dnl -g -O2 if you're running gcc. We would like to use something else, thanks.
 
217
if test "x${CFLAGS}" = "x-g -O2"
 
218
then
 
219
  CFLAGS=
 
220
fi
 
221
if test "x${CXXFLAGS}" = "x-g -O2"
 
222
then
 
223
  CXXFLAGS=
 
224
fi
 
225
 
208
226
DRIZZLE_CHECK_CXX_VERSION
209
227
 
210
228
AC_PROG_AWK
802
820
 
803
821
AC_CHECK_FUNCS(strtok_r)
804
822
 
805
 
# Build optimized or debug version ?
806
 
# First check for gcc and g++
807
 
if test "$ac_cv_c_compiler_gnu" = "yes"
808
 
then
809
 
  SYMBOLS_CFLAGS="-ggdb3"
810
 
  DEBUG_OPTIMIZE_CC="-O0"
811
 
  OPTIMIZE_CFLAGS="-O3"
812
 
else
813
 
  SYMBOLS_CFLAGS="-g"
814
 
  DEBUG_OPTIMIZE_CC=""
815
 
  OPTIMIZE_CFLAGS="-O"
816
 
fi
817
 
if test "$ac_cv_prog_cxx_g" = "yes"
818
 
then
819
 
  SYMBOLS_CXXFLAGS="-ggdb3"
820
 
  DEBUG_OPTIMIZE_CXX="-O0"
821
 
  OPTIMIZE_CXXFLAGS="-O3"
822
 
else
823
 
  SYMBOLS_CXXFLAGS="-g"
824
 
  DEBUG_OPTIMIZE_CXX=""
825
 
  OPTIMIZE_CXXFLAGS="-O"
826
 
fi
827
 
 
828
 
# If the user specified CFLAGS, we won't add any optimizations
829
 
if test -n "$SAVE_CFLAGS"
830
 
then
831
 
  OPTIMIZE_CFLAGS=""
832
 
  DEBUG_OPTIMIZE_CC=""
833
 
fi
834
 
# Ditto for CXXFLAGS
835
 
if test -n "$SAVE_CXXFLAGS"
836
 
then
837
 
  OPTIMIZE_CXXFLAGS=""
838
 
  DEBUG_OPTIMIZE_CXX=""
839
 
fi
840
 
 
841
 
dnl TODO: Remove this define once we are using 2.61 across the board.
842
 
# AC_HEADER_ASSERT
843
 
# ----------------
844
 
# Check whether to enable assertions.
845
 
ifdef([AC_HEADER_ASSERT], [], [AC_DEFUN([AC_HEADER_ASSERT],
846
 
[
847
 
  AC_MSG_CHECKING([whether to enable assertions])
848
 
  AC_ARG_ENABLE([assert],
849
 
    [  --disable-assert        turn off assertions],
850
 
    [AC_MSG_RESULT([no])
851
 
     AC_DEFINE(NDEBUG, 1, [Define to 1 if assertions should be disabled.])],
852
 
    [AC_MSG_RESULT(yes)])
853
 
])])
854
 
 
855
 
AC_HEADER_ASSERT
856
 
 
857
 
CFLAGS="${SYMBOLS_CFLAGS} ${CFLAGS}"
858
 
CXXFLAGS="${SYMBOLS_CXXFLAGS} ${CXXFLAGS}  -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS"
859
 
 
860
 
AC_ARG_WITH([debug],
861
 
    [AS_HELP_STRING([--with-debug],
862
 
       [Add debug code/turns off optimizations (yes|no) @<:@default=no@:>@])],
863
 
    [with_debug=$withval],
864
 
    [with_debug=no])
865
 
if test "$with_debug" = "yes"
866
 
then
867
 
  # Medium debug.
868
 
  CFLAGS="$DEBUG_OPTIMIZE_CC $CFLAGS"
869
 
  CXXFLAGS="$DEBUG_OPTIMIZE_CXX $CXXFLAGS"
870
 
else
871
 
  # Optimized version. No debug
872
 
  CFLAGS="${OPTIMIZE_CFLAGS} ${CFLAGS}"
873
 
  CXXFLAGS="$OPTIMIZE_CXXFLAGS $CXXFLAGS"
874
 
fi
875
823
 
876
824
 
877
825
AC_ARG_WITH([fast-mutexes],
1312
1260
AC_SUBST(mysql_plugin_libs)
1313
1261
AC_SUBST(mysql_plugin_defs)
1314
1262
 
 
1263
# Build optimized or debug version ?
 
1264
# First check for gcc and g++
 
1265
if test "$ac_cv_c_compiler_gnu" = "yes"
 
1266
then
 
1267
  SYMBOLS_CFLAGS="-ggdb3"
 
1268
  DEBUG_OPTIMIZE_CC="-O0"
 
1269
  OPTIMIZE_CFLAGS="-O3"
 
1270
else
 
1271
  SYMBOLS_CFLAGS="-g"
 
1272
  DEBUG_OPTIMIZE_CC=""
 
1273
  OPTIMIZE_CFLAGS="-O"
 
1274
fi
 
1275
if test "$ac_cv_prog_cxx_g" = "yes"
 
1276
then
 
1277
  SYMBOLS_CXXFLAGS="-ggdb3"
 
1278
  DEBUG_OPTIMIZE_CXX="-O0"
 
1279
  OPTIMIZE_CXXFLAGS="-O3"
 
1280
else
 
1281
  SYMBOLS_CXXFLAGS="-g"
 
1282
  DEBUG_OPTIMIZE_CXX=""
 
1283
  OPTIMIZE_CXXFLAGS="-O"
 
1284
fi
 
1285
 
 
1286
dnl TODO: Remove this define once we are using 2.61 across the board.
 
1287
# AC_HEADER_ASSERT
 
1288
# ----------------
 
1289
# Check whether to enable assertions.
 
1290
ifdef([AC_HEADER_ASSERT], [], [AC_DEFUN([AC_HEADER_ASSERT],
 
1291
[
 
1292
  AC_MSG_CHECKING([whether to enable assertions])
 
1293
  AC_ARG_ENABLE([assert],
 
1294
    [  --disable-assert        turn off assertions],
 
1295
    [AC_MSG_RESULT([no])
 
1296
     AC_DEFINE(NDEBUG, 1, [Define to 1 if assertions should be disabled.])],
 
1297
    [AC_MSG_RESULT(yes)])
 
1298
])])
 
1299
 
 
1300
AC_HEADER_ASSERT
 
1301
 
 
1302
CFLAGS="${SYMBOLS_CFLAGS} ${CFLAGS}"
 
1303
CXXFLAGS="${SYMBOLS_CXXFLAGS} ${CXXFLAGS}  -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS"
 
1304
 
 
1305
AC_ARG_WITH([debug],
 
1306
    [AS_HELP_STRING([--with-debug],
 
1307
       [Add debug code/turns off optimizations (yes|no) @<:@default=no@:>@])],
 
1308
    [with_debug=$withval],
 
1309
    [with_debug=no])
 
1310
if test "$with_debug" = "yes"
 
1311
then
 
1312
  # Medium debug.
 
1313
  CFLAGS="$DEBUG_OPTIMIZE_CC $CFLAGS ${SAVE_CFLAGS}"
 
1314
  CXXFLAGS="$DEBUG_OPTIMIZE_CXX $CXXFLAGS ${SAVE_CXXFLAGS}"
 
1315
else
 
1316
  # Optimized version. No debug
 
1317
  CFLAGS="${OPTIMIZE_CFLAGS} ${CFLAGS} ${SAVE_CFLAGS}"
 
1318
  CXXFLAGS="$OPTIMIZE_CXXFLAGS $CXXFLAGS ${SAVE_CXXFLAGS}"
 
1319
fi
 
1320
 
1315
1321
AC_ARG_ENABLE([profiling],
1316
1322
    [AS_HELP_STRING([--enable-profiling],
1317
1323
       [Toggle profiling @<:@default=off@:>@])],