958
813
AC_SUBST(drizzled_plugin_defs)
959
814
AC_SUBST(DRIZZLED_PLUGIN_DEP_LIBS)
962
AC_ARG_ENABLE([profiling],
963
[AS_HELP_STRING([--enable-profiling],
964
[Toggle profiling @<:@default=off@:>@])],
965
[ac_profiling="$enableval"],
968
AC_ARG_ENABLE([coverage],
969
[AS_HELP_STRING([--enable-coverage],
970
[Toggle coverage @<:@default=off@:>@])],
971
[ac_coverage="$enableval"],
974
AC_ARG_ENABLE([pedantic-warnings],
975
[AS_HELP_STRING([--disable-pedantic-warnings],
976
[Toggle pedanticness @<:@default=on@:>@])],
977
[ac_warn_pedantic="$enableval"],
978
[ac_warn_pedantic="yes"])
980
AC_ARG_ENABLE([fail],
981
[AS_HELP_STRING([--disable-fail],
982
[Turn warnings into failures @<:@default=on@:>@])],
983
[ac_warn_fail="$enableval"],
984
[ac_warn_fail="yes"])
986
AC_ARG_ENABLE([unreachable],
987
[AS_HELP_STRING([--enable-unreachable],
988
[Enable warnings about unreachable code @<:@default=off@:>@])],
989
[ac_warn_unreachable="$enableval"],
990
[ac_warn_unreachable="no"])
992
AC_ARG_ENABLE([longlong-warnings],
993
[AS_HELP_STRING([--enable-longlong-warnings],
994
[Enable warnings about longlong in C++ @<:@default=off@:>@])],
995
[ac_warn_longlong="$enableval"],
996
[ac_warn_longlong="no"])
998
AC_ARG_ENABLE([strict-aliasing],
999
[AS_HELP_STRING([--enable-strict-aliasing],
1000
[Enable warnings about stict-aliasing @<:@default=off@:>@])],
1001
[ac_warn_strict_aliasing="$enableval"],
1002
[ac_warn_strict_aliasing="no"])
1004
AC_ARG_ENABLE([cast-warnings],
1005
[AS_HELP_STRING([--enable-cast-warnings],
1006
[Enable warnings about use of old C-style casts @<:@default=off@:>@])],
1007
[ac_warn_cast="$enableval"],
1008
[ac_warn_cast="no"])
1010
AC_ARG_ENABLE([effective-style],
1011
[AS_HELP_STRING([--enable-effective-style],
1012
[Enable warnings violating Effective C++ Style Guidelines @<:@default=off@:>@])],
1013
[ac_warn_effc="$enableval"],
1014
[ac_warn_effc="no"])
1016
AC_ARG_ENABLE([shadow],
1017
[AS_HELP_STRING([--disable-shadow],
1018
[Disables warnings about scope shadowing @<:@default=on@:>@])],
1019
[ac_warn_shadow="$enableval"],
1020
[ac_warn_shadow="yes"])
1022
AC_ARG_ENABLE([conversion],
1023
[AS_HELP_STRING([--enable-conversion],
1024
[Enables conversion warnings @<:@default=off@:>@])],
1025
[ac_warn_conversion="$enableval"],
1026
[ac_warn_conversion="no"])
1028
AC_ARG_ENABLE([datarace],
1029
[AS_HELP_STRING([--enable-datarace],
1030
[Enables Sun Studio data race detection @<:@default=off@:>@])],
1031
[ac_datarace="$enableval"],
1034
AC_ARG_ENABLE([exceptions],
1035
[AS_HELP_STRING([--disable-exceptions],
1036
[Disables use of Exceptions in the build @<:@default=on@:>@])],
1037
[ac_exceptions="$enableval"],
1038
[ac_exceptions="yes"])
1040
AC_ARG_ENABLE([cast-align-warnings],
1041
[AS_HELP_STRING([--enable-cast-align-warnings],
1042
[Toggle cast alignment warnings @<:@default=off@:>@])],
1043
[ac_warn_cast_align="$enableval"],
1044
[ac_warn_cast_align="yes"])
1046
if test "$GCC" = "yes"
1048
if test "$ac_warn_cast_align" = "yes"
1050
W_CAST_ALIGN="-Wcast-align"
1052
W_CAST_ALIGN="-Wno-cast-align"
1055
if test "$ac_warn_fail" = "yes"
1059
BASE_WARNINGS="-Wall -Wextra ${W_FAIL} ${W_CAST_ALIGN} -fdiagnostics-show-option"
1061
if test "$ac_warn_longlong" = "yes"
1063
W_LONGLONG="-Wlong-long"
1065
W_LONGLONG="-Wno-long-long"
1068
if test "$ac_warn_strict_aliasing" = "yes"
1070
W_STRICT_ALIASING="-fstrict-aliasing -Wstrict-aliasing"
1072
W_STRICT_ALIASING="-Wno-strict-aliasing"
1075
if test "$ac_warn_shadow" = "yes"
1078
NO_SHADOW="-Wno-shadow"
1080
W_SHADOW="-Wno-shadow"
1084
if test "$ac_profiling" = "yes"
1086
GPROF_PROFILING="-pg"
1089
AC_CHECK_LIB(c_p, read)
1096
if test "$ac_coverage" = "yes"
1098
GPROF_COVERAGE="-fprofile-arcs -ftest-coverage"
1103
if test "$ac_warn_pedantic" = "yes"
1105
AC_CACHE_CHECK([whether it is safe to use -Wredundant-decls],
1106
[ac_cv_safe_to_use_Wredundant_decls_],
1108
save_CXXFLAGS="${CXXFLAGS}"
1109
CXXFLAGS="${CXXFLAGS} ${W_FAIL} -Wredundant-decls"
1112
template <typename E> struct C { void foo(); };
1113
template <typename E> void C<E>::foo() { }
1114
template <> void C<int>::foo();
1115
AC_INCLUDES_DEFAULT])],
1116
[ac_cv_safe_to_use_Wredundant_decls_=yes],
1117
[ac_cv_safe_to_use_Wredundant_decls_=no])
1118
CXXFLAGS="${save_CXXFLAGS}"
1120
if test $ac_cv_safe_to_use_Wredundant_decls_ = yes
1122
GXX_W_REDUNDANT_DECLS="-Wredundant-decls"
1124
GXX_W_REDUNDANT_DECLS="-Wno-redundant-decls"
1127
GCC_PEDANTIC="-pedantic -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls ${W_STRICT_ALIASING}"
1128
GXX_PEDANTIC="-pedantic -Wundef -Woverloaded-virtual -Wnon-virtual-dtor -Wctor-dtor-privacy ${GXX_W_REDUNDANT_DECLS} ${W_LONGLONG} ${W_STRICT_ALIASING}"
1131
if test "$ac_warn_unreachable" = "yes"
1133
W_UNREACHABLE="-Wunreachable-code"
1136
if test "$ac_warn_cast" = "yes"
1138
W_CAST="-Wold-style-cast"
1141
if test "$ac_warn_effc" = "yes"
1146
if test "$ac_warn_conversion" = "yes"
1148
W_CONVERSION="-Wconversion"
1151
CC_WARNINGS="${BASE_WARNINGS} ${GCC_PEDANTIC} ${W_UNREACHABLE} ${GPROF_PROFILING} ${GPROF_COVERAGE} ${W_SHADOW} ${W_CONVERSION}"
1152
CXX_WARNINGS="${BASE_WARNINGS} ${GXX_PEDANTIC} ${W_UNREACHABLE} ${GPROF_PROFILING} ${GPROF_COVERAGE} ${W_CAST} ${W_SHADOW} ${W_EFFC} ${W_CONVERSION}"
1154
if test "$ac_exceptions" = "no"
1156
NO_EXCEPTIONS="-fno-exceptions"
1157
W_EXCEPTIONS="-fexceptions"
1159
NO_REDUNDANT_DECLS="-Wno-redundant-decls"
1160
PROTOSKIP_WARNINGS="-Wno-effc++ -Wno-shadow"
1162
if test "$SUNCC" = "yes"
1164
if test "$ac_datarace" = "yes"
1166
AM_CFLAGS="-xinstrument=datarace ${AM_CFLAGS}"
1167
AM_CXXFLAGS="-xinstrument=datarace ${AM_CXXFLAGS}"
1170
if test "$ac_warn_fail" = "yes"
1172
W_FAIL="-errwarn=%all"
1175
CC_WARNINGS="-v -errtags=yes -erroff=E_ATTRIBUTE_NOT_VAR ${W_FAIL}"
1176
CXX_WARNINGS="+w +w2 -xport64 -errtags=yes -erroff=attrskipunsup,doubunder,reftotemp,inllargeuse,truncwarn1,signextwarn,inllargeint ${W_FAIL}"
1177
PROTOSKIP_WARNINGS="-erroff=attrskipunsup,doubunder,reftotemp,wbadinitl,identexpected,inllargeuse,truncwarn1,signextwarn"
1178
NO_UNREACHED="-erroff=E_STATEMENT_NOT_REACHED"
1179
if test "$ac_exceptions" = "no"
1181
NO_EXCEPTIONS="-features=no%except"
1182
W_EXCEPTIONS="-features=except"
1185
AC_SUBST(NO_EXCEPTIONS)
1186
AC_SUBST(W_EXCEPTIONS)
1189
AC_SUBST(NO_REDUNDANT_DECLS)
1190
AC_SUBST(PROTOSKIP_WARNINGS)
1191
AC_SUBST(NO_UNREACHED)
1193
if test "x${gl_LIBOBJS}" != "x"
1195
if test "$GCC" = "yes"
1197
AM_CPPFLAGS="-isystem \$(top_srcdir)/gnulib -isystem \$(top_builddir)/gnulib ${AM_CPPFLAGS}"
1199
AM_CPPFLAGS="-I\$(top_srcdir)/gnulib -I\$(top_builddir)/gnulib ${AM_CPPFLAGS}"
1203
AM_CPPFLAGS="-I\$(top_srcdir) -I\$(top_builddir) ${AM_CPPFLAGS}"
1204
AM_CFLAGS="${CC_WARNINGS} ${AM_CFLAGS}"
1205
AM_CXXFLAGS="${CXX_WARNINGS} ${W_EXCEPTIONS} ${AM_CXXFLAGS}"
1207
816
dnl Must be done once we turn on warnings and such
1209
818
[whether __attribute__ visibility "hidden" is supported],
1210
819
[ac_cv_can_use_hidden_],[
1211
820
AC_LANG_PUSH(C++)
821
save_CXXFLAGS="${CXXFLAGS}"
822
CXXFLAGS="${AM_CXXFLAGS}"
1212
823
AC_LINK_IFELSE([
1213
824
AC_LANG_PROGRAM(