SOURCE=ReferenceArchAndPlatformArchMismatch.fs SCFLAGS="-a --platform:anycpu -r:CSharpLibrary.dll" PRECMD="\$CSC_PIPE /t:library /platform:anycpu CSharpLibrary.cs" # ReferenceArchAndPlatformArchMismatch: anycpu/anycpu SOURCE=ReferenceArchAndPlatformArchMismatch.fs SCFLAGS="-a --platform:anycpu -r:CSharpLibrary.dll" PRECMD="\$CSC_PIPE /t:library /platform:x86 CSharpLibrary.cs" # ReferenceArchAndPlatformArchMismatch: anycpu/x86 SOURCE=ReferenceArchAndPlatformArchMismatch.fs SCFLAGS="-a --platform:anycpu -r:CSharpLibrary.dll" PRECMD="\$CSC_PIPE /t:library /platform:x64 CSharpLibrary.cs" # ReferenceArchAndPlatformArchMismatch: anycpu/x64 SOURCE=ReferenceArchAndPlatformArchMismatch.fs SCFLAGS="-a --platform:anycpu -r:CSharpLibrary.dll" PRECMD="\$CSC_PIPE /t:library /platform:Itanium CSharpLibrary.cs" # ReferenceArchAndPlatformArchMismatch: anycpu/Itanium SOURCE=ReferenceArchAndPlatformArchMismatch.fs SCFLAGS="-a --platform:x86 -r:CSharpLibrary.dll" PRECMD="\$CSC_PIPE /t:library /platform:anycpu CSharpLibrary.cs" # ReferenceArchAndPlatformArchMismatch: x86/anycpu SOURCE=ReferenceArchAndPlatformArchMismatch.fs SCFLAGS="-a --platform:x86 -r:CSharpLibrary.dll" PRECMD="\$CSC_PIPE /t:library /platform:x86 CSharpLibrary.cs" # ReferenceArchAndPlatformArchMismatch: x86/x86 SOURCE=ReferenceArchAndPlatformArchMismatch.fs SCFLAGS="-a --platform:x86 -r:CSharpLibrary.dll" PRECMD="\$CSC_PIPE /t:library /platform:x64 CSharpLibrary.cs" # ReferenceArchAndPlatformArchMismatch: x86/x64 SOURCE=ReferenceArchAndPlatformArchMismatch.fs SCFLAGS="-a --platform:x86 -r:CSharpLibrary.dll" PRECMD="\$CSC_PIPE /t:library /platform:Itanium CSharpLibrary.cs" # ReferenceArchAndPlatformArchMismatch: x86/Itanium SOURCE=ReferenceArchAndPlatformArchMismatch.fs SCFLAGS="-a --platform:x64 -r:CSharpLibrary.dll" PRECMD="\$CSC_PIPE /t:library /platform:anycpu CSharpLibrary.cs" # ReferenceArchAndPlatformArchMismatch: x64/anycpu SOURCE=ReferenceArchAndPlatformArchMismatch.fs SCFLAGS="-a --platform:x64 -r:CSharpLibrary.dll" PRECMD="\$CSC_PIPE /t:library /platform:x86 CSharpLibrary.cs" # ReferenceArchAndPlatformArchMismatch: x64/x86 SOURCE=ReferenceArchAndPlatformArchMismatch.fs SCFLAGS="-a --platform:x64 -r:CSharpLibrary.dll" PRECMD="\$CSC_PIPE /t:library /platform:x64 CSharpLibrary.cs" # ReferenceArchAndPlatformArchMismatch: x64/x64 SOURCE=ReferenceArchAndPlatformArchMismatch.fs SCFLAGS="-a --platform:x64 -r:CSharpLibrary.dll" PRECMD="\$CSC_PIPE /t:library /platform:Itanium CSharpLibrary.cs" # ReferenceArchAndPlatformArchMismatch: x64/Itanium SOURCE=ReferenceArchAndPlatformArchMismatch.fs SCFLAGS="-a --platform:Itanium -r:CSharpLibrary.dll" PRECMD="\$CSC_PIPE /t:library /platform:anycpu CSharpLibrary.cs" # ReferenceArchAndPlatformArchMismatch: Itanium/anycpu SOURCE=ReferenceArchAndPlatformArchMismatch.fs SCFLAGS="-a --platform:Itanium -r:CSharpLibrary.dll" PRECMD="\$CSC_PIPE /t:library /platform:x86 CSharpLibrary.cs" # ReferenceArchAndPlatformArchMismatch: Itanium/x86 SOURCE=ReferenceArchAndPlatformArchMismatch.fs SCFLAGS="-a --platform:Itanium -r:CSharpLibrary.dll" PRECMD="\$CSC_PIPE /t:library /platform:x64 CSharpLibrary.cs" # ReferenceArchAndPlatformArchMismatch: Itanium/x64 SOURCE=ReferenceArchAndPlatformArchMismatch.fs SCFLAGS="-a --platform:Itanium -r:CSharpLibrary.dll" PRECMD="\$CSC_PIPE /t:library /platform:Itanium CSharpLibrary.cs" # ReferenceArchAndPlatformArchMismatch: Itanium/Itanium SOURCE=reference5a.fs SCFLAGS="--target:library -r:reference5ns.dll" PRECMD="\$FSC_PIPE --target:library reference5ns.fs" # ns-module-fsc-dll-dll SOURCE=reference5a.fs SCFLAGS="--target:exe -r:reference5ns.dll" PRECMD="\$FSC_PIPE --target:library reference5ns.fs" # ns-module-fsc-dll-exe SOURCE=reference5a.fs SCFLAGS="--target:library -r:reference5ns.exe" PRECMD="\$FSC_PIPE --target:exe reference5ns.fs" # ns-module-fsc-exe-dll SOURCE=reference5a.fs SCFLAGS="--target:exe -r:reference5ns.exe" PRECMD="\$FSC_PIPE --target:exe reference5ns.fs" # ns-module-fsc-exe-exe SOURCE=reference4a.fsx SCFLAGS="--target:library" PRECMD="\$FSC_PIPE --target:library reference1ns.fs" # ns-fsc-dll-dll-via#r SOURCE=reference4a.fsx SCFLAGS="--target:exe" PRECMD="\$FSC_PIPE --target:library reference1ns.fs" # ns-fsc-dll-exe-via#r SOURCE=reference4b.fsx SCFLAGS="--target:library" PRECMD="\$FSC_PIPE --target:exe reference1ns.fs" # ns-fsc-exe-dll-via#r SOURCE=reference4b.fsx SCFLAGS="--target:exe" PRECMD="\$FSC_PIPE --target:exe reference1ns.fs" # ns-fsc-exe-exe-via#r SOURCE=reference3a.fsx SCFLAGS="--target:library" PRECMD="\$FSC_PIPE --target:library reference1.fs" # fsc-dll-dll-via#r SOURCE=reference3a.fsx SCFLAGS="--target:exe" PRECMD="\$FSC_PIPE --target:library reference1.fs" # fsc-dll-exe-via#r SOURCE=reference3b.fsx SCFLAGS="--target:library" PRECMD="\$FSC_PIPE --target:exe reference1.fs" # fsc-exe-dll-via#r SOURCE=reference3b.fsx SCFLAGS="--target:exe" PRECMD="\$FSC_PIPE --target:exe reference1.fs" # fsc-exe-exe-via#r ### ### C# Operators (user defined conversions) ### ### SOURCE=MultipleImplicitOperatorsFromCS01.fs SCFLAGS="-a -r:MultipleImplicitOperatorsInCS01.dll" PRECMD="\$CSC_PIPE /t:library MultipleImplicitOperatorsInCS01.cs" # MultipleImplicitOperatorsFromCS01.fs SOURCE=MultipleExplicitOperatorsFromCS01.fs SCFLAGS="-a -r:MultipleExplicitOperatorsInCS01.dll" PRECMD="\$CSC_PIPE /t:library MultipleExplicitOperatorsInCS01.cs" # MultipleExplicitOperatorsFromCS01.fs SOURCE=Conversion01.fs SCFLAGS="-r:Conversion.dll" PRECMD="\$CSC_PIPE /debug /target:library Conversion.cs" # Conversion01.fs SOURCE=E_Conversion02.fs SCFLAGS="-r:Conversion.dll --test:ErrorRanges" PRECMD="\$CSC_PIPE /debug /target:library Conversion.cs" # E_Conversion02.fs ### F# tests for overrides of sealed methods SOURCE=E_SealedMethod.fs SCFLAGS="-r:E_SealedMethod.dll" PRECMD="\$CSC_PIPE /debug /target:library E_SealedMethod.cs" # E_SealedMethod.fs ### F# can consume C# Extension Methods ### SOURCE=em_csharp_struct_void.fs SCFLAGS="-a -r:ExtMethodsCSharp.dll" # em_csharp_struct_void.fs SOURCE=em_csharp_struct_nonvoid.fs SCFLAGS="-a -r:ExtMethodsCSharp.dll" # em_csharp_struct_nonvoid.fs SOURCE=em_csharp_struct_params.fs SCFLAGS="-a -r:ExtMethodsCSharp.dll" # em_csharp_struct_params.fs SOURCE=em_csharp_class_void.fs SCFLAGS="-a -r:ExtMethodsCSharp.dll" # em_csharp_class_void.fs SOURCE=em_csharp_class_nonvoid.fs SCFLAGS="-a -r:ExtMethodsCSharp.dll" # em_csharp_class_nonvoid.fs SOURCE=em_csharp_class_params.fs SCFLAGS="-a -r:ExtMethodsCSharp.dll" # em_csharp_class_params.fs SOURCE=em_csharp_on_fsharp_1.fs SCFLAGS="-a -r:BaseEmFs.dll -r:EmLibCs.dll" # em_csharp_on_fsharp_1.fs SOURCE=em_csharp_on_fsharp_2.fs SCFLAGS="-a -r:BaseEmFs.dll -r:EmLibCs.dll" # em_csharp_on_fsharp_2.fs ### These 8 tests make sure we can import both DLLs and EXEs ### from both EXEs and DLLs ### using both FSI.EXE and FSC.EXE SOURCE=reference2.fs SCFLAGS="--target:library -r:reference1.dll" PRECMD="\$FSC_PIPE --target:library reference1.fs" # fsc-dll-dll SOURCE=reference2.fs SCFLAGS="--target:exe -r:reference1.dll" PRECMD="\$FSC_PIPE --target:library reference1.fs" # fsc-dll-exe SOURCE=reference2.fs SCFLAGS="--target:library -r:reference1.exe" PRECMD="\$FSC_PIPE --target:exe reference1.fs" # fsc-exe-dll SOURCE=reference2.fs SCFLAGS="--target:exe -r:reference1.exe" PRECMD="\$FSC_PIPE --target:exe reference1.fs" # fsc-exe-exe SOURCE=reference2.fsx SCFLAGS="--nologo -r:reference1.dll" PRECMD="\$FSC_PIPE --target:library reference1.fs" FSIMODE=PIPE COMPILE_ONLY=1 # fsi-dll-pipe NOMONO SOURCE=reference2.fsx SCFLAGS="--nologo -r:reference1.dll" PRECMD="\$FSC_PIPE --target:library reference1.fs" FSIMODE=FEED COMPILE_ONLY=1 # fsi-dll SOURCE=reference3a.fsx SCFLAGS="--nologo" PRECMD="\$FSC_PIPE --target:library reference1.fs" FSIMODE=FEED COMPILE_ONLY=1 # fsi-dll-via#r # Disabled because of #3294 # SOURCE=reference2.fs SCFLAGS="--nologo -r:reference1.exe" PRECMD="\$FSC_PIPE --target:exe reference1.fs" FSIMODE=FEED COMPILE_ONLY=1 # fsi-exe # SOURCE=reference3b.fsx SCFLAGS="--nologo" PRECMD="\$FSC_PIPE --target:exe reference1.fs" FSIMODE=FEED COMPILE_ONLY=1 # fsi-exe#r ### ### SOURCE=assign_to_static_field01.fs SCFLAGS="-r:static_csharp_class.dll" # assign_to_static_field01.fs ### ### F# can consume internal types and members exposed by C# ### SOURCE=InternalsConsumer.fs SCFLAGS="-r:InternalsConsumer.CSAssembly.dll" PRECMD="\$CSC_PIPE /t:library InternalsConsumer.CSAssembly.cs" # InternalsConsumer.fs SOURCE=E_InternalsConsumer.fs SCFLAGS="-r:InternalsConsumer.CSAssembly.dll" PRECMD="\$CSC_PIPE /t:library InternalsConsumer.CSAssembly.cs" # E_InternalsConsumer.fs ### ### F# can consume FamOrAssembly and FamAndAssembly in combination with IVT ### SOURCE=FamAndAssembly.fs SCFLAGS="-a -r:AccessibilityTests.dll" PRECMD="\$CSC_PIPE /debug /target:library /langversion:latest AccessibilityTests.cs" # FamAndAssembly.fs ### See issue https://github.com/Microsoft/visualfsharp/issues/2496 ### SOURCE=FamOrAssembly.fs SCFLAGS="-a -r:AccessibilityTests.dll" PRECMD="\$CSC_PIPE /debug /target:library /langversion:latest AccessibilityTests.cs" # FamOrAssembly.fs SOURCE=FamAndAssembly_NoIVT.fs SCFLAGS="-a -r:AccessibilityTests.dll" PRECMD="\$CSC_PIPE /debug /target:library /langversion:latest AccessibilityTests.cs" # FamAndAssembly_NoIVT.fs ### SOURCE=FamOrAssembly_NoIVT.fs SCFLAGS="-a -r:AccessibilityTests.dll" PRECMD="\$CSC_PIPE /debug /target:library /langversion:latest AccessibilityTests.cs" # FamOrAssembly_NoIVT.fs ### ### Iterate over BCL collections ### SOURCE=IterateOverCollections.fs # IterateOverCollections.fs ### SOURCE=AccessingRecordFields.fs SCFLAGS="-r:AccessingRecordFields.Lib.dll" PRECMD="\$FSC_PIPE --target:library AccessingRecordFields.Lib.fs" # AccessingRecordFields.fs SOURCE=LessGeneric01.fs SCFLAGS="-r:LessGeneric01.Lib.dll --test:ErrorRanges" PRECMD="\$FSC_PIPE --target:library LessGeneric01.Lib.fs" # LessGeneric01.fs SOURCE=ReferenceExe01.fsx PRECMD="\$FSC_PIPE ReferenceExe.fs" # ReferenceExe01.fsx SOURCE=LineDirectiveFromCSharp.fs PRECMD="\$CSC_PIPE /t:library LineDirectiveLib.cs" SCFLAGS="-r:LineDirectiveLib.dll" # LineDirectiveFromCSharp.fs