Difference between revisions of "Build Environment"

From ReactOS Wiki
Jump to: navigation, search
(Made the required files section clearer.)
(Reworked page, moved build specific stuff to Building ReactOS)
Line 1: Line 1:
== Required files ==
+
To build ReactOS, you will need a suitable build environment.  You can either setup your own, or use certain prebuilt packages.  There are also a number of useful utilities you can optionally use.
  
''' For Windows '''
+
First you need a suitable [[MinGW]] compiler suite.  Some versions of the MinGW suite are buggy, and some distributions (like MSYS) have slight incompatibilities with our build system, please refer to the platform specific page for details.
  
The quick and easy way to get local builds going is to try the ReactOS Build Environment Setup - it includes everything which is needed to build ReactOS:
+
Second, a [[Subversion]] (SVN) client is needed to obtain the current source from the ReactOS [[Subversion repository]]. The current repository URL is 'svn://svn.reactos.com/trunk/reactos'.
* [http://blight.reactos.at/reactos-be/ReactOS%20Build%20Environment%200.1-3.4.2.exe ReactOS Build Environment 0.1-3.4.2.exe] - preferred.
 
* [http://blight.reactos.at/reactos-be/ReactOS%20Build%20Environment%200.2-3.4.4.exe ReactOS Build Environment 0.2-3.4.4.exe] - beta, some issues.
 
  
Or, if you prefer, you can get the packages individually from [http://www.mingw.org/download.shtml MinGW]<br/>
+
Optionally, you can use a patch or merge utility to apply patches from bugzilla and to create patches for submission.
Reccomended versions:
 
* [http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.4-20050522-1.tar.gz gcc-core-3.4.4-20050522-1.tar.gz]
 
* [http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.4-20050522-1.tar.gz gcc-g++-3.4.4-20050522-1.tar.gz]
 
* [http://prdownloads.sourceforge.net/mingw/mingw-runtime-3.8.tar.gz mingw-runtime-3.8.tar.gz]
 
* [http://prdownloads.sourceforge.net/mingw/w32api-3.3.tar.gz w32api-3.3.tar.gz]
 
* [http://prdownloads.sourceforge.net/mingw/binutils-2.15.94-20050118-1.tar.gz binutils-2.15.94-20050118-1.tar.gz]
 
* [http://prdownloads.sf.net/mingw/mingw32-make-3.80.0-3.exe?download make-3.80.0-3.exe]
 
  
For latest releases go to [http://www.kernel.org/pub/software/devel/nasm/binaries/win32/ kernel.org nasm mirror] and download the following files:
+
*[[HOWTO/setup a build environment for Windows]]
* [http://www.kernel.org/pub/software/devel/nasm/binaries/win32/nasm-0.98.39-win32.zip nasm-0.98.39-win32.zip]
+
*[[HOWTO/setup a build environment for Linux]]
 
+
*[[HOWTO/setup a build environment for FreeBSD]]
== Building ReactOS ==
 
 
 
Run the make file from the root directory of ReactOS. In order to build a bootable ISO image, you must first build freeldr then run "make install" ; next you must run "make bootcd" from the root ReactOS directory. The ISO image will be located in the root ReactOS directory when it is finsihed.
 
 
 
In a reactos/windows build environment ''mingw32-make'' must be used instead of ''make''
 
 
 
== Installation ==
 
 
 
First run MinGW-3.1.0-1.exe then unpack the other tarballs into the directory which you had installed MinGW.
 
 
 
== Build Options ==
 
 
 
See the top-level Makefile for documentation on the build targets and environment variables available to configure desired build options.
 
 
 
== Optional stuff ==
 
 
 
'''Subversion Client'''
 
 
 
Get yourself a Subversion client and download the sources from the Subversion repository.
 
 
 
'''Patching'''
 
 
 
You can use WinMerge to see changes in source code visually. This is particularly useful for submitting and reviewing patches.
 
 
 
* [http://prdownloads.sourceforge.net/winmerge/WinMergeSetup.2.1.5.14.exe?download WinMergeSetup.2.1.5.14.exe]
 
  
# Create a new directory. For example ''C:\mingw''.
+
After setting up your build environment, see [[Building ReactOS]] for futher information.
# Extract the files mentioned above in the directory you just created. It is important that you extract ''gcc-update.zip'' last because it overwrites the buggy ''gcc.exe'' from ''gcc-2.95.3-fastcall.zip''.
 
# In your install directory (''C:\mingw'' in this example), you fill find the file ''mingw32.bat''. Change the line that updates the ''PATH'' variable according to your install directory (add ''C:\mingw\bin'' in this example).
 
# Run ''mingw32.bat'' before you want to use mingw. You can call it from ''autoexec.bat'' or you can call it whenever you open a shell window.
 
 
 
== See also ==
 
*[[Build Troubleshooting]]
 
*[[HOWTO/setup a build environment for FreeBSD]]
 
*[[HOWTO/setup a build environment for Linux]]
 
*[[HOWTO/setup a build environment for Windows]]
 

Revision as of 03:47, 5 October 2005

To build ReactOS, you will need a suitable build environment. You can either setup your own, or use certain prebuilt packages. There are also a number of useful utilities you can optionally use.

First you need a suitable MinGW compiler suite. Some versions of the MinGW suite are buggy, and some distributions (like MSYS) have slight incompatibilities with our build system, please refer to the platform specific page for details.

Second, a Subversion (SVN) client is needed to obtain the current source from the ReactOS Subversion repository. The current repository URL is 'svn://svn.reactos.com/trunk/reactos'.

Optionally, you can use a patch or merge utility to apply patches from bugzilla and to create patches for submission.

After setting up your build environment, see Building ReactOS for futher information.