Remove compiler code accessing GACUtil

This commit is contained in:
Omar Tawfik 2016-01-21 19:36:08 -08:00
Родитель 29f1952515
Коммит b584ee7204
9 изменённых файлов: 6 добавлений и 27 удалений

Просмотреть файл

@ -131,7 +131,7 @@ Restart Visual Studio, it should now be running your freshly-built Visual F# IDE
### Notes on the build
1. The `update.cmd` script adds the built `FSharp.Core` to the GAC, adds required strong name validation skips, and NGens the compiler and libraries. This requires admin privileges.
1. The `update.cmd` script adds required strong name validation skips, and NGens the compiler and libraries. This requires admin privileges.
1. The compiler binaries produced are "private" and strong-named signed with a test key.
1. Some additional tools are required to build the compiler, notably `fslex.exe`, `fsyacc.exe`, `FSharp.PowerPack.Build.Tasks.dll`, `FsSrGen.exe`, `FSharp.SRGen.Build.Tasks.dll`, and the other tools found in the `lkg` directory.
1. The overall bootstrapping process executes as follows

Просмотреть файл

@ -23,7 +23,7 @@ In order to run all of the tests, you will need to install
* [Perl](http://www.perl.org/get.html) (ActiveState Perl 5.16.3 is known to work fine)
Perl must be included in the `%PATH%` for the below steps to work. It is also recommended that you run tests from an elevated command prompt, as there are a couple of test cases which modify the GAC, and this requires administrative privileges.
Perl must be included in the `%PATH%` for the below steps to work. It is also recommended that you run tests from an elevated command prompt, as there are a couple of test cases which require administrative privileges.
Before running tests, make sure you have successfully built all required projects as specified in the 'Prepare For Tests' section of the [DEVGUIDE](DEVGUIDE.md).

Просмотреть файл

@ -15,7 +15,7 @@ open System.Runtime.InteropServices
#if PORTABLE
[<assembly:AssemblyProduct("Microsoft\174 F#")>]
[<assembly:AssemblyFlags(System.Reflection.AssemblyNameFlags.Retargetable)>] // ensure we replace any 4.0.30319.* or 4.0.31105.* versions in the GAC. These are the FileVersions for RTM VS2010 and SP1 VS2010
[<assembly:AssemblyFlags(System.Reflection.AssemblyNameFlags.Retargetable)>]
#endif
do()

Просмотреть файл

@ -17,7 +17,7 @@ do()
[<assembly:System.Runtime.CompilerServices.InternalsVisibleTo("Unittests")>]
[<assembly:System.Runtime.CompilerServices.InternalsVisibleTo("SystematicUnitTests")>]
#else
[<assembly:AssemblyFileVersion("4.0.40401.666")>] // ensure we replace any 4.0.30319.* or 4.0.31105.* versions in the GAC. These are the FileVersions for RTM VS2010 and SP1 VS2010
[<assembly:AssemblyFileVersion("4.0.40401.666")>]
[<assembly:System.Runtime.CompilerServices.InternalsVisibleTo("Unittests, PublicKey=002400000480000094000000060200000024000052534131000400000100010007D1FA57C4AED9F0A32E84AA0FAEFD0DE9E8FD6AEC8F87FB03766C834C99921EB23BE79AD9D5DCC1DD9AD236132102900B723CF980957FC4E177108FC607774F29E8320E92EA05ECE4E821C0A5EFE8F1645C4C0C93C1AB99285D622CAA652C1DFAD63D745D6F2DE5F17E5EAF0FC4963D261C8A12436518206DC093344D5AD293")>]
[<assembly:System.Runtime.CompilerServices.InternalsVisibleTo("SystematicUnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010007D1FA57C4AED9F0A32E84AA0FAEFD0DE9E8FD6AEC8F87FB03766C834C99921EB23BE79AD9D5DCC1DD9AD236132102900B723CF980957FC4E177108FC607774F29E8320E92EA05ECE4E821C0A5EFE8F1645C4C0C93C1AB99285D622CAA652C1DFAD63D745D6F2DE5F17E5EAF0FC4963D261C8A12436518206DC093344D5AD293")>]
#endif

Просмотреть файл

@ -11,7 +11,7 @@ if /i "%1" == "release" goto :ok
if /i "%1" == "vsdebug" goto :ok
if /i "%1" == "vsrelease" goto :ok
echo GACs built binaries, adds required strong name verification skipping, and optionally NGens built binaries
echo adding required strong name verification skipping, and NGening built binaries
echo Usage:
echo update.cmd debug [-ngen]
echo update.cmd release [-ngen]
@ -35,7 +35,6 @@ if "%WINSDKNETFXTOOLS%"=="" FOR /F "tokens=2* delims= " %%A IN ('%REGEXE32BIT%
if "%WINSDKNETFXTOOLS%"=="" FOR /F "tokens=2* delims= " %%A IN ('%REGEXE32BIT% QUERY "HKLM\Software\Microsoft\Microsoft SDKs\Windows\v7.1\WinSDK-NetFx40Tools" /v InstallationFolder') DO SET WINSDKNETFXTOOLS=%%B
if "%WINSDKNETFXTOOLS%"=="" FOR /F "tokens=2* delims= " %%A IN ('%REGEXE32BIT% QUERY "HKLM\Software\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx40Tools" /v InstallationFolder') DO SET WINSDKNETFXTOOLS=%%B
set GACUTIL="%WINSDKNETFXTOOLS%gacutil.exe"
set SN32="%WINSDKNETFXTOOLS%sn.exe"
set SN64="%WINSDKNETFXTOOLS%x64\sn.exe"
set NGEN32=%windir%\Microsoft.NET\Framework\v4.0.30319\ngen.exe
@ -80,9 +79,6 @@ if /i "%PROCESSOR_ARCHITECTURE%"=="AMD64" (
%SN64% -Vr Salsa,b03f5f7f11d50a3a
)
rem Only GACing FSharp.Core for now
%GACUTIL% /if %BINDIR%\FSharp.Core.dll
rem NGen fsc, fsi, fsiAnyCpu, and FSharp.Build.dll
if /i not "%2"=="-ngen" goto :donengen

Просмотреть файл

@ -36,7 +36,7 @@ let updateCmd envVars args = processor {
// if /i "%1" == "release" goto :ok
ignore "already validated input"
// echo GACs built binaries, adds required strong name verification skipping, and optionally NGens built binaries
// echo adding required strong name verification skipping, and NGening built binaries
// echo Usage:
// echo update.cmd debug [-ngen]
// echo update.cmd release [-ngen]
@ -82,8 +82,6 @@ let updateCmd envVars args = processor {
let WINSDKNETFXTOOLS = match allWINSDKNETFXTOOLS |> Seq.tryPick id with Some sdk -> sdk | None -> ""
// set GACUTIL="%WINSDKNETFXTOOLS%gacutil.exe"
let GACUTIL = WINSDKNETFXTOOLS/"gacutil.exe"
// set SN32="%WINSDKNETFXTOOLS%sn.exe"
let SN32 = WINSDKNETFXTOOLS/"sn.exe"
// set SN64="%WINSDKNETFXTOOLS%x64\sn.exe"
@ -95,7 +93,6 @@ let updateCmd envVars args = processor {
let checkResult = function CmdResult.ErrorLevel err -> Failure (sprintf "ERRORLEVEL %d" err) | CmdResult.Success -> Success ()
let gacutil flags = Commands.gacutil exec GACUTIL flags >> checkResult
let ngen32 = Commands.ngen exec NGEN32 >> checkResult
let ngen64 = Commands.ngen exec NGEN64 >> checkResult
let sn32 = exec SN32 >> checkResult
@ -160,10 +157,6 @@ let updateCmd envVars args = processor {
(fun () -> Success ())
//)
// rem Only GACing FSharp.Core for now
// %GACUTIL% /if %BINDIR%\FSharp.Core.dll
do! gacutil "/if" (binDir/"FSharp.Core.dll")
// rem NGen fsc, fsi, fsiAnyCpu, and FSharp.Build.dll
// if /i not "%2"=="-ngen" goto :donengen

Просмотреть файл

@ -182,8 +182,6 @@ set PATH=%PATH%;%WINSDKNETFXTOOLS%
IF NOT DEFINED SNEXE32 IF EXIST "%WINSDKNETFXTOOLS%sn.exe" set SNEXE32=%WINSDKNETFXTOOLS%sn.exe
IF NOT DEFINED SNEXE64 IF EXIST "%WINSDKNETFXTOOLS%x64\sn.exe" set SNEXE64=%WINSDKNETFXTOOLS%x64\sn.exe
IF NOT DEFINED GACUTILEXE32 IF EXIST "%WINSDKNETFXTOOLS%gacutil.exe" set GACUTILEXE32=%WINSDKNETFXTOOLS%gacutil.exe
IF NOT DEFINED GACUTILEXE64 IF EXIST "%WINSDKNETFXTOOLS%x64\gacutil.exe" set GACUTILEXE64=%WINSDKNETFXTOOLS%x64\gacutil.exe
set FSC=%FSCBINPATH%\fsc.exe
set PATH=%FSCBINPATH%;%PATH%

Просмотреть файл

@ -40,7 +40,6 @@ if not defined CSC set CSC=csc.exe %csc_flags%
REM SDK Dependencires.
if not defined ILDASM set ILDASM=ildasm.exe
if not defined GACUTIL set GACUTIL=gacutil.exe
if not defined PEVERIFY set PEVERIFY=peverify.exe
if not defined RESGEN set RESGEN=resgen.exe
@ -75,7 +74,6 @@ set fsc_flags=%fsc_flags%
set CLR_SUPPORTS_GENERICS=true
set ILDASM=%ILDASM%
set GACUTIL=%GACUTIL%
set CLR_SUPPORTS_WINFORMS=true
set CLR_SUPPORTS_SYSTEM_WEB=true
@ -148,7 +146,6 @@ REM == The logic here is: pick the latest msbuild
REM == If we are testing against NDP4.0, then don't try msbuild 3.5
REM ==
IF NOT "%CORSDK%"=="" IF EXIST "%CORSDK%\ildasm.exe" SET ILDASM=%CORSDK%\ildasm.exe
IF NOT "%CORSDK%"=="" IF EXIST "%CORSDK%\gacutil.exe" SET GACUTIL=%CORSDK%\gacutil.exe
IF NOT "%CORSDK%"=="" IF EXIST "%CORSDK%\peverify.exe" SET PEVERIFY=%CORSDK%\peverify.exe
IF NOT "%CORSDK%"=="" IF EXIST "%CORSDK%\resgen.exe" SET RESGEN=%CORSDK%\resgen.exe
IF NOT "%CORSDK%"=="" IF NOT EXIST "%RESGEN%" IF EXIST "%CORSDK%\..\resgen.exe" SET RESGEN=%CORSDK%\..\resgen.exe
@ -218,7 +215,6 @@ echo FSDATATPPATH =%FSDATATPPATH%
echo FSDIFF =%FSDIFF%
echo FSI =%FSI%
echo fsi_flags =%fsi_flags%
echo GACUTIL =%GACUTIL%
echo ILDASM =%ILDASM%
echo INSTALL_SKU =%INSTALL_SKU%
echo MSBUILDTOOLSPATH =%MSBuildToolsPath%

Просмотреть файл

@ -31,7 +31,6 @@ if "%WINSDKNETFXTOOLS%"=="" FOR /F "tokens=2* delims= " %%A IN ('%REGEXE32BIT%
if "%WINSDKNETFXTOOLS%"=="" FOR /F "tokens=2* delims= " %%A IN ('%REGEXE32BIT% QUERY "HKLM\Software\Microsoft\Microsoft SDKs\Windows\v7.1\WinSDK-NetFx40Tools" /v InstallationFolder') DO SET WINSDKNETFXTOOLS=%%B
if "%WINSDKNETFXTOOLS%"=="" FOR /F "tokens=2* delims= " %%A IN ('%REGEXE32BIT% QUERY "HKLM\Software\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx40Tools" /v InstallationFolder') DO SET WINSDKNETFXTOOLS=%%B
set GACUTIL="%WINSDKNETFXTOOLS%gacutil.exe"
set SN32="%WINSDKNETFXTOOLS%sn.exe"
set SN64="%WINSDKNETFXTOOLS%x64\sn.exe"
set NGEN32=%windir%\Microsoft.NET\Framework\v4.0.30319\ngen.exe
@ -136,9 +135,6 @@ if /i "%PROCESSOR_ARCHITECTURE%"=="AMD64" (
%SN64% -Vr Salsa,b03f5f7f11d50a3a
)
%GACUTIL% /if %BINDIR%\FSharp.Compiler.Interactive.Settings.dll
%GACUTIL% /if %BINDIR%\FSharp.Compiler.Server.Shared.dll
rem NGen fsc, fsi, fsiAnyCpu, and FSharp.Build.dll
"%NGEN32%" install "%COMPILERSDKPATH%\fsc.exe" /queue:1