mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-01 03:33:42 +00:00
[OCaml] PR9719, PR14727: Make tests run without ocamlopt.
Previously, tests hardcoded ocamlopt and cmxa, which broke builds on machines without ocamlopt. Instead, they now fall back to ocamlc. As a side effect this fixes PR14727, which was caused by a crude hack that replaced gcc with g++ everywhere in the ocamlopt native compiler path and passes it back using -cc. Now the tests use the same technique as META, i.e. -cclib -lstdc++. It might be more fragile than using g++ explicitly, but it will break when the installed package will also break, which is good. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220828 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
686e157176
commit
b4d023aafe
@ -1,7 +1,7 @@
|
||||
(* RUN: rm -rf %t.builddir
|
||||
* RUN: mkdir -p %t.builddir
|
||||
* RUN: cp %s %t.builddir
|
||||
* RUN: %ocamlopt -warn-error A llvm.cmxa llvm_analysis.cmxa %t.builddir/analysis.ml -o %t
|
||||
* RUN: %ocamlcomp -warn-error A llvm.%cma llvm_analysis.%cma %t.builddir/analysis.ml -o %t
|
||||
* RUN: %t
|
||||
* XFAIL: vg_leak
|
||||
*)
|
||||
|
@ -1,7 +1,7 @@
|
||||
(* RUN: rm -rf %t.builddir
|
||||
* RUN: mkdir -p %t.builddir
|
||||
* RUN: cp %s %t.builddir
|
||||
* RUN: %ocamlopt -warn-error A llvm.cmxa llvm_bitreader.cmxa llvm_bitwriter.cmxa %t.builddir/bitreader.ml -o %t
|
||||
* RUN: %ocamlcomp -warn-error A llvm.%cma llvm_bitreader.%cma llvm_bitwriter.%cma %t.builddir/bitreader.ml -o %t
|
||||
* RUN: %t %t.bc
|
||||
* RUN: llvm-dis < %t.bc
|
||||
* XFAIL: vg_leak
|
||||
|
@ -1,7 +1,7 @@
|
||||
(* RUN: rm -rf %t.builddir
|
||||
* RUN: mkdir -p %t.builddir
|
||||
* RUN: cp %s %t.builddir
|
||||
* RUN: %ocamlopt -warn-error A-3 unix.cmxa llvm.cmxa llvm_bitwriter.cmxa %t.builddir/bitwriter.ml -o %t
|
||||
* RUN: %ocamlcomp -warn-error A-3 unix.%cma llvm.%cma llvm_bitwriter.%cma %t.builddir/bitwriter.ml -o %t
|
||||
* RUN: %t %t.bc
|
||||
* RUN: llvm-dis < %t.bc
|
||||
* XFAIL: vg_leak
|
||||
|
@ -1,7 +1,7 @@
|
||||
(* RUN: rm -rf %t.builddir
|
||||
* RUN: mkdir -p %t.builddir
|
||||
* RUN: cp %s %t.builddir
|
||||
* RUN: %ocamlopt -warn-error A llvm.cmxa llvm_target.cmxa llvm_executionengine.cmxa %t.builddir/executionengine.ml -o %t
|
||||
* RUN: %ocamlcomp -warn-error A llvm.%cma llvm_target.%cma llvm_executionengine.%cma %t.builddir/executionengine.ml -o %t
|
||||
* RUN: %t
|
||||
* XFAIL: vg_leak hexagon
|
||||
*)
|
||||
|
@ -1,7 +1,7 @@
|
||||
(* RUN: rm -rf %t.builddir
|
||||
* RUN: mkdir -p %t.builddir
|
||||
* RUN: cp %s %t.builddir
|
||||
* RUN: %ocamlopt -warn-error A llvm.cmxa llvm_bitreader.cmxa llvm_executionengine.cmxa %t.builddir/ext_exc.ml -o %t
|
||||
* RUN: %ocamlcomp -warn-error A llvm.%cma llvm_bitreader.%cma llvm_executionengine.%cma %t.builddir/ext_exc.ml -o %t
|
||||
* RUN: %t </dev/null
|
||||
* XFAIL: vg_leak
|
||||
*)
|
||||
|
@ -1,7 +1,7 @@
|
||||
(* RUN: rm -rf %t.builddir
|
||||
* RUN: mkdir -p %t.builddir
|
||||
* RUN: cp %s %t.builddir
|
||||
* RUN: %ocamlopt -warn-error A llvm.cmxa llvm_ipo.cmxa llvm_target.cmxa %t.builddir/ipo_opts.ml -o %t
|
||||
* RUN: %ocamlcomp -warn-error A llvm.%cma llvm_ipo.%cma llvm_target.%cma %t.builddir/ipo_opts.ml -o %t
|
||||
* RUN: %t %t.bc
|
||||
* XFAIL: vg_leak
|
||||
*)
|
||||
|
@ -1,7 +1,7 @@
|
||||
(* RUN: rm -rf %t.builddir
|
||||
* RUN: mkdir -p %t.builddir
|
||||
* RUN: cp %s %t.builddir
|
||||
* RUN: %ocamlopt -g -warn-error A llvm.cmxa llvm_irreader.cmxa %t.builddir/irreader.ml -o %t
|
||||
* RUN: %ocamlcomp -g -warn-error A llvm.%cma llvm_irreader.%cma %t.builddir/irreader.ml -o %t
|
||||
* RUN: %t
|
||||
* XFAIL: vg_leak
|
||||
*)
|
||||
|
@ -1,7 +1,7 @@
|
||||
(* RUN: rm -rf %t.builddir
|
||||
* RUN: mkdir -p %t.builddir
|
||||
* RUN: cp %s %t.builddir
|
||||
* RUN: %ocamlopt -warn-error A llvm.cmxa llvm_linker.cmxa %t.builddir/linker.ml -o %t
|
||||
* RUN: %ocamlcomp -warn-error A llvm.%cma llvm_linker.%cma %t.builddir/linker.ml -o %t
|
||||
* RUN: %t
|
||||
* XFAIL: vg_leak
|
||||
*)
|
||||
|
@ -1,7 +1,7 @@
|
||||
(* RUN: rm -rf %t.builddir
|
||||
* RUN: mkdir -p %t.builddir
|
||||
* RUN: cp %s %t.builddir
|
||||
* RUN: %ocamlopt -warn-error A llvm.cmxa llvm_passmgr_builder.cmxa %t.builddir/passmgr_builder.ml -o %t
|
||||
* RUN: %ocamlcomp -warn-error A llvm.%cma llvm_passmgr_builder.%cma %t.builddir/passmgr_builder.ml -o %t
|
||||
* RUN: %t %t.bc
|
||||
* XFAIL: vg_leak
|
||||
*)
|
||||
|
@ -1,7 +1,7 @@
|
||||
(* RUN: rm -rf %t.builddir
|
||||
* RUN: mkdir -p %t.builddir
|
||||
* RUN: cp %s %t.builddir
|
||||
* RUN: %ocamlopt -warn-error A llvm.cmxa llvm_scalar_opts.cmxa llvm_target.cmxa %t.builddir/scalar_opts.ml -o %t
|
||||
* RUN: %ocamlcomp -warn-error A llvm.%cma llvm_scalar_opts.%cma llvm_target.%cma %t.builddir/scalar_opts.ml -o %t
|
||||
* RUN: %t %t.bc
|
||||
* XFAIL: vg_leak
|
||||
*)
|
||||
|
@ -1,7 +1,7 @@
|
||||
(* RUN: rm -rf %t.builddir
|
||||
* RUN: mkdir -p %t.builddir
|
||||
* RUN: cp %s %t.builddir
|
||||
* RUN: %ocamlopt -g -warn-error A llvm.cmxa llvm_target.cmxa llvm_executionengine.cmxa %t.builddir/target.ml -o %t
|
||||
* RUN: %ocamlcomp -g -warn-error A llvm.%cma llvm_target.%cma llvm_executionengine.%cma %t.builddir/target.ml -o %t
|
||||
* RUN: %t %t.bc
|
||||
* REQUIRES: native, object-emission
|
||||
* XFAIL: vg_leak
|
||||
|
@ -1,7 +1,7 @@
|
||||
(* RUN: rm -rf %t.builddir
|
||||
* RUN: mkdir -p %t.builddir
|
||||
* RUN: cp %s %t.builddir
|
||||
* RUN: %ocamlopt -warn-error A llvm.cmxa llvm_vectorize.cmxa llvm_target.cmxa %t.builddir/vectorize_opts.ml -o %t
|
||||
* RUN: %ocamlcomp -warn-error A llvm.%cma llvm_vectorize.%cma llvm_target.%cma %t.builddir/vectorize_opts.ml -o %t
|
||||
* RUN: %t %t.bc
|
||||
* XFAIL: vg_leak
|
||||
*)
|
||||
|
@ -1,7 +1,7 @@
|
||||
(* RUN: rm -rf %t.builddir
|
||||
* RUN: mkdir -p %t.builddir
|
||||
* RUN: cp %s %t.builddir
|
||||
* RUN: %ocamlopt -warn-error A llvm.cmxa llvm_analysis.cmxa llvm_bitwriter.cmxa %t.builddir/vmcore.ml -o %t
|
||||
* RUN: %ocamlcomp -warn-error A llvm.%cma llvm_analysis.%cma llvm_bitwriter.%cma %t.builddir/vmcore.ml -o %t
|
||||
* RUN: %t %t.bc
|
||||
* RUN: llvm-dis < %t.bc > %t.ll
|
||||
* RUN: FileCheck %s < %t.ll
|
||||
|
@ -108,11 +108,6 @@ check-local-all:: lit.site.cfg Unit/lit.site.cfg extra-site-cfgs
|
||||
clean::
|
||||
$(RM) -rf `find $(LLVM_OBJ_ROOT)/test -name Output -type d -print`
|
||||
|
||||
ifneq ($(OCAMLOPT),)
|
||||
CC_FOR_OCAMLOPT := $(shell $(OCAMLOPT) -config | grep native_c_compiler | sed -e 's/native_c_compiler: //')
|
||||
CXX_FOR_OCAMLOPT := $(subst gcc,g++,$(CC_FOR_OCAMLOPT))
|
||||
endif
|
||||
|
||||
FORCE:
|
||||
|
||||
ifeq ($(DISABLE_ASSERTIONS),1)
|
||||
@ -132,7 +127,9 @@ lit.site.cfg: FORCE
|
||||
@$(ECHOPATH) s=@SHLIBEXT@=$(SHLIBEXT)=g >> lit.tmp
|
||||
@$(ECHOPATH) s=@EXEEXT@=$(EXEEXT)=g >> lit.tmp
|
||||
@$(ECHOPATH) s=@PYTHON_EXECUTABLE@=$(PYTHON)=g >> lit.tmp
|
||||
@$(ECHOPATH) s=@OCAMLOPT@=$(OCAMLOPT) -cc $(subst *,'\\\"',*$(subst =,"\\=",$(CXX_FOR_OCAMLOPT))*) -cclib -L$(LibDir) -I $(LibDir)/ocaml=g >> lit.tmp
|
||||
@$(ECHOPATH) s=@OCAMLC@=$(OCAMLC)=g >> lit.tmp
|
||||
@$(ECHOPATH) s=@OCAMLOPT@=$(OCAMLOPT)=g >> lit.tmp
|
||||
@$(ECHOPATH) s=@OCAMLFLAGS@=-cclib -lstdc++ -cclib -L$(LibDir) -I $(LibDir)/ocaml=g >> lit.tmp
|
||||
@$(ECHOPATH) s=@GO_EXECUTABLE@=$(GO)=g >> lit.tmp
|
||||
@$(ECHOPATH) s!@HOST_CC@!$(CC)!g >> lit.tmp
|
||||
@$(ECHOPATH) s!@HOST_CXX@!$(CXX)!g >> lit.tmp
|
||||
|
12
test/lit.cfg
12
test/lit.cfg
@ -167,13 +167,23 @@ if re.search(r'win32', config.target_triple):
|
||||
config.substitutions.append( ('%llc_dwarf', llc_dwarf) )
|
||||
|
||||
# Add site-specific substitutions.
|
||||
config.substitutions.append( ('%ocamlopt', config.ocamlopt_executable) )
|
||||
config.substitutions.append( ('%go', config.go_executable) )
|
||||
config.substitutions.append( ('%llvmshlibdir', config.llvm_shlib_dir) )
|
||||
config.substitutions.append( ('%shlibext', config.llvm_shlib_ext) )
|
||||
config.substitutions.append( ('%exeext', config.llvm_exe_ext) )
|
||||
config.substitutions.append( ('%python', config.python_executable) )
|
||||
|
||||
# OCaml substitutions.
|
||||
# Support tests for both native and bytecode builds.
|
||||
if config.ocamlopt_executable != "":
|
||||
config.substitutions.append( ('%ocamlcomp',
|
||||
"%s %s" % (config.ocamlopt_executable, config.ocaml_flags)) )
|
||||
config.substitutions.append( ('%cma', 'cmxa') )
|
||||
else:
|
||||
config.substitutions.append( ('%ocamlcomp',
|
||||
"%s %s" % (config.ocamlc_executable, config.ocaml_flags)) )
|
||||
config.substitutions.append( ('%cma', 'cma') )
|
||||
|
||||
# For each occurrence of an llvm tool name as its own word, replace it
|
||||
# with the full path to the build directory holding that tool. This
|
||||
# ensures that we are testing the tools just built and not some random
|
||||
|
@ -12,7 +12,9 @@ config.llvm_shlib_ext = "@SHLIBEXT@"
|
||||
config.llvm_exe_ext = "@EXEEXT@"
|
||||
config.lit_tools_dir = "@LLVM_LIT_TOOLS_DIR@"
|
||||
config.python_executable = "@PYTHON_EXECUTABLE@"
|
||||
config.ocamlc_executable = "@OCAMLC@"
|
||||
config.ocamlopt_executable = "@OCAMLOPT@"
|
||||
config.ocaml_flags = "@OCAMLFLAGS@"
|
||||
config.go_executable = "@GO_EXECUTABLE@"
|
||||
config.enable_shared = @ENABLE_SHARED@
|
||||
config.enable_assertions = @ENABLE_ASSERTIONS@
|
||||
|
Loading…
x
Reference in New Issue
Block a user