summaryrefslogtreecommitdiff
path: root/build.cmd
AgeCommit message (Collapse)AuthorFilesLines
2019-06-20Remove SOS and lldb plugin (#25220)Mike McLaughlin1-15/+10
* Remove SOS and lldb plugin Issue: https://github.com/dotnet/coreclr/issues/24092
2019-06-18Fix 25233 (#25234)Jarret Shook1-9/+9
* Fix ibcmerge.csproj to use IbcMergePackageVersion This fixes a copy/paste bug. * Fix more copy/paste in comment * Use ! in place of %
2019-06-14Add a build option to skip building managed tools (#25171)Jarret Shook1-0/+2
This specifically will set __BuildManagedTools=0 and skip building R2RDump and runincontext.
2019-06-13Partially address commentsjashook1-5/+5
2019-06-13Remove duplicate notjashook1-3/+3
2019-06-13Address PR feedback.jashook1-10/+27
2019-06-13Fix set syntaxjashook1-2/+2
2019-06-13Also use WriteLinesToFile for IBC merge and read in the file in build.cmdjashook1-2/+7
2019-06-13Add ${__CommonMSBuildArgs} to pass buildtype and archjashook1-2/+2
2019-06-12Change how build.sh/build.cmd parse the PGO and IBC versionsjashook1-4/+15
This will reduce fragility in our build pipeline, by explicitely controlling the output of dotnet msbuild. It also unblocks the source-build effort, as source-build will write extra console output breaking our old parsing.
2019-05-30Fix #24867 (#24870)Jarret Shook1-1/+1
Pre SDK 3.0, a project type that is not .csproj would not include Directory.Build.targets. Change empty.proj to empty.csproj to allow source build, which uses a 2.1 sdk to build, correctly import Directory.Build.targets.
2019-05-30Remove BuildTools from product build (#24841)Elinor Fung1-20/+9
* Remove BuildTools imports from product build * Split scripts for installing dotnet vs BuildTools
2019-05-29Stop using %~dp0 in build scripts after args processing (#24842)Elinor Fung1-2/+2
2019-05-28Use Arcade for native versioning (#24785)Elinor Fung1-6/+4
2019-05-23Fix restoring internal tools (#24750)Elinor Fung1-3/+3
2019-05-23Fix missing version numbers in packaged files and getting IBC merge version ↵Elinor Fung1-1/+1
in official build (#24735) * Fix missing version numbers in packaged files in official build * Fix build script for getting IBC merge version
2019-05-22Use -c when trying to find Python (#24722)Steve Dower1-1/+3
Piping code into Python is indistinguishable from interactive execution, but since we never want interactive execution here it's better to use `-c <CODE>`.
2019-05-21Switch NuGet package build to use Arcade instead of BuildTools (#24619)Elinor Fung1-45/+30
2019-05-10Move EventProvider native layout to be driven by CMake configure (#24478)Jeremy Koritzinsky1-33/+0
* Generate eventpipe implementation as part of CMake configure. * Generate Etw provider as part of CMake configure. * First pass porting over lttng provider to cmake. * Fix up CMake Lttng provider generation. * Move Lttng provider into CMake tree. * Move dummy event provider to CMake * Move genEventing into the CMake tree. * Remove extraneous logging and unused python locator. * Clean up build.sh * Clean up genEventingTests.py * Add dependencies to enable more incremental builds (providers not fully incremental). * Convert to custom command and targets instead of at configure time. * Get each eventing target to incrementally build. * Fix incremental builds * Add missing dependencies on eventing headers. * PR Feedback. Mark all generated files as generated * Clean up eventprovider test CMakeLists
2019-05-10Properly set the nuget cache for the repo (#24505)Aaron Robinson1-2/+2
* Properly set the nuget cache for the repo * Change coreclr NuGet package cache from "./packages" to "./.packages"
2019-05-07Merge pull request #24444 from BruceForstall/FixGenerateLayoutArgPassingBruce Forstall1-1/+1
Fix build.cmd passing of args to runtest.cmd
2019-05-07Fix build.cmd passing of args to runtest.cmdBruce Forstall1-1/+1
If you use the `generatelayout` argument to build.cmd, it passes all "unprocessed" arguments directly on to msbuild. To accomplish the same this with runtest.cmd, you must use the "msbuildargs" argument, or else the arg will be treated as a `CORE_ROOT` argument. (This seems like a bad design, but that's a separate issue.) E.g., I always pass `/consoleloggerparameters:ForceNoAlign`, and want that passed on to runtest.cmd. (This should also be the default, but once again, that's a separate issue.)
2019-05-06Port all managed product binaries to use SDK style projects (#24285)Aaron Robinson1-8/+21
Convert managed product binary to use SDK project system. - Uses Arcade for versions strings - Overrides Arcade defined output paths - should change in the future
2019-05-03Use our local-built instances of tools from ↵Jeremy Koritzinsky1-62/+65
Microsoft.DotNet.BuildTools.CoreClr instead of using the package. (#24347) * Use our local-built instances of tools from Microsoft.DotNet.BuildTools.CoreClr instead of using the package. * Fix const-correctness in InjectResource. * Build cross-arch native components before building native components for target arch. * Build InjectResource and GenClrDebugResource for the host arch when cross-building and import the targets into the cross-build. * install(EXPORT) in the directory where the target is created
2019-04-29Restore IBCMerge using an authenticated service connection (#24284)Jeremy Koritzinsky1-6/+2
* Add separate build steps to do the IBCMerge restore. * Attempt 1 to get config picked up. * Attempt 2 getting ibcmerge restore working. * Fix invalid MSBuild syntax. * Fix getting IBC package version.
2019-04-25Add IBCMerge restore source to the restore command. (#24250)Jeremy Koritzinsky1-2/+2
2019-04-24Update IBCMerge and ensure that it runs when in a release build and ↵Jeremy Koritzinsky1-10/+27
ibcoptimize is set. (#24205) * Update IBCMerge and ensure that it runs when in a release build and ibcoptimize is set. * Add major rollforward for ibcmerge.
2019-03-21Avoid stack walk as specified in the exclusion listAndrew Au1-2/+2
2019-03-06Change IBC data path to match Arcade standard (#23063)Michelle McDaniel1-1/+1
2019-03-04Pass -priority= argument directly to build-test.cmd (#23007)Egor Chesakov1-2/+5
2019-03-01Use arcade's version of dotnet to build (#22755)Steve MacLean1-4/+4
* Use arcade dotnet * Add cmake_msbuild.cmd Move msbuild.cmd to cmake_msbuild.bat Document intent that this file is only used to resolve Windows cmake dependency on desktop msbuild.exe Remove one instance of msbuild.cmd * Fix inittools.cmd * Remove spurious setup_vs_tools.cmd calls
2019-02-27Change IBC package layout to match what we generate (#22799)Michelle McDaniel1-1/+1
* Change IBC package layout to match what the optimization repo now generates
2019-02-15Manually update the dependencies.props and move S.P.Corelib to use ↵Tanner Gooding1-13/+8
LangVersion=8.0 (#22452) * Update BuildTools to preview1-03713-01 (master) * Updating CoreCLR to use LangVersion=8.0 * Moving the Windows scripts to default to `dotnet msbuild` for managed components * Setting UseSharedCompilation=true * Changing some additional callsites that were using msbuild to use dotnet msbuild * Revert packages.builds to use Desktop msbuild on Windows * Fixing runtest.cmd to always set DotNetCli
2019-02-12Renaming RuntimeEventSource to NativeRuntimeEventSource (#22533)Sung Yoon Whang1-1/+1
* Renaming RuntimeEventSource to NativeRuntimeEventSource * missed a couple of comments and XPlatEventLogger * rename DotNETRuntimeEventSource.cs to NativeRuntimeEventSource.cs * use condition= instead of ifdef * removing ifdef from NativeRuntimeEventSource.cs * Fix case for 'eventing' directory in csproj * Fix unix builds * This should fix unix build...
2019-02-11Support building with VS2019 Preview (#22525)Tanner Gooding1-6/+6
* Support building with VS2019 Preview * Fixing gen-buildsys-win to only set the architecture for the VS generator * Refactoring Dev11/147911/fpcw.cpp so that it compiles under VS2019 * Removing the remaining traces of VS2015 build support
2019-02-04Configure MSBuild debug path and save any logsBruce Forstall1-3/+8
We have had many problems in the CI with MSBuild failing, and not capturing the failure logs. See https://github.com/dotnet/coreclr/issues/20236. So, for all msbuild invocations, set MSBUILDDEBUGPATH to a new, distinguished, subdirectory of the bin\Logs directory, named "MsbuildDebugLogs". Change the CI to upload any log files found there.
2019-01-31Add -skipcrossarchnative option to build.cmd (#22091)Bruce Forstall1-6/+12
* Add -skipcrossarchnative option to build.cmd This allows you to skip building the cross-architecture native components. * Add -skipcrossarchnative to build.sh
2019-01-30Remove run.exe and config.json (#21608)Sven Boemer1-17/+52
This moves us one step away from buildtools and towards arcade. This replaces run.sh and run.cmd (and all invocations) with "dotnet.sh msbuild" and "msbuild.cmd". - I'm using these wrapper scripts for now instead of those in eng/common in order to retain the very helpful "Running <command>" output in the build logs. - I'm using msbuild.cmd instead of dotnet.sh to match the current behavior that uses desktop msbuild on windows, instead of dotnet. All of the arguments that used to be implicitly generated by run.exe and config.json are now explicit, resulting in longer (but easier to copy+paste) commands. Some of these arguments are likely unnecessary, but in this change my goal is just to match the run.exe behavior. Later, I would like to go through and clean up parameters that don't need to be passed in every invocation. I might also consider moving more of the common arguments out into variables in a later change. Some of the wrapper scripts now have limited support for parsing "-Argument=Value" style parameters, to support our existing buildpipeline infrastructure, since I thought this was easier to test than changing our buildpipeline definitions. We can remove that parsing logic once we stop using buildpipeline (which has happened at this point). Some subtle parts of the change: * Add msbuild.cmd This simulates the behavior of Tools\msbuild.cmd, which calls desktop msbuild. * Fix BuildOS processing in package build and publish Previously, config.json had its own processing that would set OSName. Instead, we now pass it in explicitly where it's needed (building packages), or not at all (publishing them). * Handle "=" in publish-packages.cmd and other scripts This seems necessary to properly handle the azure access token * Set __BuildOS in PublishPackages Required for cases where the build OS isn't detected during the build such as freebsd. * Use dotnet msbuild in runtest.py This prevents us from having to deal with different quote escape behavior on windows and linux. Previously, arguments like fileloggerparameters and the logger were given quotes to escape semicolons in the argument. On unix, this prevented the argument from being split up by bash. On windows, it seems that the run.cmd/run.exe tools would prevent the extra quotes from being passed to msbuild.exe (desktop msbuild would choke on the quotes if they were passed along). Unlike desktop msbuild, dotnet msbuild is able to parse the quoted strings, so we simply psas the quoted arguments directly to it on windows. We may be able to do the same on unix. * Fix build-test.sh problem with BuildOS When copying native files during the unix test build, we rely on __BuildOS being set. Fixing the import order and always setting __BuildOS fixes this. We should eventually fix the inconsistent use of BuildOS vs __BuildOS.
2019-01-09Change CoreLib native image to be R2R by default on all platforms (#21497)Fadi Hanna1-6/+2
2019-01-08Fix consistency between `-` and prefixless args in build.cmd (#20248)Charles Milette1-0/+2
* Fix consistency between `-` and prefixless args in build.com * Remove -generatelayout Already PR'd by someone else
2018-11-29Fix build parallelism on Windows with NUMA (#21278)Jan Vorlicek1-1/+3
When multiple NUMA nodes are enabled on the machine where coreclr is built, we incorrectly detect the number of cores that we use for build parallelism of the native part of the build (NumberOfCores) as only a number in the last NUMA node. The reason is that the `wmic cpu get NumberOfCores /value` returns multiple lines, one per each NUMA node. This change fixes it by summing values from all the lines.
2018-11-16Eliminate CMAKE dependency when not required (#21040)Dan Moseley1-2/+7
2018-10-24Run IBCMerge step for Linux on Windows (#20496)Michelle McDaniel1-94/+100
This change does the following: * Move the IBCOptimize step out of the Crossgen section and into the CoreLib build section of build.cmd * Adds -ibconly which will skip building System.Private.CoreLib and only run the ibcmerge step * Adds crossgenonly and partialngen flags to build.sh These three changes facilitate our ability to apply IBC data to Linux assemblies on Windows and the perform the crossgen step on Linux, which will be our flow for official builds when we want to apply IBC data since IBCMerge cannot run on non-Windows platforms
2018-10-11Added `-generatelayout` (#20247)Jurjen Biewenga1-0/+1
* Added `-generatelayout` * Update build.cmd Removed stray paranthesis
2018-08-20Add IBC support (#19046)Michelle McDaniel1-4/+84
This change adds support to consume IBC data packages that are created by the dotnet/optimization repository. With these changes and dotnet/buildtools#2103 to enable IBC optimizations for corefx, we will see a 32% decrease in the size of NetCoreApp (and an overall decrease of 16%), a 30% reduction in ref set, a 5% improvement in time to first request and steady state performance for MusicStore. Size Crossgen Partial Partial vs Crossgen (lower is better) Shared (MB) 185.6 137.3 0.74 Microsoft.NETCore.App (MB) 115.6 67.4 0.58 RefSet MusicStore Crossgen Partial Partial vs Crossgen (lower is better) Total 19.389 13.472 0.69 AllReady Crossgen Partial Partial vs Crossgen (lower is better) Total 17.58 12.214 Performance MusicStore Crossgen Partial Partial vs Crossgen (lower is better) Server Start (ms) 870 870.6 1.00 First request (ms) 3532.6 3386.6 0.95 Steady State (ms) 2.926 2.79 0.95 AllReady Crossgen Partial Partial vs Crossgen (lower is better) Server Start (ms) 2102 1942.4 First Request (ms) 4263.2 4126 Steady State (ms) 5.69 5.68 TechEmpower Plaintext Crossgen Partial Partial vs Crossgen (lower is better) Requests per Second 1928649.8 1893183.8 First Request (ms) 76.14 80.11 Startup (ms) 391 372.8 Working Set (MB) 382.2 373.4
2018-08-05Clean up build.cmd/build-test.cmd/runtest.cmdBruce Forstall1-78/+93
Various minor cleanups: 1. Use the same naming/style for all three. 2. Make the style consistent throughout each. E.g., consistent indents, capitalization. 3. Add more consistent output, including the prefix tag used everywhere. 4. build.cmd: only build cross components if native build is enabled. 5. Use new __Logging variable to consolidate all logging arguments, to reduce large (unexpanded) command line lengths.
2018-08-01Enable ARM64 builds using release product toolsBruce Forstall1-61/+6
Remove support for specifying the toolset directory for arm64, which was used to point to an internal toolset. Building for arm64 now works just like the other platforms, e.g. invoke `build arm64`. The requirements: . Visual Studio 2017 Update 4 or later, with ARM64 toolset installed . Windows SDK 10.0.17134.0 or later . CMake 3.10 or later
2018-07-09Use BuildManagedTools argument instead of environment variable, removed ↵Amy Yu1-0/+4
unneeded flags
2018-07-09Add R2RDump to build.proj, running dotnet restore before target buildAmy Yu1-12/+13
2018-05-22Remove -Rebuild option from build scripts (#18089)Brian Robbins1-1/+11