X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/e83b51b4f6bd53efea0c772e6ecdf1c5605ca611..027e88a1a150cd468943cda3a4b8e6bd6e662376:/cgit.mk diff --git a/cgit.mk b/cgit.mk index 9d6dea8..deef9a7 100644 --- a/cgit.mk +++ b/cgit.mk @@ -25,6 +25,52 @@ ifdef NO_C99_FORMAT CFLAGS += -DNO_C99_FORMAT endif +nullstring := +fourspace := $(nullstring) +ifdef NO_LUA + $(info $(fourspace)* building without specified Lua support) + CGIT_CFLAGS += -DNO_LUA +else +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) + 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 + +# Add -ldl to linker flags on non-BSD systems. +ifeq ($(findstring BSD,$(uname_S)),) + CGIT_LIBS += -ldl +endif + + CGIT_OBJ_NAMES += cgit.o CGIT_OBJ_NAMES += cache.o CGIT_OBJ_NAMES += cmd.o @@ -61,9 +107,6 @@ $(CGIT_VERSION_OBJS): $(CGIT_PREFIX)VERSION $(CGIT_VERSION_OBJS): EXTRA_CPPFLAGS = \ -DCGIT_VERSION='"$(CGIT_VERSION)"' -CGIT_LIBS += -ldl - - # Git handles dependencies using ":=" so dependencies in CGIT_OBJ are not # handled by that and we must handle them ourselves. cgit_dep_files := $(foreach f,$(CGIT_OBJS),$(dir $f).depend/$(notdir $f).d)