File tree Expand file tree Collapse file tree 4 files changed +29
-8
lines changed Expand file tree Collapse file tree 4 files changed +29
-8
lines changed Original file line number Diff line number Diff line change @@ -165,6 +165,25 @@ LLVM_AS := $(CFG_LLVM_BINDIR)/llvm-as
165
165
# Single-target rules
166
166
# #####################################################################
167
167
168
+ ifneq ($(CFG_IN_TRANSITION ) ,)
169
+
170
+ CFG_INFO := $(info cfg: *** compiler is in snapshot transition *** )
171
+ CFG_INFO := $(info cfg: *** stage2 and later will not be built *** )
172
+
173
+ all : rt/$(CFG_RUNTIME ) \
174
+ rustllvm/$(CFG_RUSTLLVM) \
175
+ stage0/$(CFG_STDLIB) \
176
+ stage0/intrinsics.bc \
177
+ stage0/rustc$(X) \
178
+ $(GENERATED) \
179
+ $(DOCS) \
180
+ stage1/$(CFG_STDLIB) \
181
+ stage1/intrinsics.bc \
182
+ stage1/glue.o \
183
+ stage1/rustc$(X) \
184
+
185
+ else
186
+
168
187
all : rt/$(CFG_RUNTIME ) \
169
188
rustllvm/$(CFG_RUSTLLVM) \
170
189
stage0/$(CFG_STDLIB) \
@@ -185,12 +204,14 @@ all: rt/$(CFG_RUNTIME) \
185
204
stage3/intrinsics.bc \
186
205
stage3/rustc$(X)
187
206
207
+ endif
208
+
188
209
189
210
# #####################################################################
190
211
# Re-configuration
191
212
# #####################################################################
192
213
193
- config.mk : $(S ) configure $(S ) Makefile.in
214
+ config.mk : $(S ) configure $(S ) Makefile.in $( S ) src/snapshots.txt
194
215
@$(call E, cfg: reconfiguring)
195
216
$(S ) configure $(CFG_CONFIGURE_ARGS )
196
217
Original file line number Diff line number Diff line change @@ -217,6 +217,12 @@ then
217
217
err " either clang or gcc is required"
218
218
fi
219
219
220
+ if head -n 1 ${CFG_SRC_DIR} src/snapshots.txt | grep -q ' ^T'
221
+ then
222
+ CFG_IN_TRANSITION=1
223
+ putvar CFG_IN_TRANSITION
224
+ fi
225
+
220
226
# Valgrind is only reliable on Linux. On Windows it doesn't work at all, and
221
227
# on the Mac the dynamic linker causes Valgrind to emit a huge stream of
222
228
# errors.
Original file line number Diff line number Diff line change @@ -41,9 +41,6 @@ def determine_curr_snapshot_for_platform():
41
41
parsed = parse_line (i , line )
42
42
if (not parsed ): continue
43
43
44
- if parsed ["type" ] == "transition" :
45
- raise Exception ("working on a transition, not updating stage0" )
46
-
47
44
if found_snap and parsed ["type" ] == "file" :
48
45
if parsed ["platform" ] == platform :
49
46
hsh = parsed ["hash" ]
Original file line number Diff line number Diff line change @@ -35,10 +35,7 @@ def parse_line(n, line):
35
35
match = re .match (r"([ST]) (\d{4}-\d{2}-\d{2}) ([a-fA-F\d]+)\s*$" , line );
36
36
if (not match ):
37
37
raise Exception ("%s:%d:E syntax error" % (snapshotfile , n ))
38
- ttype = "snapshot"
39
- if (match .group (1 ) == "T" ):
40
- ttype = "transition"
41
- return {"type" : ttype ,
38
+ return {"type" : "snapshot" ,
42
39
"date" : match .group (2 ),
43
40
"rev" : match .group (3 )}
44
41
You can’t perform that action at this time.
0 commit comments