hush/pristine_setup.sh

47 lines
1.3 KiB
Bash
Raw Normal View History

#!/bin/sh
#
# To compile BusyBox without touching the original sources
# (as might be interesting for multi-target builds), create
# an empty directory, cd into it, and run this program by
# giving its explicit path (kind of like how you would run
# configure, if BusyBox had one). Then you should be ready
# to "make". Files in the build tree, in particular Config.h,
# will override those in the pristine source tree.
#
# If you use a ? in your path name, you lose, see sed command below.
export LC_ALL=POSIX
export LC_CTYPE=POSIX
DIR=${0%%/pristine_setup.sh}
if [ ! -d $DIR ]; then
echo "unexpected problem: $DIR is not a directory. Aborting pristine setup"
exit
fi
echo " "
if [ -e ./Config.h ]; then
echo "./Config.h already exists: not overwriting"
exit
fi
if [ -e ./Makefile ]; then
echo "./Makefile already exists: not overwriting"
fi
sed -e "s?BB_SRC_DIR =.*?BB_SRC_DIR = $DIR?" <$DIR/Makefile >Makefile || exit
cp $DIR/Config.h Config.h || exit
#mkdir -p pwd_grp
if [ ! -r $DIR/sh.c ]; then
echo "Warning: no shell selected. You must make the symlink (sh.c to either"
echo "lash.c or hush.c) in $DIR, not here."
fi
echo " "
echo "You may now type 'make' to build busybox in this directory"
echo "($PWD) using the pristine sources in $DIR"
echo " "