[offsets-tool] Make sure to re-clone when the hash for the cpp binaries changes.
[mono-project.git] / msvc / libmono.bat
blob6509ac127cab864b57d42f6d2ef28bcb7d0dcd8f
1 @ECHO off
3 SET SOURCE_ROOT=%1
4 SET TARGET_ROOT=%2
5 SET ARGUMENTS=%3
7 SET XCOPY_COMMAND=%windir%\system32\xcopy
9 SET TARGET_ROOT=%TARGET_ROOT:"=%
10 SET TARGET_ROOT=%TARGET_ROOT:/=\%
11 SET SOURCE_ROOT=%SOURCE_ROOT:"=%
12 SET SOURCE_ROOT=%SOURCE_ROOT:/=\%
14 IF "" == "%SOURCE_ROOT%" (
15         ECHO Error: No source root parameter set.
16         GOTO ON_ERROR
18         
19 IF "" == "%TARGET_ROOT%" (
20         ECHO Error: No target root parameter set.
21         GOTO ON_ERROR
24 IF NOT EXIST %SOURCE_ROOT% (
25         ECHO Error: source directory '%SOURCE_ROOT%', directory doesn't eixst.
26         GOTO ON_ERROR
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.
35 IF "\" == "%SOURCE_ROOT:~-1%" (
36         SET SOURCE_ROOT=%SOURCE_ROOT:~0,-1%
39 IF "\" == "%TARGET_ROOT:~-1%" (
40         SET TARGET_ROOT=%TARGET_ROOT:~0,-1%
43 SET OPTIONS=/y
45 IF "-v" == "%ARGUMENTS%" (
46         SET OPTIONS=/f /y
49 IF "-q" == "%ARGUMENTS%" (
50         SET "OPTIONS=/q /y"
53 ECHO Copying mono include files from %SOURCE_ROOT% to %TARGET_ROOT% ...
55 SET RUN=%XCOPY_COMMAND% "%SOURCE_ROOT%\cil\opcode.def" "%TARGET_ROOT%\cil\" %OPTIONS%
56 call :runCommand "%RUN%" %ARGUMENTS%
58 SET RUN=%XCOPY_COMMAND% "%SOURCE_ROOT%\mini\jit.h" "%TARGET_ROOT%\jit\" %OPTIONS%
59 call :runCommand "%RUN%" %ARGUMENTS%
61 SET RUN=%XCOPY_COMMAND% "%SOURCE_ROOT%\metadata\*.h" "%TARGET_ROOT%\metadata\" %OPTIONS%
62 call :runCommand "%RUN%" %ARGUMENTS%
64 SET RUN=%XCOPY_COMMAND% "%SOURCE_ROOT%\utils\mono-counters.h" "%TARGET_ROOT%\utils\" %OPTIONS%
65 call :runCommand "%RUN%" %ARGUMENTS%
67 SET RUN=%XCOPY_COMMAND% "%SOURCE_ROOT%\utils\mono-dl-fallback.h" "%TARGET_ROOT%\utils\" %OPTIONS%
68 call :runCommand "%RUN%" %ARGUMENTS%
70 SET RUN=%XCOPY_COMMAND% "%SOURCE_ROOT%\utils\mono-error.h" "%TARGET_ROOT%\utils\" %OPTIONS%
71 call :runCommand "%RUN%" %ARGUMENTS%
73 SET RUN=%XCOPY_COMMAND% "%SOURCE_ROOT%\utils\mono-logger.h" "%TARGET_ROOT%\utils\" %OPTIONS%
74 call :runCommand "%RUN%" %ARGUMENTS%
76 SET RUN=%XCOPY_COMMAND% "%SOURCE_ROOT%\utils\mono-publib.h" "%TARGET_ROOT%\utils\" %OPTIONS%
77 call :runCommand "%RUN%" %ARGUMENTS%
79 ECHO Copying mono include files from %SOURCE_ROOT% to %TARGET_ROOT% DONE.
81 EXIT /b 0
83 :ON_ERROR
84         ECHO "libmono.bat [SOURCE_ROOT] [TARGET_ROOT] [ARGUMENTS]"
85         EXIT /b 1
87 @ECHO on
89 :runCommand
91         IF "-q" == "%~2" (
92                 %~1 >nul 2>&1
93         ) ELSE (
94                 %~1
95         )
97 goto :EOF