mirror of
https://git.zx2c4.com/cgit
synced 2024-11-25 01:48:41 +00:00
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>
This commit is contained in:
parent
d3c0370a3f
commit
3488d12405
47
cgit.mk
47
cgit.mk
@ -25,23 +25,50 @@ ifdef NO_C99_FORMAT
|
|||||||
CFLAGS += -DNO_C99_FORMAT
|
CFLAGS += -DNO_C99_FORMAT
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
nullstring :=
|
||||||
|
fourspace := $(nullstring)
|
||||||
ifdef NO_LUA
|
ifdef NO_LUA
|
||||||
CFLAGS += -DNO_LUA
|
$(info $(fourspace)* building without specified Lua support)
|
||||||
|
CGIT_CFLAGS += -DNO_LUA
|
||||||
else
|
else
|
||||||
|
LUAJIT_CFLAGS := $(shell pkg-config --cflags luajit 2>/dev/null)
|
||||||
ifeq (VANILLA,$(LUA_IMPLEMENTATION))
|
LUAJIT_LIBS := $(shell pkg-config --libs luajit 2>/dev/null)
|
||||||
CFLAGS += -llua
|
LUA_LIBS := $(shell pkg-config --libs lua 2>/dev/null)
|
||||||
else
|
LUA_CFLAGS := $(shell pkg-config --cflags lua 2>/dev/null)
|
||||||
LUAJIT_LIBS := $(shell pkg-config --libs luajit)
|
ifeq (JIT,$(LUA_IMPLEMENTATION))
|
||||||
LUAJIT_CFLAGS := $(shell pkg-config --cflags luajit)
|
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_LIBS += $(LUAJIT_LIBS)
|
||||||
CFLAGS += $(LUAJIT_CFLAGS)
|
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
|
||||||
|
|
||||||
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
|
CGIT_OBJ_NAMES += cgit.o
|
||||||
|
Loading…
Reference in New Issue
Block a user