40 MAKE="cmd /C bmake.bat" |
29 MAKE="cmd /C bmake.bat" |
41 else |
30 else |
42 # LINUX |
31 # LINUX |
43 # to get Mercurial |
32 # to get Mercurial |
44 export PATH=$PATH:/home/vrany/bin |
33 export PATH=$PATH:/home/vrany/bin |
|
34 if [ $(uname -n) == 'exeptn' ]; then |
|
35 # On exeptn, default Java is 1.4, sigh |
|
36 export PATH=/usr/java/jdk1.7.0_13/bin:$PATH |
|
37 fi |
|
38 |
45 # Make using regular make here..." |
39 # Make using regular make here..." |
46 MAKE=make |
40 MAKE=make |
47 # Defaults |
41 # Defaults |
48 export CVSROOT="/cvs/stx" |
42 export CVSROOT="/cvs/stx" |
49 fi |
43 fi |
85 mkdir -p "$BUILD" |
79 mkdir -p "$BUILD" |
86 fi |
80 fi |
87 |
81 |
88 pushd "$BUILD" |
82 pushd "$BUILD" |
89 |
83 |
|
84 function checkout_hg { |
|
85 local directory=$1 |
|
86 local repository=$2 |
|
87 local branch=$3 |
|
88 |
|
89 if [ -z "$branch" ]; then |
|
90 branch=default |
|
91 fi |
|
92 |
|
93 if [ -d "$directory/CVS" ]; then |
|
94 rm -rf "$directory" |
|
95 fi |
|
96 |
|
97 if [ ! -d "$directory" ]; then |
|
98 if ! hg clone "$repository" "$directory" -b "$branch"; then |
|
99 echo "ERROR: HG: Cannot clone $directory"; |
|
100 exit; |
|
101 fi |
|
102 else |
|
103 if ! hg --cwd "$directory" pull; then |
|
104 echo "ERROR: HG: Cannot pull $directory"; |
|
105 exit; |
|
106 fi |
|
107 if ! hg --cwd "$directory" update; then |
|
108 echo "ERROR: HG: Cannot update $directory"; |
|
109 exit; |
|
110 fi |
|
111 fi |
|
112 |
|
113 } |
|
114 |
|
115 |
90 if [ -z "$SKIP_CHECKOUT" ]; then |
116 if [ -z "$SKIP_CHECKOUT" ]; then |
91 |
117 |
92 echo "INFO: Checking out source code" |
118 echo "INFO: Checking out source code" |
93 |
119 |
94 # Checkout stx |
120 # Checkout stx |
95 if [ ! -d stx ]; then |
121 if [ ! -d stx ]; then |
96 if ! cvs co stx; then |
122 if ! cvs co stx; then |
97 echo "ERROR: CVS: Cannot checkout stx"; |
123 echo "ERROR: CVS: Cannot checkout stx"; |
98 exit; |
124 exit; |
99 fi |
125 fi |
100 else |
126 else |
101 (cd stx && cvs update -d) |
127 (cd stx && cvs update -d) |
102 fi |
128 fi |
103 |
129 |
104 # Checkout stx:libjava |
130 checkout_hg stx/stc /home/vrany/repositories/hg/stx.stc jv |
105 if [ -d stx/libjava/CVS ]; then |
131 checkout_hg stx/librun /home/vrany/repositories/hg/stx.librun jv |
106 rm -rf stx/libjava |
132 |
|
133 # stx:libjava repo is huge, so first update from local cache |
|
134 # and then fetch updates from BitBucket. |
|
135 if [ $(uname -n) == 'exeptn' ]; then |
|
136 checkout_hg stx/libjava /home/vrany/repositories/hg/stx.libjava development |
107 fi |
137 fi |
108 |
138 checkout_hg stx/libjava https://janvrany@bitbucket.org/janvrany/stx-libjava development |
109 if [ ! -d stx/libjava ]; then |
|
110 if ! hg clone https://swing.fit.cvut.cz/hg/stx.libjava/ stx/libjava -b development; then |
|
111 echo "ERROR: HG: Cannot clone stx/libjava"; |
|
112 exit; |
|
113 fi |
|
114 else |
|
115 if ! hg --cwd stx/libjava pull; then |
|
116 echo "ERROR: HG: Cannot pull stx/libjava"; |
|
117 exit; |
|
118 fi |
|
119 if ! hg --cwd stx/libjava update; then |
|
120 echo "ERROR: HG: Cannot update stx/libjava"; |
|
121 exit; |
|
122 fi |
|
123 fi |
|
124 |
139 |
125 else |
140 else |
126 echo "INFO: Checkout skipped (SKIP_CHECKOUT=$SKIP_CHECKOUT)" |
141 echo "INFO: Checkout skipped (SKIP_CHECKOUT=$SKIP_CHECKOUT)" |
127 fi |
142 fi |
128 |
143 |
129 # Compile |
144 # Compile |
130 |
145 |
131 if [ -z "$SKIP_COMPILE" ]; then |
146 if [ -z "$SKIP_COMPILE" ]; then |
132 |
147 |
|
148 if [ "$UNIX" == "1" ]; then |
|
149 if [ ! -f stx/configurations/myConf ]; then |
|
150 (cd stx && ./CONFIG) |
|
151 fi |
|
152 # Hack... |
|
153 if [ ! -f stx/librun/makefile ]; then |
|
154 (cd stx/librun && ../rules/stmkmf) |
|
155 fi |
|
156 fi |
|
157 |
133 echo "INFO: Compiling" |
158 echo "INFO: Compiling" |
134 TARGETS1="stx stx/libjava stx/goodies/petitparser stx/libjava/tools stx/libjava/experiments stx/projects/smalltalk stx/librun" |
159 TARGETS1="stx stx/libjava stx/goodies/petitparser stx/libjava/tools stx/libjava/experiments stx/projects/smalltalk stx/librun" |
135 for target in $TARGETS1; do |
160 for target in $TARGETS1; do |
136 if ! (cd "$target" && $MAKE); then |
161 if ! (cd "$target" && $MAKE); then |
137 echo "ERROR: cannot $MAKE in $target" |
162 echo "ERROR: cannot $MAKE in $target" |
138 exit 3 |
163 exit 3 |
139 fi |
164 fi |
140 done |
165 done |
141 |
166 |
142 else |
167 else |
143 echo "INFO: Compilation skipped (SKIP_COMPILE=$SKIP_COMPILE)" |
168 echo "INFO: Compilation skipped (SKIP_COMPILE=$SKIP_COMPILE)" |
144 fi |
169 fi |
145 |
170 |
146 popd |
171 popd |