[runtime] Update msvc build scripts.
[mono.git] / msvc / winsetup.bat
1 @ECHO off
2
3 SET CONFIG_H=..\config.h
4 SET EGLIB_CONFIG_H=..\eglib\config.h
5 SET CYG_CONFIG_H=..\cygconfig.h
6 SET EGLIB_CYG_CONFIG_H=..\eglib\cygconfig.h
7 SET WIN_CONFIG_H=..\winconfig.h
8 SET EGLIB_WIN_CONFIG_H=..\eglib\winconfig.h
9 SET CONFIGURE_AC=..\configure.ac
10 SET VERSION_H=..\mono\mini\version.h
11
12
13 ECHO Setting up Mono configuration headers...
14
15 REM Backup existing config.h into cygconfig.h if its not already replaced.
16 %windir%\system32\WindowsPowerShell\v1.0\powershell.exe -executionpolicy bypass -NonInteractive -File backup-config-files.ps1 %CONFIG_H% %CYG_CONFIG_H% 2>&1
17 %windir%\system32\WindowsPowerShell\v1.0\powershell.exe -executionpolicy bypass -NonInteractive -File backup-config-files.ps1 %EGLIB_CONFIG_H% %EGLIB_CYG_CONFIG_H% 2>&1
18
19 %windir%\system32\WindowsPowerShell\v1.0\powershell.exe -executionpolicy bypass -NonInteractive -File compare-config-files.ps1 %WIN_CONFIG_H% %CONFIG_H% %CONFIGURE_AC% 2>&1
20
21 IF NOT %ERRORLEVEL% == 0 (
22         ECHO copy %WIN_CONFIG_H% %CONFIG_H%
23         copy %WIN_CONFIG_H% %CONFIG_H%
24         %windir%\system32\WindowsPowerShell\v1.0\powershell.exe -NonInteractive -Command "(Get-Content %CONFIG_H%) -replace '#MONO_VERSION#', (Select-String -path %CONFIGURE_AC% -pattern 'AC_INIT\(mono, \[(.*)\]').Matches[0].Groups[1].Value | Set-Content %CONFIG_H%" 2>&1
25         %windir%\system32\WindowsPowerShell\v1.0\powershell.exe -NonInteractive -Command "$mono_version=[int[]](Select-String -path %CONFIGURE_AC% -pattern 'AC_INIT\(mono, \[(.*)\]').Matches[0].Groups[1].Value.Split('.'); $corlib_counter=[int](Select-String -path %CONFIGURE_AC% -pattern 'MONO_CORLIB_COUNTER=(.*)').Matches[0].Groups[1].Value; (Get-Content %CONFIG_H%) -replace '#MONO_CORLIB_VERSION#',('1{0:00}{1:00}{2:00}{3:000}' -f $mono_version[0],$mono_version[1],$mono_version[2],$corlib_counter) | Set-Content %CONFIG_H%" 2>&1
26 )
27
28 %windir%\system32\WindowsPowerShell\v1.0\powershell.exe -executionpolicy bypass -NonInteractive -File compare-config-files.ps1 %EGLIB_WIN_CONFIG_H% %EGLIB_CONFIG_H% 2>&1
29
30 IF NOT %ERRORLEVEL% == 0 (
31         ECHO copy %EGLIB_WIN_CONFIG_H% %EGLIB_CONFIG_H%
32         copy %EGLIB_WIN_CONFIG_H% %EGLIB_CONFIG_H%
33 )
34
35 SET VERSION_CONTENT="#define FULL_VERSION \"Visual Studio built mono\""
36 %windir%\system32\WindowsPowerShell\v1.0\powershell.exe -executionpolicy bypass -NonInteractive -File compare-config-content.ps1 %VERSION_CONTENT% %VERSION_H%  2>&1
37
38
39 IF NOT %ERRORLEVEL% == 0 (
40         ECHO Configure %VERSION_H%
41         ECHO #define FULL_VERSION "Visual Studio built mono"> %VERSION_H%
42 )
43
44 ECHO Successfully setup Mono configuration headers.
45
46 EXIT /b 0