Closed cardiffman closed 8 years ago
HAVE_SHELL is defined to 1 or 0 in compile/Makefile depending on whether the "shell" application is enabled by the platformVars file. And the "shell" application is currently enabled for all supported platforms.
What platform are you compiling Xinu for?
I'm compiling for Raspberry Pi. I see that shell seems to be enabled in APPCOMPS and that HAVE_SHELL should be -DHAVE_SHELL=1 as a result. However I didn't see a banner or shell prompt on the HDMI monitor until I added the line that I added.
I'm guessing that was a different problem (I have no idea what). If you compile with VERBOSE=1 you can verify that -DHAVE_SHELL=1 is passed to all the gcc command lines.
I'll close this issue. I'll write it off as ignorance of the details of the build system. I have worked with many and they all have a learning curve for the folks that didn't build it in the first place. I'll figure out something else to blame the runtime problem on. If I do I'll share here.
HAVE_SHELL is not defined...
In system/main.c the variables that hold the devices that could be used with shells and the loop that creates shell instances from those devices are disabled because HAVE_SHELL gates the declaration of those variables and that loop.
I am ignorant of how that variable might have been meant to be defined so I decided not to submit a PR. For myself I inserted '#define HAVE_SHELL' just before the top of main() on line 21 of system/main.c