RosBE/RosBE-Unix/Base-i386
Victor Perevertkin 4ae0aa250b
[ROSBE] Build GCC with --enable-sjlj-exceptions.
In fact it was built like that before as well
(probably because GCC 4.7.2 don't support dwarf2 exceptions)
Binaries built with RosBE and dwarf2 exceptions don't work for some unknown (yet) reason
2020-04-14 20:39:44 +03:00
..
scripts [ROSBE-UNIX] Accept Yes/No answers with upper case letters (#6) 2019-12-25 08:11:51 +01:00
sources Remove make from toolchain as CMake is used 2018-08-20 18:52:49 +02: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-UNIX] Update README and add .gitignore 2019-12-24 08:49:27 +01:00
README.odt [ROSBE-UNIX] Update README and add .gitignore 2019-12-24 08:49:27 +01:00
RosBE-Builder.sh [ROSBE] Build GCC with --enable-sjlj-exceptions. 2020-04-14 20:39:44 +03:00

                           ReactOS Build Environment
                 Version 2.2 for Unix-based operating systems
                      Base package and i386 build tools
  by Colin Finck (colin@reactos.org), 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.

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


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.32
    compiled for i686-w64-mingw32

  * GCC, The GNU Compiler Collection v8.3.0
    compiled for i686-w64-mingw32

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

  * Bison 3.5
    patched with:
      - https://raw.githubusercontent.com/reactos/RosBE/master/Patches/bison-3.5-reactos-fix-win32-build.patch

  * CMake 3.16.2
  * Flex 2.6.4+ (revision 8b1fbf674f2e038df9cf1fe7725617e3837ae2a9)
  * GMP 6.1.2
  * Mingw-w64 6.0.0
  * MPC 1.1.0
  * MPFR 4.0.2
  * Ninja 1.9.0
    patched with:
      - https://raw.githubusercontent.com/reactos/RosBE/master/Patches/ninja-v1.9.0-Fix-MinGW-bootstrap-build.patch


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 18.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
---------
Binutils, the Binary Tools Collection
https://www.gnu.org/software/binutils

Bison, general-purpose parser generator
https://www.gnu.org/software/bison

CMake, Cross Platform Make
https://cmake.org

Flex, The Fast Lexical Analyzer
https://github.com/westes/flex

GCC, the GNU Compiler Collection
https://gcc.gnu.org

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

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

Mingw-w64
https://mingw-w64.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/).