Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5131 clevermous 1
# Configure paths for SDL
2
# Sam Lantinga 9/21/99
3
# stolen from Manish Singh
4
# stolen back from Frank Belew
5
# stolen from Manish Singh
6
# Shamelessly stolen from Owen Taylor
7
 
8
dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
9
dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS
10
dnl
11
AC_DEFUN(AM_PATH_SDL,
12
[dnl
13
dnl Get the cflags and libraries from the sdl-config script
14
dnl
15
AC_ARG_WITH(sdl-prefix,[  --with-sdl-prefix=PFX   Prefix where SDL is installed (optional)],
16
            sdl_prefix="$withval", sdl_prefix="")
17
AC_ARG_WITH(sdl-exec-prefix,[  --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)],
18
            sdl_exec_prefix="$withval", sdl_exec_prefix="")
19
AC_ARG_ENABLE(sdltest, [  --disable-sdltest       Do not try to compile and run a test SDL program],
20
		    , enable_sdltest=yes)
21
 
22
  if test x$sdl_exec_prefix != x ; then
23
     sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix"
24
     if test x${SDL_CONFIG+set} != xset ; then
25
        SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config
26
     fi
27
  fi
28
  if test x$sdl_prefix != x ; then
29
     sdl_args="$sdl_args --prefix=$sdl_prefix"
30
     if test x${SDL_CONFIG+set} != xset ; then
31
        SDL_CONFIG=$sdl_prefix/bin/sdl-config
32
     fi
33
  fi
34
 
35
  AC_PATH_PROG(SDL_CONFIG, sdl-config, no)
36
  min_sdl_version=ifelse([$1], ,0.11.0,$1)
37
  AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
38
  no_sdl=""
39
  if test "$SDL_CONFIG" = "no" ; then
40
    no_sdl=yes
41
  else
42
    SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags`
43
    SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs`
44
 
45
    sdl_major_version=`$SDL_CONFIG $sdl_args --version | \
46
           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
47
    sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \
48
           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
49
    sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \
50
           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
51
    if test "x$enable_sdltest" = "xyes" ; then
52
      ac_save_CFLAGS="$CFLAGS"
53
      ac_save_LIBS="$LIBS"
54
      CFLAGS="$CFLAGS $SDL_CFLAGS"
55
      LIBS="$LIBS $SDL_LIBS"
56
dnl
57
dnl Now check if the installed SDL is sufficiently new. (Also sanity
58
dnl checks the results of sdl-config to some extent
59
dnl
60
      rm -f conf.sdltest
61
      AC_TRY_RUN([
62
#include 
63
#include 
64
#include 
65
#include "SDL.h"
66
 
67
char*
68
my_strdup (char *str)
69
{
70
  char *new_str;
71
 
72
  if (str)
73
    {
74
      new_str = malloc ((strlen (str) + 1) * sizeof(char));
75
      strcpy (new_str, str);
76
    }
77
  else
78
    new_str = NULL;
79
 
80
  return new_str;
81
}
82
 
83
int main ()
84
{
85
  int major, minor, micro;
86
  char *tmp_version;
87
 
88
  system ("touch conf.sdltest");
89
 
90
  /* HP/UX 9 (%@#!) writes to sscanf strings */
91
  tmp_version = my_strdup("$min_sdl_version");
92
  if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
93
     printf("%s, bad version string\n", "$min_sdl_version");
94
     exit(1);
95
   }
96
 
97
   if (($sdl_major_version > major) ||
98
      (($sdl_major_version == major) && ($sdl_minor_version > minor)) ||
99
      (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro)))
100
    {
101
      return 0;
102
    }
103
  else
104
    {
105
      printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version);
106
      printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro);
107
      printf("*** best to upgrade to the required version.\n");
108
      printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n");
109
      printf("*** to point to the correct copy of sdl-config, and remove the file\n");
110
      printf("*** config.cache before re-running configure\n");
111
      return 1;
112
    }
113
}
114
 
115
],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
116
       CFLAGS="$ac_save_CFLAGS"
117
       LIBS="$ac_save_LIBS"
118
     fi
119
  fi
120
  if test "x$no_sdl" = x ; then
121
     AC_MSG_RESULT(yes)
122
     ifelse([$2], , :, [$2])
123
  else
124
     AC_MSG_RESULT(no)
125
     if test "$SDL_CONFIG" = "no" ; then
126
       echo "*** The sdl-config script installed by SDL could not be found"
127
       echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in"
128
       echo "*** your path, or set the SDL_CONFIG environment variable to the"
129
       echo "*** full path to sdl-config."
130
     else
131
       if test -f conf.sdltest ; then
132
        :
133
       else
134
          echo "*** Could not run SDL test program, checking why..."
135
          CFLAGS="$CFLAGS $SDL_CFLAGS"
136
          LIBS="$LIBS $SDL_LIBS"
137
          AC_TRY_LINK([
138
#include 
139
#include "SDL.h"
140
],      [ return 0; ],
141
        [ echo "*** The test program compiled, but did not run. This usually means"
142
          echo "*** that the run-time linker is not finding SDL or finding the wrong"
143
          echo "*** version of SDL. If it is not finding SDL, you'll need to set your"
144
          echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
145
          echo "*** to the installed location  Also, make sure you have run ldconfig if that"
146
          echo "*** is required on your system"
147
	  echo "***"
148
          echo "*** If you have an old version installed, it is best to remove it, although"
149
          echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
150
        [ echo "*** The test program failed to compile or link. See the file config.log for the"
151
          echo "*** exact error that occured. This usually means SDL was incorrectly installed"
152
          echo "*** or that you have moved SDL since it was installed. In the latter case, you"
153
          echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ])
154
          CFLAGS="$ac_save_CFLAGS"
155
          LIBS="$ac_save_LIBS"
156
       fi
157
     fi
158
     SDL_CFLAGS=""
159
     SDL_LIBS=""
160
     ifelse([$3], , :, [$3])
161
  fi
162
  AC_SUBST(SDL_CFLAGS)
163
  AC_SUBST(SDL_LIBS)
164
  rm -f conf.sdltest
165
])