libnethack pr385
roll parts of pr385 into source tree
This does not take the PR as is.
Unlike the PR, this streamlines and minimizes the integration somewhat:
- use hints/include mechanism instead of creating alternative
Makefile.dat, Makefile.src, Makefile.top, Makefile.utl in sys/lib;
those would have been a maintenance nightmare.
- don't have alternative mkmkfile.sh and setup.sh in sys/lib.
- sys/lib/libnethackmain.c differed from sys/unix/unixmain.c by
very little, so just place a small bit of conditional code at the
top of sys/unix/unixmain.c instead.
- changed the conditional code bits from __EMSCRIPTEN__ to
CROSS_TO_WASM.
- You should be able to build the wasm result by:
cd sys/unix ; sh setup.sh hints/linux.2020 ; cd ../..
make fetch-lua (<-one time)
make WANT_LIBNH all
- You should be able to build LIBNBH by:
cd sys/unix ; sh setup.sh hints/linux.2020 ; cd ../..
make fetch-lua (<-one time)
make CROSS_TO_WASM=1 all
As it is currently coded, winshim.c requires C99.
This commit is contained in:
@@ -45,7 +45,17 @@ static void NDECL(wd_message);
|
||||
static boolean wiz_error_flag = FALSE;
|
||||
static struct passwd *NDECL(get_unix_pw);
|
||||
|
||||
int
|
||||
#if defined(CROSSCOMPILE_TARGET) && defined(CROSS_TO_WASM)
|
||||
/* for cross-compiling to WebAssembly (WASM) */
|
||||
#include <emscripten/emscripten.h>
|
||||
/* if WebAssembly, export this API and don't optimize it out */
|
||||
#define KEEP EMSCRIPTEN_KEEPALIVE
|
||||
#else
|
||||
#define KEEP
|
||||
#endif
|
||||
|
||||
|
||||
int KEEP
|
||||
main(argc, argv)
|
||||
int argc;
|
||||
char *argv[];
|
||||
|
||||
Reference in New Issue
Block a user