aboutsummaryrefslogtreecommitdiffstats
path: root/cgit.mk
diff options
context:
space:
mode:
Diffstat (limited to 'cgit.mk')
-rw-r--r--cgit.mk44
1 files changed, 20 insertions, 24 deletions
diff --git a/cgit.mk b/cgit.mk
index 056c3f9..5048b09 100644
--- a/cgit.mk
+++ b/cgit.mk
@@ -29,30 +29,18 @@ ifdef NO_LUA
29 LUA_MESSAGE := linking without specified Lua support 29 LUA_MESSAGE := linking without specified Lua support
30 CGIT_CFLAGS += -DNO_LUA 30 CGIT_CFLAGS += -DNO_LUA
31else 31else
32LUAJIT_CFLAGS := $(shell pkg-config --cflags luajit 2>/dev/null) 32ifeq ($(LUA_PKGCONFIG),)
33LUAJIT_LIBS := $(shell pkg-config --libs luajit 2>/dev/null) 33 LUA_PKGCONFIG := $(shell for pc in luajit lua lua5.2 lua5.1; do \
34LUA_LIBS := $(shell pkg-config --libs lua 2>/dev/null) 34 pkg-config --exists $$pc 2>/dev/null && echo $$pc && break; \
35LUA_CFLAGS := $(shell pkg-config --cflags lua 2>/dev/null) 35 done)
36ifeq (JIT,$(LUA_IMPLEMENTATION)) 36 LUA_MODE := autodetected
37 ifeq ($(strip $(LUAJIT_LIBS)),) 37else
38 $(error LuaJIT specified via LUA_IMPLEMENTATION=JIT, but library could not be found.) 38 LUA_MODE := specified
39 endif 39endif
40 LUA_MESSAGE := linking with selected LuaJIT 40ifneq ($(LUA_PKGCONFIG),)
41 CGIT_LIBS += $(LUAJIT_LIBS) 41 LUA_MESSAGE := linking with $(LUA_MODE) $(LUA_PKGCONFIG)
42 CGIT_CFLAGS += $(LUAJIT_CFLAGS) 42 LUA_LIBS := $(shell pkg-config --libs $(LUA_PKGCONFIG) 2>/dev/null)
43else ifeq (VANILLA,$(LUA_IMPLEMENTATION)) 43 LUA_CFLAGS := $(shell pkg-config --cflags $(LUA_PKGCONFIG) 2>/dev/null)
44 ifeq ($(strip $(LUA_LIBS)),)
45 $(error Lua specified via LUA_IMPLEMENTATION=VANILLA, but library could not be found.)
46 endif
47 LUA_MESSAGE := linking with selected Lua
48 CGIT_LIBS += $(LUA_LIBS)
49 CGIT_LIBS += $(LUA_CFLAGS)
50else ifneq ($(strip $(LUAJIT_LIBS)),)
51 LUA_MESSAGE := linking with autodetected LuaJIT
52 CGIT_LIBS += $(LUAJIT_LIBS)
53 CGIT_CFLAGS += $(LUAJIT_CFLAGS)
54else ifneq ($(strip $(LUA_LIBS)),)
55 LUA_MESSAGE := linking with autodetected Lua
56 CGIT_LIBS += $(LUA_LIBS) 44 CGIT_LIBS += $(LUA_LIBS)
57 CGIT_CFLAGS += $(LUA_CFLAGS) 45 CGIT_CFLAGS += $(LUA_CFLAGS)
58else 46else
@@ -68,6 +56,14 @@ ifeq ($(findstring BSD,$(uname_S)),)
68 CGIT_LIBS += -ldl 56 CGIT_LIBS += -ldl
69endif 57endif
70 58
59# glibc 2.1+ offers sendfile which the most common C library on Linux
60ifeq ($(uname_S),Linux)
61 HAVE_LINUX_SENDFILE = YesPlease
62endif
63
64ifdef HAVE_LINUX_SENDFILE
65 CGIT_CFLAGS += -DHAVE_LINUX_SENDFILE
66endif
71 67
72CGIT_OBJ_NAMES += cgit.o 68CGIT_OBJ_NAMES += cgit.o
73CGIT_OBJ_NAMES += cache.o 69CGIT_OBJ_NAMES += cache.o