Browse Source

support for build with current Lua version 5.4.3

On some platforms this may require:
	make spotless
	make fetch-lua

I did attempt to force a reminder message about the latter to
Makefile.top this time, and hope that works correctly for everyone.
NetHack-3.7
nhmall 4 months ago
parent
commit
e69808987e
  1. 2
      Porting
  2. 6
      azure-pipelines.yml
  3. 16
      outdated/.travis.yml
  4. 2
      submodules/lua
  5. 6
      sys/msdos/Makefile.GCC
  6. 2
      sys/msdos/fetch-cross-compiler.sh
  7. 5
      sys/unix/Makefile.top
  8. 4
      sys/unix/NetHack.xcodeproj/project.pbxproj
  9. 6
      sys/unix/hints/include/cross-pre.2020
  10. 12
      sys/winnt/Install.nt
  11. 8
      sys/winnt/Makefile.gcc
  12. 11
      sys/winnt/Makefile.msc
  13. 4
      sys/winnt/travis-gcc.sh
  14. 2
      win/win32/vs/NetHackProperties.props
  15. 2
      win/win32/vs/travisci.sh

2
Porting

@ -206,7 +206,7 @@ need to be included in the packaging of the game.
4.3. Lua
Compile and link into a library, or obtain a prebuilt Lua library for
your platform. Place the Lua source into lib/lua-5.4.2 (or other folder
your platform. Place the Lua source into lib/lua-5.4.3 (or other folder
representing an appropriate Lua version); place the compiled Lua library into
lib.

6
azure-pipelines.yml

@ -130,7 +130,7 @@ steps:
export LUASRC=../submodules/lua
export ADD_CURSES=Y
export PDCURSES_TOP=../submodules/pdcurses
export LUA_VERSION=5.4.2
export LUA_VERSION=5.4.3
export TRAVIS_COMPILER=1
cp ../sys/winnt/Makefile.gcc ./Makefile
mingw32-make LUA_VERSION=$LUA_VERSION install
@ -202,8 +202,8 @@ steps:
cd ../..
make fetch-lua
sh sys/msdos/fetch-cross-compiler.sh
make LUA_VERSION=5.4.2 WANT_WIN_TTY=1 WANT_WIN_CURSES=1 CROSS_TO_MSDOS=1 all
make LUA_VERSION=5.4.2 WANT_WIN_TTY=1 WANT_WIN_CURSES=1 CROSS_TO_MSDOS=1 package
make LUA_VERSION=5.4.3 WANT_WIN_TTY=1 WANT_WIN_CURSES=1 CROSS_TO_MSDOS=1 all
make LUA_VERSION=5.4.3 WANT_WIN_TTY=1 WANT_WIN_CURSES=1 CROSS_TO_MSDOS=1 package
condition: and(eq( variables['Agent.OS'], 'Linux' ), eq( variables.toolchain, 'cross'))
workingDirectory: $(Agent.BuildDirectory)/$(netHackPath)
displayName: 'Building MSDOS build'

16
outdated/.travis.yml

@ -3,7 +3,7 @@ matrix:
include:
- name: linux-xenial-gcc-win-all
os: linux
env: HINTS=linux.2020 LUA_VERSION=5.4.2
env: HINTS=linux.2020 LUA_VERSION=5.4.3
compiler: gcc
addons:
apt:
@ -21,7 +21,7 @@ matrix:
- make LUA_VERSION=$LUA_VERSION WANT_WIN_ALL=1 QT_SELECT=5 MOC=moc install
- name: linux-bionic-gcc-win-all
os: linux
env: HINTS=linux.2020 LUA_VERSION=5.4.2
env: HINTS=linux.2020 LUA_VERSION=5.4.3
dist: bionic
compiler: gcc
addons:
@ -40,7 +40,7 @@ matrix:
- make LUA_VERSION=$LUA_VERSION WANT_WIN_ALL=1 QT_SELECT=5 MOC=moc install
- name: linux-focal-clang-win-all
os: linux
env: HINTS=linux.2020 LUA_VERSION=5.4.2
env: HINTS=linux.2020 LUA_VERSION=5.4.3
dist: focal
compiler: clang
addons:
@ -59,7 +59,7 @@ matrix:
- make LUA_VERSION=$LUA_VERSION WANT_WIN_ALL=1 QT_SELECT=5 MOC=moc install
- name: linux-xenial-gcc-nocommon
os: linux
env: HINTS=linux.2020 LUA_VERSION=5.4.2
env: HINTS=linux.2020 LUA_VERSION=5.4.3
dist: xenial
compiler: gcc
script:
@ -70,7 +70,7 @@ matrix:
- make install
- name: linux-focal-gcc9-win-all
os: linux
env: HINTS=linux.2020 LUA_VERSION=5.4.2
env: HINTS=linux.2020 LUA_VERSION=5.4.3
dist: focal
compiler: gcc
addons:
@ -91,7 +91,7 @@ matrix:
- make LUA_VERSION=$LUA_VERSION WANT_WIN_ALL=1 QT_SELECT=5 MOC=moc install
- name: linux-xenial-gcc-minimal
os: linux
env: HINTS=linux-minimal LUA_VERSION=5.4.2
env: HINTS=linux-minimal LUA_VERSION=5.4.3
compiler: gcc
script: |
cd sys/unix/ && sh setup.sh hints/$HINTS && cd ../../
@ -129,7 +129,7 @@ matrix:
script:
- export ADD_CURSES=Y
- export PDCURSES_TOP=../lib/pdcurses
- export LUA_VERSION=5.4.2
- export LUA_VERSION=5.4.3
- sh sys/winnt/travis-gcc.sh
- test -d "lib/lua-$LUA_VERSION/src" || exit 0
- test -d "lib/pdcurses" || exit 0
@ -138,7 +138,7 @@ matrix:
- mingw32-make LUA_VERSION=$LUA_VERSION install
- name: msdos-linux-focal-djgpp-crosscompile
os: linux
env: HINTS=linux.2020 LUA_VERSION=5.4.2
env: HINTS=linux.2020 LUA_VERSION=5.4.3
dist: focal
compiler: gcc
script:

2
submodules/lua

@ -1 +1 @@
Subproject commit e2ea3b31c94bb3e1da27c233661cb2a16699c685
Subproject commit eadd8c7178c79c814ecca9652973a9b9dd4cc71b

6
sys/msdos/Makefile.GCC

@ -42,13 +42,13 @@ PDCURSES_TOP=../../pdcurses
ifeq "$(LUA_VERSION)" "5.3.5"
LUAVER=5.3.5
else
LUAVER=5.4.2
LUAVER=5.4.3
endif
#---------------------------------------------------------------
# Location of LUA
#
# Original source needs to be obtained from:
# http://www.lua.org/ftp/lua-5.4.2.tar.gz
# http://www.lua.org/ftp/lua-5.4.3.tar.gz
#
# This build assumes that the LUA sources are located
# at the specified location. If they are actually elsewhere
@ -305,7 +305,7 @@ ALLOBJ = $(VOBJ) $(SOBJ) $(TILOBJ) $(TILOBJ2) $(VVOBJ)
#===============-=================================================
# LUA library
# Source from http://www.lua.org/ftp/lua-5.4.2.tar.gz
# Source from http://www.lua.org/ftp/lua-5.4.3.tar.gz
#=================================================================
LUASRC = $(LUATOP)/src

2
sys/msdos/fetch-cross-compiler.sh

@ -12,7 +12,7 @@ if [ -z "$GCCVER" ]; then
fi
if [ -z "$LUA_VERSION" ]; then
export LUA_VERSION=5.4.2
export LUA_VERSION=5.4.3
fi
if [ ! -d "$(pwd)/lib" ]; then

5
sys/unix/Makefile.top

@ -85,7 +85,7 @@ VARDAT = $(VARDATD) $(VARDATND)
#CHGRP = chgrp
# Lua version
LUA_VERSION = 5.4.2
LUA_VERSION = 5.4.3
#
# end of configuration
@ -131,6 +131,9 @@ include/nhlua.h: $(TOPLUALIB)
@echo '#include "../lib/lua-$(LUA_VERSION)/src/lualib.h"' >> $@
@echo '#include "../lib/lua-$(LUA_VERSION)/src/lauxlib.h"' >> $@
@echo '/*nhlua.h*/' >> $@
lib/lua-$(LUA_VERSION)/src/lua.h:
echo "Please do 'make fetch-lua' to obtain lua-$(LUA_VERSION)"
false
# Note: many of the dependencies below are here to allow parallel make
# to generate valid output

4
sys/unix/NetHack.xcodeproj/project.pbxproj

@ -1338,7 +1338,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "# Type a script or drag a script file from your workspace to insert its path.\ncd \"${NH_INC_DIR}\"\necho '/* nhlua.h - generated by Xcode script */' > nhlua.h\necho '#include \"../lib/lua-5.4.2/src/lua.h\"' >> nhlua.h\nsed -e '/(lua_error)/!d' -e '/(lua_error)/s/;/ NORETURN;/1' < \"${NH_LIB_DIR}\"/lua-5.4.2/src/lua.h >> nhlua.h\necho '#include \"../lib/lua-5.4.2/src/lualib.h\"' >> nhlua.h\necho '#include \"../lib/lua-5.4.2/src/lauxlib.h\"' >> nhlua.h\necho '/*nhlua.h*/' >> nhlua.h\n";
shellScript = "# Type a script or drag a script file from your workspace to insert its path.\ncd \"${NH_INC_DIR}\"\necho '/* nhlua.h - generated by Xcode script */' > nhlua.h\necho '#include \"../lib/lua-5.4.3/src/lua.h\"' >> nhlua.h\nsed -e '/(lua_error)/!d' -e '/(lua_error)/s/;/ NORETURN;/1' < \"${NH_LIB_DIR}\"/lua-5.4.3/src/lua.h >> nhlua.h\necho '#include \"../lib/lua-5.4.3/src/lualib.h\"' >> nhlua.h\necho '#include \"../lib/lua-5.4.3/src/lauxlib.h\"' >> nhlua.h\necho '/*nhlua.h*/' >> nhlua.h\n";
};
544768B8239954B9004B9739 /* Build Lua library */ = {
isa = PBXShellScriptBuildPhase;
@ -1357,7 +1357,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "# Type a script or drag a script file from your workspace to insert its path.\ncd \"${NH_LIB_DIR}\"\nmkdir -p lua\ncd \"${NH_LIB_DIR}\"/lua-5.4.2/src\nmake a\ncp liblua.a ../../lua\ncd ../../..\n\n";
shellScript = "# Type a script or drag a script file from your workspace to insert its path.\ncd \"${NH_LIB_DIR}\"\nmkdir -p lua\ncd \"${NH_LIB_DIR}\"/lua-5.4.3/src\nmake a\ncp liblua.a ../../lua\ncd ../../..\n\n";
};
/* End PBXShellScriptBuildPhase section */

6
sys/unix/hints/include/cross-pre.2020

@ -36,9 +36,9 @@ endif
ifdef BUILD_TARGET_LUA
#===============-=================================================
# LUA library
# Source from http://www.lua.org/ftp/lua-5.4.2.tar.gz
# Source from http://www.lua.org/ftp/lua-5.4.3.tar.gz
#=================================================================
LUA_VERSION ?=5.4.2
LUA_VERSION ?=5.4.3
LUATOP ?= ../lib/lua-$(LUA_VERSION)
LUASRCDIR ?= $(LUATOP)/src
LUAOBJFILES1 = $(TARGETPFX)lapi.o $(TARGETPFX)lauxlib.o \
@ -129,7 +129,7 @@ ifdef CROSS_TO_MSDOS
# 2. Then
# make CROSS_TO_MSDOS=1 WANT_WIN_TTY=1 WANT_WIN_CURSES=1 all
#
# Source from http://www.lua.org/ftp/lua-5.4.2.tar.gz
# Source from http://www.lua.org/ftp/lua-5.4.3.tar.gz
#=================================================================
CFLAGS += -DCROSSCOMPILE

12
sys/winnt/Install.nt

@ -47,7 +47,7 @@ version. You can use one of the following build environments:
| | |
+----+ +------+ +-----------+
| | | | | |
share winnt tty win32 Lua-5.4.2 pdcurses
share winnt tty win32 Lua-5.4.3 pdcurses
|
vs
@ -55,11 +55,11 @@ version. You can use one of the following build environments:
| Building And Running Using Visual Studio 2017 or 2019 |
\--------------------------------------------------------/
Before proceeding, please obtain the lua-5.4.2 sources and copy them to
the new directory lib\lua-5.4.2\src. This source can be obtain either from
http://www.lua.org/ftp/lua-5.4.2.tar.gz or from the git hub mirror
https://github.com/lua/lua.git using the tag 'v5.4.2'. The build expects
to find lua files such as 'lua.h' at 'lib\lua-5.4.2\src\lua.h'.
Before proceeding, please obtain the lua-5.4.3 sources and copy them to
the new directory lib\lua-5.4.3\src. This source can be obtained either from
http://www.lua.org/ftp/lua-5.4.3.tar.gz or from the git hub mirror
https://github.com/lua/lua.git using the tag 'v5.4.3'. The build expects
to find lua files such as 'lua.h' at 'lib\lua-5.4.3\src\lua.h'.
If you are NOT using Visual Studio 2017 or 2019 IDE, or you prefer to build
using a Make utility and a Makefile proceed to "Building Using Make".

8
sys/winnt/Makefile.gcc

@ -127,7 +127,7 @@ TARGET_CPU=x86
#
#---------------------------------------------------------------
ifndef LUA_VERSION
LUAVER=5.4.2
LUAVER=5.4.3
else
LUAVER=$(LUA_VERSION)
endif
@ -135,7 +135,7 @@ endif
# Location of LUA
#
# Original source needs to be obtained from:
# http://www.lua.org/ftp/lua-5.4.2.tar.gz
# http://www.lua.org/ftp/lua-5.4.3.tar.gz
#
# This build assumes that the LUA sources are located
# at the specified location. If they are actually elsewhere
@ -418,11 +418,11 @@ OPTIONS_FILE = $(DAT)\options
#===============-=================================================
# LUA library
# Source from http://www.lua.org/ftp/lua-5.4.2.tar.gz
# Source from http://www.lua.org/ftp/lua-5.4.3.tar.gz
#=================================================================
ifndef LUAVER
LUAVER = 5.4.2
LUAVER = 5.4.3
endif
ifndef LUASRC
LUASRC = $(LUATOP)/src

11
sys/winnt/Makefile.msc

@ -131,7 +131,7 @@ DEBUGINFO = Y
# This marks the end of the BUILD DECISIONS section.
#==============================================================================
!IFNDEF LUA_VERSION
LUAVER=5.4.2
LUAVER=5.4.3
!ELSE
LUAVER=$(LUA_VERSION)
!ENDIF
@ -140,7 +140,7 @@ LUAVER=$(LUA_VERSION)
# Location of LUA
#
# Original source needs to be obtained from:
# http://www.lua.org/ftp/lua-5.4.2.tar.gz
# http://www.lua.org/ftp/lua-5.4.3.tar.gz
#
# This build assumes that the LUA sources are located
# at the specified location. If they are actually elsewhere
@ -384,7 +384,7 @@ OPTIONS_FILE = $(DAT)\options
#===============-=================================================
# LUA library
# Source from http://www.lua.org/ftp/lua-5.4.2.tar.gz
# Source from http://www.lua.org/ftp/lua-5.4.3.tar.gz
#=================================================================
!IFNDEF LUAVER
@ -400,6 +400,9 @@ LUAVER = 5.4.1
!IF "$(LUATMP)" == "5.4.2"
LUAVER = 5.4.2
!ENDIF
!IF "$(LUATMP)" == "5.4.3"
LUAVER = 5.4.3
!ENDIF
!ELSE
!ERROR NetHack 3.7 requires LUA so LUATOP must be defined
!ENDIF
@ -410,7 +413,7 @@ LUATMP = $(LUATMP:-BETA=) #strip suffix if exists "-BETA"
!IF "$(LUATMP)" == "5.3.5"
LUAVER = 5.3.5
!ELSE
LUAVER = 5.4.2
LUAVER = 5.4.3
!ENDIF
!ENDIF
!ENDIF

4
sys/winnt/travis-gcc.sh

@ -3,6 +3,6 @@ mkdir -p lib
cd lib
git clone --depth 1 https://github.com/wmcbrine/PDCurses.git pdcurses
#git clone --depth 1 https://github.com/universal-ctags/ctags.git ctags
curl -R -O http://www.lua.org/ftp/lua-5.4.2.tar.gz
tar zxf lua-5.4.2.tar.gz
curl -R -O http://www.lua.org/ftp/lua-5.4.3.tar.gz
tar zxf lua-5.4.3.tar.gz
cd ../

2
win/win32/vs/NetHackProperties.props

@ -7,7 +7,7 @@
<PATCHLEVEL>0</PATCHLEVEL>
<LUA_MAJOR_VERSION>5</LUA_MAJOR_VERSION>
<LUA_MINOR_VERSION>4</LUA_MINOR_VERSION>
<LUA_PATCH_LEVEL>2></LUA_PATCH_LEVEL>
<LUA_PATCH_LEVEL>3></LUA_PATCH_LEVEL>
<LUA_VERSION>$(LUA_MAJOR_VERSION).$(LUA_MINOR_VERSION).$(LUA_PATCH_LEVEL)</LUA_VERSION>
<ADD_PACKAGE>true</ADD_PACKAGE>
</PropertyGroup>

2
win/win32/vs/travisci.sh

@ -24,7 +24,7 @@ export LIB=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER
export LIB=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/VC/Tools/MSVC/$MSVER/lib/x86:$LIB
export LIB=/c/Program\ Files\ \(x86\)/Windows\ Kits/10/lib/$WKITVER/ucrt/x86:$LIB
export LIB=/c/Program\ Files\ \(x86\)/Windows\ Kits/10/lib/$WKITVER/um/x86:$LIB
export LUA_VERSION=5.4.2
export LUA_VERSION=5.4.3
mkdir -p lib
cd lib
git clone --depth 1 https://github.com/wmcbrine/PDCurses.git pdcurses

Loading…
Cancel
Save