-
Notifications
You must be signed in to change notification settings - Fork 35
Expand file tree
/
Copy pathRosBE.cmd
More file actions
181 lines (156 loc) · 5.6 KB
/
RosBE.cmd
File metadata and controls
181 lines (156 loc) · 5.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
::
:: PROJECT: RosBE - ReactOS Build Environment for Windows
:: LICENSE: GNU General Public License v2. (see LICENSE.txt)
:: FILE: Root/RosBE.cmd
:: PURPOSE: This script provides/sets up various build environments for
:: ReactOS. Currently it provides a GCC 8.4.0 build environment.
:: COPYRIGHT: Copyright 2020 Daniel Reimer <reimer.daniel@freenet.de>
:: Peter Ward <dralnix@gmail.com>
:: Colin Finck <colin@reactos.org>
::
@echo off
if not defined _ROSBE_DEBUG set _ROSBE_DEBUG=0
if %_ROSBE_DEBUG% == 1 (
@echo on
)
title ReactOS Build Environment %_ROSBE_VERSION%
set platform=false
set _ROSBE_MSVCARCH=%2
if /i "%PROCESSOR_ARCHITECTURE%" == "amd64" set platform=true
if /i "%PROCESSOR_ARCHITEW6432%" == "amd64" set platform=true
if defined VS90COMNTOOLS (
if exist "%VS90COMNTOOLS%\..\..\VC\vcvarsall.bat" (
set _ROSBE_MSVCVERS=%_ROSBE_MSVCVERS% 9.0
)
)
if defined VS100COMNTOOLS (
if exist "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat" (
set _ROSBE_MSVCVERS=%_ROSBE_MSVCVERS% 10.0
)
)
if defined VS110COMNTOOLS (
if exist "%VS110COMNTOOLS%\..\..\VC\vcvarsall.bat" (
set _ROSBE_MSVCVERS=%_ROSBE_MSVCVERS% 11.0
)
)
if defined VS120COMNTOOLS (
if exist "%VS120COMNTOOLS%\..\..\VC\vcvarsall.bat" (
set _ROSBE_MSVCVERS=%_ROSBE_MSVCVERS% 12.0
)
)
if defined VS140COMNTOOLS (
if exist "%VS140COMNTOOLS%\..\..\VC\vcvarsall.bat" (
set _ROSBE_MSVCVERS=%_ROSBE_MSVCVERS% 14.0
)
)
for %%A in (%_ROSBE_MSVCVERS%) do set _ROSBE_MSVCVER=%%A
if "%1" == "vs" (
if "%platform%" == "true" (
for /f "usebackq skip=2 tokens=2,*" %%A in (`"reg query HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\%_ROSBE_MSVCVER% /v ShellFolder"`) do set VSINSTALLDIR=%%B
) else (
for /f "usebackq skip=2 tokens=2,*" %%A in (`"reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\%_ROSBE_MSVCVER% /v ShellFolder"`) do set VSINSTALLDIR=%%B
)
)
:: Set defaults to work with and override them if edited by
:: the options utility.
if "%1" == "" (
set ROS_ARCH=i386
) else if "%1" == "vs" (
set ROS_ARCH=
call "%VSINSTALLDIR%\VC\vcvarsall.bat" %_ROSBE_MSVCARCH%
) else (
set ROS_ARCH=%1
)
if defined _ROSBE_CMAKE_DIFF (
set _ROSBE_CMAKE_DIFF_=_%_ROSBE_CMAKE_DIFF%
)
set BUILD_ENVIRONMENT=MinGW
set _ROSBE_BASEDIR=%~dp0
set _ROSBE_BASEDIR=%_ROSBE_BASEDIR:~0,-1%
set _ROSBE_VERSION=2.3.0
set _ROSBE_ROSSOURCEDIR=%CD%
set _ROSBE_SHOWTIME=1
set _ROSBE_WRITELOG=1
set _ROSBE_USECCACHE=0
set _ROSBE_LOGDIR=RosBE-Logs
set _ROSBE_SHOWVERSION=0
set _ROSBE_SYSPATH=1
set _ROSBE_NOSOUND=0
set _ROSBE_HOST_MINGWPATH=%_ROSBE_BASEDIR%\%ROS_ARCH%
set _ROSBE_TARGET_MINGWPATH=%_ROSBE_BASEDIR%\%ROS_ARCH%
set _BUILDBOT_SVNSKIPMAINTRUNK=0
set CCACHE_SLOPPINESS=time_macros
:: Fix Bison package path (just in case RosBE is installed in a path which contains spaces) and add M4 path to a env var
set BISON_PKGDATADIR=%~ds0%~sp0%share\bison
set M4=m4.exe
:: Get the number of CPUs in the system so we know how many jobs to execute.
:: To modify the number used, see the cpucount usage for getting to know about the possible options
for /f "usebackq" %%i in (`"%_ROSBE_BASEDIR%\bin\cpucount.exe" -x1`) do set _ROSBE_MAKEX_JOBS=%%i
if "%_ROSBE_CCACHE_DIR%" == "" (
set CCACHE_DIR=%APPDATA%\RosBE\.ccache
) else (
set CCACHE_DIR=%_ROSBE_CCACHE_DIR%
)
set _ROSBE_CACHESIZE=4
set C_INCLUDE_PATH=
set CPLUS_INCLUDE_PATH=
set LIBRARY_PATH=
if "%ROS_ARCH%" == "i386" (
color 0A
)
if "%ROS_ARCH%" == "amd64" (
color 0B
)
if "%ROS_ARCH%" == "arm" (
color 0E
)
:: Check if RosBE data directory exists, if not, create it.
if not exist "%APPDATA%\RosBE\." (
mkdir "%APPDATA%\RosBE" 1> NUL 2> NUL
)
:: Load the user's options if any
if "%ROS_ARCH%" == "i386" (
if exist "%APPDATA%\RosBE\rosbe-options-%_ROSBE_VERSION%.cmd" (
call "%APPDATA%\RosBE\rosbe-options-%_ROSBE_VERSION%.cmd"
)
) else (
if exist "%APPDATA%\RosBE\rosbe-options-%1.cmd" (
call "%APPDATA%\RosBE\rosbe-options-%1.cmd"
)
)
set _ROSBE_ORIGINALPATH=%_ROSBE_BASEDIR%;%_ROSBE_BASEDIR%\bin;%_ROSBE_BASEDIR%\samples;%PATH%
if "%_ROSBE_SYSPATH%" == "0" (
set "_ROSBE_ORIGINALPATH=%_ROSBE_BASEDIR%;%_ROSBE_BASEDIR%\bin;%_ROSBE_BASEDIR%\samples;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem"
)
call "%_ROSBE_BASEDIR%\rosbe-gcc-env.cmd"
doskey update="%_ROSBE_BASEDIR%\update.cmd" $*
:: Use the default prompt
prompt
cls
echo *******************************************************************************
echo * *
echo * ReactOS Build Environment %_ROSBE_VERSION% *
echo * *
echo *******************************************************************************
echo.
:: Load the base directory from srclist.txt and set it as the
:: new source directory.
if exist "%_ROSBE_BASEDIR%\scut.cmd" (
call "%_ROSBE_BASEDIR%\scut.cmd"
)
if "%_ROSBE_SHOWVERSION%" == "1" (
call "%_ROSBE_BASEDIR%\version.cmd"
)
call "%_ROSBE_BASEDIR%\update.cmd" verstatus
:: Tell how to display the available commands.
echo.
echo For a list of all included commands, type: "help"
echo -------------------------------------------------
echo.
:: Look if the ReactOS source directory is empty.
setlocal enabledelayedexpansion
dir /b "%_ROSBE_ROSSOURCEDIR%" 2>nul | findstr "." >nul
if !errorlevel! == 1 (
echo No ReactOS source detected. Please check https://reactos.org/wiki/ReactOS_Git_For_Dummies to download it.
)
endlocal