diff options
author | Timo Teräs <timo.teras@iki.fi> | 2020-05-19 10:50:57 +0300 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2020-05-19 10:50:57 +0300 |
commit | 12fdf6fc219321d22825042ae08efd322acc0310 (patch) | |
tree | 007ebbc061b54a7cc0173e4a6ff5dd60cc3da17f /src | |
parent | 5e251b21fd791ec5f6830af5ca18333c8db1b1c8 (diff) | |
download | apk-tools-12fdf6fc219321d22825042ae08efd322acc0310.tar.gz apk-tools-12fdf6fc219321d22825042ae08efd322acc0310.tar.bz2 apk-tools-12fdf6fc219321d22825042ae08efd322acc0310.tar.xz apk-tools-12fdf6fc219321d22825042ae08efd322acc0310.zip |
allow building without help when lua interpreter is not available
fixes #10696
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile | 20 | ||||
-rw-r--r-- | src/help.c | 7 |
2 files changed, 21 insertions, 6 deletions
diff --git a/src/Makefile b/src/Makefile index bea4cdf..4a055ce 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,8 +1,14 @@ -PKG_CONFIG ?= pkg-config -LUAAPK ?= yes - +PKG_CONFIG ?= pkg-config LUA ?= $(firstword $(wildcard /usr/bin/lua5.3 /usr/bin/lua5.2)) +ifeq ($(LUA),no) +LUAAPK ?= no +else ifneq ($(LUA),) +LUAAPK ?= yes +else +$(error Lua interpreter not found. Please specify LUA interpreter, or use LUA=no to build without help.) +endif + OPENSSL_CFLAGS := $(shell $(PKG_CONFIG) --cflags openssl) OPENSSL_LIBS := $(shell $(PKG_CONFIG) --libs openssl) @@ -86,10 +92,14 @@ LIBS := -Wl,--as-needed \ # Help generation quiet_cmd_genhelp = GENHELP $@ +ifneq ($(LUA),no) cmd_genhelp = $(LUA) $(src)/genhelp.lua $(filter %.scd, $^) > $@ +else + cmd_genhelp = echo \\\#define NO_HELP > $@ +endif -$(obj)/help.h: $(src)/genhelp.lua $(wildcard doc/apk*.8.scd) - @$(call echo-cmd,genhelp) $(cmd_genhelp) +$(obj)/help.h: $(src)/genhelp.lua $(wildcard doc/apk*.8.scd) FORCE + $(call if_changed,genhelp) CFLAGS_help.o := -I$(obj) @@ -10,7 +10,7 @@ #include "apk_applet.h" #include "apk_print.h" -static int is_group(struct apk_applet *applet, const char *topic) +static inline int is_group(struct apk_applet *applet, const char *topic) { if (!applet) return strcasecmp(topic, "apk") == 0; if (strcasecmp(topic, applet->name) == 0) return 1; @@ -23,6 +23,7 @@ void apk_help(struct apk_applet *applet) { #include "help.h" +#ifndef NO_HELP char buf[uncompressed_help_size], *ptr, *msg; unsigned long len = sizeof buf; int num = 0; @@ -38,4 +39,8 @@ void apk_help(struct apk_applet *applet) } } if (num == 0) apk_error("Help not found"); +#else + fputc('\n', stdout); + apk_error("This apk-tools has been built without help"); +#endif } |