]> granicus.if.org Git - nethack/commitdiff
more wasm build
authornhmall <nhmall@nethack.org>
Fri, 9 Oct 2020 12:54:36 +0000 (08:54 -0400)
committernhmall <nhmall@nethack.org>
Fri, 9 Oct 2020 12:54:36 +0000 (08:54 -0400)
This issue
https://github.com/NetHack/NetHack/issues/398
reported some issues with the wasm build. Attempt to resolve
some of those.

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

index 1822dbd12babd86bb05ea9f55d3bab6b024db650..de41a6628b30bc07cb51c938335a10dfea7dc4ce 100644 (file)
@@ -120,7 +120,7 @@ amigapkg: $(GAMEBIN) $(TARGETPFX)recover.exe ../dat/nhtiles.bmp
 endif  # CROSS_TO_AMIGA
 
 ifdef CROSS_TO_WASM
-$(WASM_TARGET): pregame $(HOBJ) $(LUACROSSLIB) $(WASM_DATA_DIR)
+$(WASM_TARGET): pregame $(HOSTOBJ) $(HOBJ) $(LUACROSSLIB) $(WASM_DATA_DIR)
        -rm $@
        $(TARGET_CC) $(TARGET_LFLAGS) $(TARGET_CFLAGS) -o $@ \
                $(HOBJ) $(TARGET_LIBS)
@@ -132,7 +132,7 @@ $(WASM_DATA_DIR): $(WASM_DATA_DIR)/nhdat
        touch $(WASM_DATA_DIR)/xlogfile
        cp ../sys/lib/sysconf $(WASM_DATA_DIR)/sysconf
 
-$(WASM_DATA_DIR)/nhdat:
+$(WASM_DATA_DIR)/nhdat: $(WASM_VARDAT)
        ( cd ..; $(MAKE) INSTDIR='$(WASM_DATA_DIR)' dlb )
        ( cd ..; $(MAKE) INSTDIR='$(WASM_DATA_DIR)' dofiles-dlb )
 
@@ -143,6 +143,8 @@ $(TARGETPFX)unixunix.o : ../sys/unix/unixunix.c $(HACK_H)
 $(TARGETPFX)ioctl.o : ../sys/share/ioctl.c $(HACK_H)
 $(TARGETPFX)unixtty.o : ../sys/share/unixtty.c $(HACK_H)
 $(TARGETPFX)winshim.o : ../win/shim/winshim.c $(HACK_H)
+$(TARGETPFX)libnethackmain.o : ../sys/lib/libnethackmain.c \
+               $(HACK_H) ../include/date.h
 endif  # CROSS_TO_WASM
 #
 
index ec87da241d37164cef9dcc7846aaf28589489c5b..fd279b4ee5d972ce927f01540f9ae52cd5fddfb6 100644 (file)
@@ -338,11 +338,30 @@ endif
 override TARGET_CC = emcc
 override TARGET_CXX = emcc
 override TARGET_AR = emar
-override TARGET_CFLAGS = $(EMCC_CFLAGS) \
-       -I../include \
-       $(LUAINCL) -DDLB $(PDCURSESDEF) \
-       -DNOTTYGRAPHICS -DSHIM_GRAPHICS -DDEFAULT_WINDOW_SYS=\"shim\" \
-       -DCROSSCOMPILE -DCROSSCOMPILE_TARGET -DCROSS_TO_WASM -DLIBNH
+WASM_CFLAGS = -Wall -Wextra -Wno-missing-field-initializers
+WASM_CFLAGS += -Wimplicit -Wreturn-type -Wunused -Wformat -Wswitch
+WASM_CFLAGS += -Wshadow
+# WASM_CFLAGS += -Wwrite-strings
+# WASM_CFLAGS += -Werror
+# Nethack C flags
+WASM_CFLAGS += $(WINCFLAGS)   #WINCFLAGS set from multiw-2.2020
+WASM_CFLAGS += -DSYSCF -DSYSCF_FILE=\"/sysconf\" -DSECURE
+WASM_CFLAGS += -g -I../include -DNOTPARMDECL
+WASM_CFLAGS += -DGCC_WARN
+# NetHack sources control
+WASM_CFLAGS += -DDLB
+WASM_CFLAGS += -DHACKDIR=\"$(HACKDIR)\"
+WASM_CFLAGS += -DDEFAULT_WINDOW_SYS=\"shim\" \
+#override TARGET_CFLAGS += -DGREPPATH=\"/usr/bin/grep\"
+WASM_CFLAGS += -DNOMAIL
+WASM_CFLAGS += $(LUAINCL)
+WASM_CFLAGS += -DNOTTYGRAPHICS -DSHIM_GRAPHICS -DLIBNH
+WASM_CFLAGS += -DCROSSCOMPILE
+WASM_TARGET_CFLAGS = -DCROSSCOMPILE_TARGET -DCROSS_TO_WASM
+# For src Makefile 
+override CFLAGS = $(WASM_CFLAGS)
+override TARGET_CFLAGS = $(EMCC_CFLAGS) $(WASM_CFLAGS) $(WASM_TARGET_CFLAGS)
+#
 override TARGET_CXXFLAGS = $(TARGET_CFLAGS)
 override TARGET_LINK = $(TARGET_CC)
 override TARGET_LFLAGS= $(EMCC_LFLAGS)
@@ -358,11 +377,11 @@ override WINLIB = emranlib
 override LUALIB=
 override REGEXOBJ = $(TARGETPFX)posixregex.o
 override WINOBJ=
-#override INSTDIR = $(WASM_DATA_DIR)
-#override PACKAGE= wasmpkg
-#override MOREALL = ( cd src ; $(MAKE) $(WASM_TARGET) )
+# don't bother Making regular NetHack executable
 override GAME=
-override ALLDEP = wasm
+# the real VARDAT hasn't been defined yet for use in ALLDEP override
+WASM_DAT = bogusmon data engrave epitaph oracles options quest.lua rumors
+override ALLDEP = include/nhlua.h $(WASM_DAT) wasm spec_levs check-dlb
 override PREGAME += mkdir -p $(TARGETDIR)/wasm-data ;
 override CLEANMORE += rm -rf $(TARGETDIR) ;
 RANLIB=$(EMRANLIB)