summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@pengaru.com>2022-03-29 01:52:01 -0700
committerVito Caputo <vcaputo@pengaru.com>2022-03-29 01:52:01 -0700
commit69077169545427acb2e8a3f1a487e6c144ed6f20 (patch)
treef2c1550516ab657adc5b93c5ce871d597b22dfc6 /src
parent6ad1fe1ad5400f25686e39b119615941377e0c71 (diff)
build: make sdl2 and rototiller bin optional
Now that there's a decoupled libtil usable by alternative frontends by vendoring rototiller, the build should support fb-less rototiller-less configurations. In lieu of this change glimmer's build requires sdl2 despite not actually utilizing sdl_fb. Now that shouldn't be necessary, should there be neither libdrm or sdl2 present we'll only produce libtil and no rototiller binary at all.
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am7
-rw-r--r--src/main.c10
2 files changed, 15 insertions, 2 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 6ca1d77..aa42c08 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -5,9 +5,14 @@ libtil_la_SOURCES = til_args.c til_args.h til_fb.c til_fb.h til_knobs.h til.c ti
libtil_la_CPPFLAGS = -I@top_srcdir@/src
libtil_la_LIBADD = modules/compose/libcompose.la modules/drizzle/libdrizzle.la modules/flui2d/libflui2d.la modules/julia/libjulia.la modules/meta2d/libmeta2d.la modules/montage/libmontage.la modules/pixbounce/libpixbounce.la modules/plasma/libplasma.la modules/plato/libplato.la modules/ray/libray.la modules/roto/libroto.la modules/rtv/librtv.la modules/snow/libsnow.la modules/sparkler/libsparkler.la modules/spiro/libspiro.la modules/stars/libstars.la modules/submit/libsubmit.la modules/swab/libswab.la modules/swarm/libswarm.la libs/grid/libgrid.la libs/puddle/libpuddle.la libs/ray/libray.la libs/sig/libsig.la libs/txt/libtxt.la libs/ascii/libascii.la libs/din/libdin.la
+if ENABLE_ROTOTILLER
bin_PROGRAMS = rototiller
-rototiller_SOURCES = fps.c fps.h main.c sdl_fb.c setup.h setup.c til.h til_fb.c til_fb.h til_knobs.h til_settings.c til_settings.h til_threads.c til_threads.h til_util.c til_util.h
+rototiller_SOURCES = fps.c fps.h main.c setup.h setup.c til.h til_fb.c til_fb.h til_knobs.h til_settings.c til_settings.h til_threads.c til_threads.h til_util.c til_util.h
+if ENABLE_SDL
+rototiller_SOURCES += sdl_fb.c
+endif
if ENABLE_DRM
rototiller_SOURCES += drm_fb.c
endif
rototiller_LDADD = libtil.la -lm
+endif
diff --git a/src/main.c b/src/main.c
index c6b0362..c19b6b5 100644
--- a/src/main.c
+++ b/src/main.c
@@ -27,7 +27,11 @@
* another page so we can begin rendering another frame before vsync. With
* just two pages we end up twiddling thumbs until the vsync arrives.
*/
+#ifdef HAVE_SDL
#define DEFAULT_VIDEO "sdl"
+#else
+#define DEFAULT_VIDEO "drm"
+#endif
extern til_fb_ops_t drm_fb_ops;
extern til_fb_ops_t sdl_fb_ops;
@@ -68,7 +72,9 @@ static int setup_video(til_settings_t *settings, til_setting_t **res_setting, co
#ifdef HAVE_DRM
"drm",
#endif
+#ifdef HAVE_SDL
"sdl",
+#endif
NULL,
};
int r;
@@ -96,13 +102,15 @@ static int setup_video(til_settings_t *settings, til_setting_t **res_setting, co
fb_ops = &drm_fb_ops;
return drm_fb_ops.setup(settings, res_setting, res_desc);
- } else
+ }
#endif
+#ifdef HAVE_SDL
if (!strcmp(video, "sdl")) {
fb_ops = &sdl_fb_ops;
return sdl_fb_ops.setup(settings, res_setting, res_desc);
}
+#endif
return -EINVAL;
}
© All Rights Reserved