1#!/bin/sh
2#
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.
10#
11# If you use a ? in your path name, you lose, see sed command below.
12
13export LC_ALL=POSIX
14export LC_CTYPE=POSIX
15
16DIR=${0%%/pristine_setup.sh}
17if [ ! -d $DIR ]; then
18  echo "unexpected problem: $DIR is not a directory.  Aborting pristine setup"
19  exit
20fi
21
22echo " "
23
24if [ -e ./Config.h ]; then
25    echo "./Config.h already exists: not overwriting"
26    exit
27fi
28
29if [ -e ./Makefile ]; then
30    echo "./Makefile already exists: not overwriting"
31fi
32
33sed -e "s?BB_SRC_DIR =.*?BB_SRC_DIR = $DIR?" <$DIR/Makefile >Makefile || exit
34cp $DIR/Config.h Config.h || exit
35#mkdir -p pwd_grp
36
37if [ ! -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."
40fi
41
42echo " "
43echo "You may now type 'make' to build busybox in this directory"
44echo "($PWD) using the pristine sources in $DIR"
45echo " "
46
47