neocgit

a more 'modern' version of cgit
Log | Files | Refs | Submodules | README | LICENSE | git clone https://git.ne02ptzero.me/git/neocgit

commit 3488d124052f5c3ddef303ed5306ad6a458794c1
parent d3c0370a3f108121642d02bbd190ce676bb4772b
Author: Jason A. Donenfeld <Jason@zx2c4.com>
Date:   Tue, 14 Jan 2014 01:50:31 +0100

makefile: auto-detect presence of various Lua, bsd

We favor LuaJIT over Lua. We disable Lua if neither can be found. We
error out if a particular Lua is specified via LUA_IMPLEMENTATION=JIT or
LUA_IMPLEMENTATION=VANILLA, but cannot be found. We print a status
message depending on what happens.

Also, we do not link against libdl on the BSDs, since they include it as
part of libc.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>

Diffstat:
Mcgit.mk | 47+++++++++++++++++++++++++++++++++++++----------
1 file changed, 37 insertions(+), 10 deletions(-)

diff --git a/cgit.mk b/cgit.mk @@ -25,23 +25,50 @@ ifdef NO_C99_FORMAT CFLAGS += -DNO_C99_FORMAT endif +nullstring := +fourspace := $(nullstring) ifdef NO_LUA - CFLAGS += -DNO_LUA + $(info $(fourspace)* building without specified Lua support) + CGIT_CFLAGS += -DNO_LUA else - -ifeq (VANILLA,$(LUA_IMPLEMENTATION)) - CFLAGS += -llua -else - LUAJIT_LIBS := $(shell pkg-config --libs luajit) - LUAJIT_CFLAGS := $(shell pkg-config --cflags luajit) +LUAJIT_CFLAGS := $(shell pkg-config --cflags luajit 2>/dev/null) +LUAJIT_LIBS := $(shell pkg-config --libs luajit 2>/dev/null) +LUA_LIBS := $(shell pkg-config --libs lua 2>/dev/null) +LUA_CFLAGS := $(shell pkg-config --cflags lua 2>/dev/null) +ifeq (JIT,$(LUA_IMPLEMENTATION)) + ifeq ($(strip $(LUAJIT_LIBS)),) + $(error LuaJIT specified via LUA_IMPLEMENTATION=JIT, but library could not be found.) + endif + $(info $(fourspace)* building with selected LuaJIT) + CGIT_LIBS += $(LUAJIT_LIBS) + CGIT_CFLAGS += $(LUAJIT_CFLAGS) +else ifeq (VANILLA,$(LUA_IMPLEMENTATION)) + ifeq ($(strip $(LUA_LIBS)),) + $(error Lua specified via LUA_IMPLEMENTATION=VANILLA, but library could not be found.) + endif + $(info $(fourspace)* building with selected Lua) + CGIT_LIBS += $(LUA_LIBS) + CGIT_LIBS += $(LUA_CFLAGS) +else ifneq ($(strip $(LUAJIT_LIBS)),) + $(info $(fourspace)* building with autodetected LuaJIT) CGIT_LIBS += $(LUAJIT_LIBS) - CFLAGS += $(LUAJIT_CFLAGS) + CGIT_CFLAGS += $(LUAJIT_CFLAGS) +else ifneq ($(strip $(LUA_LIBS)),) + $(info $(fourspace)* building with autodetected Lua) + CGIT_LIBS += $(LUA_LIBS) + CGIT_CFLAGS += $(LUA_CFLAGS) +else + $(info $(fourspace)* building without autodetected Lua support) + NO_LUA := YesPlease + CGIT_CFLAGS += -DNO_LUA endif endif -CGIT_LIBS += -ldl - +# Add -ldl to linker flags on non-BSD systems. +ifeq ($(findstring BSD,$(uname_S)),) + CGIT_LIBS += -ldl +endif CGIT_OBJ_NAMES += cgit.o