diff --git a/config.d/build_control.m4 b/config.d/build_control.m4 index 69e65bc5e..d8535ac62 100644 --- a/config.d/build_control.m4 +++ b/config.d/build_control.m4 @@ -26,15 +26,6 @@ NQ_TARGETS="" QW_DESKTOP_DATA="" NQ_DESKTOP_DATA="" -BUILD_GL=no -BUILD_GLSL=no -BUILD_SW32=no -BUILD_SW=no -CAN_BUILD_GL=no -CAN_BUILD_GLSL=no -CAN_BUILD_SW32=no -CAN_BUILD_SW=no - CD_TARGETS="" SND_PLUGIN_TARGETS="snd_output_disk.la" SND_REND_TARGETS="" @@ -50,18 +41,21 @@ if test "x$HAVE_FBDEV" = xyes; then NQ_TARGETS="$NQ_TARGETS nq-fbdev\$(EXEEXT)" CL_TARGETS="$CL_TARGETS FBDEV" VID_TARGETS="$VID_TARGETS libQFfbdev.la" - BUILD_SW=yes + QF_NEED(QFrenderer, [sw]) + QF_NEED(QFmodels, [sw]) + QF_NEED(alias, [sw]) + QF_NEED(brush, [sw]) + QF_NEED(sprite, [sw]) + if test "x$ASM_ARCH" = "xyes"; then + QF_NEED(swrend, [asm]) + fi QF_NEED(vid, [common sw]) QF_NEED(qw, [client common]) QF_NEED(nq, [client common]) QF_NEED(console, [client]) fi - CAN_BUILD_SW=yes fi if test "x$HAVE_X" = xyes; then - CAN_BUILD_GL=yes - CAN_BUILD_GLSL=yes - CAN_BUILD_SW=yes if test "x$ENABLE_clients_glx" = xyes; then QW_TARGETS="$QW_TARGETS qw-client-glx\$(EXEEXT)" NQ_TARGETS="$NQ_TARGETS nq-glx\$(EXEEXT)" @@ -69,7 +63,11 @@ if test "x$HAVE_X" = xyes; then NQ_DESKTOP_DATA="$NQ_DESKTOP_DATA quakeforge-nq-glx.desktop" CL_TARGETS="$CL_TARGETS GLX" VID_TARGETS="$VID_TARGETS libQFglx.la" - BUILD_GL=yes + QF_NEED(QFrenderer, [gl]) + QF_NEED(QFmodels, [gl]) + QF_NEED(alias, [gl]) + QF_NEED(brush, [gl]) + QF_NEED(sprite, [gl]) QF_NEED(vid, [common gl x11]) QF_NEED(qw, [client common]) QF_NEED(nq, [client common]) @@ -82,7 +80,11 @@ if test "x$HAVE_X" = xyes; then NQ_DESKTOP_DATA="$NQ_DESKTOP_DATA quakeforge-nq-glslx.desktop" CL_TARGETS="$CL_TARGETS GLSLX" VID_TARGETS="$VID_TARGETS libQFglslx.la" - BUILD_GLSL=yes + QF_NEED(QFrenderer, [glsl]) + QF_NEED(QFmodels, [glsl]) + QF_NEED(alias, [glsl]) + QF_NEED(brush, [glsl]) + QF_NEED(sprite, [glsl]) QF_NEED(vid, [common glsl x11]) QF_NEED(qw, [client common]) QF_NEED(nq, [client common]) @@ -95,7 +97,14 @@ if test "x$HAVE_X" = xyes; then NQ_DESKTOP_DATA="$NQ_DESKTOP_DATA quakeforge-nq-x11.desktop" CL_TARGETS="$CL_TARGETS X11" VID_TARGETS="$VID_TARGETS libQFx11.la" - BUILD_SW=yes + QF_NEED(QFrenderer, [sw]) + QF_NEED(QFmodels, [sw]) + QF_NEED(alias, [sw]) + QF_NEED(brush, [sw]) + QF_NEED(sprite, [sw]) + if test "x$ASM_ARCH" = "xyes"; then + QF_NEED(swrend, [asm]) + fi QF_NEED(vid, [common sw x11]) QF_NEED(qw, [client common]) QF_NEED(nq, [client common]) @@ -108,13 +117,19 @@ if test "x$HAVE_MGL" = xyes; then NQ_TARGETS="$NQ_TARGETS nq-mgl\$(EXEEXT)" CL_TARGETS="$CL_TARGETS MGL" VID_TARGETS="$VID_TARGETS libQFwgl.la" - BUILD_SW=yes + QF_NEED(QFrenderer, [sw]) + QF_NEED(QFmodels, [sw]) + QF_NEED(alias, [sw]) + QF_NEED(brush, [sw]) + QF_NEED(sprite, [sw]) + if test "x$ASM_ARCH" = "xyes"; then + QF_NEED(swrend, [asm]) + fi QF_NEED(vid, [common sw]) QF_NEED(qw, [client common]) QF_NEED(nq, [client common]) QF_NEED(console, [client]) fi - CAN_BUILD_SW=yes fi if test "x$HAVE_SDL" = xyes; then if test "x$ENABLE_clients_sdl" = xyes; then @@ -124,13 +139,19 @@ if test "x$HAVE_SDL" = xyes; then NQ_DESKTOP_DATA="$NQ_DESKTOP_DATA quakeforge-nq-sdl.desktop" CL_TARGETS="$CL_TARGETS SDL" VID_TARGETS="$VID_TARGETS libQFsdl.la" - BUILD_SW=yes + QF_NEED(QFrenderer, [sw]) + QF_NEED(QFmodels, [sw]) + QF_NEED(alias, [sw]) + QF_NEED(brush, [sw]) + QF_NEED(sprite, [sw]) + if test "x$ASM_ARCH" = "xyes"; then + QF_NEED(swrend, [asm]) + fi QF_NEED(vid, [common sdl sw]) QF_NEED(qw, [client common sdl]) QF_NEED(nq, [client common sdl]) QF_NEED(console, [client]) fi - CAN_BUILD_SW=yes if test "x$ENABLE_clients_sdl32" = xyes; then QW_TARGETS="$QW_TARGETS qw-client-sdl32\$(EXEEXT)" NQ_TARGETS="$NQ_TARGETS nq-sdl32\$(EXEEXT)" @@ -138,13 +159,16 @@ if test "x$HAVE_SDL" = xyes; then NQ_DESKTOP_DATA="$NQ_DESKTOP_DATA quakeforge-nq-sdl32.desktop" CL_TARGETS="$CL_TARGETS SDL32" VID_TARGETS="$VID_TARGETS libQFsdl32.la" - BUILD_SW32=yes + QF_NEED(QFrenderer, [sw32]) + QF_NEED(QFmodels, [sw]) + QF_NEED(alias, [sw]) + QF_NEED(brush, [sw]) + QF_NEED(sprite, [sw]) QF_NEED(vid, [common sdl sw32]) QF_NEED(qw, [client common sdl]) QF_NEED(nq, [client common sdl]) QF_NEED(console, [client]) fi - CAN_BUILD_SW32=yes if test "x$ENABLE_clients_sgl" = xyes; then QW_TARGETS="$QW_TARGETS qw-client-sgl\$(EXEEXT)" NQ_TARGETS="$NQ_TARGETS nq-sgl\$(EXEEXT)" @@ -152,8 +176,11 @@ if test "x$HAVE_SDL" = xyes; then NQ_DESKTOP_DATA="$NQ_DESKTOP_DATA quakeforge-nq-sgl.desktop" CL_TARGETS="$CL_TARGETS SDL-GL" VID_TARGETS="$VID_TARGETS libQFsgl.la" - BUILD_GL=yes - CAN_BUILD_GL=yes + QF_NEED(QFrenderer, [gl]) + QF_NEED(QFmodels, [gl]) + QF_NEED(alias, [gl]) + QF_NEED(brush, [gl]) + QF_NEED(sprite, [gl]) QF_NEED(vid, [common sdl gl]) QF_NEED(qw, [client common sdl]) QF_NEED(nq, [client common sdl]) @@ -166,8 +193,11 @@ if test "x$HAVE_SDL" = xyes; then NQ_DESKTOP_DATA="$NQ_DESKTOP_DATA quakeforge-nq-sglsl.desktop" CL_TARGETS="$CL_TARGETS SDL-GLSL" VID_TARGETS="$VID_TARGETS libQFsglsl.la" - BUILD_GLSL=yes - CAN_BUILD_GLSL=yes + QF_NEED(QFrenderer, [glsl]) + QF_NEED(QFmodels, [glsl]) + QF_NEED(alias, [glsl]) + QF_NEED(brush, [glsl]) + QF_NEED(sprite, [glsl]) QF_NEED(vid, [common sdl glsl]) QF_NEED(qw, [client common sdl]) QF_NEED(nq, [client common sdl]) @@ -180,25 +210,34 @@ if test "x$HAVE_SVGA" = xyes; then NQ_TARGETS="$NQ_TARGETS nq-svga\$(EXEEXT)" CL_TARGETS="$CL_TARGETS SVGAlib" VID_TARGETS="$VID_TARGETS libQFsvga.la" - BUILD_SW=yes + QF_NEED(QFrenderer, [sw]) + QF_NEED(QFmodels, [sw]) + QF_NEED(alias, [sw]) + QF_NEED(brush, [sw]) + QF_NEED(sprite, [sw]) + if test "x$ASM_ARCH" = "xyes"; then + QF_NEED(swrend, [asm]) + fi QF_NEED(vid, [asm common svga sw]) QF_NEED(qw, [client common]) QF_NEED(nq, [client common]) QF_NEED(console, [client]) fi - CAN_BUILD_SW=yes if test "x$ENABLE_clients_3dfx" = xyes; then QW_TARGETS="$QW_TARGETS qw-client-3dfx\$(EXEEXT)" NQ_TARGETS="$NQ_TARGETS nq-3dfx\$(EXEEXT)" CL_TARGETS="$CL_TARGETS 3dfx" VID_TARGETS="$VID_TARGETS libQFtdfx.la" - BUILD_GL=yes + QF_NEED(QFrenderer, [gl]) + QF_NEED(QFmodels, [gl]) + QF_NEED(alias, [gl]) + QF_NEED(brush, [gl]) + QF_NEED(sprite, [gl]) QF_NEED(vid, [asm common gl svga]) QF_NEED(qw, [client common]) QF_NEED(nq, [client common]) QF_NEED(console, [client]) fi - CAN_BUILD_GL=yes fi if test "x$mingw" = xyes; then if test "x$ENABLE_clients_wgl" = xyes; then @@ -206,13 +245,16 @@ if test "x$mingw" = xyes; then NQ_TARGETS="$NQ_TARGETS nq-wgl\$(EXEEXT)" CL_TARGETS="$CL_TARGETS WGL" VID_TARGETS="$VID_TARGETS libQFwgl.la" - BUILD_GL=yes + QF_NEED(QFrenderer, [gl]) + QF_NEED(QFmodels, [gl]) + QF_NEED(alias, [gl]) + QF_NEED(brush, [gl]) + QF_NEED(sprite, [gl]) QF_NEED(vid, [common gl]) QF_NEED(qw, [client common]) QF_NEED(nq, [client common]) QF_NEED(console, [client]) fi - CAN_BUILD_GL=yes fi unset SV_TARGETS @@ -281,38 +323,18 @@ QF_PROCESS_NEED_DIRS(tools,[bsp2img carne pak qfbsp qfcc qflight qflmp qfmodelge AM_CONDITIONAL(BUILD_RUAMOKO, test "$ENABLE_tools_qfcc" = "yes" -a "$ENABLE_tools_pak" = "yes") -if test "x$BUILD_SW" = xyes; then - VID_REND_NOINST_TARGETS="$VID_REND_NOINST_TARGETS libQFrenderer_sw.la" - VID_MODEL_TARGETS="$VID_MODEL_TARGETS libQFmodels_sw.la" -fi -if test "x$BUILD_SW32" = xyes; then - VID_REND_TARGETS="$VID_REND_TARGETS libQFrenderer_sw32.la" - if test "x$BUILD_SW" != xyes; then - VID_MODEL_TARGETS="$VID_MODEL_TARGETS libQFmodels_sw.la" - fi -fi -if test "x$BUILD_GL" = xyes; then - VID_REND_TARGETS="$VID_REND_TARGETS libQFrenderer_gl.la" - VID_MODEL_TARGETS="$VID_MODEL_TARGETS libQFmodels_gl.la" -fi -if test "x$BUILD_GLSL" = xyes; then - VID_REND_TARGETS="$VID_REND_TARGETS libQFrenderer_glsl.la" - VID_MODEL_TARGETS="$VID_MODEL_TARGETS libQFmodels_glsl.la" -fi +QF_PROCESS_NEED_LIBS(swrend, [asm]) +QF_PROCESS_NEED_LIBS(QFrenderer, [gl glsl sw sw32]) +QF_PROCESS_NEED_DIRS(QFrenderer, [gl glsl sw sw32]) +QF_PROCESS_NEED_LIBS(QFmodels, [gl glsl sw]) +QF_PROCESS_NEED_LIBS(alias, [gl glsl sw]) +QF_PROCESS_NEED_LIBS(brush, [gl glsl sw]) +QF_PROCESS_NEED_LIBS(sprite, [gl glsl sw]) QF_PROCESS_NEED_LIBS(vid, [asm common gl glsl sdl sw sw32 svga x11]) QF_PROCESS_NEED_LIBS(qw, [client common sdl server], a) QF_PROCESS_NEED_LIBS(nq, [client common sdl server], a) -AC_SUBST(CAN_BUILD_GL) -AC_SUBST(CAN_BUILD_GLSL) -AC_SUBST(CAN_BUILD_SW) -AC_SUBST(CAN_BUILD_SW32) - -AC_SUBST(HAVE_FBDEV) -AC_SUBST(HAVE_SDL) -AC_SUBST(HAVE_SVGA) - SND_OUTPUT_DEFAULT="" if test -n "$CL_TARGETS"; then CD_TARGETS="libQFcd.la" @@ -558,10 +580,3 @@ QF_DEPS(WAV, [$(top_builddir)/libs/util/libQFutil.la], [$(WIN32_LIBS)], ) - -AM_CONDITIONAL(BUILD_GL, test "$BUILD_GL" = "yes") -AM_CONDITIONAL(BUILD_GLSL, test "$BUILD_GLSL" = "yes") -AM_CONDITIONAL(BUILD_SW, test "$BUILD_SW" = "yes") -AM_CONDITIONAL(BUILD_SW_ASM, test "$BUILD_SW" = "yes" -a "$ASM_ARCH" = "yes") -AM_CONDITIONAL(BUILD_SW_MOD, test "$BUILD_SW" = "yes" -o "$BUILD_SW32" = "yes") -AM_CONDITIONAL(BUILD_SW32, test "$BUILD_SW32" = "yes") diff --git a/libs/models/Makefile.am b/libs/models/Makefile.am index ffe8cdf4e..db8992fbd 100644 --- a/libs/models/Makefile.am +++ b/libs/models/Makefile.am @@ -4,7 +4,7 @@ SUBDIRS= alias brush sprite . test AM_CFLAGS= @PREFER_PIC@ INCLUDES= -I$(top_srcdir)/include -lib_LTLIBRARIES= libQFmodels.la @VID_MODEL_TARGETS@ +lib_LTLIBRARIES= libQFmodels.la @QFmodels_libs@ EXTRA_LTLIBRARIES= libQFmodels_gl.la libQFmodels_glsl.la libQFmodels_sw.la lib_ldflags=-version-info $(QUAKE_LIBRARY_VERSION_INFO) \ diff --git a/libs/models/alias/Makefile.am b/libs/models/alias/Makefile.am index 2128825ed..e79dbd9e6 100644 --- a/libs/models/alias/Makefile.am +++ b/libs/models/alias/Makefile.am @@ -3,25 +3,8 @@ AUTOMAKE_OPTIONS= foreign AM_CFLAGS= @PREFER_PIC@ INCLUDES= -I$(top_srcdir)/include -if BUILD_GL -gl= libalias_gl.la -else -gl= -endif - -if BUILD_GLSL -glsl= libalias_glsl.la -else -glsl= -endif - -if BUILD_SW_MOD -sw= libalias_sw.la -else -sw= -endif - -noinst_LTLIBRARIES= $(gl) $(glsl) $(sw) +noinst_LTLIBRARIES= @alias_libs@ +EXTRA_LTLIBRARIES=libalias_gl.la libalias_glsl.la libalias_sw.la alias_src= model_alias.c gl_src= gl_mesh.c gl_model_alias.c floodfill.c diff --git a/libs/models/brush/Makefile.am b/libs/models/brush/Makefile.am index 7a4cf0f90..01cc76439 100644 --- a/libs/models/brush/Makefile.am +++ b/libs/models/brush/Makefile.am @@ -3,25 +3,8 @@ AUTOMAKE_OPTIONS= foreign AM_CFLAGS= @PREFER_PIC@ INCLUDES= -I$(top_srcdir)/include -if BUILD_GL -gl= libbrush_gl.la -else -gl= -endif - -if BUILD_GLSL -glsl= libbrush_glsl.la -else -glsl= -endif - -if BUILD_SW_MOD -sw= libbrush_sw.la -else -sw= -endif - -noinst_LTLIBRARIES= libbrush.la $(gl) $(glsl) $(sw) +noinst_LTLIBRARIES= libbrush.la @brush_libs@ +EXTRA_LTLIBRARIES=libbrush_gl.la libbrush_glsl.la libbrush_sw.la brush_src= model_brush.c gl_src= gl_model_brush.c diff --git a/libs/models/sprite/Makefile.am b/libs/models/sprite/Makefile.am index 7dc69c627..a4aa70858 100644 --- a/libs/models/sprite/Makefile.am +++ b/libs/models/sprite/Makefile.am @@ -3,25 +3,8 @@ AUTOMAKE_OPTIONS= foreign AM_CFLAGS= @PREFER_PIC@ INCLUDES= -I$(top_srcdir)/include -if BUILD_GL -gl= libsprite_gl.la -else -gl= -endif - -if BUILD_GLSL -glsl= libsprite_glsl.la -else -glsl= -endif - -if BUILD_SW_MOD -sw= libsprite_sw.la -else -sw= -endif - -noinst_LTLIBRARIES= $(gl) $(glsl) $(sw) +noinst_LTLIBRARIES= @sprite_libs@ +EXTRA_LTLIBRARIES=libsprite_gl.la libsprite_glsl.la libsprite_sw.la sprite_src= model_sprite.c gl_src= gl_model_sprite.c diff --git a/libs/video/renderer/Makefile.am b/libs/video/renderer/Makefile.am index d6763d0b6..a4b6c2451 100644 --- a/libs/video/renderer/Makefile.am +++ b/libs/video/renderer/Makefile.am @@ -1,13 +1,14 @@ AUTOMAKE_OPTIONS= foreign -SUBDIRS= gl glsl sw sw32 +SUBDIRS= @QFrenderer_dirs@ +DIST_SUBDIRS= gl glsl sw sw32 INCLUDES= -I$(top_srcdir)/include lib_ldflags=-version-info $(QUAKE_LIBRARY_VERSION_INFO) \ -rpath $(libdir) -no-undefined -lib_LTLIBRARIES= @VID_REND_TARGETS@ -noinst_LTLIBRARIES= @VID_REND_NOINST_TARGETS@ +#lib_LTLIBRARIES= @VID_REND_TARGETS@ +noinst_LTLIBRARIES= @QFrenderer_libs@ EXTRA_LTLIBRARIES= libQFrenderer_sw.la libQFrenderer_sw32.la \ libQFrenderer_gl.la libQFrenderer_glsl.la diff --git a/libs/video/renderer/gl/Makefile.am b/libs/video/renderer/gl/Makefile.am index fae8ff517..4d43fb48e 100644 --- a/libs/video/renderer/gl/Makefile.am +++ b/libs/video/renderer/gl/Makefile.am @@ -3,11 +3,7 @@ AUTOMAKE_OPTIONS= foreign AM_CFLAGS= @PREFER_PIC@ INCLUDES= -I$(top_srcdir)/include $(GLX_CFLAGS) -if BUILD_GL noinst_LTLIBRARIES= libgl.la -else -noinst_LTLIBRARIES= -endif gl_src = \ gl_draw.c gl_dyn_lights.c gl_dyn_part.c gl_dyn_textures.c \ diff --git a/libs/video/renderer/glsl/Makefile.am b/libs/video/renderer/glsl/Makefile.am index b352e8877..b830fe503 100644 --- a/libs/video/renderer/glsl/Makefile.am +++ b/libs/video/renderer/glsl/Makefile.am @@ -17,13 +17,8 @@ glsl_src = \ glsl_alias.c glsl_bsp.c glsl_draw.c glsl_fog.c glsl_lightmap.c \ glsl_main.c glsl_particles.c glsl_screen.c glsl_sprite.c glsl_textures.c -if BUILD_GLSL noinst_LTLIBRARIES= libglsl.la BUILT_SOURCES= $(shader_gen) -else -noinst_LTLIBRARIES= -BUILT_SOURCES= -endif SUFFICES=.frag .vert .fc .vc .frag.fc: diff --git a/libs/video/renderer/sw/Makefile.am b/libs/video/renderer/sw/Makefile.am index 9bdc50305..c82489cac 100644 --- a/libs/video/renderer/sw/Makefile.am +++ b/libs/video/renderer/sw/Makefile.am @@ -4,17 +4,10 @@ AM_CFLAGS= @PREFER_NON_PIC@ CCASFLAGS+= @PREFER_NON_PIC@ INCLUDES= -I$(top_srcdir)/include -if ASM_ARCH -asm = libasm.la -else -asm = -endif +asm = @swrend_libs@ -if BUILD_SW noinst_LTLIBRARIES= libsw.la $(asm) -else -noinst_LTLIBRARIES= -endif +EXTRA_LTLIBRARIES=libswrend_asm.la asm_src= \ d_draw.S d_parta.S d_polysa.S d_scana.S d_spr8.S d_varsa.S fpua.S \ @@ -28,14 +21,12 @@ sw_src= \ sw_redge.c sw_rmain.c sw_rmisc.c sw_rpart.c sw_rsky.c sw_rsprite.c \ sw_rsurf.c -libasm_la_LDFLAGS= @STATIC@ -libasm_la_SOURCES= $(asm_src) +libswrend_asm_la_LDFLAGS= @STATIC@ +libswrend_asm_la_SOURCES= $(asm_src) libsw_la_LDFLAGS= @STATIC@ libsw_la_SOURCES= $(sw_src) -if ASM_ARCH libsw_la_LIBADD= $(asm) libsw_la_DEPENDENCIES= $(asm) -endif EXTRA_DIST= $(sw_src) $(asm_src) diff --git a/libs/video/renderer/sw32/Makefile.am b/libs/video/renderer/sw32/Makefile.am index 1329d4693..9eebc9bc8 100644 --- a/libs/video/renderer/sw32/Makefile.am +++ b/libs/video/renderer/sw32/Makefile.am @@ -3,11 +3,7 @@ AUTOMAKE_OPTIONS= foreign AM_CFLAGS= @PREFER_PIC@ INCLUDES= -I$(top_srcdir)/include -if BUILD_SW32 noinst_LTLIBRARIES= libsw32.la -else -noinst_LTLIBRARIES= -endif sw32_src= \ d_edge.c d_fill.c d_init.c d_modech.c d_part.c d_polyse.c d_scan.c \