summaryrefslogtreecommitdiff
path: root/build.sh
AgeCommit message (Collapse)AuthorFilesLines
2019-01-09Support building with python3 on unix (#19356)Omair Majid1-3/+3
The windows build scripts try finding python in order of python3, python2 and then python. The unix build scripts dont. They just try python2 variants and then fail. This change makes brings them closer together by letting users build using only python3.
2018-12-14Publish packages in Azure DevOps official build (#21536)Sven Boemer1-0/+3
This enables coreclr participation in dependency flow.
2018-12-03Remove Hostx86/arm CrossGen from building and Simplify build.sh command line ↵Egor Chesakov1-44/+7
arguments for Linux/arm cross build (Part 2) (#21034) * Stop building and publishing Hostx86/arm crossgen on Linux/arm * Remove -crosscomponent argument and stop using CAC_ROOTFS_DIR environment variable in build.sh * Simplify the related logic in build.sh * Don't need to specify crosscomponent in tests/scripts/run-pmi-diffs.py * Don't set CAC_ROOTFS_DIR in buildpipeline, Jenkins files and in tests/scripts/run-pmi-diffs.py * Adjust documentation
2018-11-12Simplify build.sh command line arguments for Linux/arm cross build (Part 1) ↵Egor Chesakov1-13/+10
(#20836) * Don't use crosscomponent|-crosscomponent command line args in build.sh * Don't use CROSSCOMPONENT environment variable in build.sh src/pal/tools/gen-buildsys-clang.sh * Remove mentioning -crosscomponent from usage() in build-test.sh * Don't use -crosscomponent in buildpipeline * Don't use -crosscomponent in Groovy files * Remove mentioning crosscomponent in Documentation/building/linux-instructions.md * Stop building Hostx86/armel crossgen in build.sh * Disable CrossGen-ing of System.Private.CoreLib on Linux/armel
2018-10-26fixes to build properly on FreeBSD (#20588)Tomas Weinfurt1-1/+3
* fixes to build properly on FreeBSD * remove ulimit from freebsd branch
2018-10-24Run IBCMerge step for Linux on Windows (#20496)Michelle McDaniel1-1/+22
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-16Enable building with Clang 7 (#20417)Jan Vorlicek1-3/+12
The Clang 7 is the first version in which only the major version is used in file names and paths. So the change needed to massage the build files a bit more than what was needed for the previous versions.
2018-10-03Support building cross-architecture components on armel (#20190)Egor Chesakov1-2/+2
2018-09-13Use Hostx64/arm crossgen by default on LinuxEgor Chesakov1-3/+2
2018-09-10Build both Hostx86 and Hostx64 arm32 crossgens. Continue to use Hostx86 ↵Egor Chesakov1-17/+28
crossgen to crossgen System.Private.CoreLib.dll
2018-09-07Fix the slashes when setting the ZapBBInstrDir (#19858)Michelle McDaniel1-1/+1
In OpenMethodProfileDataLogFile, we try to set the directory and path for the .ibc files using windows slashes (\). This causes this code to fail on Linux, which uses forward slashes. This is particularly a problem when setting COMPlus_ZapBBInstrDir, which takes that environment variable and attempts to find the name of the file using wcsrchr(assemblyPath, '\'). This causes a crash on linux when collecting IBC counts. The fix is to ifdef it for linux to use the correct path separator. This change also includes a fix to change the code for checking if IbcTuning is set to use == instead of -eq which was causing a failure in the build that was ignored.
2018-09-06Add logging to file when CrossGen System.Private.CoreLib.dll on Unix (#19848)Egor Chesakov1-6/+9
2018-08-20Add IBC support (#19046)Michelle McDaniel1-1/+1
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-16Build-test.sh handles native test assets (#19430)Aaron Robinson1-9/+12
* Respect Windows script argument to skip package building. * Bring build.sh logic closer to build.cmd with respect to passing CMAKE flags for building tests * Make cmake gen script find override file without using script arguments * build-test.sh can now build native test projects Remove compileoptions.cmake and push contents into configurecompiler.cmake which contains compiler configuration from repo root CMakeLists.txt
2018-08-13Add a skipmanaged option to build.sh (#19111)Omair Majid1-1/+12
This option is the opposite of -msbuildonunsupportedplatform, and an managed version of of -skipnative. This is useful for bootstrapping on new Linux/x64 distributions, where dotnet may not work (yet) but coreclr will try and use it anyway, failing the bootstrap scripts. See also https://github.com/dotnet/source-build/issues/663 for additional background information.
2018-08-01Use the identified python when building System.Private.CoreLib (#19043)Omair Majid1-0/+2
build.sh and build.cmd contain logic to identify a working version of python to use. System.Private.CoreLib ignores that and directly invokes 'python', which may not work, or even execute a different program.
2018-07-18R2RDump - Test infrastructure (#18745)Amy1-0/+6
* Test infrastructure for R2RDump, compare xml and output diff * Add R2RDumpTest to build-tests * Fix errors causing tests to fail * Create XUnitWrapper for R2RDumpTest * Generate readytorun binaries from source code, copy expected xml output files to executable's directory * Test R2RDump through commandline instead of calling R2RDump functions * Fix errors * Prevent duplicate xml tags * Read test xml from string instead of file * Fix test bugs * Call dotnet r2rdump from msbuild * Fix errors * Use right slash for paths in bash * Use different expected xml for different architectures * R2RDumpTests for non-Windows * Add more test cases * Fix errors * Supress warnings, avoid error when parsing x86 images * Add license headers
2018-05-22Remove -Rebuild option from build scripts (#18089)Brian Robbins1-1/+4
2018-05-16Generate EventSources Representing DotNETRuntime Eventing Providers (#18007)Brian Robbins1-1/+4
2018-04-23Remove Alpine 3.6 buildsWes Haggard1-1/+4
The alpine 3.6 builds have been replaced with the more generic linux-musl builds so removing them.
2018-04-05Update docker images for arm32 (#17422)Sergey Andreenko1-5/+10
* mark places that we need to change * update dockumentation for arm * update build.sh for arm * update dockers' versions * fix build.sh * change default version for arm/armem/arm64
2018-03-31[Arm64] Add x64_arm64 crossgen to tools packageSteve MacLean1-0/+5
2018-03-26Merge pull request #17226 from weshaggard/MergeRestoreTargetsWes Haggard1-1/+1
Merge various restore tasks into one Sync target
2018-03-26Work around Jenkins problem with large env varsBruce Forstall1-0/+5
Clear out `ghprbCommentBody` before msbuild is invoked, which can't deal with large environment variables.
2018-03-26Merge various restore tasks into one Sync targetWes Haggard1-1/+1
There were various restore targets happening independently when they should all be combined so the sync step can be independent from the build step. This change merges them together under the Sync target. In particular this moves RestoreOptData and RestoreNETCorePlatforms to be part of the sync step instead of being individually ran. Pass BuildType to sync commands so optdata gets restored correctly
2018-03-23Generate native image for System.Private.CoreLib.dll during Linux/arm ↵Egor Chesakov1-22/+30
build.sh (#17157) * Add generating native image for System.Private.CoreLib.dll during Linux/arm cross build when __CrossArch/__BuildArch is x86/arm
2018-03-23Fix RestoreSources for optdata packagesWes Haggard1-1/+1
Pass unprocessed args to restore optdata step so it can override the sources when doing restore Handle prority as an unprocessed arg for the sync alias
2018-03-15Fix etmdummy.h file not found during cross crossarchitecture buildEgor Chesakov1-39/+42
2018-03-14Include Linux/cross-arch components into NuGet packages (#16859)Egor Chesakov1-1/+1
* Add __DoCrossArchBuild settings to config.json * HasCrossTargetComponents computes to 'true' on Linux when __DoCrossArchBuild is 1 in dir.props * Include cross-architecture libclrjit.so crossgen into NuGet props files when HasCrossTargetComponents is 'true' * Pass $__DoCrossArchBuild to run.sh when generating NuGet packages in build.sh
2018-03-10Fix build with Clang 6.0 and enable build with Clang 5.0 (#16855)Jan Vorlicek1-0/+10
* Fix build with Clang 6.0 * Add support for clang 5.0 too
2018-01-30Building non-Windows builds using the CLI's MSBuild (#16101)Jose Perez Rodriguez1-3/+3
* Building non-Windows builds using the CLI's MSBuild
2018-01-02Retry: Enable EventPipe across Unix and Windows (#15611)Victor "Nate" Graf1-51/+16
* Revert "Revert "Enable EventPipe across Unix and Windows (#14772)" (#15609)" This reverts commit 302005ca8ae14eade37ddf4ac6e900617c1c166a. * Fix ARM build break * Use more explicit references to resolve build failures * Fix compat with python3 * Disable FeaturePerfTracing on Windows as it is not ready * Disable test for incomplete functionality * Fix test diabled patterns * Add license header * Use keyword types for managed code * Add message prefix * More precisly condition generation of eventing sources * Remove erroneously added changes
2017-12-21Revert "Enable EventPipe across Unix and Windows (#14772)" (#15609)Victor "Nate" Graf1-16/+51
This reverts commit 7524d72d4f0f634fe5407280b83c25181dc8c556.
2017-12-20Enable EventPipe across Unix and Windows (#14772)Victor "Nate" Graf1-51/+16
* [squashed] most work complete to enable EventPipe on Windows * Eventpipe now builds on Windows * Ensure evevntpipe is intialized on Windows * Resolve the location of python from build.cmd * Ensure eventing files are generated when needed * moving linkage declaration to cmake * create new event from constructor * enable FEATURE_EVENT_TRACE and FEATURE_PERF_TRACE everywhere * [WIP] checkpoint in fixing contarct errors * add another possible python location * Fix double delete bug in EventPipeConfiguration destructor * Fix typo in function name * Revert changes to .gitgnore * bump to netstandard1.6 in preperation for new version of TraceEvent * Revert changes to groovy files * revert changes to perf-prep scripts * add common.h and use nothrow * Fix issue which was causing double delete of configprovider * Add new test utilizing TraceEvent * Remove accidentally added local directory reference * Add comment to explain the addition of misc/tracepointprovider.cpp * Add back sys.exit(0) and refactor * Change conditional to be more direct * Better handle NULL config * Initialize m_deleteDefered * Eliminate obsolete field * Fix spelling error * Fix nits * Make smaple progiler timing functions easier to read * Move projects back to netstandard1.4 * Incomplete improvements to EventPipeTrace test * Add event integrity checks to test * Clean up some left over code * Add EventSource based test * Remove unused PAL tests on Windows * Fix Linux build breaks * Minor changes to CMake files * Remove //HACK for hack that was previously removed * Fix formatting and negate a #ifdef * Add conditional to ensure PERFTRACING is not enabled without EVENT_TRACE * Take lock on EventPipeProvider and EventPipeConfiguration destruction * Load winmm.dll at runtime * Change function name and compile conditions * Move typedef into #ifndef * Use the correct config in setup * Change lifecycle managment of EventPipeConfiguration's configuration provider * Enable EventPipe tests pri0 and disable broken tests * Replace python3 only error with python2 compatable one * Make common.csproj build pri0 * Change TraceEvent version to 2.0.2 to match published verison * Address cross build failure * Remove use of undefined variable * Add crossgen fix to .cmd * Use more specific types to avoid marshalling errors * Use Assert-style statements and remove one check * Fix cross arch build * Fix flipped branch * Bring build.cmd changes to build.sh * Fix cmake writing * Revert "Bring build.cmd changes to build.sh" This reverts commit 893c6492548d8bc9859ebba5b1b810aa630fac63. * remove stdlib.h * Fix out of order null check
2017-10-30Switch to sourcing in init-tools to enable the return statements to workWes Haggard1-2/+2
2017-10-30Pass overridden packages directory to CMakeWes Haggard1-2/+2
2017-10-30Normalize the alpine and rhel RIDsWes Haggard1-1/+1
See: https://github.com/dotnet/core-setup/commit/c8a27076f93c3107759b8a86a02ea4f40d100b67 We need to strip the last part of the version number for alpine and rhel because they are compatible and we don't want the specific versions.
2017-10-27[Local GC] Implement loader protocol for a standalone GC (#14663)Sean Gillespie1-4/+0
* First cut of the load protocol * Implement for non-standalone GC * Initial working implementation * First steps towards not using GetProcAddress when not using a standalone GC * Factor out loading routines into standalone and non-standalone cases * Remove the FEATURE_STANDALONE_GC_ONLY build * Code cleanup and comments * Comments for the version numbers * Use more appropriate type for config string * add GC_LOAD_STATUS_BEFORE_START to disambiguate failures before the start of the load and failures at the beginning of the load * FEATURE_STANDALONE_GC on by default * Implement YieldProcessor and MemoryBarrier for arm and arm64 * Remove missed FEATURE_STANDALONE_GC feature check
2017-10-19Add build-test osx supportjashook1-0/+4
2017-10-06 enable lttng for FreeBSD. (#14342)Tomas Weinfurt1-2/+2
* enable lttng for FreeBSD. it is supported for user space * unify Linux and FreeBSD branches for lttng. At lest for now, they are identical
2017-10-04Few build changes to support Freebsd (#14121)Tomas Weinfurt1-1/+21
* also look for python27 * add more locations to search for lldb.h so it just work on FreeBSD * add adm64 to ARCH selection. This is mostly cosmetic to avoild warning on FreeBSD * add support for -osgroup=XXX - this is mostly for conistency. -OSGroup=FreeBSD is similar to freebsdmscorlib in build.cmd * fix typo adm->amd * add back fi removed by mistake * add __HostDistroRid for FreeBSD * adress fedback from review: make python lookup consistent - starting with most specific version. uddate warning message about lldb.h and remove composite flag * feedback from review: type and small change on OSGroup syntax * few more minor fixes
2017-09-29Update build clang/llvm/lldb 3.9 (#14096)Mike McLaughlin1-13/+2
Update build scripts, docs and build pipeline docker images to clang/llvm/lldb 3.9
2017-09-13Enable end to end Alpine build (#13966)Jan Vorlicek1-4/+8
This change enables full end to end build of coreclr including managed code on Alpine Linux.
2017-09-13Change how numProc is derived on Linux (#13909)Jarret Shook1-1/+3
Before the decision for numProcs to run in parallel for runtests.sh was based on _NPROCESSORS_ONLN which harware which attempts to save power (eg arm(64)) this number may be < numProcs.
2017-08-30Remove -sequential build-flag (#13658)Omair Majid1-2/+0
The flag is not implemented anywhere and is completely ignored. Remove it form various help notices too. Fixes #12035
2017-08-17Enable RedHat 6 in coreclr master (#13315)smile21prc1-9/+9
* Enable RedHat 6 in coreclr master Enable RedHat 6 in coreclr master. This is identical as the approved PR to enable RedHat 6 in coreclr release/2.0.0: https://github.com/dotnet/coreclr/pull/13301 * Correct Rid to match /src/.nuget/dirs.props Correct Rid to match /src/.nuget/dirs.props * Update dockertag and add logic to detect RHEL6 in init-tools.sh Update dockertag and add logic to detect RHEL6 in init-tools.sh * Port changes from Release/2.0.0 to fix coreclr RHEL 6 official runs. Port changes from Release/2.0.0 to fix coreclr RHEL 6 official runs. * Remove empty quotes. Remove empty quotes.
2017-08-15Use dashes for build options (#13353)Vance Morrison1-70/+70
* Fix IndexOutOfRangeException in PayloadNames property If you pass an null payload using Write<T>, and in the EventListener then call PayloadNames, it will throw an IndexOutOfRangeException. It should just return null. This fixes this. * To be consistant with the other build.cmd files use - for options * Update docs to track change in option convention * Updated Unix script to use - for options. * Fix build break * Fix Whitespace (review feedback) * Another fix
2017-08-11Log the crossgen command in build.sh.jashook1-0/+1
This makes it easier to copy paste the commnand if it fails.
2017-08-01Enable build of crosscomponent for armel (#11066)Hyung-Kyu Choi1-2/+2
* Enable build of crosscomponent for armel Enable build of crosscomponent for armel in addition to arm Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com> * Fix typo Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
2017-07-31Enable RHEL6 and CentOS 6 RID detection in build (#13101)Jan Vorlicek1-5/+12
This change adds RHEL6 and CentOS 6 RID detection to build.sh. These distros don't have the /etc/os-release file and so we need to use another source - the /etc/redhat-release file