diff options
Diffstat (limited to 'innobase/configure.in')
-rw-r--r-- | innobase/configure.in | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/innobase/configure.in b/innobase/configure.in index 0bcc53cc05b..15f45a5d49d 100644 --- a/innobase/configure.in +++ b/innobase/configure.in @@ -13,9 +13,53 @@ AC_CHECK_FUNCS(sched_yield) AC_C_INLINE 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" + CXXFLAGS="$OPTIMIZE_CXXFLAGS -DDBUG_OFF $CXXFLAGS" +fi + case "$target_os" in hp*) AC_DEFINE(UNIV_MUST_NOT_INLINE, 1, No inlining because gcc broken on HP-UX);; + *sgi-irix*) AC_DEFINE(UNIV_MUST_NOT_INLINE, 1, + No inlining because cc broken on irix);; esac AC_OUTPUT(Makefile os/Makefile ut/Makefile btr/Makefile |