@@ -23,10 +23,6 @@ CFG_GCC_CFLAGS :=
23
23
CFG_GCC_LINK_FLAGS :=
24
24
CFG_VALGRIND :=
25
25
26
- # Disable the ocaml backend on rustboot. It's too frustrating at this
27
- # point.
28
- NO_OCAML_LLVM := 1
29
-
30
26
CFG_LLVM_CONFIG ?= llvm-config
31
27
CFG_BOOT_FLAGS := $(FLAGS )
32
28
CFG_RUSTC_FLAGS := -nowarn
@@ -145,7 +141,6 @@ ifdef PROFILE
145
141
$(info cfg : building with profiling info (forcing native output))
146
142
CFG_NATIVE := 1
147
143
CFG_OCAMLOPT_PROFILE_FLAGS := -p
148
- NO_LLVM := 1
149
144
endif
150
145
151
146
ifdef DEBUG
@@ -182,52 +177,13 @@ ifneq ($(CFG_LLVM_CONFIG),)
182
177
expected one of $(CFG_LLVM_ALLOWED_VERSIONS))
183
178
endif
184
179
endif
185
- ifneq ($(CFG_LLVM_CONFIG ) ,)
186
- CFG_OCAML_LIBPATH := $(lastword \
187
- $(shell ocamlc$(OPT ) -config | grep standard_library:) )
188
- CFG_OCAML_LLVM := $(shell \
189
- for path in $(shell $(CFG_LLVM_CONFIG ) --libdir) /ocaml \
190
- $(CFG_OCAML_LIBPATH ) \
191
- $(CFG_OCAML_LIBPATH ) /llvm \
192
- $(CFG_OCAML_LIBPATH ) /llvm-$(CFG_LLVM_VERSION ) ; do \
193
- if test -e $${path}/llvm.cma; then echo $${path}; break; fi \
194
- done)
195
- ifneq ($(CFG_OCAML_LLVM),)
196
- $(info cfg : found LLVM ocaml bindings in $(CFG_OCAML_LLVM ) )
197
- endif
198
- endif
199
180
200
- ifdef NO_OCAML_LLVM
201
- $(info cfg : disabling LLVM ocaml bindings)
202
- CFG_OCAML_LLVM :=
203
- endif
181
+ VARIANT =x86
204
182
205
183
ifdef CFG_LLVM_CONFIG
206
184
LLC := "$(shell $(CFG_LLVM_CONFIG ) --bindir) /llc"
207
185
CFG_LLC_CFLAGS := -march=x86
208
186
LLVM-DIS := "$(shell $(CFG_LLVM_CONFIG ) --bindir) /llvm-dis"
209
- ifneq ($(CFG_OCAML_LLVM),)
210
- VARIANT =llvm
211
- LLVM_LIBS := llvm.cma llvm_bitwriter.cma
212
- LLVM_NATIVE_LIBS := llvm.cmxa llvm_bitwriter.cmxa
213
- LLVM_CLIBS := $(shell for c in `$(CFG_LLVM_CONFIG ) --ldflags --libs` \
214
- -lllvm -lllvm_bitwriter; do echo -cclib && echo $$c; done | xargs echo)
215
- LLVM_INCS := -I boot/llvm -I $(CFG_OCAML_LLVM )
216
- LLVM_MLS := $(addprefix boot/llvm/, llabi.ml llasm.ml llfinal.ml \
217
- lltrans.ml llemit.ml)
218
- else
219
- VARIANT =x86
220
- LLVM_CLIBS :=
221
- LLVM_INCS :=
222
- LLVM_MLS :=
223
- $(info cfg : disabling LLVM ocaml backend)
224
- endif
225
- else
226
- VARIANT =x86
227
- LLVM_CLIBS :=
228
- LLVM_INCS :=
229
- LLVM_MLS :=
230
- $(info cfg : disabling LLVM backend)
231
187
endif
232
188
233
189
MKFILES := Makefile
@@ -241,19 +197,14 @@ CFG_BOOT_FLAGS += -L .
241
197
# #####################################################################
242
198
243
199
ML_DEP_INCS := -I boot/fe -I boot/me -I boot/be -I boot/driver/$(VARIANT ) \
244
- -I boot/driver -I boot/util -I boot/llvm
200
+ -I boot/driver -I boot/util
245
201
ML_INCS := $(ML_DEP_INCS ) $(LLVM_INCS )
246
202
ML_LIBS := unix.cma nums.cma bigarray.cma
247
203
ML_NATIVE_LIBS := unix.cmxa nums.cmxa bigarray.cmxa
248
204
OCAMLC_FLAGS := -g $(ML_INCS ) -w Ael -warn-error Ael
249
205
OCAMLOPT_FLAGS := $(ML_INCS ) -w Ael -warn-error Ael \
250
206
$(CFG_OCAMLOPT_PROFILE_FLAGS )
251
207
252
- ifdef CFG_LLVM_CONFIG
253
- ML_LIBS += $(LLVM_LIBS ) -custom -cclib -lstdc++ $(LLVM_CLIBS )
254
- ML_NATIVE_LIBS += $(LLVM_NATIVE_LIBS ) -cclib -lstdc++ $(LLVM_CLIBS )
255
- endif
256
-
257
208
# List them in link order.
258
209
# Nobody calculates the link-order DAG automatically, sadly.
259
210
@@ -270,7 +221,7 @@ FE_MLS := $(addprefix boot/fe/, ast.ml token.ml lexer.ml parser.ml \
270
221
DRIVER_TOP_MLS := $(addprefix boot/driver/, lib.ml $(VARIANT ) /glue.ml main.ml)
271
222
272
223
BOOT_MLS := $(UTIL_BOT_MLS ) $(DRIVER_BOT_MLS ) $(FE_MLS ) $(IL_MLS ) $(ME_MLS ) \
273
- $(BE_MLS ) $(LLVM_MLS ) $( DRIVER_TOP_MLS )
224
+ $(BE_MLS ) $(DRIVER_TOP_MLS )
274
225
BOOT_CMOS := $(BOOT_MLS:.ml=.cmo )
275
226
BOOT_CMXS := $(BOOT_MLS:.ml=.cmx )
276
227
BOOT_OBJS := $(BOOT_MLS:.ml=.o )
@@ -458,59 +409,6 @@ TEST_XFAILS_X86 := $(TASK_XFAILS) \
458
409
test/compile-fail/infinite-vec-type-recursion.rs \
459
410
test/compile-fail/writing-through-read-alias.rs
460
411
461
- # Most tests fail on the boot-llvm backend, so we list the run-pass
462
- # xfails inside-out, by listing those that *don't* fail. A bit
463
- # double-negative-y but it's a bit unwieldy the other way just now.
464
-
465
- TEST_XFAILS_LLVM := $(TASK_XFAILS ) \
466
- $(NOMINAL_TAG_XFAILS ) \
467
- $(CONST_TAG_XFAILS ) \
468
- $(filter-out \
469
- $(addprefix test/run-pass/, \
470
- arith-0.rs \
471
- arith-2.rs \
472
- box.rs \
473
- char.rs \
474
- dead-code-one-arm-if.rs \
475
- div-mod.rs \
476
- drop-on-ret.rs \
477
- else-if.rs \
478
- fact.rs \
479
- generic-fn-twice.rs \
480
- generic-type.rs \
481
- generic-type-synonym.rs \
482
- hello.rs \
483
- inner-module.rs \
484
- int.rs \
485
- item-name-overload.rs \
486
- multiline-comment.rs \
487
- native.rs \
488
- native-mod.rs \
489
- native-opaque-type.rs \
490
- opeq.rs \
491
- return-nil.rs \
492
- syntax-extension-shell.rs \
493
- tup.rs) , \
494
- $(wildcard test/run-pass/* .rs) ) \
495
- $(addprefix test/run-fail/, \
496
- explicit-fail.rs \
497
- fail.rs \
498
- linked-failure.rs \
499
- non-exhaustive-match.rs \
500
- pred.rs \
501
- str-overrun.rs \
502
- vec-overrun.rs \
503
- vec-underrun.rs \
504
- task-comm-14.rs \
505
- ) \
506
- $(addprefix test/compile-fail/, \
507
- bad-recv.rs \
508
- bad-send.rs \
509
- infinite-vec-type-recursion.rs \
510
- rec-missing-fields.rs \
511
- writing-through-read-alias.rs \
512
- )
513
-
514
412
# Same strategy here for the time being: just list the ones that
515
413
# work and assume the others don't. Invert this when we're closer
516
414
# to actually bootstrapping.
@@ -578,12 +476,10 @@ TEST_XFAILS_SELF := $(filter-out \
578
476
579
477
ifdef MINGW_CROSS
580
478
TEST_XFAILS_X86 += test/run-pass/native-mod.rc
581
- TEST_XFAILS_LLVM += test/run-pass/native-mod.rc
582
479
TEST_XFAILS_SELF += test/run-pass/native-mod.rc
583
480
endif
584
481
ifdef CFG_WINDOWSY
585
482
TEST_XFAILS_X86 += test/run-pass/native-mod.rc
586
- TEST_XFAILS_LLVM += test/run-pass/native-mod.rc
587
483
TEST_XFAILS_SELF += test/run-pass/native-mod.rc
588
484
endif
589
485
@@ -596,105 +492,76 @@ CFAIL_RS := $(wildcard test/compile-fail/*.rs)
596
492
597
493
ifdef CHECK_XFAILS
598
494
TEST_RPASS_CRATES_X86 := $(filter $(TEST_XFAILS_X86 ) , $(RPASS_RC ) )
599
- TEST_RPASS_CRATES_LLVM := $(filter $(TEST_XFAILS_LLVM ) , $(RPASS_RC ) )
600
495
TEST_RPASS_CRATES_SELF := $(filter $(TEST_XFAILS_SELF ) , $(RPASS_RC ) )
601
496
TEST_RPASS_SOURCES_X86 := $(filter $(TEST_XFAILS_X86 ) , $(RPASS_RS ) )
602
- TEST_RPASS_SOURCES_LLVM := $(filter $(TEST_XFAILS_LLVM ) , $(RPASS_RS ) )
603
497
TEST_RPASS_SOURCES_SELF := $(filter $(TEST_XFAILS_SELF ) , $(RPASS_RS ) )
604
498
else
605
499
TEST_RPASS_CRATES_X86 := $(filter-out $(TEST_XFAILS_X86 ) , $(RPASS_RC ) )
606
- TEST_RPASS_CRATES_LLVM := $(filter-out $(TEST_XFAILS_LLVM ) , $(RPASS_RC ) )
607
500
TEST_RPASS_CRATES_SELF := $(filter-out $(TEST_XFAILS_SELF ) , $(RPASS_RC ) )
608
501
TEST_RPASS_SOURCES_X86 := $(filter-out $(TEST_XFAILS_X86 ) , $(RPASS_RS ) )
609
- TEST_RPASS_SOURCES_LLVM := $(filter-out $(TEST_XFAILS_LLVM ) , $(RPASS_RS ) )
610
502
TEST_RPASS_SOURCES_SELF := $(filter-out $(TEST_XFAILS_SELF ) , $(RPASS_RS ) )
611
503
endif
612
504
613
505
TEST_RPASS_EXES_X86 := \
614
506
$(TEST_RPASS_CRATES_X86:.rc=-boot.x86$(CFG_EXE_SUFFIX ) ) \
615
507
$(TEST_RPASS_SOURCES_X86:.rs=-boot.x86$(CFG_EXE_SUFFIX ) )
616
- TEST_RPASS_EXES_LLVM := \
617
- $(TEST_RPASS_CRATES_LLVM:.rc=-boot.llvm$(CFG_EXE_SUFFIX ) ) \
618
- $(TEST_RPASS_SOURCES_LLVM:.rs=-boot.llvm$(CFG_EXE_SUFFIX ) )
619
508
TEST_RPASS_EXES_SELF := \
620
509
$(TEST_RPASS_CRATES_SELF:.rc=.llvm$(CFG_EXE_SUFFIX ) ) \
621
510
$(TEST_RPASS_SOURCES_SELF:.rs=.llvm$(CFG_EXE_SUFFIX ) )
622
511
623
512
TEST_RPASS_OUTS_X86 := \
624
513
$(TEST_RPASS_EXES_X86:.x86$(CFG_EXE_SUFFIX ) =.x86.out )
625
- TEST_RPASS_OUTS_LLVM := \
626
- $(TEST_RPASS_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX ) =.llvm.out )
627
514
TEST_RPASS_OUTS_SELF := \
628
515
$(TEST_RPASS_EXES_SELF:.llvm$(CFG_EXE_SUFFIX ) =.llvm.out )
629
516
630
517
TEST_RPASS_TMPS_X86 := \
631
518
$(TEST_RPASS_EXES_X86:.x86$(CFG_EXE_SUFFIX ) =.x86$(CFG_EXE_SUFFIX ) .tmp )
632
- TEST_RPASS_TMPS_LLVM := \
633
- $(TEST_RPASS_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX ) =.llvm$(CFG_EXE_SUFFIX ) .tmp )
634
519
TEST_RPASS_TMPS_SELF := \
635
520
$(TEST_RPASS_EXES_SELF:.llvm$(CFG_EXE_SUFFIX ) =.llvm$(CFG_EXE_SUFFIX ) .tmp )
636
521
637
522
638
523
TEST_RFAIL_CRATES_X86 := $(filter-out $(TEST_XFAILS_X86 ) , $(RFAIL_RC ) )
639
- TEST_RFAIL_CRATES_LLVM := $(filter-out $(TEST_XFAILS_LLVM ) , $(RFAIL_RC ) )
640
524
TEST_RFAIL_CRATES_SELF := $(filter-out $(TEST_XFAILS_SELF ) , $(RFAIL_RC ) )
641
525
TEST_RFAIL_SOURCES_X86 := $(filter-out $(TEST_XFAILS_X86 ) , $(RFAIL_RS ) )
642
- TEST_RFAIL_SOURCES_LLVM := $(filter-out $(TEST_XFAILS_LLVM ) , $(RFAIL_RS ) )
643
526
TEST_RFAIL_SOURCES_SELF := $(filter-out $(TEST_XFAILS_SELF ) , $(RFAIL_RS ) )
644
527
645
528
TEST_RFAIL_EXES_X86 := \
646
529
$(TEST_RFAIL_CRATES_X86:.rc=-boot.x86$(CFG_EXE_SUFFIX ) ) \
647
530
$(TEST_RFAIL_SOURCES_X86:.rs=-boot.x86$(CFG_EXE_SUFFIX ) )
648
- TEST_RFAIL_EXES_LLVM := \
649
- $(TEST_RFAIL_CRATES_LLVM:.rc=-boot.llvm$(CFG_EXE_SUFFIX ) ) \
650
- $(TEST_RFAIL_SOURCES_LLVM:.rs=-boot.llvm$(CFG_EXE_SUFFIX ) )
651
531
TEST_RFAIL_EXES_SELF := \
652
532
$(TEST_RFAIL_CRATES_SELF:.rc=-boot.llvm$(CFG_EXE_SUFFIX ) ) \
653
533
$(TEST_RFAIL_SOURCES_SELF:.rs=-boot.llvm$(CFG_EXE_SUFFIX ) )
654
534
655
535
TEST_RFAIL_OUTS_X86 := \
656
536
$(TEST_RFAIL_EXES_X86:.x86$(CFG_EXE_SUFFIX ) =.x86.out )
657
- TEST_RFAIL_OUTS_LLVM := \
658
- $(TEST_RFAIL_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX ) =.llvm.out )
659
537
TEST_RFAIL_OUTS_SELF := \
660
538
$(TEST_RFAIL_EXES_SELF:.llvm$(CFG_EXE_SUFFIX ) =.llvm.out )
661
539
662
540
TEST_RFAIL_TMPS_X86 := \
663
541
$(TEST_RFAIL_EXES_X86:.x86$(CFG_EXE_SUFFIX ) =.x86$(CFG_EXE_SUFFIX ) .tmp )
664
- TEST_RFAIL_TMPS_LLVM := \
665
- $(TEST_RFAIL_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX ) =.llvm$(CFG_EXE_SUFFIX ) .tmp )
666
542
TEST_RFAIL_TMPS_SELF := \
667
543
$(TEST_RFAIL_EXES_SELF:.llvm$(CFG_EXE_SUFFIX ) =.llvm$(CFG_EXE_SUFFIX ) .tmp )
668
544
669
545
670
546
TEST_CFAIL_CRATES_X86 := $(filter-out $(TEST_XFAILS_X86 ) , $(CFAIL_RC ) )
671
- TEST_CFAIL_CRATES_LLVM := $(filter-out $(TEST_XFAILS_LLVM ) , $(CFAIL_RC ) )
672
547
TEST_CFAIL_CRATES_SELF := $(filter-out $(TEST_XFAILS_SELF ) , $(CFAIL_RC ) )
673
548
TEST_CFAIL_SOURCES_X86 := $(filter-out $(TEST_XFAILS_X86 ) , $(CFAIL_RS ) )
674
- TEST_CFAIL_SOURCES_LLVM := $(filter-out $(TEST_XFAILS_LLVM ) , $(CFAIL_RS ) )
675
549
TEST_CFAIL_SOURCES_SELF := $(filter-out $(TEST_XFAILS_SELF ) , $(CFAIL_RS ) )
676
550
677
551
TEST_CFAIL_EXES_X86 := \
678
552
$(TEST_CFAIL_CRATES_X86:.rc=-boot.x86$(CFG_EXE_SUFFIX ) ) \
679
553
$(TEST_CFAIL_SOURCES_X86:.rs=-boot.x86$(CFG_EXE_SUFFIX ) )
680
- TEST_CFAIL_EXES_LLVM := \
681
- $(TEST_CFAIL_CRATES_LLVM:.rc=-boot.llvm$(CFG_EXE_SUFFIX ) ) \
682
- $(TEST_CFAIL_SOURCES_LLVM:.rs=-boot.llvm$(CFG_EXE_SUFFIX ) )
683
554
TEST_CFAIL_EXES_SELF := \
684
555
$(TEST_CFAIL_CRATES_SELF:.rc=.llvm$(CFG_EXE_SUFFIX ) ) \
685
556
$(TEST_CFAIL_SOURCES_SELF:.rs=.llvm$(CFG_EXE_SUFFIX ) )
686
557
687
558
TEST_CFAIL_OUTS_X86 := \
688
559
$(TEST_CFAIL_EXES_X86:.x86$(CFG_EXE_SUFFIX ) =.x86.out )
689
- TEST_CFAIL_OUTS_LLVM := \
690
- $(TEST_CFAIL_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX ) =.llvm.out )
691
560
TEST_CFAIL_OUTS_SELF := \
692
561
$(TEST_CFAIL_EXES_SELF:.llvm$(CFG_EXE_SUFFIX ) =.llvm.out )
693
562
694
563
TEST_CFAIL_TMPS_X86 := \
695
564
$(TEST_CFAIL_EXES_X86:.x86$(CFG_EXE_SUFFIX ) =.x86$(CFG_EXE_SUFFIX ) .tmp )
696
- TEST_CFAIL_TMPS_LLVM := \
697
- $(TEST_CFAIL_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX ) =.llvm$(CFG_EXE_SUFFIX ) .tmp )
698
565
TEST_CFAIL_TMPS_SELF := \
699
566
$(TEST_CFAIL_EXES_SELF:.llvm$(CFG_EXE_SUFFIX ) =.llvm$(CFG_EXE_SUFFIX ) .tmp )
700
567
@@ -723,28 +590,6 @@ compile-check: tidy \
723
590
724
591
ifdef CFG_LLVM_CONFIG
725
592
726
- ifneq ($(CFG_OCAML_LLVM ) ,)
727
-
728
- ALL_TEST_CRATES += $(TEST_CFAIL_CRATES_LLVM ) \
729
- $(TEST_RFAIL_CRATES_LLVM ) \
730
- $(TEST_RPASS_CRATES_LLVM )
731
-
732
- ALL_TEST_SOURCES += $(TEST_CFAIL_SOURCES_LLVM ) \
733
- $(TEST_RFAIL_SOURCES_LLVM ) \
734
- $(TEST_RPASS_SOURCES_LLVM )
735
-
736
- check_nocompile : $(TEST_CFAIL_OUTS_LLVM )
737
-
738
- check : tidy \
739
- $(TEST_RPASS_EXES_LLVM) $(TEST_RFAIL_EXES_LLVM) \
740
- $(TEST_RPASS_OUTS_LLVM) $(TEST_RFAIL_OUTS_LLVM) \
741
- $(TEST_CFAIL_OUTS_LLVM)
742
-
743
- compile-check : tidy \
744
- $(TEST_RPASS_EXES_LLVM) $(TEST_RFAIL_EXES_LLVM)
745
-
746
- endif
747
-
748
593
ALL_TEST_CRATES += $(TEST_CFAIL_CRATES_SELF ) \
749
594
$(TEST_RFAIL_CRATES_SELF ) \
750
595
$(TEST_RPASS_CRATES_SELF )
@@ -761,7 +606,6 @@ check: tidy \
761
606
$(TEST_CFAIL_OUTS_SELF)
762
607
763
608
compile-check : tidy \
764
- $(TEST_RPASS_EXES_LLVM) $(TEST_RFAIL_EXES_LLVM) \
765
609
$(TEST_RPASS_EXES_SELF) $(TEST_RFAIL_EXES_SELF)
766
610
767
611
endif
0 commit comments