Add some support for Alpine Linux system Lua package
Requires apk add lua5.4-dev (for the C Lua headers)
This commit is contained in:
@@ -673,8 +673,8 @@ Sysatt: $(HOSTOBJ) $(HOBJ) $(TARGET_HACKLIB) $(GENTILEOFILE) \
|
|||||||
$(DATE_O) $(BUILDMORE) Makefile
|
$(DATE_O) $(BUILDMORE) Makefile
|
||||||
@echo "Loading $(GAME)."
|
@echo "Loading $(GAME)."
|
||||||
$(AT)$(LD) $(TARGET_LFLAGS) /lib/crt0s.o /lib/shlib.ifile \
|
$(AT)$(LD) $(TARGET_LFLAGS) /lib/crt0s.o /lib/shlib.ifile \
|
||||||
-o $(GAMEBIN) $(HOSTOBJ) $(HOBJ) $(DATE_O) $(TARGET_HACKLIB) \
|
-o $(GAMEBIN) $(HOSTOBJ) $(HOBJ) $(DATE_O) \
|
||||||
$(LUALIBS)
|
$(TARGET_HACKLIB) $(LUALIBS)
|
||||||
@touch Sysatt
|
@touch Sysatt
|
||||||
|
|
||||||
Systos: $(HOSTOBJ) $(HOBJ) $(TARGET_HACKLIB) $(GENTILEOFILE) \
|
Systos: $(HOSTOBJ) $(HOBJ) $(TARGET_HACKLIB) $(GENTILEOFILE) \
|
||||||
|
|||||||
+11
-10
@@ -121,13 +121,14 @@ DAT = $(DATNODLB) $(DATDLB)
|
|||||||
RECOVERBIN = recover
|
RECOVERBIN = recover
|
||||||
|
|
||||||
# Lua
|
# Lua
|
||||||
LUAHEADERS = lib/lua-$(LUA_VERSION)/src
|
LUAHEADERS ?= lib/lua-$(LUA_VERSION)/src
|
||||||
LUATESTTARGET = $(LUAHEADERS)/lua.h
|
LUATESTTARGET ?= $(LUAHEADERS)/lua.h
|
||||||
LUATOP = $(LUAHEADERS)
|
LUATOP ?= $(LUAHEADERS)
|
||||||
LUAMAKEFLAGS = CC='$(CC)' SYSCFLAGS='$(SYSCFLAGS)'
|
LUAMAKEFLAGS ?= CC='$(CC)' SYSCFLAGS='$(SYSCFLAGS)'
|
||||||
LUA2NHTOP = ../../..
|
LUA2NHTOP ?= ../../..
|
||||||
LUABASELIB = liblua-$(LUA_VERSION).a
|
LUABASELIB ?= liblua-$(LUA_VERSION).a
|
||||||
TOPLUALIB = lib/lua/$(LUABASELIB)
|
TOPLUALIB ?= lib/lua/$(LUABASELIB)
|
||||||
|
LUAHPREFIX ?= ../
|
||||||
|
|
||||||
ALLDEP = $(PRECHECK) $(GAME) recover Guidebook $(VARDAT) spec_levs check-dlb
|
ALLDEP = $(PRECHECK) $(GAME) recover Guidebook $(VARDAT) spec_levs check-dlb
|
||||||
|
|
||||||
@@ -149,12 +150,12 @@ $(TOPLUALIB): $(LUATOP)/liblua.a
|
|||||||
|
|
||||||
include/nhlua.h: $(TOPLUALIB)
|
include/nhlua.h: $(TOPLUALIB)
|
||||||
echo '/* nhlua.h - generated by top Makefile */' > $@
|
echo '/* nhlua.h - generated by top Makefile */' > $@
|
||||||
@echo '#include "../$(LUAHEADERS)/lua.h"' >> $@
|
@echo '#include "$(LUAHPREFIX)$(LUAHEADERS)/lua.h"' >> $@
|
||||||
@sed -e '/(lua_error)/!d' \
|
@sed -e '/(lua_error)/!d' \
|
||||||
-e '/(lua_error)/s/LUA_API/ATTRNORETURN LUA_API/1' \
|
-e '/(lua_error)/s/LUA_API/ATTRNORETURN LUA_API/1' \
|
||||||
-e '/(lua_error)/s/;/ NORETURN;/1' < $(LUAHEADERS)/lua.h >> $@
|
-e '/(lua_error)/s/;/ NORETURN;/1' < $(LUAHEADERS)/lua.h >> $@
|
||||||
@echo '#include "../$(LUAHEADERS)/lualib.h"' >> $@
|
@echo '#include "$(LUAHPREFIX)$(LUAHEADERS)/lualib.h"' >> $@
|
||||||
@echo '#include "../$(LUAHEADERS)/lauxlib.h"' >> $@
|
@echo '#include "$(LUAHPREFIX)$(LUAHEADERS)/lauxlib.h"' >> $@
|
||||||
@echo '/*nhlua.h*/' >> $@
|
@echo '/*nhlua.h*/' >> $@
|
||||||
# LUATESTTARGET is this by default
|
# LUATESTTARGET is this by default
|
||||||
lib/lua-$(LUA_VERSION)/src/lua.h:
|
lib/lua-$(LUA_VERSION)/src/lua.h:
|
||||||
|
|||||||
@@ -49,6 +49,8 @@ make musl=1 Build with settings appropriate for linking with
|
|||||||
musl libc, instead of glibc. This causes
|
musl libc, instead of glibc. This causes
|
||||||
NOCRASHREPORT to be defined, and avoids the use
|
NOCRASHREPORT to be defined, and avoids the use
|
||||||
of 'col' during the build.
|
of 'col' during the build.
|
||||||
|
make WANT_SYSTEM_LUA=1 Attempt to use an existing Lua package already
|
||||||
|
on the system (initially for Alpine Linux).
|
||||||
make resp=1 Place the majority of the compiler switches into
|
make resp=1 Place the majority of the compiler switches into
|
||||||
a response file to de-clutter the build compiler
|
a response file to de-clutter the build compiler
|
||||||
command lines and eliminate some of the
|
command lines and eliminate some of the
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
HINTSVERSION := 500
|
HINTSVERSION := 500
|
||||||
|
|
||||||
ifdef MAKEFILE_TOP
|
ifdef MAKEFILE_TOP
|
||||||
|
LUA_VERSION=5.4.8
|
||||||
ifeq ($(MAKELEVEL),0)
|
ifeq ($(MAKELEVEL),0)
|
||||||
PRECHECK+=checkmakefiles
|
PRECHECK+=checkmakefiles
|
||||||
# all files included from this hints file get listed
|
# all files included from this hints file get listed
|
||||||
@@ -67,6 +68,35 @@ USE_NOSTATICFN = 1
|
|||||||
|
|
||||||
#-INCLUDE compiler.500
|
#-INCLUDE compiler.500
|
||||||
|
|
||||||
|
ifdef WANT_SYSTEM_LUA
|
||||||
|
OS_ID := $(shell grep -E '^ID=' /etc/os-release 2>/dev/null | cut -d= -f2)
|
||||||
|
ifeq ($(OS_ID),alpine)
|
||||||
|
USE_SYSTEM_LUA=1
|
||||||
|
CURSPKG = ncurses
|
||||||
|
endif # Alpine Linux
|
||||||
|
|
||||||
|
ifeq "$(USE_SYSTEM_LUA)" "1"
|
||||||
|
#5.4.8
|
||||||
|
ifndef LUA_VERSION
|
||||||
|
LUA_VERSION := 5.4.8
|
||||||
|
endif
|
||||||
|
LUASUBDELIM := $(subst ., ,$(LUA_VERSION))
|
||||||
|
LUASHVER := $(word 1, $(LUASUBDELIM)).$(word 2, $(LUASUBDELIM))
|
||||||
|
LUAHEADERS := /usr/include/lua$(LUASHVER)
|
||||||
|
LUATESTTARGET := $(LUAHEADERS)/lua.h
|
||||||
|
LUAHPREFIX :=
|
||||||
|
LUAFLAGS := $(shell pkg-config --cflags lua-$(LUASHVER))
|
||||||
|
LUALIBS := $(shell pkg-config --libs lua-$(LUASHVER))
|
||||||
|
CFLAGS += $(LUAFLAGS)
|
||||||
|
LUATOP=
|
||||||
|
LUAMAKEFLAGS=
|
||||||
|
LUA2NHTOP=
|
||||||
|
LUABASELIB=
|
||||||
|
TOPLUALIB=
|
||||||
|
LUALIB=
|
||||||
|
endif # USE_SYSTEM_LUA
|
||||||
|
endif # WANT_SYSTEM_LUA
|
||||||
|
|
||||||
ifdef WANT_WIN_QT
|
ifdef WANT_WIN_QT
|
||||||
ifdef WANT_WIN_QT5
|
ifdef WANT_WIN_QT5
|
||||||
QTDIR=/usr
|
QTDIR=/usr
|
||||||
@@ -96,6 +126,7 @@ LFLAGS+=-fsanitize=undefined
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq "$(USE_CURSESLIB)" "1"
|
ifeq "$(USE_CURSESLIB)" "1"
|
||||||
|
CURSPKG ?= ncursesw
|
||||||
# default
|
# default
|
||||||
CURSESLIB = -lncurses -ltinfo
|
CURSESLIB = -lncurses -ltinfo
|
||||||
# If CURSES_UNICODE is defined, we need ncursesw.
|
# If CURSES_UNICODE is defined, we need ncursesw.
|
||||||
@@ -103,8 +134,8 @@ CURSESLIB = -lncurses -ltinfo
|
|||||||
# CURSESLIB = -lncurses -ltinfo
|
# CURSESLIB = -lncurses -ltinfo
|
||||||
ifdef MAKEFILE_SRC
|
ifdef MAKEFILE_SRC
|
||||||
comma:=,
|
comma:=,
|
||||||
NCURSES_LFLAGS = $(shell pkg-config ncursesw --libs)
|
NCURSES_LFLAGS = $(shell pkg-config $(CURSPKG) --libs)
|
||||||
NCURSES_CFLAGS = $(shell pkg-config ncursesw --cflags)
|
NCURSES_CFLAGS = $(shell pkg-config $(CURSPKG) --cflags)
|
||||||
ifeq (,$(findstring ncursesw, $(NCURSES_LFLAGS)))
|
ifeq (,$(findstring ncursesw, $(NCURSES_LFLAGS)))
|
||||||
ifeq (,$(findstring ncurses, $(NCURSES_LFLAGS)))
|
ifeq (,$(findstring ncurses, $(NCURSES_LFLAGS)))
|
||||||
#this indicates that pkg-config itself was unavailable
|
#this indicates that pkg-config itself was unavailable
|
||||||
|
|||||||
Reference in New Issue
Block a user