Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit27923d4

Browse files
authored
use ildasm.exe from a NuGet package (#3995)
1 parent3ebf370 commit27923d4

File tree

4 files changed

+24
-20
lines changed

4 files changed

+24
-20
lines changed

‎build.cmd‎

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -589,6 +589,15 @@ if "%RestorePackages%" == "true" (
589589
%_nugetexe% restore setup\packages.config!_nugetoptions!
590590
@if ERRORLEVEL1echo Error: Nuget restore failed&&goto :failure
591591
)
592+
593+
setrestore_fsharp_suite=0
594+
if"%TEST_NET40_FSHARP_SUITE%"=="1"setrestore_fsharp_suite=1
595+
if"%TEST_CORECLR_FSHARP_SUITE%"=="1"setrestore_fsharp_suite=1
596+
597+
if"!restore_fsharp_suite!"=="1" (
598+
%_nugetexe% restore tests\fsharp\packages.config!_nugetoptions!
599+
@if ERRORLEVEL1echo Error: Nuget restore failed&&goto :failure
600+
)
592601
)
593602

594603
if"%BUILD_PROTO_WITH_CORECLR_LKG%"=="1" (
@@ -689,32 +698,20 @@ if not "%OSARCH%"=="x86" set REGEXE32BIT=%WINDIR%\syswow64\reg.exe
689698
echo SDK environment vars from Registry
690699
echo ==================================
691700

692-
::See https://stackoverflow.com/a/17113667/111575 on 2^>NUL for suppressing the error "ERROR: The system was unable to find the specified registry key or value." from reg.exe, this fixes #3619
693-
FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\WOW6432Node\Microsoft\Microsoft SDKs\NETFXSDK\4.6.2\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS=%%B
694-
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\WOW6432Node\Microsoft\Microsoft SDKs\NETFXSDK\4.6.1\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS=%%B
695-
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\NETFXSDK\4.6\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS=%%B
696-
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.1A\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS=%%B
697-
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS=%%B
698-
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v7.1\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS=%%B
699-
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS=%%B
700-
701-
setPATH=%PATH%;%WINSDKNETFXTOOLS%
702701
for /d%%iin (%WINDIR%\Microsoft.NET\Framework\v4.0.?????)dosetCORDIR=%%i
703702
setPATH=%PATH%;%CORDIR%
704703

705704
setREGEXE32BIT=reg.exe
706705

707706
IFNOTDEFINED SNEXE32IFEXIST"%WINSDKNETFXTOOLS%\sn.exe"setSNEXE32=%WINSDKNETFXTOOLS%sn.exe
708707
IFNOTDEFINED SNEXE64IFEXIST"%WINSDKNETFXTOOLS%x64\sn.exe"setSNEXE64=%WINSDKNETFXTOOLS%x64\sn.exe
709-
IFNOTDEFINED ildasmIFEXIST"%WINSDKNETFXTOOLS%\ildasm.exe"setildasm=%WINSDKNETFXTOOLS%ildasm.exe
710708

711709
echo.
712710
echo SDK environment vars
713711
echo =======================
714712
echo WINSDKNETFXTOOLS:%WINSDKNETFXTOOLS%
715713
echo SNEXE32:%SNEXE32%
716714
echo SNEXE64:%SNEXE64%
717-
echo ILDASM:%ILDASM%
718715
echo
719716

720717
if"%TEST_NET40_COMPILERUNIT_SUITE%"=="0"if"%TEST_NET40_COREUNIT_SUITE%"=="0"if"%TEST_CORECLR_COREUNIT_SUITE%"=="0"if"%TEST_VS_IDEUNIT_SUITE%"=="0"if"%TEST_NET40_FSHARP_SUITE%"=="0"if"%TEST_NET40_FSHARPQA_SUITE%"=="0"goto :success
@@ -915,7 +912,7 @@ if "%TEST_CORECLR_FSHARP_SUITE%" == "1" (
915912
setOUTPUTFILE=
916913
setERRORFILE=
917914
setXMLFILE=!RESULTSDIR!\test-coreclr-fsharp-results.xml
918-
echo"%_dotnetcliexe%""%~dp0tests\testbin\!BUILD_CONFIG!\coreclr\FSharp.Core.Unittests\FSharp.Core.Unittests.dll"!WHERE_ARG_NUNIT!
915+
echo"%_dotnetcliexe%""%~dp0tests\testbin\!BUILD_CONFIG!\coreclr\FSharp.Tests.FSharpSuite.DrivingCoreCLR\FSharp.Tests.FSharpSuite.DrivingCoreCLR.dll"!WHERE_ARG_NUNIT!
919916
"%_dotnetcliexe%""%~dp0tests\testbin\!BUILD_CONFIG!\coreclr\FSharp.Tests.FSharpSuite.DrivingCoreCLR\FSharp.Tests.FSharpSuite.DrivingCoreCLR.dll"!WHERE_ARG_NUNIT!
920917

921918
iferrorlevel1 (

‎tests/fsharp/packages.config‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
33
<packageid="NUnit3TestAdapter"version="3.7.0"targetFramework="net45" />
4+
<packageid="runtime.win-x64.Microsoft.NETCore.ILDAsm"version="2.0.3" />
5+
<packageid="runtime.win-x86.Microsoft.NETCore.ILDAsm"version="2.0.3" />
46
<packageid="System.Collections.Immutable"version="1.3.1"targetFramework="net45" />
57
<packageid="System.Reflection.Metadata"version="1.4.2"targetFramework="net45" />
68
</packages>

‎tests/fsharp/test-framework.fs‎

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -167,28 +167,33 @@ let requireFile nm =
167167

168168
letconfig configurationName envVars=
169169

170-
letSCRIPT_ROOT=__SOURCE_DIRECTORY__
170+
letSCRIPT_ROOT=__SOURCE_DIRECTORY__
171+
letpackagesDir= SCRIPT_ROOT++".."++".."++"packages"
171172
letFSCBinPath= SCRIPT_ROOT++".."++".."++ configurationName++"net40"++"bin"
172173
letcsc_flags="/nologo"
173174
letfsc_flags="-r:System.Core.dll --nowarn:20 --define:COMPILED"
174175
letfsi_flags="-r:System.Core.dll --nowarn:20 --define:INTERACTIVE --maxerrors:1 --abortonerror"
175176
letCORDIR,CORSDK= WindowsPlatform.clrPaths envVars
176177
letIs64BitOperatingSystem= WindowsPlatform.Is64BitOperatingSystem envVars
178+
letarchitectureMoniker=if Is64BitOperatingSystemthen"x64"else"x86"
177179
letCSC= requireFile(CORDIR++"csc.exe")
178-
letILDASM= requireFile(CORSDK++"ildasm.exe")
180+
letILDASM= requireFile(packagesDir++("runtime.win-"+ architectureMoniker+".Microsoft.NETCore.ILDAsm.2.0.3")++"runtimes"++("win-"+ architectureMoniker)++"native"++"ildasm.exe")
179181
letPEVERIFY= requireFile(CORSDK++"peverify.exe")
180182
letFSI_FOR_SCRIPTS=
181183
match envVars|> Map.tryFind"_fsiexe"with
182184
| Some fsiexewhen(not(String.IsNullOrWhiteSpace fsiexe))-> requireFile(SCRIPT_ROOT++".."++".."++(fsiexe.Trim([|'\"'|])))
183185
|_->
184186
// build.cmd sets that var, if it is not set, we are probably called directly from visual studio or the nunit console runner.
185-
letpackagesDir= SCRIPT_ROOT++".."++".."++@"packages"
186187
letfsharpCompilerTools= Directory.GetDirectories(packagesDir,"FSharp.Compiler.Tools.*")
187188
match fsharpCompilerToolswith
188189
|[||]-> failwithf"Could not find any 'FSharp.Compiler.Tools' inside '%s'" packagesDir
189190
|[| dir|]-> Path.Combine(dir,"tools","fsi.exe")
190191
|_-> failwithf"Found more than one 'FSharp.Compiler.Tools' inside '%s', please clean up." packagesDir
191-
letdotNetExe= SCRIPT_ROOT++".."++".."++"Tools"++"dotnetcli"++"dotnet.exe"
192+
lettoolsDir= SCRIPT_ROOT++".."++".."++"Tools"
193+
letdotNetExe= toolsDir++"dotnetcli"++"dotnet.exe"
194+
// ildasm requires coreclr.dll to run which has already been restored to the tools directory
195+
letcoreclrSource= toolsDir++"dotnet20"++"shared"++"Microsoft.NETCore.App"++"2.0.0"++"coreclr.dll"
196+
File.Copy(coreclrSource, Path.GetDirectoryName(ILDASM)++"coreclr.dll", overwrite=true)
192197

193198
#if!FSHARP_SUITE_DRIVES_CORECLR_TESTS
194199
letFSI= requireFile(FSCBinPath++"fsi.exe")

‎tests/fsharp/tests.fs‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1621,9 +1621,9 @@ module OptimizationTests =
16211621

16221622
fsc cfg"%s --optimize -o:test--optimize.exe -g -r:lib--optimize.dll -r:lib3--optimize.dll" cfg.fsc_flags["test.fs"]
16231623

1624-
ildasm cfg"/nobar /out=test.il""test.exe"
1624+
ildasm cfg"/out=test.il""test.exe"
16251625

1626-
ildasm cfg"/nobar /out=test--optimize.il""test--optimize.exe"
1626+
ildasm cfg"/out=test--optimize.il""test--optimize.exe"
16271627

16281628
let``test--optimize.il``=
16291629
File.ReadLines(getfullpath cfg"test--optimize.il")
@@ -1646,7 +1646,7 @@ module OptimizationTests =
16461646
letstats()=
16471647
letcfg= testConfig"optimize/stats"
16481648

1649-
ildasm cfg"/nobar /out=FSharp.Core.il" cfg.FSCOREDLLPATH
1649+
ildasm cfg"/out=FSharp.Core.il" cfg.FSCOREDLLPATH
16501650

16511651
letfscore= File.ReadLines(getfullpath cfg"FSharp.Core.il")|> Seq.toList
16521652

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp