Merge branch 'keni-wincw2' into NetHack-3.7

Lots of manually resolved conflicts.
This commit is contained in:
nhkeni
2024-02-15 16:25:12 -05:00
36 changed files with 1035 additions and 348 deletions

View File

@@ -127,7 +127,7 @@ LUA2NHTOP = ../../..
LUABASELIB = liblua-$(LUA_VERSION).a
TOPLUALIB = lib/lua/$(LUABASELIB)
ALLDEP = $(PRECHECK) $(GAME) recover Guidebook $(VARDAT) spec_levs check-dlb check-nhlua
ALLDEP = $(PRECHECK) $(GAME) recover Guidebook $(VARDAT) spec_levs check-dlb
# first target is also the default target for 'make' without any arguments
all: $(ALLDEP)
@@ -163,10 +163,6 @@ luabin:
( cd $(LUATOP) \
&& make $(LUAMAKEFILES) all && cd $(LUA2NHTOP) )
check-nhlua:
( util/makedefs --grep-defined CRASHREPORT && ( \
cd $(LUATOP) && make $(LUAMAKEFLAGS) ); true )
# hints file could set LUATESTTARGET to this if GITSUBMODULES is defined
submodules/lua/lua.h:
git submodule init submodules/lua

View File

@@ -329,10 +329,12 @@ endif #?WANT_SOURCE_INSTALL
INSTDIR=$(HACKDIR)
VARDIR = $(HACKDIR)
POSTINSTALL+= ( util/makedefs --grep-defined CRASHREPORT && \
( cp win/share/nhcrashreport.lua $(INSTDIR) ; \
chmod 555 $(INSTDIR)/nhcrashreport.lua ; \
cp $(LUATOP)/lua $(INSTDIR)/nhlua); true );
#======= XXX can this go away?
#POSTINSTALL+= cp -n sys/unix/sysconf $(INSTDIR)/sysconf; \
# $(CHOWN) $(GAMEUID) $(INSTDIR)/sysconf; \
# $(CHGRP) $(GAMEGRP) $(INSTDIR)/sysconf; \
# chmod $(VARFILEPERM) $(INSTDIR)/sysconf;
#>>>>>>> keni-wincw2
ifneq "$(CCISCLANG)" ""
# gdb may not be installed if clang is chosen compiler so the game

View File

@@ -46,6 +46,8 @@ ifndef LIBXPM
LIBXPM= -L/opt/X11/lib -lXpm
endif
#WANT_WIN_CHAIN=1
# 4. Other
#-----------------------------------------------------------------------------
@@ -117,7 +119,7 @@ NHCFLAGS+=-DNOMAIL
#NHCFLAGS+=-DNO_CHRONICLE
#NHCFLAGS+=-DLIVELOG
# not NHCFLAGS - needed for makedefs
CFLAGS+=-DCRASHREPORT=\"NetHackCrashReport.JavaScript\"
CFLAGS+=-DCRASHREPORT=\"/usr/bin/open\"
ifdef MAKEFILE_SRC
# default
@@ -350,9 +352,12 @@ ROOTCHECK= [[ `id -u` == 0 ]] || ( echo "Must run install with sudo."; exit 1)
PREINSTALL= . sys/unix/hints/macosx.sh user2 $(GAMEUID); \
. sys/unix/hints/macosx.sh group2 $(GAMEGRP); \
(mkdir $(SHELLDIR) || true); chown $(GAMEUID) $(SHELLDIR)
POSTINSTALL+= util/makedefs --grep-defined CRASHREPORT && \
( cp win/macosx/NetHackCrashReport.JavaScript $(HACKDIR) && \
chmod 0500 $(HACKDIR)/NetHackCrashReport.JavaScript )
#======= XXX can this go away?
#POSTINSTALL+= sys/unix/hints/macosx.sh editsysconf sys/unix/sysconf $(HACKDIR)/sysconf; \
# $(CHOWN) $(GAMEUID) $(HACKDIR)/sysconf; \
# $(CHGRP) $(GAMEGRP) $(HACKDIR)/sysconf; \
# chmod $(VARFILEPERM) $(HACKDIR)/sysconf;
#>>>>>>> keni-wincw2
else ifdef WANT_SOURCE_INSTALL
@@ -368,10 +373,7 @@ CHGRP=/usr/bin/true
GAMEPERM = 0700
VARFILEPERM = 0600
VARDIRPERM = 0700
POSTINSTALL+= sys/unix/hints/macosx.sh editsysconf sys/unix/sysconf $(HACKDIR)/sysconf; \
util/makedefs --grep-defined CRASHREPORT && \
( cp win/macosx/NetHackCrashReport.JavaScript $(HACKDIR) && \
chmod 0500 $(HACKDIR)/NetHackCrashReport.JavaScript )
POSTINSTALL+= sys/unix/hints/macosx.sh editsysconf sys/unix/sysconf $(HACKDIR)/sysconf;
# We can use "make all" to build the whole thing - but it misses some things:
MOREALL=$(MAKE) install
@@ -400,10 +402,7 @@ PREINSTALL+= (mkdir $(SHELLDIR) || true);
POSTINSTALL+= sys/unix/hints/macosx.sh editsysconf sys/unix/sysconf $(HACKDIR)/sysconf; \
$(CHOWN) $(GAMEUID) $(HACKDIR)/sysconf; \
$(CHGRP) $(GAMEGRP) $(HACKDIR)/sysconf; \
chmod $(VARFILEPERM) $(HACKDIR)/sysconf; \
util/makedefs --grep-defined CRASHREPORT && \
( cp win/macosx/NetHackCrashReport.JavaScript $(HACKDIR) && \
chmod 0500 $(HACKDIR)/NetHackCrashReport.JavaScript )
chmod $(VARFILEPERM) $(HACKDIR)/sysconf;
endif # !WANT_SHARE_INSTALL
@@ -770,7 +769,6 @@ build_package_root:
install -p doc/recover.6 $(PKGROOT_UG)/man/man6
install -p doc/Guidebook $(PKGROOT_UG)/doc
install -p dat/nhdat $(PKGROOT_UGLN)
#XXX no code to package NetHackCrashReport.JavaScript
sys/unix/hints/macosx.sh editsysconf sys/unix/sysconf $(PKGROOT_UGLN)/sysconf
cd dat; install -p $(DATNODLB) ../$(PKGROOT_UGLN)
# XXX these files should be somewhere else for good Mac form

View File

@@ -159,6 +159,9 @@ GREPPATH=/bin/grep
PANICTRACE_GDB=1
PANICTRACE_LIBC=2
# URL loaded for creating reports to the NetHack DevTeam
#CRASHREPORTURL=https://nethack.org/links/cr-37BETA.html
# 'portable_device_paths' is only supported for Windows. Starting with
# 3.6.3, nethack on Windows treats the folder containing nethack.exe and
# nethackW.exe as read-only and puts data files which are generated or

View File

@@ -150,6 +150,7 @@ main(int argc, char *argv[])
check_linux_console();
#endif
initoptions_init();
initoptions();
#ifdef PANICTRACE
ARGV0 = gh.hname; /* save for possible stack trace */
@@ -785,6 +786,7 @@ opt_showpaths(const char *dir)
nhUse(dir);
#endif
iflags.initoptions_noterminate = TRUE;
initoptions_init();
initoptions();
iflags.initoptions_noterminate = FALSE;
reveal_paths();