2007-06-05 13:08:26 +00:00
|
|
|
ReactOS Build Environment
|
2007-12-22 15:22:53 +00:00
|
|
|
Version 1.1 for Unix-based operating systems
|
2007-06-05 13:08:26 +00:00
|
|
|
by Colin Finck (mail@colinfinck.de)
|
|
|
|
|
|
|
|
Introduction
|
|
|
|
-------------
|
|
|
|
The ReactOS Build Environment ("RosBE") is a Build Environment for building
|
|
|
|
ReactOS. This version is targeted at Unix-based operating systems such as
|
|
|
|
Linux or FreeBSD.
|
|
|
|
The Installation process of the Build Environment is divided into two parts.
|
|
|
|
First a script builds the needed compiler tools for your operating system
|
|
|
|
and installs them. Therefore the "gcc" compiler for your system and some
|
|
|
|
other build tools have to be installed.
|
|
|
|
Then another script creates a shortcut for you. This shortcut opens a
|
|
|
|
Terminal window and prepares all environment settings for building ReactOS.
|
|
|
|
|
|
|
|
|
|
|
|
Needed Applications
|
|
|
|
--------------------
|
|
|
|
Make sure that the following applications are installed on your system.
|
|
|
|
They are needed to build the compiler tools. The "RosBE-Builder.sh" script
|
|
|
|
automatically checks for them:
|
|
|
|
|
|
|
|
* GNU Bash
|
|
|
|
The executable file and the package name are often called "bash".
|
|
|
|
All scripts are designed to work only under the Bash shell. Please also
|
|
|
|
make sure that the file "/bin/bash" exists. For example FreeBSD usually
|
|
|
|
installs Bash into another directory, so you have to create a symbolic
|
|
|
|
link "/bin/bash" to the executable file.
|
|
|
|
|
|
|
|
* GNU Bison
|
|
|
|
The executable file and the package name are often called "bison".
|
|
|
|
|
|
|
|
* Flex
|
|
|
|
The executable file and the package name are often called "flex".
|
|
|
|
|
|
|
|
* GNU GCC
|
|
|
|
You need the GCC compiler, which is suitable for your system. The
|
|
|
|
executable file and the package name are often called "gcc".
|
|
|
|
Your GCC compiler needs to be able to compile both C and C++ sources.
|
|
|
|
Therefore the "g++" module also has to be installed.
|
|
|
|
|
|
|
|
* Grep
|
|
|
|
The executable file and the package name are often called "grep".
|
|
|
|
|
|
|
|
* GNU Make
|
|
|
|
Make sure that you have the GNU version of "make" installed. For example
|
|
|
|
FreeBSD uses another version. The executable file and the package name
|
|
|
|
are often called "make" or "gmake".
|
|
|
|
|
|
|
|
* GNU Makeinfo
|
|
|
|
The executable file is often called "makeinfo". Usually this file is in a
|
|
|
|
package called "texinfo".
|
|
|
|
|
|
|
|
|
2008-01-23 18:21:21 +00:00
|
|
|
Preparing the installation
|
|
|
|
---------------------------
|
|
|
|
Under some operating systems, you need to perform additional steps before
|
|
|
|
you can install the Build Environment. This section lists them.
|
|
|
|
|
|
|
|
* FreeBSD
|
|
|
|
- You have to create a symbolic link "/bin/bash", because FreeBSD
|
|
|
|
installs Bash to "/usr/local/bin/bash". Simply execute the following
|
|
|
|
command for doing this:
|
|
|
|
|
|
|
|
ln -s /usr/local/bin/bash /bin/bash
|
|
|
|
|
|
|
|
|
2007-06-05 13:08:26 +00:00
|
|
|
Installation
|
|
|
|
-------------
|
|
|
|
The Installation of RosBE is very simple, since there are scripts, which do
|
|
|
|
most of the work for you. Follow these steps to compile and install RosBE for
|
|
|
|
your used operating system:
|
|
|
|
|
|
|
|
1. Open a Terminal window and type "su" to become "root" user.
|
|
|
|
2. Call the "RosBE-Builder.sh" script in the directory of the unpacked
|
|
|
|
RosBE files.
|
|
|
|
3. Follow the directions on the screen until the script ends with "Finished
|
|
|
|
successfully!"
|
|
|
|
4. Type "exit" to switch back to your normal user account. Then call the
|
|
|
|
"createshortcut.sh" script in the installation directory (usually this
|
|
|
|
is "/usr/RosBE").
|
|
|
|
5. Follow the directions on the screen to create a shortcut for the Build
|
|
|
|
Environment.
|
|
|
|
|
|
|
|
After that you can easily open a Build Environment for ReactOS by opening
|
|
|
|
the shortcut.
|
|
|
|
|
|
|
|
|
|
|
|
Version Information
|
|
|
|
--------------------
|
|
|
|
This version of RosBE for Unix-based operating systems uses the following
|
|
|
|
components:
|
|
|
|
|
2007-12-22 15:22:53 +00:00
|
|
|
* GNU Binutils v2.18.50-20071015 (snapshot)
|
|
|
|
patched with:
|
|
|
|
- binutils-2.18.50.10-15-2007-snapshot-hpoussin.patch
|
|
|
|
(http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/Patches/binutils-2.18.50.10-15-2007-snapshot-hpoussin.patch?revision=30284&content-type=text/plain)
|
2007-06-05 13:08:26 +00:00
|
|
|
|
2007-12-22 15:22:53 +00:00
|
|
|
* GCC, The GNU Compiler Collection v4.1.3-20071015 (snapshot)
|
|
|
|
patched with:
|
|
|
|
- GCC-v4.1-r129382-prerelease-w3seek.patch
|
|
|
|
(http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/Patches/GCC-v4.1-r129382-prerelease-w3seek.patch?revision=30284&content-type=text/plain)
|
|
|
|
- GCC-v4.1-r129382-virtual-stdcall-bug27067.patch
|
|
|
|
(http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/Patches/GCC-v4.1-r129382-virtual-stdcall-bug27067.patch?revision=30284&content-type=text/plain)
|
|
|
|
- GCC-v4.1-r129490-CreateFileMapping-Vista-bug30335.patch
|
|
|
|
(http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/Patches/GCC-v4.1-r129490-CreateFileMapping-Vista-bug30335.patch?revision=30284&content-type=text/plain)
|
2007-06-05 13:08:26 +00:00
|
|
|
|
2007-12-22 15:22:53 +00:00
|
|
|
NOTE: This GCC version only supports C and C++
|
2007-06-05 13:08:26 +00:00
|
|
|
|
2007-12-22 15:22:53 +00:00
|
|
|
* Make 20071219 (CVS version)
|
|
|
|
* MinGW-Runtime 3.13
|
|
|
|
* NASM, The Netwide assembler v2.00
|
|
|
|
* W32api 3.10
|
2007-06-05 13:08:26 +00:00
|
|
|
|
|
|
|
|
|
|
|
Tested Operating Systems
|
|
|
|
-------------------------
|
|
|
|
Although the Build Environment is designed to work on all Unix-based
|
2008-01-23 18:21:21 +00:00
|
|
|
operating systems, it was only tested under the following systems:
|
2007-06-05 13:08:26 +00:00
|
|
|
|
|
|
|
* Debian GNU/Linux 4.0
|
2008-01-23 18:21:21 +00:00
|
|
|
* Fedora 8
|
2007-06-05 13:08:26 +00:00
|
|
|
* FreeBSD 6.2
|
2008-01-23 18:21:21 +00:00
|
|
|
* Mac OS X 10.5
|
|
|
|
* openSUSE 10.2
|
|
|
|
* Ubuntu 7.04 and 7.10
|
2007-06-05 13:08:26 +00:00
|
|
|
|
|
|
|
You should be able to compile the build tools on both i386 (32-bit) and
|
|
|
|
x86_64 (64-bit) systems.
|
|
|
|
|
|
|
|
|
|
|
|
Websites
|
|
|
|
---------
|
2007-12-22 15:22:53 +00:00
|
|
|
MinGW - Minimalist GNU for Windows
|
2007-06-05 13:08:26 +00:00
|
|
|
http://www.mingw.org
|
|
|
|
|
|
|
|
Binutils, the Binary Tools Collection
|
|
|
|
http://www.gnu.org/software/binutils
|
|
|
|
|
|
|
|
GCC, the GNU Compiler Collection
|
|
|
|
http://www.gcc.org
|
|
|
|
|
|
|
|
Make, the Makefile processor
|
|
|
|
http://www.gnu.org/software/make
|
|
|
|
|
|
|
|
NASM, the Netwide Assembler
|
|
|
|
http://nasm.sourceforge.net
|
|
|
|
|
|
|
|
|
|
|
|
Credits
|
|
|
|
--------
|
2007-12-22 15:22:53 +00:00
|
|
|
Colin Finck (mail@colinfinck.de)
|
|
|
|
|
|
|
|
Thanks go also to the members of the RosBE-Windows team, namely:
|
|
|
|
Daniel Reimer (reimer.daniel@freenet.de)
|
|
|
|
Peter Ward (dralnix@gmail.com)
|
|
|
|
Pierre Schweitzer (heis_spiter@hotmail.com)
|
|
|
|
|
|
|
|
Special thanks to ROSFan, who created the nice ReactOS Build Environment
|
|
|
|
Logo.
|
|
|
|
Special thanks also goes out to all those who provide so much help by
|
|
|
|
testing out new versions, you know who you are. Without them the RosBE
|
|
|
|
would not be what it is.
|
|
|
|
Credits go to Gregor Anich who created the original ReactOS Build
|
|
|
|
Environment v0.2-3.4.4.
|
|
|
|
|
|
|
|
Inspired by Dazzle from TinyKRNL (http://tinykrnl.org/).
|