diff options
author | Pat Gavlin <pagavlin@microsoft.com> | 2017-03-10 17:11:24 -0800 |
---|---|---|
committer | Pat Gavlin <pagavlin@microsoft.com> | 2017-04-05 07:22:03 -0700 |
commit | e62151a88f71edcaa336f4265b4fc534d6f56940 (patch) | |
tree | 24ce634cfc7d5e43fa42ba0b2dedd4a213e6820d | |
parent | e93e79b3d012bc068c84ee5f65f8e755020d8a9c (diff) | |
download | coreclr-e62151a88f71edcaa336f4265b4fc534d6f56940.tar.gz coreclr-e62151a88f71edcaa336f4265b4fc534d6f56940.tar.bz2 coreclr-e62151a88f71edcaa336f4265b4fc534d6f56940.zip |
Only build compatjit.dll when building JIT32.
In order to avoid confusion, do not build and package compatjit.dll
unless we are building JIT32.
Fixes #10106.
-rw-r--r-- | build.cmd | 10 | ||||
-rwxr-xr-x | netci.groovy | 191 | ||||
-rw-r--r-- | src/.nuget/Microsoft.NETCore.Jit/runtime.Windows_NT.Microsoft.NETCore.Jit.props | 2 | ||||
-rw-r--r-- | src/jit/CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/jit/compatjit/.gitmirror | 1 | ||||
-rw-r--r-- | src/jit/compatjit/CMakeLists.txt | 61 |
6 files changed, 18 insertions, 253 deletions
@@ -75,7 +75,7 @@ set __BuildArchArm64=0 set __BuildTypeDebug=0 set __BuildTypeChecked=0 set __BuildTypeRelease=0 -set __BuildJit32="-DBUILD_JIT32=0" +set __BuildJit32=0 set __BuildStandaloneGC="-DFEATURE_STANDALONE_GC=0" set __PgoInstrument=0 @@ -142,7 +142,7 @@ if /i "%1" == "skiptests" (set __BuildTests=0&set processedArgs=!proce if /i "%1" == "skipbuildpackages" (set __BuildPackages=0&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "skiprestoreoptdata" (set __RestoreOptData=0&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "usenmakemakefiles" (set __NMakeMakefiles=1&set __ConfigureOnly=1&set __BuildNative=1&set __BuildNativeCoreLib=0&set __BuildCoreLib=0&set __BuildTests=0&set __BuildPackages=0&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) -if /i "%1" == "buildjit32" (set __BuildJit32="-DBUILD_JIT32=1"&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) +if /i "%1" == "buildjit32" (set __BuildJit32=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "pgoinstrument" (set __PgoInstrument=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "ibcinstrument" (set __IbcTuning=/Tuning&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "toolset_dir" (set __ToolsetDir=%2&set __PassThroughArgs=%__PassThroughArgs% %2&set processedArgs=!processedArgs! %1 %2&shift&shift&goto Arg_Loop) @@ -318,7 +318,7 @@ if %__BuildNative% EQU 1 ( pushd "%__IntermediatesDir%" set __ExtraCmakeArgs=!___SDKVersion! "-DCLR_CMAKE_TARGET_OS=%__BuildOs%" "-DCLR_CMAKE_PACKAGES_DIR=%__PackagesDir%" "-DCLR_CMAKE_PGO_INSTRUMENT=%__PgoInstrument%" "-DCLR_CMAKE_OPTDATA_VERSION=%__PgoOptDataVersion%" - call "%__SourceDir%\pal\tools\gen-buildsys-win.bat" "%__ProjectDir%" %__VSVersion% %__BuildArch% %__BuildJit32% %__BuildStandaloneGC% !__ExtraCmakeArgs! + call "%__SourceDir%\pal\tools\gen-buildsys-win.bat" "%__ProjectDir%" %__VSVersion% %__BuildArch% "-DBUILD_JIT32=%__BuildJit32%" %__BuildStandaloneGC% !__ExtraCmakeArgs! @if defined _echo @echo on popd :SkipConfigure @@ -430,6 +430,10 @@ if %__BuildCoreLib% EQU 1 ( set __nugetBuildArgs=-buildNugetPackage=true ) + set PackageCompatJit= + if "%__BuildJit32%" == "1" ( + set PackageCompatJit=1 + ) @call %__ProjectDir%\run.cmd build -Project=%__ProjectDir%\build.proj -MsBuildLog=!__MsbuildLog! -MsBuildWrn=!__MsbuildWrn! -MsBuildErr=!__MsbuildErr! !__nugetBuildArgs! %__RunArgs% !__ExtraBuildArgs! %__UnprocessedBuildArgs% if not !errorlevel! == 0 ( echo %__MsgPrefix%Error: System.Private.CoreLib build failed. Refer to the build log files for details: diff --git a/netci.groovy b/netci.groovy index 29bf4dc0ff..4f8867b6cd 100755 --- a/netci.groovy +++ b/netci.groovy @@ -138,7 +138,7 @@ class Constants { def static configurationList = ['Debug', 'Checked', 'Release'] // This is the set of architectures - def static architectureList = ['arm', 'arm64', 'x64', 'x86', 'x86compatjit'] + def static architectureList = ['arm', 'arm64', 'x64', 'x86'] } def static setMachineAffinity(def job, def os, def architecture) { @@ -339,9 +339,6 @@ def static getJobName(def configuration, def architecture, def os, def scenario, case 'x86': baseName = architecture.toLowerCase() + '_' + configuration.toLowerCase() + '_' + os.toLowerCase() break - case 'x86compatjit': - baseName = 'x86_compatjit_' + configuration.toLowerCase() + '_' + os.toLowerCase() - break default: println("Unknown architecture: ${architecture}"); assert false @@ -358,7 +355,6 @@ def static addNonPRTriggers(def job, def branch, def isPR, def architecture, def switch (architecture) { case 'x64': case 'x86': - case 'x86compatjit': if (architecture == 'x86' && os == 'Ubuntu') { Utilities.addPeriodicTrigger(job, '@daily') } @@ -421,7 +417,7 @@ def static addNonPRTriggers(def job, def branch, def isPR, def architecture, def } } // For x86, only add per-commit jobs for Windows - else if (architecture == 'x86' || architecture == 'x86compatjit') { + else if (architecture == 'x86') { if (os == 'Windows_NT') { Utilities.addGithubPushTrigger(job) } @@ -467,7 +463,7 @@ def static addNonPRTriggers(def job, def branch, def isPR, def architecture, def } } // For x86, only add per-commit jobs for Windows - else if (architecture == 'x86' || architecture == 'x86compatjit') { + else if (architecture == 'x86') { if (os == 'Windows_NT') { Utilities.addPeriodicTrigger(job, 'H H * * 3,6') // some time every Wednesday and Saturday } @@ -1264,145 +1260,6 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, } break // editor brace matching: } - case 'x86compatjit': // editor brace matching: { - assert (os == 'Windows_NT') - def arch = 'x86' - def jit = 'compatjit' - switch (scenario) { - case 'default': - if (configuration == 'Checked') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test", - "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}.*") - } - break - case 'pri1': - if (configuration == 'Release') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Priority 1 Build and Test", - "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+Priority 1 Build and Test.*") - } - break - case 'ilrt': - if (configuration == 'Release') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} IL RoundTrip Build and Test", - "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") - } - break - case 'r2r': - if (configuration == 'Checked' || configuration == 'Release') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} R2R pri0 Build & Test", - "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") - } - break - case 'pri1r2r': - if (configuration == 'Checked' || configuration == 'Release') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} R2R pri1 Build & Test", - "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") - } - break - case 'gcstress15_pri1r2r': - if (configuration == 'Release' || configuration == 'Checked') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} GCStress 15 R2R pri1 Build & Test", - "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") - } - break - case 'r2r_jitstress1': - case 'r2r_jitstress2': - case 'r2r_jitstressregs1': - case 'r2r_jitstressregs2': - case 'r2r_jitstressregs3': - case 'r2r_jitstressregs4': - case 'r2r_jitstressregs8': - case 'r2r_jitstressregs0x10': - case 'r2r_jitstressregs0x80': - case 'r2r_jitstressregs0x1000': - case 'r2r_jitminopts': - case 'r2r_jitforcerelocs': - if (configuration == 'Release' || configuration == 'Checked') { - def displayStr = getR2RStressModeDisplayName(scenario) - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} ${displayStr} R2R Build & Test", - "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") - } - break - case 'longgc': - if (configuration == 'Release') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Long-Running GC Build & Test", - "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") - } - break - case 'gcsimulator': - if (configuration == 'Release') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} GC Simulator", - "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") - } - break - case 'standalone_gc': - if (configuration == 'Release' || configuration == 'Checked') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Standalone GC", "(?i).*test\\W+${os}\\W+${configuration}\\W+${scenario}.*") - } - break - case 'minopts': - case 'forcerelocs': - case 'jitstress1': - case 'jitstress2': - case 'jitstressregs1': - case 'jitstressregs2': - case 'jitstressregs3': - case 'jitstressregs4': - case 'jitstressregs8': - case 'jitstressregs0x10': - case 'jitstressregs0x80': - case 'jitstressregs0x1000': - case 'jitstress2_jitstressregs1': - case 'jitstress2_jitstressregs2': - case 'jitstress2_jitstressregs3': - case 'jitstress2_jitstressregs4': - case 'jitstress2_jitstressregs8': - case 'jitstress2_jitstressregs0x10': - case 'jitstress2_jitstressregs0x80': - case 'jitstress2_jitstressregs0x1000': - case 'tailcallstress': - case 'jitsse2only': - case 'gcstress0x3': - case 'gcstress0xc': - case 'zapdisable': - case 'heapverify1': - case 'gcstress0xc_zapdisable': - case 'gcstress0xc_zapdisable_jitstress2': - case 'gcstress0xc_zapdisable_heapverify1': - case 'gcstress0xc_jitstress1': - case 'gcstress0xc_jitstress2': - case 'gcstress0xc_minopts_heapverify1': - def displayStr = getStressModeDisplayName(scenario) - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - ${displayStr})", - "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") - break - case 'corefx_baseline': - case 'corefx_minopts': - case 'corefx_jitstress1': - case 'corefx_jitstress2': - case 'corefx_jitstressregs1': - case 'corefx_jitstressregs2': - case 'corefx_jitstressregs3': - case 'corefx_jitstressregs4': - case 'corefx_jitstressregs8': - case 'corefx_jitstressregs0x10': - case 'corefx_jitstressregs0x80': - case 'corefx_jitstressregs0x1000': - def displayName = ('CoreFx ' + getStressModeDisplayName(scenario)).trim() - assert (os == 'Windows_NT') - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - ${displayName})", - "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") - break - case 'illink': - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} via ILLink", "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") - break - default: - println("Unknown scenario: ${os} ${arch} ${jit} ${scenario}"); - assert false - break - } - break - // editor brace matching: } default: println("Unknown architecture: ${architecture}"); assert false @@ -1421,16 +1278,9 @@ def static calculateBuildCommands(def newJob, def scenario, def branch, def isPR switch (architecture) { case 'x64': case 'x86': - case 'x86compatjit': def arch = architecture def buildOpts = '' - // We need to explicitly run build-test.cmd with Exclude for x86compatjit, so skip tests. - if (architecture == 'x86compatjit') { - arch = 'x86' - buildOpts = 'compatjitcrossgen skiptests' - } - if (scenario == 'illink') { buildCommands += "tests\\scripts\\build_illink.cmd clone ${arch}" } @@ -1581,11 +1431,6 @@ def static calculateBuildCommands(def newJob, def scenario, def branch, def isPR else if (architecture == 'x64' || architecture == 'x86') { buildCommands += "tests\\runtest.cmd ${runtestArguments}" } - else if (architecture == 'x86compatjit') { - def testEnvLocation = "%WORKSPACE%\\tests\\x86\\compatjit_x86_testenv.cmd" - buildCommands += "build-test.cmd ${runtestArguments}" - buildCommands += "tests\\runtest.cmd ${runtestArguments} TestEnv ${testEnvLocation}" - } } if (!enableCorefxTesting) { @@ -1684,12 +1529,6 @@ def static calculateBuildCommands(def newJob, def scenario, def branch, def isPR switch (architecture) { case 'x64': case 'x86': - case 'x86compatjit': - def arch = architecture - if (architecture == 'x86compatjit') { - arch = 'x86' - } - if (architecture == 'x86' && os == 'Ubuntu') { // build only, not test yet buildCommands += "./tests/scripts/x86_ci_script.sh --buildConfig=${lowerConfiguration}" @@ -1697,14 +1536,14 @@ def static calculateBuildCommands(def newJob, def scenario, def branch, def isPR } if (scenario == 'formatting') { - buildCommands += "python tests/scripts/format.py -c \${WORKSPACE} -o Linux -a ${arch}" + buildCommands += "python tests/scripts/format.py -c \${WORKSPACE} -o Linux -a ${architecture}" Utilities.addArchival(newJob, "format.patch", "", true, false) break } if (scenario == 'illink') { assert(os == 'Ubuntu') - buildCommands += "./tests/scripts/build_illink.sh --clone --arch=${arch}" + buildCommands += "./tests/scripts/build_illink.sh --clone --arch=${architecture}" } def standaloneGc = '' @@ -1717,15 +1556,15 @@ def static calculateBuildCommands(def newJob, def scenario, def branch, def isPR // only on supported OS platforms. if (os == 'FreeBSD') { - buildCommands += "./build.sh skipmscorlib verbose ${lowerConfiguration} ${arch} ${standaloneGc}" + buildCommands += "./build.sh skipmscorlib verbose ${lowerConfiguration} ${architecture} ${standaloneGc}" } else { def bootstrapRid = Utilities.getBoostrapPublishRid(os) def bootstrapRidEnv = bootstrapRid != null ? "__PUBLISH_RID=${bootstrapRid} " : '' - buildCommands += "${bootstrapRidEnv}./build.sh verbose ${lowerConfiguration} ${arch} ${standaloneGc}" + buildCommands += "${bootstrapRidEnv}./build.sh verbose ${lowerConfiguration} ${architecture} ${standaloneGc}" } - buildCommands += "src/pal/tests/palsuite/runpaltests.sh \${WORKSPACE}/bin/obj/${osGroup}.${arch}.${configuration} \${WORKSPACE}/bin/paltestout" + buildCommands += "src/pal/tests/palsuite/runpaltests.sh \${WORKSPACE}/bin/obj/${osGroup}.${architecture}.${configuration} \${WORKSPACE}/bin/paltestout" // Set time out setTestJobTimeOut(newJob, scenario) @@ -1751,7 +1590,7 @@ def static calculateBuildCommands(def newJob, def scenario, def branch, def isPR def workspaceRelativeFxRoot = "_/fx" def absoluteFxRoot = "\$WORKSPACE/${workspaceRelativeFxRoot}" - buildCommands += "python -u \$WORKSPACE/tests/scripts/run-corefx-tests.py -arch ${arch} -build_type ${configuration} -fx_root ${absoluteFxRoot} -fx_branch ${branch} -env_script ${scriptFileName}" + buildCommands += "python -u \$WORKSPACE/tests/scripts/run-corefx-tests.py -arch ${architecture} -build_type ${configuration} -fx_root ${absoluteFxRoot} -fx_branch ${branch} -env_script ${scriptFileName}" setTestJobTimeOut(newJob, scenario) @@ -1868,12 +1707,6 @@ combinedScenarios.each { scenario -> return } break - case 'x86compatjit': - // Skip non-windows - if (os != 'Windows_NT') { - return - } - break case 'x64': // Everything implemented break @@ -1914,10 +1747,6 @@ combinedScenarios.each { scenario -> } // Windows: Everything implemented break - case 'x86compatjit': - // No stress modes for compatjit.dll. - // (There's no technical reason we couldn't allow these.) - return default: return } @@ -2068,7 +1897,7 @@ combinedScenarios.each { scenario -> if (os != 'Windows_NT' && (os != 'Ubuntu' || architecture != 'x64')) { return } - if (architecture != 'x64' && architecture != 'x86' && architecture != 'x86compatjit') { + if (architecture != 'x64' && architecture != 'x86') { return } if (isBuildOnly) { diff --git a/src/.nuget/Microsoft.NETCore.Jit/runtime.Windows_NT.Microsoft.NETCore.Jit.props b/src/.nuget/Microsoft.NETCore.Jit/runtime.Windows_NT.Microsoft.NETCore.Jit.props index dcc864163c..c45358dec7 100644 --- a/src/.nuget/Microsoft.NETCore.Jit/runtime.Windows_NT.Microsoft.NETCore.Jit.props +++ b/src/.nuget/Microsoft.NETCore.Jit/runtime.Windows_NT.Microsoft.NETCore.Jit.props @@ -2,7 +2,7 @@ <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> <NativeBinary Include="$(BinDir)clrjit.dll" /> - <NativeBinary Condition="'$(Platform)' == 'x86'" Include="$(BinDir)compatjit.dll" /> + <NativeBinary Condition="'$(Platform)' == 'x86' and '$(PackageCompatJit)' != ''" Include="$(BinDir)compatjit.dll" /> <CrossArchitectureSpecificNativeFileAndSymbol Include="$(BinDir)$(CrossTargetComponentFolder)\clrjit.dll" /> <!-- prevent accidental inclusion in AOT projects. --> diff --git a/src/jit/CMakeLists.txt b/src/jit/CMakeLists.txt index 816272f8b1..e8920a2860 100644 --- a/src/jit/CMakeLists.txt +++ b/src/jit/CMakeLists.txt @@ -236,9 +236,3 @@ if (CLR_CMAKE_PLATFORM_ARCH_I386 AND WIN32) # (Note: we could also create linuxlegacynonjit for generating Linux/ARM32 code using LEGACY_BACKEND, if needed.) add_subdirectory(legacynonjit) endif (CLR_CMAKE_PLATFORM_ARCH_I386 AND WIN32) - -if (CLR_CMAKE_PLATFORM_ARCH_I386 AND WIN32) - if (NOT CLR_BUILD_JIT32) - add_subdirectory(compatjit) - endif () -endif (CLR_CMAKE_PLATFORM_ARCH_I386 AND WIN32) diff --git a/src/jit/compatjit/.gitmirror b/src/jit/compatjit/.gitmirror deleted file mode 100644 index f507630f94..0000000000 --- a/src/jit/compatjit/.gitmirror +++ /dev/null @@ -1 +0,0 @@ -Only contents of this folder, excluding subfolders, will be mirrored by the Git-TFS Mirror.
\ No newline at end of file diff --git a/src/jit/compatjit/CMakeLists.txt b/src/jit/compatjit/CMakeLists.txt deleted file mode 100644 index 71b8dae304..0000000000 --- a/src/jit/compatjit/CMakeLists.txt +++ /dev/null @@ -1,61 +0,0 @@ -project(compatjit) - -# This compatjit.dll is only built if we are not building JIT32 as compatjit.dll. -# It is a normal JIT build, and only exists so the JIT nuget package can build, -# with both clrjit.dll and compatjit.dll, if JIT32 is not being built. - -add_definitions(-DFEATURE_NO_HOST) -add_definitions(-DSELF_NO_HOST) -add_definitions(-DFEATURE_READYTORUN_COMPILER) -remove_definitions(-DFEATURE_MERGE_JIT_AND_ENGINE) - -if(WIN32) - add_definitions(-DFX_VER_INTERNALNAME_STR=compatjit.dll) -endif(WIN32) - -add_library_clr(compatjit - SHARED - ${SHARED_LIB_SOURCES} - ${JIT_ARCH_SOURCES} -) - -add_dependencies(compatjit jit_exports) - -set_property(TARGET compatjit APPEND_STRING PROPERTY LINK_FLAGS ${JIT_EXPORTS_LINKER_OPTION}) -set_property(TARGET compatjit APPEND_STRING PROPERTY LINK_DEPENDS ${JIT_EXPORTS_FILE}) - -set(RYUJIT_LINK_LIBRARIES - utilcodestaticnohost - gcinfo -) - -if(CLR_CMAKE_PLATFORM_UNIX) - list(APPEND RYUJIT_LINK_LIBRARIES - mscorrc_debug - coreclrpal - palrt - ) -else() - list(APPEND RYUJIT_LINK_LIBRARIES - ${STATIC_MT_CRT_LIB} - ${STATIC_MT_VCRT_LIB} - kernel32.lib - advapi32.lib - ole32.lib - oleaut32.lib - uuid.lib - user32.lib - version.lib - shlwapi.lib - bcrypt.lib - crypt32.lib - RuntimeObject.lib - ) -endif(CLR_CMAKE_PLATFORM_UNIX) - -target_link_libraries(compatjit - ${RYUJIT_LINK_LIBRARIES} -) - -# add the install targets -install_clr(compatjit) |