test/configure.in
author Sam Lantinga <slouken@libsdl.org>
Sun, 19 Mar 2006 05:27:22 +0000
changeset 1550 31c2b8e4885e
parent 1387 835c1831f903
child 1654 0a53c90a37f9
child 1813 a7cda692b681
permissions -rw-r--r--
Fixed bug #166

From the autoconf obsolete macros documentation:
Macro: AC_CANONICAL_SYSTEM

Determine the system type and set output variables to the names of the canonical system types. See section Getting the Canonical System Type, for details about the variables this macro sets.

The user is encouraged to use either AC_CANONICAL_BUILD, or AC_CANONICAL_HOST, or AC_CANONICAL_TARGET, depending on the needs. Using AC_CANONICAL_TARGET is enough to run the two other macros.

From the documentation for the canonical environments:
case $target in
i386-*-mach* | i386-*-gnu*)
obj_format=aout emulation=mach bfd_gas=yes ;;
i960-*-bout) obj_format=bout ;;
esac

Note that the above example uses $target because it's taken from a tool which can be built on some architecture ($build), run on another ($host), but yet handle data for a third architecture ($target). Such tools are usually part of a compiler suite, they generate code for a specific $target.

However $target should be meaningless for most packages. If you want to base a decision on the system where your program will be run, make sure you use the $host variable.
     1 dnl Process this file with autoconf to produce a configure script.
     2 AC_INIT(README)
     3 
     4 dnl Detect the canonical build and host environments
     5 AC_CONFIG_AUX_DIRS($srcdir/../build-scripts)
     6 AC_CANONICAL_HOST
     7 
     8 dnl Check for tools
     9 
    10 AC_PROG_CC
    11 
    12 dnl Check for compiler environment
    13 
    14 AC_C_CONST
    15 
    16 dnl Figure out which math library to use
    17 case "$host" in
    18     *-*-cygwin* | *-*-mingw32*)
    19         EXE=".exe"
    20         MATHLIB=""
    21         SYS_GL_LIBS="-lopengl32"
    22         ;;
    23     *-*-beos*)
    24         EXE=""
    25         MATHLIB=""
    26         SYS_GL_LIBS="-lGL"
    27         ;;
    28     *-*-darwin* )
    29         EXE=""
    30         MATHLIB=""
    31         SYS_GL_LIBS=""
    32         ;;
    33     *-*-aix*)
    34         EXE=""
    35         if test x$ac_cv_prog_gcc = xyes; then
    36             CFLAGS="-mthreads"
    37         fi
    38         SYS_GL_LIBS=""
    39         ;;
    40     *-*-mint*)
    41         EXE=""
    42         MATHLIB=""
    43         AC_PATH_PROG(OSMESA_CONFIG, osmesa-config, no)
    44         if test "x$OSMESA_CONFIG" = "xyes"; then
    45             OSMESA_CFLAGS=`$OSMESA_CONFIG --cflags`
    46             OSMESA_LIBS=`$OSMESA_CONFIG --libs`
    47             CFLAGS="$CFLAGS $OSMESA_CFLAGS"
    48             SYS_GL_LIBS="$OSMESA_LIBS"
    49         else
    50             SYS_GL_LIBS="-lOSMesa"
    51         fi
    52 		;;
    53     *)
    54         EXE=""
    55         MATHLIB="-lm"
    56         SYS_GL_LIBS="-lGL"
    57         ;;
    58 esac
    59 AC_SUBST(EXE)
    60 AC_SUBST(MATHLIB)
    61 
    62 dnl Check for SDL
    63 SDL_VERSION=1.2.10
    64 AM_PATH_SDL($SDL_VERSION,
    65             :,
    66 	    AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!])
    67 )
    68 CFLAGS="$CFLAGS $SDL_CFLAGS"
    69 LIBS="$LIBS $SDL_LIBS"
    70 
    71 dnl Check for OpenGL
    72 AC_MSG_CHECKING(for OpenGL support)
    73 have_opengl=no
    74 AC_TRY_COMPILE([
    75  #include "SDL_opengl.h"
    76 ],[
    77 ],[
    78 have_opengl=yes
    79 ])
    80 AC_MSG_RESULT($have_opengl)
    81 if test x$have_opengl = xyes; then
    82     CFLAGS="$CFLAGS -DHAVE_OPENGL"
    83     GLLIB="$SYS_GL_LIBS"
    84 else
    85     GLLIB=""
    86 fi
    87 AC_SUBST(GLLIB)
    88 
    89 dnl Finally create all the generated files
    90 AC_OUTPUT([Makefile])