mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-13 16:07:55 +00:00
177 lines
4.8 KiB
Text
177 lines
4.8 KiB
Text
|
# -*- Autoconf -*-
|
||
|
# Process this file with autoconf to produce a configure script.
|
||
|
|
||
|
AC_PREREQ(2.57)
|
||
|
AC_INIT(zdoom, 2.0.63, smordak@yahoo.com)
|
||
|
AC_CONFIG_AUX_DIR(config)
|
||
|
AC_CANONICAL_TARGET
|
||
|
AM_INIT_AUTOMAKE(dist-bzip2)
|
||
|
AC_CONFIG_SRCDIR([src/r_sky.cpp])
|
||
|
AC_CONFIG_HEADER(config.h)
|
||
|
AC_PROG_CXX
|
||
|
|
||
|
# Checks for programs.
|
||
|
AC_PROG_CC
|
||
|
AC_PROG_INSTALL
|
||
|
|
||
|
# Checks for header files.
|
||
|
AC_HEADER_DIRENT
|
||
|
AC_HEADER_STDC
|
||
|
AC_HEADER_SYS_WAIT
|
||
|
AC_CHECK_HEADERS([arpa/inet.h fcntl.h float.h limits.h malloc.h netdb.h netinet/in.h stddef.h stdlib.h string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h sys/timeb.h unistd.h])
|
||
|
|
||
|
# Checks for typedefs, structures, and compiler characteristics.
|
||
|
AC_HEADER_STDBOOL
|
||
|
AC_C_CONST
|
||
|
AC_C_INLINE
|
||
|
AC_TYPE_PID_T
|
||
|
AC_TYPE_SIZE_T
|
||
|
AC_HEADER_TIME
|
||
|
AC_STRUCT_TM
|
||
|
AC_C_VOLATILE
|
||
|
AC_CHECK_TYPES([ptrdiff_t])
|
||
|
AC_C_BIGENDIAN
|
||
|
|
||
|
# Checks for library functions.
|
||
|
AC_FUNC_ALLOCA
|
||
|
AC_REPLACE_FNMATCH
|
||
|
AC_FUNC_FORK
|
||
|
AC_FUNC_MALLOC
|
||
|
AC_FUNC_MEMCMP
|
||
|
AC_FUNC_REALLOC
|
||
|
AC_TYPE_SIGNAL
|
||
|
AC_FUNC_STAT
|
||
|
AC_FUNC_STRTOD
|
||
|
AC_FUNC_VPRINTF
|
||
|
AC_CHECK_FUNCS([atexit dup2 floor getcwd gethostbyname gettimeofday memchr memmove memset mkdir modf pow realpath socket sqrt strchr strdup strerror strrchr strstr strtol strtoul filelength strupr])
|
||
|
|
||
|
AC_CHECK_FUNC(stricmp, stricmp=yes, stricmp=no)
|
||
|
if test $stricmp = no; then
|
||
|
AC_CHECK_FUNC(strcasecmp,
|
||
|
AC_DEFINE(stricmp, strcasecmp, [Define stricmp as strcasecmp if you have one but not the other]),
|
||
|
AC_MSG_ERROR([Neither stricmp nor strcasecmp found])
|
||
|
)
|
||
|
fi
|
||
|
|
||
|
AC_CHECK_FUNC(strnicmp, strnicmp=yes, strnicmp=no)
|
||
|
if test $strnicmp = no; then
|
||
|
AC_CHECK_FUNC(strncasecmp,
|
||
|
AC_DEFINE(strnicmp, strncasecmp, [Define strnicmp as strncasecmp if you have one but not the other]),
|
||
|
AC_MSG_ERROR([Neither strnicmp nor strncasecmp found])
|
||
|
)
|
||
|
fi
|
||
|
|
||
|
# Checks for libraries.
|
||
|
|
||
|
# Check for SDL
|
||
|
dnl Check for SDL
|
||
|
SDL_VERSION=1.2.0
|
||
|
AM_PATH_SDL($SDL_VERSION,
|
||
|
:,
|
||
|
AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!])
|
||
|
)
|
||
|
CFLAGS="$CFLAGS $SDL_CFLAGS"
|
||
|
CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
|
||
|
LIBS="$LIBS $SDL_LIBS"
|
||
|
|
||
|
# NASM is available from: http://nasm.sourceforge.net/
|
||
|
# This snippet is taken from SDL's configure.in
|
||
|
dnl Make sure we are running on an x86 platform
|
||
|
case $target in
|
||
|
i?86*)
|
||
|
dnl Check for NASM (for assembly routines)
|
||
|
AC_ARG_ENABLE(nasm,
|
||
|
[ --enable-nasm use nasm routines on x86 [default=yes]],
|
||
|
, enable_nasm=yes)
|
||
|
if test x$enable_nasm = xyes; then
|
||
|
AC_PATH_PROG(NASM, nasm)
|
||
|
if test x$NASM = x -o x$NASM = x'"$NASM"'; then
|
||
|
CFLAGS="$CLAGS -DNOASM"
|
||
|
: # nasm isn't installed
|
||
|
else
|
||
|
CFLAGS="$CFLAGS -DUSEASM"
|
||
|
case $ARCH in
|
||
|
win32)
|
||
|
NASMFLAGS="-f win32"
|
||
|
;;
|
||
|
openbsd)
|
||
|
NASMFLAGS="-f aoutb"
|
||
|
;;
|
||
|
*)
|
||
|
# M_TARGET_LINUX really means "target is ELF"
|
||
|
NASMFLAGS="-f elf -DM_TARGET_LINUX"
|
||
|
;;
|
||
|
esac
|
||
|
AC_SUBST(NASMFLAGS)
|
||
|
fi
|
||
|
else
|
||
|
CFLAGS="$CFLAGS -DNOASM"
|
||
|
fi
|
||
|
;;
|
||
|
*)
|
||
|
# Nope, then NASM is definitely not available
|
||
|
CFLAGS="$CFLAGS -DNOASM"
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
# Check for FMOD, first in the path, then in ~/fomdapi
|
||
|
AC_MSG_CHECKING([a suitable version of FMOD])
|
||
|
LIBS="$LIBS -lfmod-3.74"
|
||
|
AC_LINK_IFELSE(
|
||
|
[AC_LANG_PROGRAM([[#include <fmod.h>]],
|
||
|
[[FSOUND_Init (44100, 64, FSOUND_INIT_STREAM_FROM_MAIN_THREAD);
|
||
|
FMUSIC_LoadSongEx ("dummy", 0, 100, 0, (void*)0, 0);
|
||
|
FSOUND_Stream_Open ("dummy", 0, 0, 100);]])],
|
||
|
AC_MSG_RESULT([yes]),
|
||
|
LIBS="$LIBS -L${HOME}/fmodapi/api"
|
||
|
CFLAGS="$CFLAGS -I${HOME}/fmodapi/api/inc"
|
||
|
CXXFLAGS="$CXXFLAGS -I${HOME}/fmodapi/api/inc"
|
||
|
AC_LINK_IFELSE(
|
||
|
[AC_LANG_PROGRAM([[#include <fmod.h>]],
|
||
|
[[FSOUND_Init (44100, 64, FSOUND_INIT_STREAM_FROM_MAIN_THREAD);
|
||
|
FMUSIC_LoadSongEx ("dummy", 0, 100, 0, (void*)0, 0);
|
||
|
FSOUND_Stream_Open ("dummy", 0, 0, 100);]])],
|
||
|
AC_MSG_RESULT([in ~/fmodapi]),
|
||
|
AC_MSG_RESULT([no])
|
||
|
AC_MSG_FAILURE([Could not find FMOD 3.74 or a compatible version.])))
|
||
|
|
||
|
# Check for zlib
|
||
|
AC_CHECK_LIB(z, deflate,, AC_MSG_FAILURE([You need zlib to build ZDoom. See http://www.gzip.org/zlib/]))
|
||
|
# Check for libFLAC and libFLAC++
|
||
|
AC_CHECK_LIB(FLAC, FLAC__stream_decoder_new)
|
||
|
|
||
|
AC_LANG_CPLUSPLUS
|
||
|
AC_MSG_CHECKING([libFLAC++])
|
||
|
ac_save_LIBS=$LIBS
|
||
|
LIBS="-lFLAC++ $LIBS"
|
||
|
AC_LINK_IFELSE(
|
||
|
[AC_LANG_PROGRAM([[#include <FLAC++/decoder.h>
|
||
|
|
||
|
class TestStream : public FLAC::Decoder::Stream
|
||
|
{
|
||
|
public:
|
||
|
TestStream () {}
|
||
|
protected:
|
||
|
::FLAC__StreamDecoderReadStatus read_callback(FLAC__byte buffer[], unsigned *bytes)
|
||
|
{
|
||
|
return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE;
|
||
|
}
|
||
|
::FLAC__StreamDecoderWriteStatus write_callback(const ::FLAC__Frame *frame, const FLAC__int32 * const buffer[])
|
||
|
{
|
||
|
return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
|
||
|
}
|
||
|
void metadata_callback(const ::FLAC__StreamMetadata *metadata)
|
||
|
{
|
||
|
}
|
||
|
void error_callback(::FLAC__StreamDecoderErrorStatus status)
|
||
|
{
|
||
|
}
|
||
|
};]],
|
||
|
[[TestStream test_it;]])],
|
||
|
AC_MSG_RESULT([yes]),
|
||
|
AC_MSG_RESULT([no])
|
||
|
LIBS=$ac_save_LIBS)
|
||
|
|
||
|
AC_CONFIG_FILES([Makefile src/Makefile])
|
||
|
AC_OUTPUT
|