What's in/cooking updates
[git] / Make
1 #!/bin/sh
2
3 # DDD=' -DUSE_SYMLINK_HEAD=0'
4 # PATH=/usr/bin:/bin
5
6 G=/opt/packrat/playpen/public/in-place/git/index/gitweb_config.perl
7 for i in active maint master next
8 do
9         GIT="$HOME/git-$i/bin/git"
10         test -f "$GIT" && break
11 done
12 test -f "$GIT" || {
13         echo >&2 "No git to bootstrap"
14 }
15 PATH=/usr/bin:/bin
16 LANG=C
17 LC_ALL=C
18 export PATH LANG LC_ALL
19
20 # for now...
21 #GIT_SVN_NO_LIB=1
22 #export GIT_SVN_NO_LIB
23
24 old_style_def_fix=b79d18c92d9f4841a6a1a29b7b2373a8ff9871e1
25
26 head=`$GIT symbolic-ref HEAD 2>/dev/null` &&
27 branch=`expr "$head" : 'refs/heads/\(.*\)'` || branch=detached
28
29 case "$branch" in
30 next | maint | master | pu)
31         prefix="$HOME/git-$branch"
32         ;;
33 snap)
34         v=`$GIT describe HEAD`
35         expr "$v" : '.*-g[0-9a-f]*$' >/dev/null && {
36             echo >&2 "You are on 'snap' but $v is not an official version."
37             exit 1
38         }
39         prefix="$HOME/git-snap-$v"
40         ;;
41 *)
42         prefix="$HOME/git-test" ;;
43 esac
44 d="prefix=$prefix"
45
46 : ${O=-O2}
47
48 while case $# in 0) break ;; esac
49 do 
50         case "$1" in
51         -pedantic)
52                 o= &&
53                 rev=$($GIT rev-parse HEAD) &&
54                 case "$($GIT merge-base "$old_style_def_fix" "$rev")" in
55                 $old_style_def_fix)
56                         o=-Wold-style-definition ;;
57                 esac
58                 O="$O -Werror $o -std=c99 -Wno-pointer-to-int-cast"
59                 # O="$O -fwrapv -fno-strict-overflow"
60                 ;;
61         --)
62                 shift
63                 break
64                 ;;
65         -*)
66                 echo >&2 "Eh $1?"
67                 exit 1
68                 ;;
69         *)
70                 break
71                 ;;              
72         esac
73         shift
74 done
75
76 sh -c 'git describe --abbrev=4 HEAD' >/dev/null 2>&1 || {
77         $GIT describe --abbrev=4 HEAD | sed -e 's/-/./g' >version
78 }
79
80 make $d \
81      GITWEB_CONFIG=$G \
82      PYTHON_PATH=/usr/bin/python2.4 \
83      ETC_GITCONFIG=$prefix/etc/gitconfig \
84      CFLAGS="$O -Wall -Wdeclaration-after-statement -g" \
85      "$@"
86 status=$?
87 rm -f version
88 exit $status