src/tk/tkrawtcp.c: Micropolis build fixes for recent macOS Fix: tkrawtcp.c:658:3: error: implicit declaration of function 'TkBindError' is invalid in C99 [-Werror,-Wimplicit-function-declaration] TkBindError(interp); ^ tkrawtcp.c:665:3: error: implicit declaration of function 'TkBindError' is invalid in C99 [-Werror,-Wimplicit-function-declaration] TkBindError(interp); ^ tkrawtcp.c:672:3: error: implicit declaration of function 'TkBindError' is invalid in C99 [-Werror,-Wimplicit-function-declaration] TkBindError(interp); ^ tkrawtcp.c:680:3: error: implicit declaration of function 'TkBindError' is invalid in C99 [-Werror,-Wimplicit-function-declaration] TkBindError(interp); ^
src/tk/tkevent.c: Micropolis build fixes for recent macOS Fix: tkevent.c:682:3: error: implicit declaration of function 'TkWmProtocolEventProc' is invalid in C99 [-Werror,-Wimplicit-function-declaration] TkWmProtocolEventProc(winPtr, eventPtr); ^ tkevent.c:1447:5: error: implicit declaration of function 'Tcl_CheckForSignal' is invalid in C99 [-Werror,-Wimplicit-function-declaration] if (Tcl_CheckForSignal (tk_mainInterp, TCL_OK) == TCL_ERROR) ^ tkevent.c:1512:5: error: implicit declaration of function 'Tcl_CheckForSignal' is invalid in C99 [-Werror,-Wimplicit-function-declaration] if (Tcl_CheckForSignal (tk_mainInterp, TCL_OK) == TCL_ERROR) ^
src/tclx/src/tclxgdat.y: Micropolis build fixes for recent macOS Fix: y.tab.c:1310:16: error: implicit declaration of function 'yylex' is invalid in C99 [-Werror,-Wimplicit-function-declaration] yychar = YYLEX; ^ y.tab.c:1586:7: error: implicit declaration of function 'yyerror' is invalid in C99 [-Werror,-Wimplicit-function-declaration] yyerror (YY_("syntax error")); ^ y.tab.c:1732:3: error: implicit declaration of function 'yyerror' is invalid in C99 [-Werror,-Wimplicit-function-declaration] yyerror (YY_("memory exhausted")); ^
Makefile: Micropolis build fixes for recent macOS Hide the sim executable in an appropriately-named subdirectory of libexec rather than directly in libexec. In the micropolis wrapper script, use a shebang line, use exec so that the shell doesn't stay around, and quote user-supplied arguments properly.