summaryrefslogtreecommitdiff
path: root/build.sh
diff options
context:
space:
mode:
authorVictor "Nate" Graf <nategraf1@gmail.com>2017-12-21 02:07:52 (GMT)
committerGitHub <noreply@github.com>2017-12-21 02:07:52 (GMT)
commit7524d72d4f0f634fe5407280b83c25181dc8c556 (patch)
tree119c7edbbd7b3a0aec47d55334d52d1471e3a3da /build.sh
parent9891c8ba8f84ff646455b4493447295c591665f4 (diff)
downloadcoreclr-7524d72d4f0f634fe5407280b83c25181dc8c556.zip
coreclr-7524d72d4f0f634fe5407280b83c25181dc8c556.tar.gz
coreclr-7524d72d4f0f634fe5407280b83c25181dc8c556.tar.bz2
Enable EventPipe across Unix and Windows (#14772)
* [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
Diffstat (limited to 'build.sh')
-rwxr-xr-xbuild.sh67
1 files changed, 16 insertions, 51 deletions
diff --git a/build.sh b/build.sh
index 415736a..f10d5b8 100755
--- a/build.sh
+++ b/build.sh
@@ -194,28 +194,9 @@ generate_event_logging_sources()
fi
# Event Logging Infrastructure
- __GeneratedIntermediate="$__IntermediatesDir/Generated"
- __GeneratedIntermediateEventProvider="$__GeneratedIntermediate/eventprovider_new"
- __GeneratedIntermediateEventPipe="$__GeneratedIntermediate/eventpipe_new"
-
- if [[ -d "$__GeneratedIntermediateEventProvider" ]]; then
- rm -rf "$__GeneratedIntermediateEventProvider"
- fi
-
- if [[ -d "$__GeneratedIntermediateEventPipe" ]]; then
- rm -rf "$__GeneratedIntermediateEventPipe"
- fi
-
- if [[ ! -d "$__GeneratedIntermediate/eventprovider" ]]; then
- mkdir -p "$__GeneratedIntermediate/eventprovider"
- fi
-
- if [[ ! -d "$__GeneratedIntermediate/eventpipe" ]]; then
- mkdir -p "$__GeneratedIntermediate/eventpipe"
- fi
-
- mkdir -p "$__GeneratedIntermediateEventProvider"
- mkdir -p "$__GeneratedIntermediateEventPipe"
+ __GeneratedIntermediate="$__IntermediatesDir/eventing"
+ __GeneratedIntermediateEventProvider="$__GeneratedIntermediate/eventprovider"
+ __GeneratedIntermediateEventPipe="$__GeneratedIntermediate/eventpipe"
__PythonWarningFlags="-Wall"
if [[ $__IgnoreWarnings == 0 ]]; then
@@ -225,54 +206,38 @@ generate_event_logging_sources()
if [[ $__SkipCoreCLR == 0 || $__ConfigureOnly == 1 ]]; then
echo "Laying out dynamically generated files consumed by the build system "
- echo "Laying out dynamically generated Event Logging Test files"
- $PYTHON -B $__PythonWarningFlags "$__ProjectRoot/src/scripts/genXplatEventing.py" --man "$__ProjectRoot/src/vm/ClrEtwAll.man" --exc "$__ProjectRoot/src/vm/ClrEtwAllMeta.lst" --testdir "$__GeneratedIntermediateEventProvider/tests"
+ echo "Laying out dynamically generated Event test files, etmdummy stub functions, and external linkages"
+ $PYTHON -B $__PythonWarningFlags "$__ProjectRoot/src/scripts/genEventing.py" --inc $__IntermediatesDir/src/inc --dummy $__IntermediatesDir/src/inc/etmdummy.h --man "$__ProjectRoot/src/vm/ClrEtwAll.man" --testdir "$__GeneratedIntermediateEventProvider/tests"
if [[ $? != 0 ]]; then
exit
fi
- case $__BuildOS in
- Linux|FreeBSD)
- echo "Laying out dynamically generated EventPipe Implementation"
- $PYTHON -B $__PythonWarningFlags "$__ProjectRoot/src/scripts/genEventPipe.py" --man "$__ProjectRoot/src/vm/ClrEtwAll.man" --intermediate "$__GeneratedIntermediateEventPipe" --exc "$__ProjectRoot/src/vm/ClrEtwAllMeta.lst"
- if [[ $? != 0 ]]; then
- exit
- fi
- ;;
- *)
- ;;
- esac
+ echo "Laying out dynamically generated EventPipe Implementation"
+ $PYTHON -B $__PythonWarningFlags "$__ProjectRoot/src/scripts/genEventPipe.py" --man "$__ProjectRoot/src/vm/ClrEtwAll.man" --intermediate "$__GeneratedIntermediateEventPipe"
#determine the logging system
case $__BuildOS in
Linux|FreeBSD)
echo "Laying out dynamically generated Event Logging Implementation of Lttng"
- $PYTHON -B $__PythonWarningFlags "$__ProjectRoot/src/scripts/genXplatLttng.py" --man "$__ProjectRoot/src/vm/ClrEtwAll.man" --intermediate "$__GeneratedIntermediateEventProvider"
+ $PYTHON -B $__PythonWarningFlags "$__ProjectRoot/src/scripts/genLttngProvider.py" --man "$__ProjectRoot/src/vm/ClrEtwAll.man" --intermediate "$__GeneratedIntermediateEventProvider"
if [[ $? != 0 ]]; then
exit
fi
;;
*)
+ echo "Laying out dummy event logging provider"
+ $PYTHON -B $__PythonWarningFlags "$__ProjectRoot/src/scripts/genDummyProvider.py" --man "$__ProjectRoot/src/vm/ClrEtwAll.man" --intermediate "$__GeneratedIntermediateEventProvider"
+ if [[ $? != 0 ]]; then
+ exit
+ fi
;;
esac
- fi
-
- echo "Cleaning the temp folder of dynamically generated Event Logging files"
- $PYTHON -B $__PythonWarningFlags -c "import sys;sys.path.insert(0,\"$__ProjectRoot/src/scripts\"); from Utilities import *;UpdateDirectory(\"$__GeneratedIntermediate/eventprovider\",\"$__GeneratedIntermediateEventProvider\")"
- if [[ $? != 0 ]]; then
- exit
- fi
- rm -rf "$__GeneratedIntermediateEventProvider"
-
- echo "Cleaning the temp folder of dynamically generated EventPipe files"
- $PYTHON -B $__PythonWarningFlags -c "import sys;sys.path.insert(0,\"$__ProjectRoot/src/scripts\"); from Utilities import *;UpdateDirectory(\"$__GeneratedIntermediate/eventpipe\",\"$__GeneratedIntermediateEventPipe\")"
- if [[ $? != 0 ]]; then
- exit
+ if [[ $__CrossBuild == 1 ]]; then
+ cp -r $__GeneratedIntermediate $__CrossCompIntermediatesDir
+ fi
fi
-
- rm -rf "$__GeneratedIntermediateEventPipe"
}
build_native()