notcurses-demo: build all demos regardless of build type #521

pull/555/head
nick black 5 years ago
parent 86ec4af810
commit 2ec797c70c
No known key found for this signature in database
GPG Key ID: 5F43400C21CBFACC

@ -67,62 +67,49 @@ struct timespec demodelay = {
.tv_nsec = 0, .tv_nsec = 0,
}; };
// anything that's dfsg non-free requires ncvisual (i.e. it's all multimedia), // the "jungle" demo has non-free material embedded into it, and is thus
// so also check for USE_MULTIMEDIA here in DFSG_BUILD // entirely absent (can't just be disabled). supply a stub here.
#ifndef DFSG_BUILD #ifdef DFSG_BUILD
#ifdef USE_MULTIMEDIA int jungle_demo(struct notcurses* nc){
#define NONFREE(name, fxn) { name, fxn, } (void)nc;
#else return -1;
#endif }
#else
#define DFSG(name, fxn) { NULL, NULL, }
#endif
#ifndef DFSG
#define DFSG(name, fxn) { name, fxn, }
#endif
#ifndef NONFREE
#define NONFREE(name, fxn) { NULL, NULL, }
#endif
#ifdef USE_MULTIMEDIA
#define FREEFFMPEG(name, fxn) { name, fxn, }
#else
#define FREEFFMPEG(name, fxn) { NULL, NULL, }
#endif #endif
// define with NONFREE() to exempt from any DFSG or non-multimedia build. // Demos can be disabled either due to a DFSG build (any non-free material must
// define with FREEFFMPEG() to exempt from any non-multimedia build. // be disabled) or a non-multimedia build (all images/videos must be disabled).
static struct { static struct {
const char* name; const char* name;
int (*fxn)(struct notcurses*); int (*fxn)(struct notcurses*);
bool dfsg_disabled; // disabled for DFSG builds
bool mmeng_disabled; // disabled for null-multimedia builds
} demos[26] = { } demos[26] = {
{ NULL, NULL, }, { NULL, NULL, false, false, },
{ "box", box_demo, }, { "box", box_demo, false, false, },
NONFREE("chunli", chunli_demo), {"chunli", chunli_demo, true, true, },
{ NULL, NULL, }, { NULL, NULL, false, false, },
NONFREE("eagle", eagle_demo), { "eagle", eagle_demo, true, true, },
{ "fallin'", fallin_demo, }, { "fallin'", fallin_demo, false, false, },
{ "grid", grid_demo, }, { "grid", grid_demo, false, false, },
{ "highcon", highcontrast_demo, }, { "highcon", highcontrast_demo, false, false, },
{ "intro", intro, }, { "intro", intro, false, false, },
DFSG("jungle", jungle_demo), { "jungle", jungle_demo, true, false, },
{ NULL, NULL, }, { NULL, NULL, false, false, },
NONFREE("luigi", luigi_demo), { "luigi", luigi_demo, true, true, },
{ NULL, NULL, }, { NULL, NULL, false, false, },
{ "normal", normal_demo, }, { "normal", normal_demo, false, false, },
FREEFFMPEG("outro", outro), { "outro", outro, false, true, },
{ NULL, NULL, }, { NULL, NULL, false, false, },
{ "qrcode", qrcode_demo, }, // is blank without USE_QRCODEGEN { "qrcode", qrcode_demo, false, false, }, // is blank without USE_QRCODEGEN
{ "reel", reel_demo, }, { "reel", reel_demo, false, false, },
{ "sliders", sliding_puzzle_demo, }, { "sliders", sliding_puzzle_demo, false, false, },
{ "trans", trans_demo, }, { "trans", trans_demo, false, false, },
{ "uniblock", unicodeblocks_demo, }, { "uniblock", unicodeblocks_demo, false, false, },
NONFREE("view", view_demo), { "view", view_demo, true, true, },
{ "whiteout", witherworm_demo, }, { "whiteout", witherworm_demo, false, false, },
FREEFFMPEG("xray", xray_demo), {"xray", xray_demo, false, true, },
{ NULL, NULL, }, { NULL, NULL, false, false, },
{ NULL, NULL, }, { NULL, NULL, false, false, },
}; };
static void static void

@ -941,7 +941,7 @@ notcurses* notcurses_init(const notcurses_options* opts, FILE* outfp){
printf(" openimageio %s\n", oiio_version()); printf(" openimageio %s\n", oiio_version());
#else #else
term_fg_palindex(ret, ret->ttyfp, ret->colors <= 88 ? 1 % ret->colors : 0xcb); term_fg_palindex(ret, ret->ttyfp, ret->colors <= 88 ? 1 % ret->colors : 0xcb);
fprintf(stderr, "\n Warning! Notcurses was built without multimedia support\n"); fprintf(stderr, "\n Warning! Notcurses was built without multimedia support.\n");
#endif #endif
#endif #endif
fflush(stdout); fflush(stdout);

Loading…
Cancel
Save