summaryrefslogtreecommitdiff
path: root/build.cmd
diff options
context:
space:
mode:
Diffstat (limited to 'build.cmd')
-rw-r--r--build.cmd52
1 files changed, 43 insertions, 9 deletions
diff --git a/build.cmd b/build.cmd
index fd17ffdf0e..9380f25866 100644
--- a/build.cmd
+++ b/build.cmd
@@ -28,7 +28,7 @@ set __ThisScriptDir="%~dp0"
if defined VisualStudioVersion (
if not defined __VSVersion echo %__MsgPrefix%Detected Visual Studio %VisualStudioVersion% developer command ^prompt environment
goto :Run
-)
+)
echo %__MsgPrefix%Searching ^for Visual Studio 2017 or 2015 installation
set _VSWHERE="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe"
@@ -294,6 +294,16 @@ if %__EnforcePgo%==1 (
)
)
+REM Determine if this is a cross-arch build
+
+if /i "%__BuildArch%"=="arm64" (
+ set __DoCrossArchBuild=1
+ )
+
+if /i "%__BuildArch%"=="arm" (
+ set __DoCrossArchBuild=1
+ )
+
:: Set the remaining variables based upon the determined build configuration
set "__BinDir=%__RootBinDir%\Product\%__BuildOS%.%__BuildArch%.%__BuildType%"
set "__IntermediatesDir=%__RootBinDir%\obj\%__BuildOS%.%__BuildArch%.%__BuildType%"
@@ -382,6 +392,38 @@ for /f "tokens=*" %%s in ('%DotNetCli% msbuild "%OptDataProjectFilePath%" /t:Dum
REM =========================================================================================
REM ===
+REM === Generate source files for eventing
+REM ===
+REM =========================================================================================
+
+REM Find python and set it to the variable PYTHON
+echo import sys; print sys.executable | (python2.7 || python2 || py -2 || python) > %TEMP%\pythonlocation.txt 2> NUL
+set /p PYTHON=<%TEMP%\pythonlocation.txt
+if NOT DEFINED PYTHON (
+ echo %__MsgPrefix%Error: Could not find a python 2.7 installation
+ exit /b 1
+)
+
+if /i "%__DoCrossArchBuild%"=="1" (
+ set __IntermediatesIncDir=%__CrossCompIntermediatesDir%\src\inc
+ set __IntermediatesEventingDir=%__CrossCompIntermediatesDir%\eventing
+) else (
+ set __IntermediatesIncDir=%__IntermediatesDir%\src\inc
+ set __IntermediatesEventingDir=%__IntermediatesDir%\eventing
+)
+
+echo Laying out dynamically generated files consumed by the build system
+echo Laying out dynamically generated Event test files and etmdummy stub functions
+%PYTHON% -B -Wall %__SourceDir%\scripts\genEventing.py --inc %__IntermediatesIncDir% --dummy %__IntermediatesIncDir%\etmdummy.h --man %__SourceDir%\vm\ClrEtwAll.man --nonextern || exit /b 1
+
+echo Laying out dynamically generated EventPipe Implementation
+%PYTHON% -B -Wall %__SourceDir%\scripts\genEventPipe.py --man %__SourceDir%\vm\ClrEtwAll.man --intermediate %__IntermediatesEventingDir%\eventpipe --nonextern || exit /b 1
+
+echo Laying out ETW event logging interface
+%PYTHON% -B -Wall %__SourceDir%\scripts\genEtwProvider.py --man %__SourceDir%\vm\ClrEtwAll.man --intermediate %__IntermediatesIncDir% --exc %__SourceDir%\vm\ClrEtwAllMeta.lst || exit /b 1
+
+REM =========================================================================================
+REM ===
REM === Build the CLR VM
REM ===
REM =========================================================================================
@@ -476,14 +518,6 @@ REM === Build Cross-Architecture Native Components (if applicable)
REM ===
REM =========================================================================================
-if /i "%__BuildArch%"=="arm64" (
- set __DoCrossArchBuild=1
- )
-
-if /i "%__BuildArch%"=="arm" (
- set __DoCrossArchBuild=1
- )
-
if /i "%__DoCrossArchBuild%"=="1" (
REM Scope environment changes start {
setlocal