Source
bash is located in the MSYS module on the cvs server. It's current folder is /msys/packages/bash/ and then the version number (either 2.04 or 2.05b)
Environment
bash can be built under MSYS and for target MSYS. To be able to build it, you'll need to have installed MSYS, MSYS Developer? and MSYS Developer Toolkit?. Additionally, you must also install bison and flex.
Bash will not build under MinGW shell as it has not been ported to native Windows.
Prerequisites
Please check that your "termios.h" file is correct. If this is not the case then you'll have problems during the building stage.
Configuring
Configure bash from a separate directory.
Important configure switches are :
- FIXME : to be done
Troubleshooting
- error "include/shtty.h:61: sgtty.h: No such file or directory"
Reason : configure did not notice that you had the termios.h file. This is because your termios.h is buggy.
Solution : Fix "termios.h" and then either run "make CFLAGS=-DHAVE_TERMIOS_H" (not recommended) or make a distclean and reconfigure (recommended). - error "termios.h:48: badly punctuated parameter list in `#define'"
Reason : configure did notice you had the termios.h, but it's still buggy (or you're just running "make CFLAGS=-DHAVE_TERMIOS_H" without having fixed your termios.h file).
Solution : Fix "termios.h" and then either run "make CFLAGS=-DHAVE_TERMIOS_H" (not recommended) or make a distclean and reconfigure (recommended). - error "Unknown directive `END ... Dumping stack trace to mkbuiltins.exe.stackdump"
Reason : The def files in the builtin directory are Window formated text files, they use a CR LF line ending. This upsets the tool mkbuiltin.exe
Solution : Either redownload the CVS source being sure that your cvs is configured to use UNIX line endings (LF), or open and modify every def file in the builtin directory so that they only use LF line endings.
Example of fix: find . -name '*.def' -exec dos2unix -k -o '{}' ';'


