mirror of
https://git.code.sf.net/p/quake/newtree
synced 2024-11-22 20:21:38 +00:00
Added sound and CD configuration.
Compile system, sound and CD drivers into libraries which we link against. Now Mingw32 compilation works.
This commit is contained in:
parent
84ff3a3c1b
commit
9d4db93b27
2 changed files with 167 additions and 32 deletions
137
configure.in
137
configure.in
|
@ -41,6 +41,7 @@ dnl ==================================================================
|
|||
AC_PROG_AWK
|
||||
AC_PROG_CC
|
||||
AC_PROG_CPP
|
||||
AC_PROG_RANLIB
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_LN_S
|
||||
|
||||
|
@ -146,6 +147,7 @@ AC_TRY_COMPILE(
|
|||
AC_MSG_RESULT(no)
|
||||
)
|
||||
|
||||
|
||||
dnl ==================================================================
|
||||
dnl Checks for library functions.
|
||||
dnl ==================================================================
|
||||
|
@ -415,6 +417,127 @@ AC_SUBST(GLX_CFLAGS)
|
|||
AC_SUBST(GLX_LIBS)
|
||||
|
||||
|
||||
dnl ==================================================================
|
||||
dnl Checks for system type
|
||||
dnl ==================================================================
|
||||
|
||||
dnl Checks for which system driver to use
|
||||
AC_MSG_CHECKING(for system driver)
|
||||
case "${host}" in
|
||||
i?86-*-mingw32*)
|
||||
SYSTYPE=WIN32
|
||||
AC_MSG_RESULT([Win32 driver])
|
||||
;;
|
||||
*)
|
||||
SYSTYPE=POSIX
|
||||
AC_MSG_RESULT([default POSIX driver])
|
||||
;;
|
||||
esac
|
||||
AM_CONDITIONAL(SYSTYPE_WIN32, test "$SYSTYPE" = "WIN32")
|
||||
|
||||
|
||||
dnl ==================================================================
|
||||
dnl Checks for sound
|
||||
dnl ==================================================================
|
||||
|
||||
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
|
||||
|
||||
dnl OSS
|
||||
if test -z "$SNDTYPE" -a "x$ac_cv_header_sys_soundcard_h" = "xyes"; then
|
||||
AC_EGREP_CPP([QF_maGiC_VALUE],[
|
||||
#include <sys/soundcard.h>
|
||||
#ifdef SNDCTL_DSP_SETTRIGGER
|
||||
QF_maGiC_VALUE
|
||||
#endif
|
||||
], SNDTYPE="OSS")
|
||||
fi
|
||||
if test -z "$SNDTYPE" -a "x$ac_cv_header_linux_soundcard_h" = "xyes"; then
|
||||
AC_EGREP_CPP([QF_maGiC_VALUE],[
|
||||
#include <linux/soundcard.h>
|
||||
#ifdef SNDCTL_DSP_SETTRIGGER
|
||||
QF_maGiC_VALUE
|
||||
#endif
|
||||
], SNDTYPE="OSS")
|
||||
fi
|
||||
if test -z "$SNDTYPE" -a "x$ac_cv_header_machine_soundcard_h" = "xyes"; then
|
||||
AC_EGREP_CPP([QF_maGiC_VALUE],[
|
||||
#include <machine/soundcard.h>
|
||||
#ifdef SNDCTL_DSP_SETTRIGGER
|
||||
QF_maGiC_VALUE
|
||||
#endif
|
||||
], SNDTYPE="OSS")
|
||||
fi
|
||||
|
||||
dnl Win32
|
||||
if test -z "$SNDTYPE" -a "x$ac_cv_header_windows_h" = "xyes" -a \
|
||||
"x$ac_cv_header_mmsystem_h" = "xyes"; then
|
||||
AC_EGREP_CPP([QF_maGiC_VALUE],[
|
||||
#include <windows.h>
|
||||
#include <mmsystem.h>
|
||||
#ifdef GMEM_MOVEABLE
|
||||
#ifdef WAVE_FORMAT_PCM
|
||||
QF_maGiC_VALUE
|
||||
#endif
|
||||
#endif
|
||||
], SNDTYPE="WIN32"
|
||||
SOUND_LIBS="-lwinmm")
|
||||
fi
|
||||
|
||||
AC_SUBST(SOUND_LIBS)
|
||||
AM_CONDITIONAL(SNDTYPE_MME, test "$SNDTYPE" = "MME")
|
||||
AM_CONDITIONAL(SNDTYPE_OSS, test "$SNDTYPE" = "OSS")
|
||||
AM_CONDITIONAL(SNDTYPE_WIN32, test "$SNDTYPE" = "WIN32")
|
||||
|
||||
|
||||
dnl ==================================================================
|
||||
dnl Checks for CD-ROM
|
||||
dnl ==================================================================
|
||||
|
||||
dnl Linux/BSD
|
||||
AC_EGREP_CPP([QF_maGiC_VALUE],[
|
||||
#include <linux/cdrom.h>
|
||||
#ifdef CDROMREADTOCENTRY
|
||||
QF_maGiC_VALUE
|
||||
#endif
|
||||
],
|
||||
AC_DEFINE(USE_LINUX_CD)
|
||||
CDTYPE=LINUX
|
||||
,
|
||||
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"
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(CDTYPE_WIN32, test "$CDTYPE" = "WIN32")
|
||||
AM_CONDITIONAL(CDTYPE_LINUX, test "$CDTYPE" = "LINUX")
|
||||
|
||||
|
||||
dnl ==================================================================
|
||||
dnl Checks for networking
|
||||
dnl ==================================================================
|
||||
|
||||
NET_LIBS=""
|
||||
if test "x$ac_cv_func_connect" != "xyes"; then
|
||||
AC_MSG_CHECKING([for connect in -lwsock32])
|
||||
|
@ -574,20 +697,6 @@ case "${host}" in
|
|||
esac
|
||||
AC_SUBST(ASM_ARCH)
|
||||
|
||||
dnl Checks for which system driver to use
|
||||
AC_MSG_CHECKING(for system driver)
|
||||
case "${host}" in
|
||||
i?86-*-mingw32*)
|
||||
SYSTYPE=WIN32
|
||||
AC_MSG_RESULT([Win32 driver])
|
||||
;;
|
||||
*)
|
||||
SYSTYPE=POSIX
|
||||
AC_MSG_RESULT([default POSIX driver])
|
||||
;;
|
||||
esac
|
||||
AM_CONDITIONAL(SYSTYPE_WIN32, test "$SYSTYPE" = "WIN32")
|
||||
|
||||
|
||||
dnl ==================================================================
|
||||
dnl Find out what to build and finish
|
||||
|
|
|
@ -7,24 +7,51 @@ bin_PROGRAMS = @TARGETS@
|
|||
EXTRA_PROGRAMS= qf-server qf-client-mgl qf-client-ggi qf-client-svga \
|
||||
qf-client-x11 qf-client-glx
|
||||
|
||||
noinst_LIBRARIES = libqfsys_cl.a libqfsys_sv.a libqfsnd.a libqfcd.a
|
||||
|
||||
if SYSTYPE_WIN32
|
||||
cl_sys = sys_win.c cl_sys_win.c
|
||||
sv_sys = sys_win.c sv_sys_win.c
|
||||
libqfsys_cl_a_SOURCES = sys_win.c cl_sys_win.c
|
||||
libqfsys_sv_a_SOURCES = sys_win.c sv_sys_win.c
|
||||
else
|
||||
cl_sys = sys_unix.c cl_sys_unix.c
|
||||
sv_sys = sys_unix.c sv_sys_unix.c
|
||||
libqfsys_cl_a_SOURCES = sys_unix.c cl_sys_unix.c
|
||||
libqfsys_sv_a_SOURCES = sys_unix.c sv_sys_unix.c
|
||||
endif
|
||||
|
||||
EXTRA_libqfsys_cl_a_SOURCES = sys_unix.c cl_sys_unix.c
|
||||
EXTRA_libqfsys_sv_a_SOURCES = sys_unix.c sv_sys_unix.c
|
||||
|
||||
if SNDTYPE_WIN32
|
||||
libqfsnd_a_SOURCES = snd_win.c
|
||||
else
|
||||
if SNDTYPE_OSS
|
||||
libqfsnd_a_SOURCES = snd_oss.c
|
||||
else
|
||||
libqfsnd_a_SOURCES = snd_null.c
|
||||
endif
|
||||
endif
|
||||
EXTRA_libqfsnd_a_SOURCES = snd_win.c snd_oss.c snd_null.c
|
||||
|
||||
if CDTYPE_WIN32
|
||||
libqfcd_a_SOURCES = cd_win.c
|
||||
else
|
||||
if CDTYPE_LINUX
|
||||
libqfcd_a_SOURCES = cd_linux.c
|
||||
else
|
||||
libqfcd_a_SOURCES = cd_null.c
|
||||
endif
|
||||
endif
|
||||
EXTRA_libqfcd_a_SOURCES = cd_win.c cd_linux.c cd_null.c
|
||||
|
||||
common_SOURCES= net_chan.c net_com.c net_udp.c pmove.c pmovetst.c zone.c \
|
||||
mdfour.c mathlib.c math.S cvar.c crc.c common.c model.c cmd.c
|
||||
server_SOURCES= pr_cmds.c pr_edict.c pr_exec.c sv_init.c sv_main.c sv_misc.c \
|
||||
sv_model.c sv_nchan.c sv_ents.c sv_send.c sv_move.c sv_phys.c \
|
||||
sv_user.c sv_ccmds.c world.c worlda.S sv_cvar.c $(sv_sys)
|
||||
sv_user.c sv_ccmds.c world.c worlda.S sv_cvar.c
|
||||
client_SOURCES= cl_cmd.c cl_cvar.c cl_demo.c cl_ents.c cl_input.c cl_main.c \
|
||||
cl_math.S cl_misc.c cl_parse.c cl_pred.c cl_tent.c cl_cam.c \
|
||||
snd_oss.c cd_linux.c r_view.c wad.c snd_dma.c \
|
||||
snd_mem.c snd_mix.c snd_mixa.S skin.c sbar.c nonintel.c \
|
||||
menu.c keys.c console.c sys_x86.S cl_slist.c $(cl_sys)
|
||||
r_view.c wad.c snd_dma.c snd_mem.c snd_mix.c snd_mixa.S \
|
||||
skin.c sbar.c nonintel.c menu.c keys.c console.c \
|
||||
sys_x86.S cl_slist.c
|
||||
soft_SOURCES= cl_model.c cl_trans.c d_edge.c d_fill.c d_init.c d_modech.c \
|
||||
d_part.c d_polyse.c d_scan.c d_sky.c d_sprite.c d_surf.c \
|
||||
d_vars.c d_zpoint.c draw.c r_aclip.c r_alias.c r_bsp.c \
|
||||
|
@ -44,10 +71,6 @@ svga_SOURCES= vid_svgalib.c
|
|||
x11_SOURCES= vid_x11.c
|
||||
glx_SOURCES= vid_glx.c
|
||||
|
||||
# We just has to list these once, but a plain EXTRA_SOURCES isn't allowed
|
||||
EXTRA_qf_server_SOURCES= sys_unix.c cl_sys_unix.c sv_sys_unix.c \
|
||||
sys_win.c cl_sys_win.c sv_sys_win.c
|
||||
|
||||
qf_server_SOURCES= $(common_SOURCES) $(server_SOURCES)
|
||||
qf_client_mgl_SOURCES= $(common_SOURCES) $(client_SOURCES) $(soft_SOURCES) $(mgl_SOURCES)
|
||||
qf_client_ggi_SOURCES= $(common_SOURCES) $(client_SOURCES) $(soft_SOURCES) $(ggi_SOURCES)
|
||||
|
@ -55,12 +78,15 @@ qf_client_svga_SOURCES= $(common_SOURCES) $(client_SOURCES) $(soft_SOURCES) $(sv
|
|||
qf_client_x11_SOURCES= $(common_SOURCES) $(client_SOURCES) $(soft_SOURCES) $(x11_SOURCES)
|
||||
qf_client_glx_SOURCES= $(common_SOURCES) $(client_SOURCES) $(ogl_SOURCES) $(glx_SOURCES)
|
||||
|
||||
qf_server_LDADD= $(NET_LIBS)
|
||||
qf_client_mgl_LDADD= $(MGL_LIBS) $(NET_LIBS)
|
||||
qf_client_ggi_LDADD= $(GGI_LIBS) $(NET_LIBS)
|
||||
qf_client_svga_LDADD= $(SVGA_LIBS) $(NET_LIBS)
|
||||
qf_client_x11_LDADD= $(X_PRE_LIBS) $(X_LIBS) -lX11 $(X_EXTRA_LIBS) $(X_SHM_LIB) $(NET_LIBS)
|
||||
qf_client_glx_LDADD= $(GLX_LIBS) $(X_PRE_LIBS) $(X_LIBS) -lX11 $(X_EXTRA_LIBS) $(NET_LIBS)
|
||||
|
||||
CLIENT_LIBS = -L. -lqfsys_cl -lqfsnd -lqfcd $(SOUND_LIBS) $(NET_LIBS)
|
||||
|
||||
qf_server_LDADD= -L. -lqfsys_sv $(NET_LIBS)
|
||||
qf_client_mgl_LDADD= $(MGL_LIBS) $(CLIENT_LIBS)
|
||||
qf_client_ggi_LDADD= $(GGI_LIBS) $(CLIENT_LIBS)
|
||||
qf_client_svga_LDADD= $(SVGA_LIBS) $(CLIENT_LIBS)
|
||||
qf_client_x11_LDADD= $(X_PRE_LIBS) $(X_LIBS) -lX11 $(X_EXTRA_LIBS) $(X_SHM_LIB) $(CLIENT_LIBS)
|
||||
qf_client_glx_LDADD= $(GLX_LIBS) $(X_PRE_LIBS) $(X_LIBS) -lX11 $(X_EXTRA_LIBS) $(CLIENT_LIBS)
|
||||
|
||||
EXTRA_DIST = makefile.winc makefile.wingl makefile.wins \
|
||||
qw_client.dsp qw_server.dsp
|
||||
|
|
Loading…
Reference in a new issue