Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / msvc / libmono.bat
1 @ECHO off
2
3 SET SOURCE_ROOT=%1
4 SET TARGET_ROOT=%2
5 SET ARGUMENTS=%3
6
7 SET XCOPY_COMMAND=%windir%\system32\xcopy
8
9 SET TARGET_ROOT=%TARGET_ROOT:"=%
10 SET TARGET_ROOT=%TARGET_ROOT:/=\%
11 SET SOURCE_ROOT=%SOURCE_ROOT:"=%
12 SET SOURCE_ROOT=%SOURCE_ROOT:/=\%
13
14 IF "" == "%SOURCE_ROOT%" (
15         ECHO Error: No source root parameter set.
16         GOTO ON_ERROR
17 )
18         
19 IF "" == "%TARGET_ROOT%" (
20         ECHO Error: No target root parameter set.
21         GOTO ON_ERROR
22 )
23
24 IF NOT EXIST %SOURCE_ROOT% (
25         ECHO Error: source directory '%SOURCE_ROOT%', directory doesn't eixst.
26         GOTO ON_ERROR
27 )
28
29 IF NOT EXIST %TARGET_ROOT% (
30         ECHO Target directory '%TARGET_ROOT%', directory doesn't eixst, creating....
31         mkdir %TARGET_ROOT%
32         ECHO Target directory '%TARGET_ROOT%' created.
33 )
34
35 IF "\" == "%SOURCE_ROOT:~-1%" (
36         SET SOURCE_ROOT=%SOURCE_ROOT:~0,-1%
37 )
38
39 IF "\" == "%TARGET_ROOT:~-1%" (
40         SET TARGET_ROOT=%TARGET_ROOT:~0,-1%
41 )
42
43 SET OPTIONS=/y
44
45 IF "-v" == "%ARGUMENTS%" (
46         SET OPTIONS=/f /y
47 )
48
49 IF "-q" == "%ARGUMENTS%" (
50         SET "OPTIONS=/q /y"
51 )
52
53 ECHO Copying mono include files from %SOURCE_ROOT% to %TARGET_ROOT% ...
54
55 SET RUN=%XCOPY_COMMAND% "%SOURCE_ROOT%\cil\opcode.def" "%TARGET_ROOT%\cil\" %OPTIONS%
56 call :runCommand "%RUN%" %ARGUMENTS%
57
58 SET RUN=%XCOPY_COMMAND% "%SOURCE_ROOT%\mini\jit.h" "%TARGET_ROOT%\jit\" %OPTIONS%
59 call :runCommand "%RUN%" %ARGUMENTS%
60
61 SET RUN=%XCOPY_COMMAND% "%SOURCE_ROOT%\metadata\*.h" "%TARGET_ROOT%\metadata\" %OPTIONS%
62 call :runCommand "%RUN%" %ARGUMENTS%
63
64 SET RUN=%XCOPY_COMMAND% "%SOURCE_ROOT%\utils\mono-counters.h" "%TARGET_ROOT%\utils\" %OPTIONS%
65 call :runCommand "%RUN%" %ARGUMENTS%
66
67 SET RUN=%XCOPY_COMMAND% "%SOURCE_ROOT%\utils\mono-dl-fallback.h" "%TARGET_ROOT%\utils\" %OPTIONS%
68 call :runCommand "%RUN%" %ARGUMENTS%
69
70 SET RUN=%XCOPY_COMMAND% "%SOURCE_ROOT%\utils\mono-error.h" "%TARGET_ROOT%\utils\" %OPTIONS%
71 call :runCommand "%RUN%" %ARGUMENTS%
72
73 SET RUN=%XCOPY_COMMAND% "%SOURCE_ROOT%\utils\mono-logger.h" "%TARGET_ROOT%\utils\" %OPTIONS%
74 call :runCommand "%RUN%" %ARGUMENTS%
75
76 SET RUN=%XCOPY_COMMAND% "%SOURCE_ROOT%\utils\mono-publib.h" "%TARGET_ROOT%\utils\" %OPTIONS%
77 call :runCommand "%RUN%" %ARGUMENTS%
78
79 ECHO Copying mono include files from %SOURCE_ROOT% to %TARGET_ROOT% DONE.
80
81 EXIT /b 0
82
83 :ON_ERROR
84         ECHO "libmono.bat [SOURCE_ROOT] [TARGET_ROOT] [ARGUMENTS]"
85         EXIT /b 1
86
87 @ECHO on
88
89 :runCommand
90
91         IF "-q" == "%~2" (
92                 %~1 >nul 2>&1
93         ) ELSE (
94                 %~1
95         )
96
97 goto :EOF