summaryrefslogtreecommitdiff
path: root/pristine_setup.sh
blob: 9e638f96e7f1afedb0b031ea4b298e2e6abaf7b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/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 " "