This page shows how to cross-compile bash for AT&T UnixPC. A pre-compiled binary is also available.
Bash is desirable for interactive use, for its commandline editing facilities. But not so much for configure scripts, due to its memory requirements that are higher than dash's.To cross-compile bash, you need:
- Mike Haertel's gcc cross-compiler for UnixPC
- Original Bash sources
- This patch with portability fixes, and fallback implementation for readdir library function.
Once you have downloaded these, build and install the cross compiler (if not yet done), and then follow the below instructions:
tar xzvf bash-2.05b.tar.gz mv bash-2.05b unixpc-bash cd unixpc-bash patch -p1 -s <../bash.diff cd .. mkdir compile-bash cd compile-bash ../unixpc-bash/configure --host unixpc --with-bash-malloc=no CC=/opt/unixpc/bin/unixpc-gcc RANLIB=/opt/unixpc/bin/unixpc-ranlib ac_cv_header_sys_wait_h=0 bash_cv_must_reinstall_sighandlers=yes touch builtins/psize.aux echo "#define PIPESIZE 10240" >builtins/pipesize.h make
To link bash with the shared library, add CFLAGS="-shlib -O3 -Os -fomit-frame-pointer" to the configure command line.
The compiled binary will be found in bash, you can transfer it to the UnixPC using kermit over the serial line, or using mtools.