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