shithub: choc

ref: de66c6b9672e4a97af96938517a1d954f32966ec
dir: /configure.in/

View raw version
AC_INIT(Chocolate Doom, 1.2.1, fraggle@gmail.com, chocolate-doom)

AC_CONFIG_AUX_DIR(autotools)

orig_CFLAGS="$CFLAGS"

AC_PROG_CC
AC_PROG_RANLIB
AC_CHECK_PROG(HAVE_PYTHON, python, true, false)

OPT_LEVEL=2

# Engine room, we need more speed!

AC_ARG_ENABLE(penis-extension, 
[  --enable-penis-extension   Enable counterproductive compiler optimisations ],
[ OPT_LEVEL=3 ])

# If this is gcc, we have some options we'd like to turn on.  Turn on 
# optimisation and debugging symbols.

if test "$GCC" = "yes"
then
        CFLAGS="-O$OPT_LEVEL -g -Wall $orig_CFLAGS"
fi

dnl Search for SDL ...

AM_PATH_SDL(1.1.3)

# Add the SDL compiler flags to the default compiler flag variables. 
# It is important to do this now, before checking for headers and
# library functions.  The reason being that on Windows, sdl-config
# sets the -mno-cygwin compiler option in order to generate MinGW 
# executables.  If we don't do this now, we might end up discovering
# header files that are not actually available to us when we come
# to compile.

CFLAGS="$CFLAGS $SDL_CFLAGS"
LDFLAGS="$LDFLAGS $SDL_LIBS"

# On some platforms, SDL renames main() to SDL_main() using a #define,
# so that its own main, stored in the SDLmain library, can be run first.
# Unfortunately, this causes problems for autoconf, which builds
# test programs to probe the system.  All library/header/symbol checks
# must be run in this block, that performs a workaround for the problem.

AC_SDL_MAIN_WORKAROUND([

    # Check for SDL_mixer.

    AC_CHECK_LIB(SDL_mixer,Mix_LoadMUS,[
        SDLMIXER_LIBS="$SDLMIXER_LIBS -lSDL_mixer"
    ],[
        echo "*** Could not find SDL_mixer.  Please install it."
        exit -1
    ])

    # Check for SDL_net.

    AC_CHECK_LIB(SDL_net,SDLNet_UDP_Send,[
        SDLNET_LIBS="$SDLNET_LIBS -lSDL_net"
    ],[
        echo "*** Could not find SDL_net.  Please install it."
        exit -1
    ])

    # Check for libsamplerate.

    AC_CHECK_LIB(samplerate, src_new)

    AC_CHECK_HEADERS([linux/kd.h dev/isa/spkrio.h dev/speaker/speaker.h])
    AC_CHECK_FUNCS(mmap sched_setaffinity ioperm)

    # OpenBSD I/O i386 library for I/O port access.

    AC_CHECK_LIB(i386, i386_iopl)
])

AC_CHECK_TOOL(WINDRES, windres, )

# Windows CE build?

WINDOWS_CE=false

case "$host" in
    *mingw32ce*|*cegcc*|*wince*)
        CFLAGS="-I../wince $CFLAGS"
        WINDOWS_CE=true
        ;;
    *)
        ;;
esac

AM_CONDITIONAL(WINDOWS_CE, $WINDOWS_CE)
AM_CONDITIONAL(HAVE_WINDRES, test "$WINDRES" != "")
AM_CONDITIONAL(HAVE_PYTHON, $HAVE_PYTHON)

dnl Automake v1.8.0 is required, please upgrade!

AM_INIT_AUTOMAKE([1.8.0])

WINDOWS_RC_VERSION=`echo $PACKAGE_VERSION.0 | sed 's/\./, /g' `

AM_CONFIG_HEADER(config.h:config.hin)

AC_SUBST(WINDOWS_RC_VERSION)
AC_SUBST(SDLMIXER_CFLAGS)
AC_SUBST(SDLMIXER_LIBS)

AC_SUBST(SDLNET_CFLAGS)
AC_SUBST(SDLNET_LIBS)

AC_SUBST(ac_aux_dir)

dnl Shut up the datarootdir warnings.
AC_DEFUN([AC_DATAROOTDIR_CHECKED])

AC_OUTPUT([
Makefile
wince/Makefile
textscreen/Makefile
textscreen/examples/Makefile
setup/Makefile
man/Makefile
opl/Makefile
opl/examples/Makefile
src/Makefile
pcsound/Makefile
pkg/wince/Makefile
src/resource.rc
src/doom-screensaver.desktop
setup/setup-res.rc
])