Make sure that we use consistent configuration options on platforms like Windows so that command line builds and IDE builds have ABI compatibility.

Make sure we don't clobber SDL_revision.h when building from Mercurial

--HG--
rename : include/SDL_config.h.in => include/SDL_config_generated.h.in
This commit is contained in:
Sam Lantinga 2012-01-14 13:21:19 -05:00
parent db165a81bc
commit 9033bb050f
10 changed files with 40 additions and 21 deletions

View file

@ -8,6 +8,7 @@ sdl-config
SDL.spec
SDL.qpg
build
include/SDL_config_generated.h
# for Xcode
*.orig

View file

@ -46,6 +46,13 @@ HDRS = \
SDL_audio.h \
SDL_blendmode.h \
SDL_clipboard.h \
SDL_config.h \
SDL_config_android.h \
SDL_config_iphoneos.h \
SDL_config_macosx.h \
SDL_config_minimal.h \
SDL_config_nintendods.h \
SDL_config_windows.h \
SDL_compat.h \
SDL_cpuinfo.h \
SDL_endian.h \
@ -130,7 +137,7 @@ install-hdrs: update-revision
for file in $(HDRS); do \
$(INSTALL) -m 644 $(srcdir)/include/$$file $(DESTDIR)$(includedir)/SDL/$$file; \
done
$(INSTALL) -m 644 include/SDL_config.h $(DESTDIR)$(includedir)/SDL/SDL_config.h
$(INSTALL) -m 644 include/SDL_config_generated.h $(DESTDIR)$(includedir)/SDL/SDL_config_generated.h
if test -f include/SDL_revision.h; then \
$(INSTALL) -m 644 include/SDL_revision.h $(DESTDIR)$(includedir)/SDL/SDL_revision.h; \
else \
@ -155,7 +162,7 @@ uninstall-hdrs:
for file in $(HDRS); do \
rm -f $(DESTDIR)$(includedir)/SDL/$$file; \
done
rm -f $(DESTDIR)$(includedir)/SDL/SDL_config.h
rm -f $(DESTDIR)$(includedir)/SDL/SDL_config_generated.h
rm -f $(DESTDIR)$(includedir)/SDL/SDL_revision.h
-rmdir $(DESTDIR)$(includedir)/SDL
uninstall-lib:

21
configure vendored
View file

@ -2025,7 +2025,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_config_headers="$ac_config_headers include/SDL_config.h"
ac_config_headers="$ac_config_headers include/SDL_config_generated.h"
cat >>confdefs.h <<\_ACEOF
@ -15525,12 +15525,17 @@ fi
INCLUDE="-I$srcdir/include"
if test x$srcdir != x.; then
# Remove SDL_config.h from the source directory, since it's the
# default one, and we want to include the one that we generate.
if test -f $srcdir/include/SDL_config.h; then
rm $srcdir/include/SDL_config.h
fi
INCLUDE="-Iinclude $INCLUDE"
elif test -d .hg; then
{ { echo "$as_me:$LINENO: error:
*** When building from Mercurial you should configure and build in a
separate directory so you don't clobber SDL_revision.h
" >&5
echo "$as_me: error:
*** When building from Mercurial you should configure and build in a
separate directory so you don't clobber SDL_revision.h
" >&2;}
{ (exit 1); exit 1; }; }
fi
case "$host" in
*-*-cygwin*)
@ -15546,7 +15551,7 @@ esac
# Uncomment the following line if you want to force SDL and applications
# built with it to be compiled for a particular architecture.
#AX_GCC_ARCHFLAG([no], [BASE_CFLAGS="$BASE_CFLAGS $ax_cv_gcc_archflag]")
BUILD_CFLAGS="$CFLAGS $CPPFLAGS"
BUILD_CFLAGS="$CFLAGS $CPPFLAGS -DGENERATED_CONFIG_H"
# The default optimization for SDL 1.3 is -O3 (Bug #31)
if test x$orig_CFLAGS = x; then
BUILD_CFLAGS=`echo $BUILD_CFLAGS | sed 's/-O2/-O3/'`
@ -28805,7 +28810,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF
for ac_config_target in $ac_config_targets
do
case $ac_config_target in
"include/SDL_config.h") CONFIG_HEADERS="$CONFIG_HEADERS include/SDL_config.h" ;;
"include/SDL_config_generated.h") CONFIG_HEADERS="$CONFIG_HEADERS include/SDL_config_generated.h" ;;
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile:Makefile.in:Makefile.rules" ;;
"sdl-config") CONFIG_FILES="$CONFIG_FILES sdl-config" ;;

View file

@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT(README)
AC_CONFIG_HEADER(include/SDL_config.h)
AC_CONFIG_HEADER(include/SDL_config_generated.h)
AC_GNU_SOURCE
AC_CONFIG_AUX_DIR(build-scripts)
AC_CONFIG_MACRO_DIR([acinclude])
@ -61,12 +61,12 @@ AC_CHECK_TOOL(WINDRES, [windres], [:])
dnl Set up the compiler and linker flags
INCLUDE="-I$srcdir/include"
if test x$srcdir != x.; then
# Remove SDL_config.h from the source directory, since it's the
# default one, and we want to include the one that we generate.
if test -f $srcdir/include/SDL_config.h; then
rm $srcdir/include/SDL_config.h
fi
INCLUDE="-Iinclude $INCLUDE"
elif test -d .hg; then
AC_MSG_ERROR([
*** When building from Mercurial you should configure and build in a
separate directory so you don't clobber SDL_revision.h
])
fi
case "$host" in
*-*-cygwin*)
@ -82,7 +82,7 @@ esac
# Uncomment the following line if you want to force SDL and applications
# built with it to be compiled for a particular architecture.
#AX_GCC_ARCHFLAG([no], [BASE_CFLAGS="$BASE_CFLAGS $ax_cv_gcc_archflag]")
BUILD_CFLAGS="$CFLAGS $CPPFLAGS"
BUILD_CFLAGS="$CFLAGS $CPPFLAGS -DGENERATED_CONFIG_H"
# The default optimization for SDL 1.3 is -O3 (Bug #31)
if test x$orig_CFLAGS = x; then
BUILD_CFLAGS=`echo $BUILD_CFLAGS | sed 's/-O2/-O3/'`

View file

@ -26,8 +26,6 @@
/**
* \file SDL_config.h
*
* SDL_config.h for any platform that doesn't build using the configure system.
*/
/* Add any platform that doesn't build using the configure system. */
@ -42,7 +40,13 @@
#elif defined(__NINTENDODS__)
#include "SDL_config_nintendods.h"
#else
#ifdef MINIMAL_CONFIG_H
/* This is a minimal configuration just to get SDL running on new platforms */
#include "SDL_config_minimal.h"
#else
/* This is generated by configure for your platform */
#include "SDL_config_generated.h"
#endif
#endif /* platform config */
#endif /* _SDL_config_h */

View file

@ -18,6 +18,7 @@
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
*/
#include "SDL_config.h"
#include "SDL.h"
#include "SDL_atomic.h"

View file

@ -18,7 +18,7 @@
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
*/
#include "SDL_stdinc.h"
#include "SDL_config.h"
#include "SDL_atomic.h"

View file

@ -18,7 +18,7 @@
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
*/
#include "SDL_stdinc.h"
#include "SDL_config.h"
#include "SDL_atomic.h"
#include "SDL_mutex.h"

View file

@ -1,5 +1,6 @@
/* Include the SDL main definition header */
#include "SDL_config.h"
#include "SDL_main.h"
#ifdef main