Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Allow configure to override assertion settings, but by default this c…
Browse files Browse the repository at this point in the history
…omes from the build optimization level.
  • Loading branch information
slouken committed Jan 13, 2010
1 parent b2830b6 commit 179e447
Show file tree
Hide file tree
Showing 9 changed files with 25 additions and 45 deletions.
43 changes: 21 additions & 22 deletions configure.in
Expand Up @@ -137,28 +137,27 @@ AC_C_VOLATILE
dnl See whether we want assertions for debugging/sanity checking SDL itself.
AC_ARG_ENABLE(assertions,
AC_HELP_STRING([--enable-assertions],
[Enable internal sanity checks (yes/no/release/paranoid) [[default=release]]]),
, enable_assertions=release)
sdl_valid_assertion_level=no
if test x$enable_assertions = xno; then
sdl_valid_assertion_level=yes
AC_DEFINE(SDL_DEFAULT_ASSERT_LEVEL, 0)
fi
if test x$enable_assertions = xrelease; then
sdl_valid_assertion_level=yes
AC_DEFINE(SDL_DEFAULT_ASSERT_LEVEL, 1)
fi
if test x$enable_assertions = xyes; then
sdl_valid_assertion_level=yes
AC_DEFINE(SDL_DEFAULT_ASSERT_LEVEL, 2)
fi
if test x$enable_assertions = xparanoid; then
sdl_valid_assertion_level=yes
AC_DEFINE(SDL_DEFAULT_ASSERT_LEVEL, 3)
fi
if test x$sdl_valid_assertion_level = xno; then
AC_MSG_ERROR([*** unknown assertion level. stop.])
fi
[Enable internal sanity checks (auto/disabled/release/enabled/paranoid) [[default=auto]]]),
, enable_assertions=auto)
case "$enable_assertions" in
auto) # Use optimization settings to determine assertion level
;;
disabled)
AC_DEFINE(SDL_DEFAULT_ASSERT_LEVEL, 0)
;;
release)
AC_DEFINE(SDL_DEFAULT_ASSERT_LEVEL, 1)
;;
enabled)
AC_DEFINE(SDL_DEFAULT_ASSERT_LEVEL, 2)
;;
paranoid)
AC_DEFINE(SDL_DEFAULT_ASSERT_LEVEL, 3)
;;
*)
AC_MSG_ERROR([*** unknown assertion level. stop.])
;;
esac

dnl See whether we can use gcc style dependency tracking
AC_ARG_ENABLE(dependency-tracking,
Expand Down
6 changes: 4 additions & 2 deletions include/SDL_assert.h
Expand Up @@ -25,8 +25,10 @@
#define _SDL_assert_h

#ifndef SDL_ASSERT_LEVEL
#if defined(_DEBUG) || defined(DEBUG) || \
(defined(__GNUC__) && !defined(__OPTIMIZE__))
#ifdef SDL_DEFAULT_ASSERT_LEVEL
#define SDL_ASSERT_LEVEL SDL_DEFAULT_ASSERT_LEVEL
#elif defined(_DEBUG) || defined(DEBUG) || \
(defined(__GNUC__) && !defined(__OPTIMIZE__))
#define SDL_ASSERT_LEVEL 2
#else
#define SDL_ASSERT_LEVEL 1
Expand Down
3 changes: 0 additions & 3 deletions include/SDL_config_iphoneos.h
Expand Up @@ -25,9 +25,6 @@

#include "SDL_platform.h"

/* SDL internal assertion support */
#define SDL_DEFAULT_ASSERT_LEVEL 1

#if !defined(_STDINT_H_) && (!defined(HAVE_STDINT_H) || !_HAVE_STDINT_H)
typedef signed char int8_t;
typedef unsigned char uint8_t;
Expand Down
3 changes: 0 additions & 3 deletions include/SDL_config_macosx.h
Expand Up @@ -28,9 +28,6 @@
/* This gets us MAC_OS_X_VERSION_MIN_REQUIRED... */
#include <AvailabilityMacros.h>

/* SDL internal assertion support */
#define SDL_DEFAULT_ASSERT_LEVEL 1

/* This is a set of defines to configure the SDL features */

#ifdef __LP64__
Expand Down
3 changes: 0 additions & 3 deletions include/SDL_config_minimal.h
Expand Up @@ -33,9 +33,6 @@

#include <stdarg.h>

/* SDL internal assertion support */
#define SDL_DEFAULT_ASSERT_LEVEL 1

#if !defined(_STDINT_H_) && (!defined(HAVE_STDINT_H) || !_HAVE_STDINT_H)
typedef signed char int8_t;
typedef unsigned char uint8_t;
Expand Down
3 changes: 0 additions & 3 deletions include/SDL_config_nintendods.h
Expand Up @@ -27,9 +27,6 @@

/* This is a set of defines to configure the SDL features */

/* SDL internal assertion support */
#define SDL_DEFAULT_ASSERT_LEVEL 1

#if !defined(_STDINT_H_) && (!defined(HAVE_STDINT_H) || !_HAVE_STDINT_H)
typedef signed char int8_t;
typedef unsigned char uint8_t;
Expand Down
3 changes: 0 additions & 3 deletions include/SDL_config_pandora.h
Expand Up @@ -28,9 +28,6 @@
/* General platform specific identifiers */
#include "SDL_platform.h"

/* SDL internal assertion support */
#define SDL_DEFAULT_ASSERT_LEVEL 1

#define SDL_HAS_64BIT_TYPE 1
#define SDL_BYTEORDER 1234

Expand Down
3 changes: 0 additions & 3 deletions include/SDL_config_win32.h
Expand Up @@ -27,9 +27,6 @@

/* This is a set of defines to configure the SDL features */

/* SDL internal assertion support */
#define SDL_DEFAULT_ASSERT_LEVEL 1

#if !defined(_STDINT_H_) && (!defined(HAVE_STDINT_H) || !_HAVE_STDINT_H)
#if defined(__GNUC__) || defined(__DMC__) || defined(__WATCOMC__)
#define HAVE_STDINT_H 1
Expand Down
3 changes: 0 additions & 3 deletions include/SDL_config_wiz.h
Expand Up @@ -28,9 +28,6 @@
/* General platform specific identifiers */
#include "SDL_platform.h"

/* SDL internal assertion support */
#define SDL_DEFAULT_ASSERT_LEVEL 1

/* Make sure that this isn't included by Visual C++ */
#ifdef _MSC_VER
#error You should copy include/SDL_config.h.default to include/SDL_config.h
Expand Down

0 comments on commit 179e447

Please sign in to comment.