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

Commit

Permalink
Browse files Browse the repository at this point in the history
Make sure that we use consistent configuration options on platforms l…
…ike 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
  • Loading branch information
slouken committed Jan 14, 2012
1 parent cb161b6 commit f32ca32
Show file tree
Hide file tree
Showing 10 changed files with 40 additions and 21 deletions.
1 change: 1 addition & 0 deletions .hgignore
Expand Up @@ -8,6 +8,7 @@ sdl-config
SDL.spec
SDL.qpg
build
include/SDL_config_generated.h

# for Xcode
*.orig
Expand Down
11 changes: 9 additions & 2 deletions Makefile.in
Expand Up @@ -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 \
Expand Down Expand Up @@ -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 \
Expand All @@ -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:
Expand Down
21 changes: 13 additions & 8 deletions configure
Expand Up @@ -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
Expand Down Expand Up @@ -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*)
Expand All @@ -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/'`
Expand Down Expand Up @@ -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" ;;
Expand Down
14 changes: 7 additions & 7 deletions configure.in
@@ -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])
Expand Down Expand Up @@ -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*)
Expand All @@ -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/'`
Expand Down
8 changes: 6 additions & 2 deletions include/SDL_config.h
Expand Up @@ -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. */
Expand All @@ -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 */
File renamed without changes.
1 change: 1 addition & 0 deletions src/SDL_assert.c
Expand Up @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion src/atomic/SDL_atomic.c
Expand Up @@ -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"

Expand Down
2 changes: 1 addition & 1 deletion src/atomic/SDL_spinlock.c
Expand Up @@ -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"
Expand Down
1 change: 1 addition & 0 deletions src/main/dummy/SDL_dummy_main.c
@@ -1,5 +1,6 @@

/* Include the SDL main definition header */
#include "SDL_config.h"
#include "SDL_main.h"

#ifdef main
Expand Down

0 comments on commit f32ca32

Please sign in to comment.