summaryrefslogtreecommitdiff
path: root/functions.cmake
AgeCommit message (Collapse)AuthorFilesLines
2018-01-02Retry: Enable EventPipe across Unix and Windows (#15611)Victor "Nate" Graf1-35/+33
* 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-33/+35
This reverts commit 7524d72d4f0f634fe5407280b83c25181dc8c556.
2017-12-20Enable EventPipe across Unix and Windows (#14772)Victor "Nate" Graf1-35/+33
* [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-12-09Fix build with Asan (#15372)Konstantin Baladurin1-1/+15
- verify_dependencies: disable checking dependencies for Asan build because in this case shared libraries can have undefined symbols (if static linking with compiler-rt is used). - enablesanitizers.sh: remove excess quotes for ASAN_OPTIONS and UBSAN_OPTIONS environment variable because otherwise Asan cannot parse flags. Also doesn't export ASAN_SYMBOLIZER_PATH for clang > 3.6.
2017-11-04[Infrastructure] Use MSBuild v15 extension point to control CL parallelism, ↵Jacek Blaszczynski1-1/+0
abstract MSBuild /maxcpucount switch (#14578) This commit frees -ExtraParameters and uses MSBuild v15 extension point to control CL compiler parallelism. If MSBuild 15.0 is available - installed with Visual Studio 2017 - CL parallelism control is achieved by using extension point in Microsoft.Common.props file which allows to include Directory.Build.props - for details see [Microsoft.Common.props] [1] file in MSBuild repo. https://github.com/Microsoft/msbuild/blob/b38e4ceeaaec36c5237ae698041e9b9f18c84876/src/Tasks/Microsoft.Common.props#L36. MSBuild parallelism is controled via abstracted /maxcpucount command line switch which now is available as -MSBuildNodeCount pass through run.cmd/run.sh command line argument with default value equal to /maxcpucount (what defaults to number of logical processors). This allows to control MSBuild parallelism on all supported platforms. It is possible to control MSBuild parallelism programatically via MSBuild public API using MaxNodeCount properties available on the following APIs: Microsoft.Build.Evaluation.ProjectCollection.MaxNodeCount Microsoft.Build.Execution.BuildParameters.MaxNodeCount It's use in current build infrastructure would require creating unnecessary complexity and was ruled out.
2017-09-13Fix setting PAX options for crossgen (#13950)Jan Vorlicek1-2/+2
In my previous PR that added marking executables with paxctl, I've made a mistake in the order of calling _add_library and add_dependencies. But that was hidden due to the fact that we have yet another copy of the add_library_clr and add_executable_clr functions in src/CMakeLists.txt. I have no idea how that happened. This one has overriden the other, which has hidden the problem, but also caused the crossgen to not to be modified by the paxctl. So I am fixing the order and removing the extra definitions of those functions.
2017-09-13Disable PAX mprotect for native executables (#13940)Jan Vorlicek1-18/+21
This change adds marking native executables that coreclr build produces (corerun, coreconsole, crossgen, ilasm, ildasm, crashdump) to using the paxctl tool to allow them running on systems with PAX configured so that creating executable memory mappings by applications is prohibited.
2017-08-22[Local GC] Enable building the GC as a shared library (#13137)Sean Gillespie1-0/+27
* [Local GC] Build the GC using system headers * Disable features to get the GC to build * Get rid of the separate 'GC PAL' build * Remove unused stuff * Don't build gcenv.os.cpp when linking in a standalone gc * Stub out CPUGroupInfo and NumaNodeInfo * Stub out IsGCThread and friends * Build the GC as a shared library :tada: * Build, link, and run! :tada: * Fix standalone GC build break * Fixes where the GC's MethodTable and VM's MethodTable classes disagree * Integrate a standalone GC into the CoreCLR build system (so it gets copied to the output folder). Re-enable some ifdef-ed out includes that are required for a non-standalone build of the GC. * Bring changes to Unix and fix the Unix build. Implement some compiler intrinsic wrappers and alignment functions expected by the GC. * Fix the Windows build * 1. Code review feedback: use standard types for BitScanForward and BitScanForward64 2. Delete FEATURE_COM stuff from the build system, not needed for this PR 3. Fix the Unix build * Fix the Windows x86 build - the _BitScanForward64 intrinsic is not available when targeting 32-bit platforms * Remove a number of things from gcenv.base.h that are not used * Remove a linker workaround now that we are not linking a standalone GC into the runtime * Remove dead code, make the lack of GC_PROFILING for standalone gc not break profiling on the non-standalone build * Code review feedback - use add_library_clr and other cmake-related fixes * Fix include indentation * Remove some extraneous parameters to cmake functions (cmake is remarkably lenient...)
2017-06-01gdbjit symbols exported (#11739)chunseoklee1-3/+6
* multiple export files as input for generate_exports_file Now, generate_exports_file is able to process multiple input arguments. This feature is useful when you want to export additional symbols depending on compile time dependannt feature(-D option.) * export file for gdbjit added src/dlls/mscoree/gdbjit_unixexports.src file added To enable gdbjit feature, libcoreclr.so should have __jit_xxx symbols. Current tizen build system removes .symtab section during rpm debuginfo build. This patch moves __jit_xx symbols into .dynsym section.
2017-03-06Add stripSymbols argument; refactor symbol package build (#9664)Davis Goodin1-2/+2
* Add argument to explicitly enable symbol stripping * Refactor symbol package build * Remove unnecessary native file distinctions * Remove unnecessary WindowsSymbolFile step
2017-01-31Support cross-building CoreCLR for arm64 Android (#9173)Frederik Carlier1-1/+1
* Support cross-building CoreCLR for arm64 Android * Link gcc_s before libunwind
2016-12-23[Linux] Fix cross-architecture component build configuration for ↵Hyeongseok Oh1-1/+1
ARM32-target (#8687) * fix CMakeLists.txt for palrt * Modify CMakeLists.txt for cross-architecture component configuaration Add coreclrpal project to fix a dependency issue when CMake configuration * Allow only x64-host/arm-target for linux allow x64-host/arm-target only, because pal is not stable for x86 now * Update build.sh delete NumProc=1 (inserted for debugging) * Change x64-host to x86-host for arm-target JIT correctness problem, and fix CMake configuration for x86 in pal * Fix type * Update CMakeLists.txt * fix style * Set x86 when arm-target/x64-host * fix typo
2016-12-16Fix buildsystem for linux cross-architecture component build (#8646)Hyeongseok Oh1-0/+2
* Fix buildsystem for linux cross-architecture component build * refactoring build.sh, bug fix and typo fix * Update build.sh
2016-11-29Fix shared library dependencies verification on some platforms (#8349)Jan Vorlicek1-0/+16
The existing way of verifying shared library dependencies, used for System.Globalization.Native.so, doesn't work on platforms that don't have ldd or where ldd doesn't support the `-r` option. This change makes the check happen on non-Alpine Linux only for now. It also refactors the way the check is performed. Instead of doing it post build in the build.sh, it is now performed as a postbuild phase of the System.Globalization.Native target and it is also generalized so that we can easily add such verification to other build targets. The new verify-so.sh script is also used in corefx.
2016-10-04Add PGO GENPROFILE support to coreclr and clrjit (#7423)Daniel Podder1-0/+5
* Add PGO GENPROFILE support to coreclr and clrjit Update the cmake build system to enable support for Profile Guided Optimization (PGO) on Windows, and enable this feature for two target binaries (coreclr and clrjit). With this change, toggle between instrumented and profile-optimized settings for target binaries by passing pgoinstrument argument to the build.cmd Assume profile-optimized mode by default. Fall back to regular non-PGO optimized builds if profile data is not available.
2016-08-23Initial commit to build Win32 Arm CoreCLRGaurav Khanna1-3/+28
2016-07-25Arm64: DebuggerRama Krishnan Raghupathy1-3/+3
Instruction emulation for Break Points Debugger::FuncEvalSetup NativeWalker ExceptionHijack Exception intercept Managed Return Value
2016-06-28Fix platform logic in symbol stripping code.Aditya Mandaleeka1-6/+6
2016-06-07Strip debugging symbol table entries on OS X Release builds.Aditya Mandaleeka1-1/+1
2016-04-21Adding Versioning to Native components in non-Windows builds. (#4393)Jose Perez Rodriguez1-2/+10
Adding Versioning to Native components in non-Windows builds.
2016-04-18enable build of cross target components.Rahul Kumar1-0/+180
Currently only enabled for arm64