sdl.m4
author Sam Lantinga <slouken@libsdl.org>
Thu, 06 May 2004 15:55:06 +0000
changeset 886 05c551e5bc64
parent 794 a5defa3b93e1
child 1118 65f4b2dd46b7
permissions -rw-r--r--
Date: Sat, 24 Apr 2004 15:13:32 +0300
From: "Mike Gorchak"
Subject: SDL updates for the QNX6

1. Updated the README.QNX
2. Updated libtool scripts, which are shipped with SDL for QNX6 support.
3. Added some code to support the new QNX 6.3.0, which is in beta now.
4. Added code to detect the hw features, which driver supports.
5. Added hw alpha blits code.
6. Fixed bug when application switches to fullscreen more the 2 times. (afte\
r that window becames always stay on top).
7. Updated a bit README for the tests.
8. Added information about acceleration show in the testalpha.c test.
9. Added small fixes to the testoverlay2.c test.
10. Added alpha and cc+alpha blits benchmarks to the testvidinfo.c test.
     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_REQUIRE([AC_CANONICAL_TARGET])
    36   PATH="$prefix/bin:$prefix/usr/bin:$PATH"
    37   AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH])
    38   min_sdl_version=ifelse([$1], ,0.11.0,$1)
    39   AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
    40   no_sdl=""
    41   if test "$SDL_CONFIG" = "no" ; then
    42     no_sdl=yes
    43   else
    44     SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags`
    45     SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs`
    46 
    47     sdl_major_version=`$SDL_CONFIG $sdl_args --version | \
    48            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
    49     sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \
    50            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
    51     sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \
    52            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
    53     if test "x$enable_sdltest" = "xyes" ; then
    54       ac_save_CFLAGS="$CFLAGS"
    55       ac_save_LIBS="$LIBS"
    56       CFLAGS="$CFLAGS $SDL_CFLAGS"
    57       LIBS="$LIBS $SDL_LIBS"
    58 dnl
    59 dnl Now check if the installed SDL is sufficiently new. (Also sanity
    60 dnl checks the results of sdl-config to some extent
    61 dnl
    62       rm -f conf.sdltest
    63       AC_TRY_RUN([
    64 #include <stdio.h>
    65 #include <stdlib.h>
    66 #include <string.h>
    67 #include "SDL.h"
    68 
    69 char*
    70 my_strdup (char *str)
    71 {
    72   char *new_str;
    73   
    74   if (str)
    75     {
    76       new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
    77       strcpy (new_str, str);
    78     }
    79   else
    80     new_str = NULL;
    81   
    82   return new_str;
    83 }
    84 
    85 int main (int argc, char *argv[])
    86 {
    87   int major, minor, micro;
    88   char *tmp_version;
    89 
    90   /* This hangs on some systems (?)
    91   system ("touch conf.sdltest");
    92   */
    93   { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); }
    94 
    95   /* HP/UX 9 (%@#!) writes to sscanf strings */
    96   tmp_version = my_strdup("$min_sdl_version");
    97   if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
    98      printf("%s, bad version string\n", "$min_sdl_version");
    99      exit(1);
   100    }
   101 
   102    if (($sdl_major_version > major) ||
   103       (($sdl_major_version == major) && ($sdl_minor_version > minor)) ||
   104       (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro)))
   105     {
   106       return 0;
   107     }
   108   else
   109     {
   110       printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version);
   111       printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro);
   112       printf("*** best to upgrade to the required version.\n");
   113       printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n");
   114       printf("*** to point to the correct copy of sdl-config, and remove the file\n");
   115       printf("*** config.cache before re-running configure\n");
   116       return 1;
   117     }
   118 }
   119 
   120 ],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
   121        CFLAGS="$ac_save_CFLAGS"
   122        LIBS="$ac_save_LIBS"
   123      fi
   124   fi
   125   if test "x$no_sdl" = x ; then
   126      AC_MSG_RESULT(yes)
   127      ifelse([$2], , :, [$2])     
   128   else
   129      AC_MSG_RESULT(no)
   130      if test "$SDL_CONFIG" = "no" ; then
   131        echo "*** The sdl-config script installed by SDL could not be found"
   132        echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in"
   133        echo "*** your path, or set the SDL_CONFIG environment variable to the"
   134        echo "*** full path to sdl-config."
   135      else
   136        if test -f conf.sdltest ; then
   137         :
   138        else
   139           echo "*** Could not run SDL test program, checking why..."
   140           CFLAGS="$CFLAGS $SDL_CFLAGS"
   141           LIBS="$LIBS $SDL_LIBS"
   142           AC_TRY_LINK([
   143 #include <stdio.h>
   144 #include "SDL.h"
   145 
   146 int main(int argc, char *argv[])
   147 { return 0; }
   148 #undef  main
   149 #define main K_and_R_C_main
   150 ],      [ return 0; ],
   151         [ echo "*** The test program compiled, but did not run. This usually means"
   152           echo "*** that the run-time linker is not finding SDL or finding the wrong"
   153           echo "*** version of SDL. If it is not finding SDL, you'll need to set your"
   154           echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
   155           echo "*** to the installed location  Also, make sure you have run ldconfig if that"
   156           echo "*** is required on your system"
   157 	  echo "***"
   158           echo "*** If you have an old version installed, it is best to remove it, although"
   159           echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
   160         [ echo "*** The test program failed to compile or link. See the file config.log for the"
   161           echo "*** exact error that occured. This usually means SDL was incorrectly installed"
   162           echo "*** or that you have moved SDL since it was installed. In the latter case, you"
   163           echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ])
   164           CFLAGS="$ac_save_CFLAGS"
   165           LIBS="$ac_save_LIBS"
   166        fi
   167      fi
   168      SDL_CFLAGS=""
   169      SDL_LIBS=""
   170      ifelse([$3], , :, [$3])
   171   fi
   172   AC_SUBST(SDL_CFLAGS)
   173   AC_SUBST(SDL_LIBS)
   174   rm -f conf.sdltest
   175 ])