fix some libnh wasm build issues
emcc: error: linker setting ignored during compilation: 'ASSERTIONS' [-Wunused-command-line-argument] [-Werror]
make[1]: *** [Makefile:1306: ../targets/wasm/allmain.o] Error 1
wasm-ld: error: ../targets/wasm/version.o: undefined symbol: nomakedefs
These ones look like actual NetHack issues that this particular compile is catching due to
default -Wunused-but-set-variable.
In the interest of time today, I mostly resorted to using nhUse() on them for now, but a
follow-up by someone might be useful.
options.c:6069:13: error: variable 'ret' set but not used [-Werror,-Wunused-but-set-variable]
boolean ret = FALSE;
^
restore.c:903:9: error: variable 'len' set but not used [-Werror,-Wunused-but-set-variable]
int len = 0;
^
uhitm.c:4539:43: error: variable 'nsum' set but not used [-Werror,-Wunused-but-set-variable]
int i, tmp, armorpenalty, sum[NATTK], nsum = MM_MISS,
^
This commit is contained in:
@@ -6074,6 +6074,8 @@ parsebindings(char *bindings)
|
|||||||
ret |= parsebindings(bind);
|
ret |= parsebindings(bind);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nhUse(ret);
|
||||||
|
|
||||||
/* parse a single binding: first split around : */
|
/* parse a single binding: first split around : */
|
||||||
if (! (bind = index(bindings, ':')))
|
if (! (bind = index(bindings, ':')))
|
||||||
return FALSE; /* it's not a binding */
|
return FALSE; /* it's not a binding */
|
||||||
|
|||||||
@@ -927,6 +927,7 @@ rest_stairs(NHFILE* nhfp)
|
|||||||
if (newst)
|
if (newst)
|
||||||
newst->u_traversed = stway.u_traversed;
|
newst->u_traversed = stway.u_traversed;
|
||||||
}
|
}
|
||||||
|
nhUse(len); /* unclear why this variable exists though */
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
@@ -4541,6 +4541,13 @@ hmonas(struct monst *mon)
|
|||||||
int dieroll, multi_claw = 0;
|
int dieroll, multi_claw = 0;
|
||||||
boolean monster_survived;
|
boolean monster_survived;
|
||||||
|
|
||||||
|
/* FIXME: One compiler was getting a fatal
|
||||||
|
variable nsum set but not used [-Werror,-Wunused-but-set-variable]
|
||||||
|
For now, I'm working around it with nhUse() but it should be
|
||||||
|
investigated when someone has the time.
|
||||||
|
*/
|
||||||
|
nhUse(nsum);
|
||||||
|
|
||||||
/* not used here but umpteen mhitm_ad_xxxx() need this */
|
/* not used here but umpteen mhitm_ad_xxxx() need this */
|
||||||
g.vis = (canseemon(mon) || distu(mon->mx, mon->my) <= 2);
|
g.vis = (canseemon(mon) || distu(mon->mx, mon->my) <= 2);
|
||||||
|
|
||||||
|
|||||||
@@ -42,10 +42,10 @@ dospkg: $(GAMEBIN) $(TARGETPFX)recover.exe ../dat/nhtiles.bmp
|
|||||||
endif # CROSS_TO_MSDOS
|
endif # CROSS_TO_MSDOS
|
||||||
|
|
||||||
ifdef CROSS_TO_WASM
|
ifdef CROSS_TO_WASM
|
||||||
$(WASM_TARGET): pregame $(HOSTOBJ) $(HOBJ) $(LUACROSSLIB) $(WASM_DATA_DIR)
|
$(WASM_TARGET): pregame $(TARGETPFX)date.o $(HOSTOBJ) $(HOBJ) $(LUACROSSLIB) $(WASM_DATA_DIR)
|
||||||
-rm $@
|
-rm $@
|
||||||
$(TARGET_CC) $(TARGET_LFLAGS) $(TARGET_CFLAGS) -o $@ \
|
$(TARGET_CC) $(TARGET_LFLAGS) $(TARGET_CFLAGS) -o $@ \
|
||||||
$(HOBJ) $(TARGET_LIBS)
|
$(HOBJ) $(TARGETPFX)date.o $(TARGET_LIBS)
|
||||||
|
|
||||||
$(WASM_DATA_DIR): $(WASM_DATA_DIR)/nhdat
|
$(WASM_DATA_DIR): $(WASM_DATA_DIR)/nhdat
|
||||||
touch $(WASM_DATA_DIR)/perm
|
touch $(WASM_DATA_DIR)/perm
|
||||||
|
|||||||
@@ -232,21 +232,23 @@ EMCC_CFLAGS += -Wall
|
|||||||
EMCC_CFLAGS += -Werror
|
EMCC_CFLAGS += -Werror
|
||||||
EMCC_CFLAGS += -DNO_SIGNAL
|
EMCC_CFLAGS += -DNO_SIGNAL
|
||||||
#EMCC_CFLAGS += -s DISABLE_EXCEPTION_CATCHING=0
|
#EMCC_CFLAGS += -s DISABLE_EXCEPTION_CATCHING=0
|
||||||
#EMCC_DEBUG_CFLAGS += -s ASSERTIONS=1
|
EMCC_DEBUG_LFLAGS += -s ASSERTIONS=1
|
||||||
EMCC_DEBUG_CFLAGS += -s ASSERTIONS=2
|
EMCC_DEBUG_LFLAGS += -s ASSERTIONS=2
|
||||||
EMCC_DEBUG_CFLAGS += -s STACK_OVERFLOW_CHECK=2
|
EMCC_DEBUG_LFLAGS += -s STACK_OVERFLOW_CHECK=2
|
||||||
EMCC_DEBUG_CFLAGS += -s SAFE_HEAP=1
|
EMCC_DEBUG_LFLAGS += -s SAFE_HEAP=1
|
||||||
EMCC_DEBUG_CFLAGS += -s LLD_REPORT_UNDEFINED=1
|
EMCC_DEBUG_LFLAGS += -s LLD_REPORT_UNDEFINED=1
|
||||||
EMCC_DEBUG_CFLAGS += -s EXCEPTION_DEBUG=1
|
EMCC_DEBUG_LFLAGS += -s EXCEPTION_DEBUG=1
|
||||||
#EMCC_DEBUG_CFLAGS += -fsanitize=undefined -fsanitize=address -fsanitize=leak
|
#EMCC_DEBUG_CFLAGS += -fsanitize=undefined -fsanitize=address -fsanitize=leak
|
||||||
EMCC_DEBUG_CFLAGS += -s NO_EXIT_RUNTIME
|
EMCC_DEBUG_LFLAGS += -s NO_EXIT_RUNTIME
|
||||||
# XXX: if --profiling isn't included then any error dumps 10MB of WASM to the screen rather than a useful message
|
# XXX: if --profiling isn't included then any error dumps 10MB of WASM to the screen rather than a useful message
|
||||||
EMCC_DEBUG_CFLAGS += --profiling
|
EMCC_DEBUG_LFLAGS += --profiling
|
||||||
EMCC_PROD_CFLAGS += -O3
|
EMCC_PROD_CFLAGS += -O3
|
||||||
ifdef WASM_DEBUG
|
ifdef WASM_DEBUG
|
||||||
EMCC_CFLAGS += $(EMCC_DEBUG_CFLAGS)
|
EMCC_CFLAGS += $(EMCC_DEBUG_CFLAGS)
|
||||||
|
EMCC_LFLAGS += $(EMCC_DEBUG_LFLAGS)
|
||||||
else
|
else
|
||||||
EMCC_CFLAGS += $(EMCC_PROD_CFLAGS)
|
EMCC_CFLAGS += $(EMCC_PROD_CFLAGS)
|
||||||
|
EMCC_LFLAGS += $(EMCC_PROD_LFLAGS)
|
||||||
endif
|
endif
|
||||||
#
|
#
|
||||||
# Override the build tools and some obj files to
|
# Override the build tools and some obj files to
|
||||||
|
|||||||
Reference in New Issue
Block a user