#
# Check if the user has requested a debug build.
# Sets the DEBUG or NDEBUG variables as appropriate
+# Sets the CVS environment variable when building CVS sources.
AC_DEFUN([OB_DEBUG],
[
- DEBUG="no"
- AC_MSG_CHECKING([build target type])
+ AC_MSG_CHECKING([build type])
AC_ARG_ENABLE([debug],
- [ --enable-debug build a debug version default=no],
- [DEBUG=$enableval],[])
+ [ --enable-debug build a debug version default=yes],
+ [DEBUG=$enableval], [DEBUG="yes"])
+
+ AC_ARG_ENABLE([strict-ansi],
+ [ --enable-strict-ansi Enable strict ANSI compliance build default=no],
+ [STRICT=$enableval], [STRICT="no"])
+ if test "$GCC" = "yes" && test "$STRICT" = "yes"; then
+ CFLAGS="$CFLAGS -ansi -pedantic -D_XOPEN_SOURCE"
+ fi
# cvs builds are always debug
- test "${VERSION#cvs}" != "$VERSION" && DEBUG = "yes"
-
+ CVS=""
+ test "${PACKAGE_VERSION%*cvs}" != "$PACKAGE_VERSION" && CVS="yes"
+ test "$CVS" = "yes" && DEBUG="yes"
+
if test "$DEBUG" = "yes"; then
- AC_MSG_RESULT([debug])
- AC_DEFINE([DEBUG], [1], [Creating a debug build])
+ MSG="DEBUG"
else
- AC_MSG_RESULT([release])
- AC_DEFINE([NDEBUG], [1], [Creating a release build])
+ MSG="RELEASE"
+ fi
+ if test "$CVS" = "yes"; then
+ MSG="$MSG (CVS build)"
fi
+ if test "$STRICT" = "yes"; then
+ MSG="$MSG with strict ANSI compliance"
+ fi
+ AC_MSG_RESULT([$MSG])
+
+ test "$DEBUG" = "yes" && \
+ AC_DEFINE([DEBUG], [1], [Creating a debug build])
+
+ AM_CONDITIONAL(CVS, test "$CVS" = "yes")
])
# OB_COMPILER_FLAGS()
#
# Check what compiler is being used for compilation.
-# It sets the CXXFLAGS variable appropriately for the compiler, including flags
+# It sets the CFLAGS variable appropriately for the compiler, including flags
# for debug builds.
AC_DEFUN([OB_COMPILER_FLAGS],
[
- AC_REQUIRE([AC_PROG_CXXCPP])
- AC_REQUIRE([AC_PROG_CXX])
+ AC_REQUIRE([AC_PROG_CPP])
+ AC_REQUIRE([AC_PROG_CC])
FLAGS=""
# Check what compiler we are using
- AC_MSG_CHECKING([for GNU C++])
- if test "$GXX" = "yes"; then
+ AC_MSG_CHECKING([for GNU CC])
+ if test "$GCC" = "yes"; then
AC_MSG_RESULT([yes])
- FLAGS="-Wall -W"
- # -pedantic
- test "$DEBUG" = "yes" && FLAGS="$FLAGS -g -fno-inline"
- else
- AC_MSG_RESULT([no, trying other compilers])
- AC_MSG_CHECKING(for MIPSpro)
- mips_pro_ver=`$CXX -version 2>&1 | grep -i mipspro | cut -f4 -d ' '`
- if test -z "$mips_pro_ver"; then
- AC_MSG_RESULT([no])
- else
- AC_MSG_RESULT([yes, version $mips_pro_ver.])
- AC_MSG_CHECKING(for -LANG:std in CXXFLAGS)
- lang_std_not_set=`echo $CXXFLAGS | grep "\-LANG:std"`
- if test "x$lang_std_not_set" = "x"; then
- AC_MSG_RESULT([not set, setting.])
- FLAGS="-LANG:std"
- else
- AC_MSG_RESULT([already set.])
- fi
+ if test "$DEBUG" = "yes"; then
+ FLAGS="-g -fno-inline"
+ FLAGS="$FLAGS -Wall -Wsign-compare -Waggregate-return"
+ FLAGS="$FLAGS -Wcast-qual -Wbad-function-cast -Wpointer-arith"
+ # for Python.h
+ FLAGS="$FLAGS -Wno-long-long"
+ fi
+ if test "$STRICT" = "yes"; then
+ FLAGS="$FLAGS -ansi -pedantic -D_XOPEN_SOURCE"
fi
fi
AC_MSG_CHECKING([for compiler specific flags])
AC_MSG_RESULT([$FLAGS])
- CXXFLAGS="$CXXFLAGS $FLAGS"
+ CFLAGS="$CFLAGS $FLAGS"
])