Difference between revisions of "Build Environment"

From ReactOS Wiki
Jump to: navigation, search
Line 1: Line 1:
To build ReactOS you will need a suitable build environment. Currently ReactOS Source Code is able to be compiled using both open source (gcc, mingw, …), and Microsoft's compiler tools, with the official ReactOS Build Environment (RosBE) being recommended. If you want to report problems, please first make sure that you use the latest version of the ReactOS Build Environment.
+
Here you can download the ReactOS Build Environment (RosBE), the official build environment for compiling ReactOS from source code.
 +
It contains curated versions of all required build tools, such as Binutils, GCC, CMake, etc. RosBE makes sure that you can successfully build ReactOS without any hassle, and even if you hit problems, you won't be on your own.
  
== Download the Build Environment ==
+
If you like to build ReactOS using Microsoft Visual Studio instead of GCC, please install RosBE anyway.
 +
It contains some tools not available in Visual Studio (e.g. Bison and Flex) as well as some tool versions (e.g. CMake) where Visual Studio ships different ones.
  
There are two ReactOS Build Environments available, a version for Windows NT-compatible operating systems (Windows XP, Windows Vista, 7, etc.) and a version for Unix-compatible operating systems (Linux, FreeBSD, etc.).
+
If you want to report problems, please first make sure that you use the latest version of the ReactOS Build Environment.
  
=== Windows ===
+
== Download ==
----
+
[[File:RosBE.png|64px|left]]
<span style="font-size: 12pt; font-weight: bold; ">[[File:RosBE.png|32px]]
+
<span style="font-size: 16pt; font-weight:bold">[https://downloads.sourceforge.net/reactos/RosBE-{{RosBE-Windows-Version}}.exe RosBE-Windows {{RosBE-Windows-Version}}]</span><br>
[https://downloads.sourceforge.net/reactos/RosBE-{{RosBE-Windows-Version}}.exe ReactOS Build Environment for Windows NT-compatible OS ''Version {{RosBE-Windows-Version}}'']
+
for building under [[File:Download-ReactOS.png|24px]] [[File:Download-Windows.png|24px]]
</span>
 
* For older versions, please have a look at our [http://sourceforge.net/projects/reactos/files/RosBE-Windows/i386/ ReactOS SourceForge project page]
 
----
 
  
=== Unix and Linux ===
 
----
 
<span style="font-size: 12pt; font-weight: bold;">[[File:RosBE.png|32px]]
 
[https://downloads.sourceforge.net/reactos/RosBE-Unix-{{RosBE-Unix-Version}}.tar.bz2 ReactOS Build Environment for Unix-compatible Operating Systems ''Version {{RosBE-Unix-Version}}'']</span>
 
* For older versions, please have a look at our [http://sourceforge.net/projects/reactos/files/RosBE-Unix/ ReactOS SourceForge project page]
 
* '''System Requirements:''' Please look at the <tt>README</tt> file for detailed information about the needed packages and other requirements.
 
----
 
== Next Steps ==
 
  
After setting up your build environment, see [[Building ReactOS]] for downloading source and further information.
+
[[File:RosBE.png|64px|left]]
 +
<span style="font-size: 16pt; font-weight:bold">[https://downloads.sourceforge.net/reactos/RosBE-Unix-{{RosBE-Unix-Version}}.tar.bz2 RosBE-Unix {{RosBE-Unix-Version}}]</span><br>
 +
for building under [[File:Download-Linux.png|24px]] [[File:Download-MacOS.png|24px]]
  
== Included Utilities ==
+
<div style="clear: both;"></div>
  
All these Information can be found in RosBE, too by typing <code>help</code>.
 
  
=== <code>BASEDIR</code> ===
+
Requirements:
 +
* Windows XP or later
 +
* Linux with GCC 6.x or later
 +
* macOS 10.11 or later (with Xcode Command Line Tools installed)
  
Small command which immediately sets you back to the ReactOS Source Base Directory.
+
== Further Resources ==
 
+
* [[Building ReactOS]]
=== <code>CHARCH</code> ===
+
* [[Build Environment/Included Utilities|Included Utilities]]
 
+
* [http://sourceforge.net/projects/reactos/files Older versions at our SourceForge project page]
Change the Architecture to build ReactOS for, for the current RosBE session.
 
Possible Architectures are right now:
 
* '''i386'''
 
* '''amd64'''
 
 
 
=== <code>CHDEFDIR</code> ===
 
 
 
Change the ReactOS source directory for the current RosBE session.
 
 
 
* '''previous''': Switch to the previous ReactOS source directory.
 
 
 
=== <code>CHDEFGCC</code> ===
 
 
 
Usage: <code>chdefgcc [PATH] [TYPE]</code>
 
Change the MinGW/GCC directory for the current RosBE session.
 
 
 
* '''Path''': Path to set the Host or Target GCC to.
 
* '''Type''': Set it to "target" or "host"
 
 
 
=== <code>RADDR2LINE</code> ===
 
<!--the template does not work her so well -->
 
''Main article: [[Debugging#Translating Addresses|Debugging – Translating Addresses]]''
 
 
 
Usage: <code>raddr2line [FILE] [ADDRESS]</code>
 
Translates program addresses into file names and line numbers to assist developers with finding specific bugs in ReactOS. If either of the options is not given you will be prompted for it.
 
 
 
* '''FILE''': This can be either a fully specified path or just the file name [you can use a partial name ie. ntdll*] of the executable to be analyzed. When using just a file the current directory and all sub-directories are searched.
 
* '''ADDRESS''': The address to be translated.
 
 
 
=== <code>SCUT</code> ===
 
 
 
Simple utility for managing different directory locations. SCUT can be used to quickly change from one directory to another inside the BE prompt, making it easier to go to source in another directory. Included in both the Windows and Unix BEs.
 
You can pass the following parameters to scut:
 
 
 
* '''list''': Lists all shortcuts currently available.
 
* '''add''': Adds a shortcut to the list.
 
* '''edit''': Edits a shortcut on the list.
 
* '''rem''': Removes a shortcut from the list.
 
* '''def''': Switches to the default directory location, which is enabled on every start of RosBE.
 
 
 
If you want to use a directory shortcut, for example one with the name ''trunk'', just enter ''scut trunk'' and the program will switch to the directory you set for this shortcut.
 
 
 
=== <code>UPDATE</code> ===
 
 
 
Windows ONLY.
 
Updates all files of RosBE to the most recent files.
 
 
 
* '''delete X''': Deletes Update Nr X.
 
* '''info X''': Shows info about Update Nr X.
 
* '''nr X''': Re/Installs Update Nr X.
 
* '''reset''': Removes the Updates Cache. Not recommended.
 
* '''status''': Shows the recent status of available, non installed updates.
 
  
 
== Questions or Problems? ==
 
== Questions or Problems? ==
 +
If you have problems or questions concerning the Build Environment, it's the best to ask in the [https://chat.reactos.org/reactos/channels/rosbe RosBE Mattermost channel].
  
If you have problems or questions concerning the Build Environment, it's the best to ask in the [irc://irc.freenode.net/reactos-rosbe #reactos-rosbe] or [irc://irc.freenode.net/reactos #reactos] IRC channels.
+
Otherwise, you can also contact [[Daniel Reimer]] (Windows version) or [[Colin Finck]] (Unix version) directly.
 
 
Otherwise you can also try to contact [[Daniel Reimer]] (Windows version), [[Colin Finck]] (Unix version) directly.
 
  
 
[[Category:Building]]
 
[[Category:Building]]
 
[[Category:Tutorial]]
 
[[Category:Tutorial]]

Revision as of 14:09, 31 May 2020

Here you can download the ReactOS Build Environment (RosBE), the official build environment for compiling ReactOS from source code. It contains curated versions of all required build tools, such as Binutils, GCC, CMake, etc. RosBE makes sure that you can successfully build ReactOS without any hassle, and even if you hit problems, you won't be on your own.

If you like to build ReactOS using Microsoft Visual Studio instead of GCC, please install RosBE anyway. It contains some tools not available in Visual Studio (e.g. Bison and Flex) as well as some tool versions (e.g. CMake) where Visual Studio ships different ones.

If you want to report problems, please first make sure that you use the latest version of the ReactOS Build Environment.

Download

RosBE.png

RosBE-Windows 2.2.1
for building under Download-ReactOS.png Download-Windows.png


RosBE.png

RosBE-Unix 2.2.1
for building under Download-Linux.png Download-MacOS.png


Requirements:

  • Windows XP or later
  • Linux with GCC 6.x or later
  • macOS 10.11 or later (with Xcode Command Line Tools installed)

Further Resources

Questions or Problems?

If you have problems or questions concerning the Build Environment, it's the best to ask in the RosBE Mattermost channel.

Otherwise, you can also contact Daniel Reimer (Windows version) or Colin Finck (Unix version) directly.