From: nhmall Date: Fri, 9 Oct 2020 12:54:36 +0000 (-0400) Subject: more wasm build X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a09a41f9a34de818db1c093c936a30497916a90d;p=nethack more wasm build This issue https://github.com/NetHack/NetHack/issues/398 reported some issues with the wasm build. Attempt to resolve some of those. --- diff --git a/sys/unix/hints/include/cross-post.2020 b/sys/unix/hints/include/cross-post.2020 index 1822dbd12..de41a6628 100644 --- a/sys/unix/hints/include/cross-post.2020 +++ b/sys/unix/hints/include/cross-post.2020 @@ -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 # diff --git a/sys/unix/hints/include/cross-pre.2020 b/sys/unix/hints/include/cross-pre.2020 index ec87da241..fd279b4ee 100644 --- a/sys/unix/hints/include/cross-pre.2020 +++ b/sys/unix/hints/include/cross-pre.2020 @@ -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)