Configuration stuff. include/win32/version.h is now Autoconfiscated (but

still has to be in CVS, because Win32 people generally won't be able to
rebuild it).

configure.in: Cleanups to the DGA, VidMode, and sound detection code.
Makefile.am: Cleanups to sound code, to allow 'make dist' to work.
This commit is contained in:
Jeff Teunissen 2000-05-27 04:19:24 +00:00
parent 069fb0eead
commit 2d0932e00e
6 changed files with 234 additions and 177 deletions

View file

@ -8,14 +8,16 @@ AC_CANONICAL_SYSTEM
dnl This is the only place where the package version appears
AM_INIT_AUTOMAKE(quakeforge, 0.1.99pre2)
dnl Define the proper name for package
AC_DEFINE(PROGRAM, "QuakeForge")
dnl Define the proper name and extra version numbers for package
PROGRAM=QuakeForge
QW_VERSION=2.40
QSG_VERSION=1.0
AC_DEFINE_UNQUOTED(PROGRAM, "$PROGRAM")
AC_DEFINE_UNQUOTED(QW_VERSION, "$QW_VERSION")
AC_DEFINE_UNQUOTED(QSG_VERSION, "$QSG_VERSION")
AC_SUBST(PROGRAM)
AC_SUBST(QW_VERSION)
AC_SUBST(QSG_VERSION)
@ -23,15 +25,11 @@ dnl Start TARGETS out at "qf-server"
TARGETS="qf-server\$(EXEEXT)"
SV_TARGETS=" yes"
dnl Trust me on this one
BUILD_TYPE=" Debug"
ISODATE=`date +%Y-%m-%d`
AC_SUBST(ISODATE)
AC_LANG_C
dnl ==================================================================
dnl Checks for programs.
dnl ==================================================================
@ -286,32 +284,43 @@ if test "x$no_x" = x; then
fi
AC_SUBST(X_SHM_LIB)
dnl Check for VIDMODE support
AC_ARG_ENABLE(VIDMODE,
[ --enable-VIDMODE use XFree86 VIDMODE extension, if available],
HAVE_VIDMODE=$enable_VIDMODE, HAVE_VIDMODE=auto)
dnl Check for XFree86-VidMode support
AC_ARG_ENABLE(vidmode,
[ --enable-vidmode use XFree86 VidMode extension, if available],
HAVE_VIDMODE=$enable_vidmode, HAVE_VIDMODE=auto)
if test "x$HAVE_VIDMODE" != xno; then
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$X_CFLAGS $CPPFLAGS"
AC_CHECK_HEADER(X11/extensions/xf86vmode.h, HAVE_VIDMODE=yes, HAVE_VIDMODE=no)
AC_CHECK_HEADER(X11/extensions/xf86vmode.h,
dnl Make sure the library works
AC_CHECK_LIB(Xxf86vm, XF86VidModeSwitchToMode,
AC_DEFINE(HAVE_VIDMODE)
VIDMODE_LIBS="-lXxf86vm",,
[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS]
)
)
CPPFLAGS="$save_CPPFLAGS"
fi
AC_SUBST(VIDMODE_LIBS)
dnl Check for DGA support
AC_ARG_ENABLE(DGA,
[ --enable-DGA use XFree86 DGA extension, if available],
HAVE_DGA=$enable_DGA, HAVE_DGA=auto)
if test "x$HAVE_VIDMODE" = xyes; then
if test "x$HAVE_DGA" != xno; then
AC_ARG_ENABLE(dga,
[ --enable-dga use XFree86 DGA extension, if available],
HAVE_DGA=$enable_dga, HAVE_DGA=auto)
if test "x$HAVE_DGA" != xno; then
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$X_CFLAGS $CPPFLAGS"
AC_CHECK_HEADER(X11/extensions/xf86dga.h, HAVE_DGA=yes, HAVE_DGA=no)
AC_CHECK_HEADER(X11/extensions/xf86vmode.h, qwfoo=qwfoo, HAVE_DGA=no)
AC_CHECK_HEADER(X11/extensions/xf86dga.h,
dnl Make sure the library works
AC_CHECK_LIB(Xxf86dga, XF86DGAQueryVersion,
AC_DEFINE(HAVE_DGA)
DGA_LIBS="-lXxf86dga",,
[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS]
)
)
CPPFLAGS="$save_CPPFLAGS"
else
HAVE_DGA=no
fi
fi
AC_SUBST(DGA_LIBS)
dnl Checks for GLX support
AC_ARG_WITH(glx,
@ -373,7 +382,6 @@ if test "x$HAVE_GLX" != xno; then
fi
CPPFLAGS="$save_CPPFLAGS"
dnl Make sure -lGL or -lMesaGL works
if test "x$glx_libraries" != xauto -a "x$glx_libraries" != xno -a "x$glx_libraries" != x; then
if test "x$HAVE_GLX" = xyes; then
@ -439,32 +447,6 @@ fi
AC_SUBST(GLX_CFLAGS)
AC_SUBST(GLX_LIBS)
dnl Make sure VIDMODE works
if test "x$HAVE_VIDMODE" = xyes; then
AC_CHECK_LIB(Xxf86vm, XF86VidModeSwitchToMode,qwfoo=qwfoo,
HAVE_VIDMODE=no HAVE_DGA=no, [$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
fi
if test "x$HAVE_VIDMODE" != xyes; then
VIDMODE_LIBS=""
else
AC_DEFINE(HAVE_VIDMODE)
VIDMODE_LIBS="-lXxf86vm"
fi
AC_SUBST(VIDMODE_LIBS)
dnl Make sure DGA works
if test "x$HAVE_DGA" = xyes; then
AC_CHECK_LIB(Xxf86dga, XF86DGAQueryVersion,qwfoo=qwfoo,
HAVE_DGA=no, [$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
fi
if test "x$HAVE_DGA" != xyes; then
DGA_LIBS=""
else
AC_DEFINE(HAVE_DGA)
DGA_LIBS="-lXxf86dga"
fi
AC_SUBST(DGA_LIBS)
dnl ==================================================================
dnl Checks for system type
dnl ==================================================================
@ -491,7 +473,6 @@ case "${host}" in
AC_MSG_CHECKING(to see if we should disable asm optimizations)
AC_ARG_ENABLE(asmopt,
[ --disable-asmopt disable assembler optimization],
ASM_ARCH=none
AC_MSG_RESULT(yes),
AC_DEFINE(USE_INTEL_ASM)
ASM_ARCH=yes
@ -500,44 +481,53 @@ case "${host}" in
;;
*) AC_MSG_RESULT(no)
esac
AM_CONDITIONAL(ASM_ARCH, test "$ASM_ARCH" = "yes")
AM_CONDITIONAL(ASM_ARCH, test "$ASM_ARCH")
dnl ==================================================================
dnl Checks for sound
dnl ==================================================================
AC_CHECK_LIB(mme,waveOutOpen,HAVE_LIBMME=yes)
AC_ARG_ENABLE(alsa,
[ --disable-alsa disable alsa support],
)
dnl MME
AC_CHECK_LIB(mme,waveOutOpen,HAVE_LIBMME=yes)
if test -z "$SNDTYPE" -a "x$ac_cv_header_mme_mmsystem_h" = "xyes" -a \
"x$HAVE_LIBMME" = "xyes"; then
AC_EGREP_CPP([QF_maGiC_VALUE],[
#include <mme/mmsystem.h>
#ifdef WAVE_OPEN_SHAREABLE
QF_maGiC_VALUE
#endif
], SNDTYPE="MME"
SOUND_LIBS="-lmme")
fi
SNDTYPE=""
SOUND_LIBS=""
SOUND_CFLAGS=""
AC_MSG_CHECKING(for sound support)
if test "x$enable_alsa" != "xno"; then
if test -z "$SNDTYPE" -a "x$ac_cv_header_sys_asoundlib_h" = "xyes"; then
AC_EGREP_CPP([QF_maGiC_VALUE],[
AC_EGREP_CPP([QF_maGiC_VALUE],
[
#include <sys/asoundlib.h>
#if defined(SND_LIB_MAJOR) && defined(SND_LIB_MINOR)
#if SND_LIB_MAJOR>0 || (SND_LIB_MAJOR==0 && SND_LIB_MINOR>=5)
QF_maGiC_VALUE
#endif
#endif
],[SNDTYPE="ALSA" SOUND_LIBS="-lasound"])
],
SNDTYPE="ALSA"
SOUND_LIBS="-lasound"
)
fi
fi
dnl MME
if test -z "$SNDTYPE" -a "x$ac_cv_header_mme_mmsystem_h" = "xyes" -a "x$HAVE_LIBMME" = "xyes"; then
AC_EGREP_CPP([QF_maGiC_VALUE],
[
#include <mme/mmsystem.h>
#ifdef WAVE_OPEN_SHAREABLE
QF_maGiC_VALUE
#endif
],
SNDTYPE="MME"
SOUND_LIBS="-lmme"
)
fi
dnl OSS
if test -z "$SNDTYPE" -a "x$ac_cv_header_sys_soundcard_h" = "xyes"; then
AC_EGREP_CPP([QF_maGiC_VALUE],[
@ -564,6 +554,16 @@ QF_maGiC_VALUE
], SNDTYPE="OSS")
fi
dnl Sun
if test -z "$SNDTYPE" -a "x$ac_cv_header_sys_audioio_h" = "xyes"; then
AC_EGREP_CPP([QF_maGiC_VALUE],[
#include <sys/audioio.h>
#ifdef AUDIO_SETINFO
QF_maGiC_VALUE
#endif
], SNDTYPE="SUN")
fi
dnl Win32
if test -z "$SNDTYPE" -a "x$ac_cv_header_windows_h" = "xyes" -a \
"x$ac_cv_header_mmsystem_h" = "xyes"; then
@ -578,58 +578,83 @@ QF_maGiC_VALUE
], SNDTYPE="WIN32"
SOUND_LIBS="-lwinmm")
fi
dnl Sun
if test -z "$SNDTYPE" -a "x$ac_cv_header_sys_audioio_h" = "xyes"; then
AC_EGREP_CPP([QF_maGiC_VALUE],[
#include <sys/audioio.h>
#ifdef AUDIO_SETINFO
QF_maGiC_VALUE
#endif
], SNDTYPE="SUN")
fi
AC_MSG_RESULT([yes ($SNDTYPE)])
if test "$SNDTYPE"; then
AC_MSG_RESULT([yes ($SNDTYPE)])
else
AC_MSG_RESULT([no, using null sound driver])
fi
AC_SUBST(SOUND_LIBS)
AC_SUBST(SOUND_CFLAGS)
AM_CONDITIONAL(SNDTYPE_ALSA, test "$SNDTYPE" = "ALSA")
AM_CONDITIONAL(SNDTYPE_MME, test "$SNDTYPE" = "MME")
AM_CONDITIONAL(SNDTYPE_OSS, test "$SNDTYPE" = "OSS")
AM_CONDITIONAL(SNDTYPE_ALSA, test "$SNDTYPE" = "ALSA")
AM_CONDITIONAL(SNDTYPE_WIN32, test "$SNDTYPE" = "WIN32")
AM_CONDITIONAL(SNDTYPE_SUN, test "$SNDTYPE" = "SUN")
AM_CONDITIONAL(SNDTYPE_WIN32, test "$SNDTYPE" = "WIN32")
AM_CONDITIONAL(SNDTYPE_NULL, test "$SNDTYPE" != "ALSA" -a "$SNDTYPE" != "MME" -a "$SNDTYPE" != "OSS" -a "$SNDTYPE" != "SUN" -a "$SNDTYPE" != "WIN32")
dnl ==================================================================
dnl Checks for CD-ROM
dnl ==================================================================
dnl Linux/BSD
AC_EGREP_CPP([QF_maGiC_VALUE],[
SNDTYPE=""
CD_LIBS=""
CD_CFLAGS=""
AC_MSG_CHECKING(for CD audio support)
dnl Linux
if test -z "$CDTYPE"; then
AC_EGREP_CPP([QF_maGiC_VALUE],
[
#include <linux/cdrom.h>
#ifdef CDROMREADTOCENTRY
QF_maGiC_VALUE
#endif
],
AC_DEFINE(USE_LINUX_CD)
],
AC_MSG_RESULT([yes (Linux)])
CDTYPE=LINUX
,
AC_EGREP_CPP([QF_maGiC_VALUE],[
)
fi
if test -z "$CDTYPE"; then
AC_EGREP_CPP([QF_maGiC_VALUE],
[
#include <sys/cdio.h>
#if defined (CDIOREADTOCENTRY) || defined (CDIOREADTOCENTRYS)
QF_maGiC_VALUE
#endif
], AC_DEFINE(USE_BSD_CD))
)
AC_HAVE_STRUCT_FIELD(struct ioc_read_toc_single_entry, entry,[
#include <sys/cdio.h>
])
dnl Win32
if test -z "$CDTYPE" -a "$SYSTYPE" = "WIN32"; then
CDTYPE="WIN32"
],
AC_MSG_RESULT([yes (BSD)])
CDTYPE=BSD
)
fi
AM_CONDITIONAL(CDTYPE_WIN32, test "$CDTYPE" = "WIN32")
AM_CONDITIONAL(CDTYPE_LINUX, test "$CDTYPE" = "LINUX")
AM_CONDITIONAL(CDTYPE_NULL, test "$CDTYPE" != "WIN32" -a "$CDTYPE" != "LINUX")
if test -z "$CDTYPE"; then
AC_EGREP_CPP([QF_maGIC_VALUE],
[
#include <windows.h>
#if defined(MCI_SET_DOOR_OPEN)
QF_maGiC_VALUE
#endif
],
AC_MSG_RESULT([yes (Win32)])
CDTYPE=WIN32
)
fi
test -z "$CDTYPE" && AC_MSG_RESULT([no, using null CD audio driver])
AC_SUBST(CD_LIBS)
AC_SUBST(CD_CFLAGS)
AM_CONDITIONAL(CDTYPE_LINUX, test "$CDTYPE" = "LINUX")
AM_CONDITIONAL(CDTYPE_LINUX, test "$CDTYPE" = "BSD")
AM_CONDITIONAL(CDTYPE_WIN32, test "$CDTYPE" = "WIN32")
AM_CONDITIONAL(CDTYPE_NULL, test "$CDTYPE" != "LINUX" -a "$CDTYPE" != "BSD" -a "$CDTYPE" != "WIN32")
if test "$CDTTPE" = BSD; then
AC_HAVE_STRUCT_FIELD(struct ioc_read_toc_single_entry, entry,
[#include <sys/cdio.h>]
)
fi
dnl ==================================================================
dnl Checks for networking
@ -762,14 +787,23 @@ AC_ARG_ENABLE(debug,
debug=$enable_debug
)
if test "x$debug" != xyes; then
BUILD_TYPE="Standard"
if test "x$GCC" = xyes; then
CFLAGS="-O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations"
BUILD_TYPE=" Standard"
AC_MSG_CHECKING(for special compiler settings)
case "${host}" in
i?86-*-*)
i386-*-*)
MORE_CFLAGS="-malign-loops=2 -malign-jumps=2 -malign-functions=2"
;;
i486-*-*)
MORE_CFLAGS="-m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2"
;;
i586-*-*)
MORE_CFLAGS="-mpentium -malign-loops=2 -malign-jumps=2 -malign-functions=2"
;;
i686-*-*)
MORE_CFLAGS="-mpentiumpro -malign-loops=2 -malign-jumps=2 -malign-functions=2"
;;
*)
MORE_CFLAGS=""
;;
@ -783,6 +817,8 @@ if test "x$debug" != xyes; then
else
CFLAGS=-O2
fi
else
BUILD_TYPE="Debug"
fi
dnl QuakeForge uses lots of BCPL-style (//) comments, which can cause problems
@ -856,6 +892,7 @@ AC_OUTPUT(
doc/man/Makefile
doc/texinfo/Makefile
Makefile
include/win32/version.h
RPM/quakeforge.spec
RPM/build_rpm
quakeforge.lsm,
@ -864,7 +901,7 @@ AC_OUTPUT(
AC_MSG_RESULT([
QuakeForge has been configured successfully.
Build type:$BUILD_TYPE
Build type: $BUILD_TYPE
Server support:$SV_TARGETS
Client support:$CL_TARGETS

View file

@ -28,6 +28,7 @@
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA
$Id$
*/
#ifndef _CONFIG_H
@ -62,28 +63,16 @@
#define X_DISPLAY_MISSING
/* Version string */
/* these are included by version.h
#define QW_VERSION "2.40"
#define VERSION "0.1.99pre0"
#define PROGRAM "QuakeForge"
#define PACKAGE "quakeforge"
*/
#include "version.h"
/* Define if you want to use QF-style defaults instead of Id-style */
#undef NEWSTYLE
#ifdef NEWSTYLE
#define BASEGAME "base"
#else
#define BASEGAME "id1"
#endif
/* Define this to the subdirectory name of the default game */
#ifdef NEWSTYLE
# define GAMENAME "base"
# define BASEGAME "base"
#else
# define GAMENAME "id1"
# define BASEGAME "id1"
#endif
/* Define if you have the XFree86 DGA extension */
@ -179,6 +168,9 @@
/* Define if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define if you have the <fnmatch.h> header file. */
#undef HAVE_FNMATCH_H
/* Define if you have the <initguid.h> header file. */
#define HAVE_INITGUID_H 1
@ -252,10 +244,7 @@
#undef HAVE_LIBM
/* Define if you want the QSG standards */
#define QSG_VERSION "1"
/* Define the name of the global config file */
#define GLOBAL_CFG_FILE ".\\qforge.cfg"
#define QSG_VERSION "1.0"
/* Posix, needed for limits.h and Unix stuffs to work right */
#define _POSIX_
@ -266,9 +255,10 @@
/* Dir used for shared game data */
#define FS_SHAREPATH "."
/* Dir used for shared game data */
/* Dir used for unshared (user) game data */
#define FS_USERPATH "."
/* Location of QuakeForge's global config file */
#define FS_GLOBALCFG ".\\global.cfg"
#define strcasecmp(s1, s2) stricmp((s1), (s2))
@ -297,4 +287,4 @@
# define tan _tan
#endif
#endif
#endif // _CONFIG_H

View file

@ -31,8 +31,6 @@
$Id$
*/
/* common/config.h.in. Generated automatically from configure.in by autoheader. */
#ifndef _CONFIG_H
#define _CONFIG_H
@ -65,28 +63,16 @@
#define X_DISPLAY_MISSING
/* Version string */
/* these are included from version.h
#define QW_VERSION "2.40"
#define VERSION "0.2.0"
#define PROGRAM "QuakeForge"
#define PACKAGE "quakeforge"
*/
#include "version.h"
/* Define if you want to use QF-style defaults instead of Id-style */
#undef NEWSTYLE
#ifdef NEWSTYLE
#define BASEGAME "base"
#else
#define BASEGAME "id1"
#endif
/* Define this to the subdirectory name of the default game */
#ifdef NEWSTYLE
# define GAMENAME "base"
# define BASEGAME "base"
#else
# define GAMENAME "id1"
# define BASEGAME "id1"
#endif
/* Define if you have the XFree86 DGA extension */
@ -183,7 +169,7 @@
#undef HAVE_FCNTL_H
/* Define if you have the <fnmatch.h> header file. */
#define HAVE_FNMATCH_H
#define HAVE_FNMATCH_H 1
/* Define if you have the <initguid.h> header file. */
#undef HAVE_INITGUID_H
@ -258,10 +244,7 @@
#undef HAVE_LIBM
/* Define if you want the QSG standards */
#define QSG_VERSION "1"
/* Define the name of the global config file */
#define GLOBAL_CFG_FILE ".\\qforge.cfg"
#define QSG_VERSION "1.0"
/* Posix, needed for limits.h and Unix stuffs to work right */
#define _POSIX_
@ -269,10 +252,15 @@
/* Define if we've scitech MGL library and mgraph.h */
#define HAVE_MGRAPH_H 1
#define FS_GLOBALCFG ".\\global.cfg"
/* Dir used for shared game data */
#define FS_SHAREPATH "."
/* Dir used for unshared (user) game data */
#define FS_USERPATH "."
/* Location of QuakeForge's global config file */
#define FS_GLOBALCFG ".\\global.cfg"
#define strcasecmp(s1, s2) stricmp((s1), (s2))
#define strncasecmp(s1, s2, n) strnicmp((s1), (s2), (n))
@ -299,4 +287,4 @@
# define tan _tan
#endif
#endif
#endif // _CONFIG_H

View file

@ -33,10 +33,11 @@
#ifndef _VERSION_H
#define _VERSION_H
/* Version string */
#define QW_VERSION "2.40"
#define VERSION "0.1.99pre2"
#define PROGRAM "QuakeForge"
/* Version strings */
#define PACKAGE "quakeforge"
#define PROGRAM "QuakeForge"
#define VERSION "0.1.99pre2"
#define QW_VERSION "2.40"
#define QSG_VERSION "1.0"
#endif /* _VERSION_H_ */
#endif // _VERSION_H

View file

@ -0,0 +1,43 @@
/*
version.h
version numbers for the win32 builds that don't use autoconf
Copyright (C) 2000 contributors of the QuakeForge project
Please see the file "AUTHORS" for a list of contributors
Author: Thad Ward
Date: 22 May 2000
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to:
Free Software Foundation, Inc.
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA
$Id$
*/
#ifndef _VERSION_H
#define _VERSION_H
/* Version strings */
#define PACKAGE "@PACKAGE@"
#define PROGRAM "@PROGRAM@"
#define VERSION "@VERSION@"
#define QW_VERSION "@QW_VERSION@"
#define QSG_VERSION "@QSG_VERSION@"
#endif // _VERSION_H

View file

@ -29,24 +29,22 @@ endif
EXTRA_libqfsys_cl_a_SOURCES = cl_sys_unix.c cl_sys_win.c sys_win.c sys_unix.c fnmatch.c dirent.c
EXTRA_libqfsys_sv_a_SOURCES = sv_sys_unix.c sv_sys_win.c sys_win.c sys_unix.c fnmatch.c dirent.c
if SNDTYPE_WIN32
libqfsnd_a_SOURCES = snd_win.c snd_dma.c snd_mem.c snd_mix.c
else
if SNDTYPE_OSS
libqfsnd_a_SOURCES = snd_oss.c snd_dma.c snd_mem.c snd_mix.c
else
if SNDTYPE_ALSA
libqfsnd_a_SOURCES = snd_alsa.c snd_dma.c snd_mem.c snd_mix.c
else
libqfsnd_a_SOURCES = snd_dma.c snd_mem.c snd_mix.c snd_alsa.c
endif
if SNDTYPE_OSS
libqfsnd_a_SOURCES = snd_dma.c snd_mem.c snd_mix.c snd_oss.c
endif
if SNDTYPE_SUN
libqfsnd_a_SOURCES = snd_sun.c snd_dma.c snd_mem.c snd_mix.c
else
libqfsnd_a_SOURCES = snd_dma.c snd_mem.c snd_mix.c snd_sun.c
endif
if SNDTYPE_WIN32
libqfsnd_a_SOURCES = snd_dma.c snd_mem.c snd_mix.c snd_win.c
endif
if SNDTYPE_NULL
libqfsnd_a_SOURCES = snd_null.c
endif
endif
endif
endif
EXTRA_libqfsnd_a_SOURCES = snd_dma.c snd_win.c snd_oss.c snd_alsa.c snd_null.c
EXTRA_libqfsnd_a_SOURCES = snd_dma.c snd_mem.c snd_mix.c snd_alsa.c snd_oss.c snd_sun.c snd_win.c snd_null.c
if CDTYPE_WIN32
libqfcd_a_SOURCES = cd_win.c