extend WANT_SYSTEM_LUA=1 to other distros
Only tested on Ubuntu at this point. feedback on other distros is welcome
This commit is contained in:
@@ -582,8 +582,8 @@ HSOURCES ?= $(HACKINCL) dgn_file.h
|
|||||||
FIRSTOBJ ?= monst.o objects.o
|
FIRSTOBJ ?= monst.o objects.o
|
||||||
HOSTOBJ ?= $(FIRSTOBJ) alloc.o drawing.o
|
HOSTOBJ ?= $(FIRSTOBJ) alloc.o drawing.o
|
||||||
|
|
||||||
$(info WINOBJ=$(WINOBJ))
|
#$(info WINOBJ=$(WINOBJ))
|
||||||
$(info GENTILEOFILE=$(GENTILEOFILE))
|
#$(info GENTILEOFILE=$(GENTILEOFILE))
|
||||||
|
|
||||||
#
|
#
|
||||||
# $(TARGETPFX)date.o is not included in this list
|
# $(TARGETPFX)date.o is not included in this list
|
||||||
|
|||||||
@@ -127,8 +127,9 @@ 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)
|
LUATOPLIB ?= lib/lua/$(LUABASELIB)
|
||||||
LUAHPREFIX ?= ../
|
LUAHPREFIX ?= ../
|
||||||
|
LUALIBBUILT ?= $(LUATOP)/liblua.a
|
||||||
|
|
||||||
ALLDEP = $(PRECHECK) $(GAME) recover Guidebook $(VARDAT) spec_levs check-dlb
|
ALLDEP = $(PRECHECK) $(GAME) recover Guidebook $(VARDAT) spec_levs check-dlb
|
||||||
|
|
||||||
@@ -144,11 +145,11 @@ lua_support: include/nhlua.h
|
|||||||
@true
|
@true
|
||||||
$(LUATOP)/liblua.a: $(LUAHEADERS)/lua.h
|
$(LUATOP)/liblua.a: $(LUAHEADERS)/lua.h
|
||||||
( cd $(LUATOP) && make $(LUAMAKEFLAGS) a )
|
( cd $(LUATOP) && make $(LUAMAKEFLAGS) a )
|
||||||
$(TOPLUALIB): $(LUATOP)/liblua.a
|
lib/lua/$(LUABASELIB): $(LUALIBBUILT)
|
||||||
@( if test -d lib/lua ; then true ; else mkdir -p lib/lua ; fi )
|
@( if test -d lib/lua ; then true ; else mkdir -p lib/lua ; fi )
|
||||||
cp $(LUATOP)/liblua.a $@
|
cp $(LUATOP)/liblua.a $@
|
||||||
|
|
||||||
include/nhlua.h: $(TOPLUALIB)
|
include/nhlua.h: $(LUATOPLIB)
|
||||||
echo '/* nhlua.h - generated by top Makefile */' > $@
|
echo '/* nhlua.h - generated by top Makefile */' > $@
|
||||||
@echo '#include "$(LUAHPREFIX)$(LUAHEADERS)/lua.h"' >> $@
|
@echo '#include "$(LUAHPREFIX)$(LUAHEADERS)/lua.h"' >> $@
|
||||||
@sed -e '/(lua_error)/!d' \
|
@sed -e '/(lua_error)/!d' \
|
||||||
|
|||||||
@@ -230,7 +230,7 @@ override SYSOBJ= $(TARGETPFX)pcmain.o $(TARGETPFX)msdos.o \
|
|||||||
override WINLIB=
|
override WINLIB=
|
||||||
override LUALIB=
|
override LUALIB=
|
||||||
override LUALIBS=
|
override LUALIBS=
|
||||||
override TOPLUALIB=
|
override LUATOPLIB=
|
||||||
override WINX11OBJ=
|
override WINX11OBJ=
|
||||||
override GAMEBIN = $(TARGETPFX)nethack.exe
|
override GAMEBIN = $(TARGETPFX)nethack.exe
|
||||||
override RECOVERBIN = $(TARGETPFX)recover.exe
|
override RECOVERBIN = $(TARGETPFX)recover.exe
|
||||||
@@ -367,7 +367,7 @@ override SYSOBJ= $(TARGETPFX)libnhmain.o \
|
|||||||
$(TARGETPFX)winshim.o
|
$(TARGETPFX)winshim.o
|
||||||
override WINLIB = emranlib
|
override WINLIB = emranlib
|
||||||
override LUALIB=
|
override LUALIB=
|
||||||
override TOPLUALIB=
|
override LUATOPLIB=
|
||||||
override REGEXOBJ = $(TARGETPFX)posixregex.o
|
override REGEXOBJ = $(TARGETPFX)posixregex.o
|
||||||
override WINOBJ=
|
override WINOBJ=
|
||||||
override UUIDOBJ=
|
override UUIDOBJ=
|
||||||
@@ -450,7 +450,7 @@ override SYSOBJ = $(TARGETPFX)ioctl.o $(TARGETPFX)unixmain.o $(TARGETPFX)unixtty
|
|||||||
override WINLIB = $(NCURSESLIB)
|
override WINLIB = $(NCURSESLIB)
|
||||||
override LUALIB=
|
override LUALIB=
|
||||||
override LUALIBS=
|
override LUALIBS=
|
||||||
override TOPLUALIB=
|
override LUATOPLIB=
|
||||||
override GAMEBIN=$(MIPS_TARGET)
|
override GAMEBIN=$(MIPS_TARGET)
|
||||||
override RECOVERBIN = $(TARGETPFX)recover
|
override RECOVERBIN = $(TARGETPFX)recover
|
||||||
override PACKAGE = mipspkg
|
override PACKAGE = mipspkg
|
||||||
@@ -543,7 +543,7 @@ override SYSOBJ = $(TARGETPFX)amidos.o \
|
|||||||
override WINLIB=
|
override WINLIB=
|
||||||
override LUALIB=
|
override LUALIB=
|
||||||
override LUALIBS=
|
override LUALIBS=
|
||||||
override TOPLUALIB=
|
override LUATOPLIB=
|
||||||
override DLLIB=
|
override DLLIB=
|
||||||
override WINOBJ=
|
override WINOBJ=
|
||||||
override GAMEBIN = $(TARGETPFX)nethack
|
override GAMEBIN = $(TARGETPFX)nethack
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
# ----- linuxdistro.500 --------
|
||||||
|
|
||||||
|
LINUX_DISTRO=
|
||||||
|
OS_ID := $(shell grep -E '^ID=' /etc/os-release 2>/dev/null | cut -d= -f2)
|
||||||
|
#$(info OS_ID=$(OS_ID))
|
||||||
|
|
||||||
|
ifeq ($(OS_ID),alpine)
|
||||||
|
LINUX_DISTRO=alpine
|
||||||
|
USE_SYSTEM_LUA=1
|
||||||
|
CURSPKG = ncurses
|
||||||
|
endif
|
||||||
|
ifeq ($(OS_ID),debian)
|
||||||
|
LINUX_DISTRO=debian
|
||||||
|
USE_SYSTEM_LUA=1
|
||||||
|
endif
|
||||||
|
ifeq ($(OS_ID),ubuntu)
|
||||||
|
LINUX_DISTRO=ubuntu
|
||||||
|
USE_SYSTEM_LUA=1
|
||||||
|
endif
|
||||||
|
ifeq ($(OS_ID),fedora)
|
||||||
|
LINUX_DISTRO=fedora
|
||||||
|
USE_SYSTEM_LUA=1
|
||||||
|
endif
|
||||||
|
#$(info LINUX_DIST=$(LINUX_DISTRO))
|
||||||
|
# ----- end of linuxdistro.500 --------
|
||||||
+91
-12
@@ -36,6 +36,9 @@ HINTSINCLFILES := $(addsuffix .$(HINTSVERSION), $(HINTSINCLNAMES))
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
#-INCLUDE linuxdistro.500
|
||||||
|
|
||||||
|
|
||||||
ifndef LIBXPM
|
ifndef LIBXPM
|
||||||
LIBXPM= -L/opt/X11/lib -lXpm
|
LIBXPM= -L/opt/X11/lib -lXpm
|
||||||
endif
|
endif
|
||||||
@@ -69,31 +72,107 @@ USE_NOSTATICFN = 1
|
|||||||
#-INCLUDE compiler.500
|
#-INCLUDE compiler.500
|
||||||
|
|
||||||
ifdef WANT_SYSTEM_LUA
|
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
|
ifndef LUA_VERSION
|
||||||
LUA_VERSION := 5.4.8
|
LUA_VERSION := 5.4.8
|
||||||
endif
|
endif
|
||||||
LUASUBDELIM := $(subst ., ,$(LUA_VERSION))
|
LUASUBDELIM := $(subst ., ,$(LUA_VERSION))
|
||||||
LUASHVER := $(word 1, $(LUASUBDELIM)).$(word 2, $(LUASUBDELIM))
|
LUASHVER := $(word 1, $(LUASUBDELIM)).$(word 2, $(LUASUBDELIM))
|
||||||
|
|
||||||
|
ifeq ($(LINUX_DISTRO),alpine)
|
||||||
|
# prereq: doas apk add lua5.4-dev
|
||||||
|
# doas apk add linux-headers
|
||||||
|
# doas apk add musl-dev
|
||||||
|
USE_SYSTEM_LUA=1
|
||||||
|
SHELLPKG :=pkg-config
|
||||||
|
LUAPKGNAME = lua-$(LUASHVER)
|
||||||
|
CURSPKG = ncurses
|
||||||
|
#
|
||||||
|
else ifeq ($(LINUX_DISTRO),debian)
|
||||||
|
# prereq: sudo apt install lua5.4 liblua5.4-dev
|
||||||
|
USE_SYSTEM_LUA=1
|
||||||
|
SHELLPKG :=pkg-config
|
||||||
|
LUAPKGNAME = lua-$(LUASHVER)
|
||||||
|
#
|
||||||
|
else ifeq ($(LINUX_DISTRO),ubuntu)
|
||||||
|
# prereq: sudo apt install lua5.4 liblua5.4-dev
|
||||||
|
USE_SYSTEM_LUA=1
|
||||||
|
SHELLPKG :=dpkg
|
||||||
|
LUAPKGNAME = lua$(LUASHVER)
|
||||||
|
#
|
||||||
|
else ifeq ($(LINUX_DISTRO),fedora)
|
||||||
|
# prereq: sudo dnf install lua lua-devel
|
||||||
|
USE_SYSTEM_LUA=1
|
||||||
|
SHELLPKG :=rpm
|
||||||
|
LUAPKGNAME = lua-devel
|
||||||
|
#
|
||||||
|
else
|
||||||
|
USE_SYSTEM_LUA=0
|
||||||
|
SHELLPKG :=
|
||||||
|
endif # LINUX_DISTRO
|
||||||
|
|
||||||
|
ifeq ($(USE_SYSTEM_LUA),1)
|
||||||
|
ifneq "$(SHELLPKG)" ""
|
||||||
|
#
|
||||||
|
# Two requirements must now pass:
|
||||||
|
# 1. We need to be able to check if Lua package
|
||||||
|
# is installed. We do that here.
|
||||||
|
# 2. The lua.h header file needs to be present
|
||||||
|
# where expected. We set LUATESTTARGET here,
|
||||||
|
# but the check is done later on in the top
|
||||||
|
# Makefile.
|
||||||
|
#
|
||||||
|
# Try to confirm package presence
|
||||||
|
ifeq ($(SHELLPKG),pkg-config)
|
||||||
|
PKG_EXISTS := $(shell pkg-config --exists $(LUAPKGNAME) \
|
||||||
|
&& echo yes || echo no)
|
||||||
|
#
|
||||||
|
else ifeq ($(SHELLPKG),dpkg)
|
||||||
|
PKG_EXISTS := $(shell dpkg -s $(LUAPKGNAME) > /dev/null 2>&1 \
|
||||||
|
&& echo yes || echo no)
|
||||||
|
#
|
||||||
|
else ifeq ($(SHELLPKG),rpm)
|
||||||
|
PKG_EXISTS := $(shell rpm -q $(LUAPKGNAME) > /dev/null 2>&1 \
|
||||||
|
&& echo yes || echo no)
|
||||||
|
#
|
||||||
|
else
|
||||||
|
$(info Section for DEFAULT)
|
||||||
|
PKG_EXISTS=no
|
||||||
|
$(info Existance of package $(LUAPKGNAME) could not be verified)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(PKG_EXISTS),yes)
|
||||||
|
$(info Existance of package $(LUAPKGNAME) verified)
|
||||||
|
#
|
||||||
|
ifeq ($(LINUX_DISTRO),fedora)
|
||||||
|
LUACFLAGS := $(shell pkg-config --cflags lua-$(LUASHVER))
|
||||||
|
LUALIBS := $(shell pkg-config --libs lua-$(LUASHVER))
|
||||||
LUAHEADERS := /usr/include/lua$(LUASHVER)
|
LUAHEADERS := /usr/include/lua$(LUASHVER)
|
||||||
LUATESTTARGET := $(LUAHEADERS)/lua.h
|
LUATESTTARGET := $(LUAHEADERS)/lua.h
|
||||||
LUAHPREFIX :=
|
#
|
||||||
LUAFLAGS := $(shell pkg-config --cflags lua-$(LUASHVER))
|
else ifeq ($(LINUX_DISTRO),ubuntu)
|
||||||
|
LUACFLAGS := -I/usr/include/lua$(LUASHVER)
|
||||||
|
LUALIBS := -llua$(LUASHVER) -lm -ldl
|
||||||
|
LUAHEADERS := /usr/include/lua$(LUASHVER)
|
||||||
|
LUATESTTARGET := $(LUAHEADERS)/lua.h
|
||||||
|
#
|
||||||
|
else ifeq ($(SHELLPKG),pkg-config)
|
||||||
|
LUACFLAGS := $(shell pkg-config --cflags lua-$(LUASHVER))
|
||||||
LUALIBS := $(shell pkg-config --libs lua-$(LUASHVER))
|
LUALIBS := $(shell pkg-config --libs lua-$(LUASHVER))
|
||||||
CFLAGS += $(LUAFLAGS)
|
LUAHEADERS := /usr/include/lua$(LUASHVER)
|
||||||
|
LUATESTTARGET := $(LUAHEADERS)/lua.h
|
||||||
|
endif
|
||||||
|
#
|
||||||
|
LUAHPREFIX=
|
||||||
LUATOP=
|
LUATOP=
|
||||||
LUAMAKEFLAGS=
|
LUAMAKEFLAGS=
|
||||||
LUA2NHTOP=
|
LUA2NHTOP=
|
||||||
LUABASELIB=
|
LUABASELIB=
|
||||||
TOPLUALIB=
|
LUATOPLIB=
|
||||||
|
LUALIBBUILT=
|
||||||
LUALIB=
|
LUALIB=
|
||||||
|
CFLAGS += $(LUACFLAGS)
|
||||||
|
endif # PKG_EXISTS?
|
||||||
|
endif # SHELLPKG has a value
|
||||||
endif # USE_SYSTEM_LUA
|
endif # USE_SYSTEM_LUA
|
||||||
endif # WANT_SYSTEM_LUA
|
endif # WANT_SYSTEM_LUA
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user