diff options
| -rw-r--r-- | README | 11 | ||||
| -rw-r--r-- | cgit.mk | 36 |
2 files changed, 16 insertions, 31 deletions
| @@ -38,14 +38,11 @@ If you'd like to compile without Lua support, you may use: | |||
| 38 | 38 | ||
| 39 | And if you'd like to specify a Lua implementation, you may use: | 39 | And if you'd like to specify a Lua implementation, you may use: |
| 40 | 40 | ||
| 41 | $ make LUA_IMPLEMENTATION=JIT | 41 | $ make LUA_PKGCONFIG=lua5.1 |
| 42 | 42 | ||
| 43 | for using the LuaJIT project. Or: | 43 | If this is not specified, the Lua implementation will be auto-detected, |
| 44 | 44 | preferring LuaJIT if many are present. Acceptable values are generally "lua", | |
| 45 | $ make LUA_IMPLEMENTATION=VANILLA | 45 | "luajit", "lua5.1", and "lua5.2". |
| 46 | |||
| 47 | for the mainline Lua project. If you specify neither implementation, it will | ||
| 48 | be auto-detected, preferring LuaJIT if both are present. | ||
| 49 | 46 | ||
| 50 | 47 | ||
| 51 | Dependencies | 48 | Dependencies |
| @@ -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 |
| 31 | else | 31 | else |
| 32 | LUAJIT_CFLAGS := $(shell pkg-config --cflags luajit 2>/dev/null) | 32 | ifeq ($(LUA_PKGCONFIG),) |
| 33 | LUAJIT_LIBS := $(shell pkg-config --libs luajit 2>/dev/null) | 33 | LUA_PKGCONFIG := $(shell for pc in luajit lua lua5.2 lua5.1; do \ |
| 34 | LUA_LIBS := $(shell pkg-config --libs lua 2>/dev/null) | 34 | pkg-config --exists $$pc && echo $$pc && break; \ |
| 35 | LUA_CFLAGS := $(shell pkg-config --cflags lua 2>/dev/null) | 35 | done) |
| 36 | ifeq (JIT,$(LUA_IMPLEMENTATION)) | 36 | LUA_MODE := autodetected |
| 37 | ifeq ($(strip $(LUAJIT_LIBS)),) | 37 | else |
| 38 | $(error LuaJIT specified via LUA_IMPLEMENTATION=JIT, but library could not be found.) | 38 | LUA_MODE := specified |
| 39 | endif | 39 | endif |
| 40 | LUA_MESSAGE := linking with selected LuaJIT | 40 | ifneq ($(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) |
| 43 | else 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) | ||
| 50 | else ifneq ($(strip $(LUAJIT_LIBS)),) | ||
| 51 | LUA_MESSAGE := linking with autodetected LuaJIT | ||
| 52 | CGIT_LIBS += $(LUAJIT_LIBS) | ||
| 53 | CGIT_CFLAGS += $(LUAJIT_CFLAGS) | ||
| 54 | else 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) |
| 58 | else | 46 | else |
