RosBE/RosBE-Unix/Base-i386
Pierre Schweitzer 7c01f57139 [ROSBE]
Use a more robust method to look for libs.
Still doesn't work on OS X...

Thanks to Cyprien Nicolas

svn path=/trunk/RosBE/; revision=2100
2014-02-20 19:58:04 +00:00
..
scripts [ROSBE] 2014-02-20 19:58:04 +00:00
sources - Change version to 1.5-RC2. 2010-01-31 21:07:24 +00:00
tools - Make "getincludes" a shared tool and also use it for setting the ROSBE_HOST/TARGET_CFLAGS/CXXFLAGS variables in RosBE-Windows. 2010-02-07 22:18:32 +00:00
README [ROSBE] 2014-02-18 20:09:43 +00:00
README.odt [ROSBE] 2014-02-18 20:09:43 +00:00
RosBE-Builder.sh [ROSBE] 2014-02-20 19:58:04 +00:00

                           ReactOS Build Environment
                 Version 2.1.1 for Unix-based operating systems
                      Base package and i386 build tools
                      by Pierre Schweitzer (pierre@reactos.org)

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 a 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.
    The compiler needs to be in version 3.4 or later.

  * 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".


Needed Libraries
--------------------
  Make sure that the following libraries are installed on your system.
They are needed to extract the compiler tools. The "RosBE-Builder.sh" script
automatically checks for them:

  * zlib
    The library file is generally called "libz.so".


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


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.
     NOTE: Becoming a root user is only required for installing RosBE into the
     default directory ("/usr/local/RosBE"). If you want to install it into a
     personal directory, you don't need superuser privileges.
  2. Call the "RosBE-Builder.sh" script in the directory of the unpacked
     RosBE files.
     NOTE: Advanced users can make use of CFLAGS, CC, CXX variables to modulate
     the way tools will be built.
  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/local/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.


Uninstallation
---------------
  If you want to uninstall RosBE, just delete the entire installation directory
and any shortcuts you have created.


Version Information
--------------------
  This version of RosBE for Unix-based operating systems uses the following
components:

  * GNU Binutils v2.23
    compiled for mingw32
    patched with:
      - http://svn.reactos.org/project-tools/trunk/RosBE/Patches/binutils-changes-against-2.22.patch?p=1352
      - http://sourceware.org/ml/binutils/2012-10/msg00061.html
      - http://sourceware.org/ml/binutils/2012-10/msg00062.html

  * GCC, The GNU Compiler Collection v4.7.1
    compiled for mingw32
    patched with:
      - http://gcc.gnu.org/viewcvs/gcc/branches/gcc-4_7-branch/gcc/ira-int.h?view=patch&r1=191605&r2=191604&pathrev=191605

    NOTE: This GCC version only supports C and C++

  * Make 3.82
    patched with:
      - http://svn.reactos.org/project-tools/trunk/RosBE/Patches/Make-Windows-jobserver-against-3.8.2.patch?p=1321

  * CMake 2.8.12.1-ReactOS
  * GMP 5.0.5
  * Ninja 1.4.0
  * MinGW-Runtime 3.17
  * MPFR 3.1.1
  * W32api 3.14
  * MPC 1.0.1


Tested Operating Systems
-------------------------
  The Build Environment was designed to work on all Unix-based operating
systems. Nevertheless, it is impossible to test it on all possible systems out
there.
  The current primary development and test system is Ubuntu 12.04. But users
also reported that it works well under other Linux systems such as Fedora or
openSUSE and Unix derivates like FreeBSD or Mac OS X.
  You should be able to compile the build tools on both i386 (32-bit) and
x86_64 (64-bit) systems.


Websites
---------
MinGW - Minimalist GNU for Windows
http://www.mingw.org

Binutils, the Binary Tools Collection
http://www.gnu.org/software/binutils

CMake, Cross Platform Make
http://www.cmake.org

GCC, the GNU Compiler Collection
http://www.gcc.org

GMP, the GNU MP Bignum library
http://www.gmplib.org

Make, the Makefile processor
http://www.gnu.org/software/make

The GNU MPFR library
http://www.mpfr.org


Credits
--------
Colin Finck (colin@reactos.org)
Pierre Schweitzer (pierre@reactos.org)

Thanks go also to the members of the RosBE-Windows team, namely:
Daniel Reimer (daniel.reimer@reactos.org)
Peter Ward (dralnix@gmail.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/).