summaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2010-01-03 11:33:33 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2010-01-03 11:33:33 +0000
commitc23a01e2600ec77f857bcfb3459a9138baea8aff (patch)
treec613b5cb45d33606b0f850a52f2a5ba6502f374e /configure
parent485b17cc7d419336c0244ab2594a0c00c16eec87 (diff)
downloadmpv-c23a01e2600ec77f857bcfb3459a9138baea8aff.tar.bz2
mpv-c23a01e2600ec77f857bcfb3459a9138baea8aff.tar.xz
Fixup SDL configure check:
- Make it work without sdl-config which adds at least useless or even hurtful cflags and also does not work for cross-compiling - If using sdl-config, make it use the CFLAGS we actually use for compiling instead of something else. Thus #undef main is needed in the test program. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30178 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure45
1 files changed, 33 insertions, 12 deletions
diff --git a/configure b/configure
index 46e5776ff0..af59c8013d 100755
--- a/configure
+++ b/configure
@@ -5192,6 +5192,9 @@ echores "$_vesa"
echocheck "SDL"
+_inc_tmp=""
+_ld_tmp=""
+def_sdl_sdl_h="#undef CONFIG_SDL_SDL_H"
if test -z "$_sdlconfig" ; then
if ( sdl-config --version ) >>"$TMPLOG" 2>&1 ; then
_sdlconfig="sdl-config"
@@ -5203,15 +5206,40 @@ if test -z "$_sdlconfig" ; then
fi
if test "$_sdl" = auto || test "$_sdl" = yes ; then
cat > $TMPC << EOF
+#ifdef CONFIG_SDL_SDL_H
+#include <SDL/SDL.h>
+#else
#include <SDL.h>
+#endif
+#ifndef __APPLE__
+// we allow SDL hacking our main() only on OSX
+#undef main
+#endif
int main(int argc, char *argv[]) {
SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE);
return 0;
}
EOF
_sdl=no
- if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
- if cc_check $($_sdlconfig --cflags) $($_sdlconfig --libs) >>"$TMPLOG" 2>&1 ; then
+ for _ld_tmp in "-lSDL" "-lSDL -lpthread" "-lSDL -lwinmm -lgdi32" ; do
+ if cc_check -DCONFIG_SDL_SDL_H $_inc_tmp $_ld_tmp ; then
+ _sdl=yes
+ def_sdl_sdl_h="#define CONFIG_SDL_SDL_H 1"
+ break
+ fi
+ done
+ if test "$_sdl" = no && "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
+ if cygwin ; then
+ _inc_tmp="$($_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/)"
+ _ld_tmp="$($_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/)"
+ elif mingw32 ; then
+ _inc_tmp=$($_sdlconfig --cflags | sed s/-Dmain=SDL_main//)
+ _ld_tmp=$($_sdlconfig --libs | sed -e s/-mwindows// -e s/-lmingw32//)
+ else
+ _inc_tmp="$($_sdlconfig --cflags)"
+ _ld_tmp="$($_sdlconfig --libs)"
+ fi
+ if cc_check $_inc_tmp $_ld_tmp >>"$TMPLOG" 2>&1 ; then
_sdlversion=$($_sdlconfig --version | sed 's/[^0-9]//g')
if test "$_sdlversion" -gt 116 ; then
if test "$_sdlversion" -lt 121 ; then
@@ -5226,16 +5254,8 @@ EOF
fi
if test "$_sdl" = yes ; then
def_sdl='#define CONFIG_SDL 1'
- if cygwin ; then
- libs_mplayer="$libs_mplayer $($_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/)"
- extra_cflags="$extra_cflags $($_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/)"
- elif mingw32 ; then
- libs_mplayer="$libs_mplayer $($_sdlconfig --libs | sed -e s/-mwindows// -e s/-lmingw32//)"
- extra_cflags="$extra_cflags $($_sdlconfig --cflags | sed s/-Dmain=SDL_main//)"
- else
- libs_mplayer="$libs_mplayer $($_sdlconfig --libs)"
- extra_cflags="$extra_cflags $($_sdlconfig --cflags | sed s/-D_GNU_SOURCE=1//)"
- fi
+ extra_cflags="$extra_cflags $_inc_tmp"
+ libs_mplayer="$libs_mplayer $_ld_tmp"
_vomodules="sdl $_vomodules"
_aomodules="sdl $_aomodules"
_res_comment="using $_sdlconfig"
@@ -8874,6 +8894,7 @@ $def_pnm
$def_quartz
$def_s3fb
$def_sdl
+$def_sdl_sdl_h
$def_sdlbuggy
$def_svga
$def_tdfxfb