RosBE/RosBE-Unix/Base-i386
Christopher Waschke 7ae7c508e6
Fixed bug with RosBE-rc overriding path. (#14)
Preserved $PATH from being overridden while reading user's bashrc by putting current $PATH in a variable $savedpath and restoring that after sourcing .bashrc

Co-authored-by: Colin Finck <colin@reactos.org>
2021-06-24 19:31:32 +02:00
..
scripts Fixed bug with RosBE-rc overriding path. (#14) 2021-06-24 19:31:32 +02:00
sources Remove make from toolchain as CMake is used 2018-08-20 18:52:49 +02:00
README [ROSBE-UNIX] Update to CMake 3.17.2-ReactOS in the README files. 2020-05-26 08:42:02 +02:00
README.odt [ROSBE-UNIX] Update to CMake 3.17.2-ReactOS in the README files. 2020-05-26 08:42:02 +02:00
RosBE-Builder.sh [ROSBE-UNIX] Call Python explicitly instead of relying on the shebang. 2021-06-17 20:36:33 +02:00

                           ReactOS Build Environment
                 Version 2.2.1 for Unix-based operating systems
                      Base package and i386 build tools

Introduction
-------------
  The ReactOS Build Environment ("RosBE") is the official build environment
for compiling ReactOS. This version is targeted at Unix-based operating systems
such as Linux, FreeBSD or macOS.
  The installation process is divided into two parts: First a script builds and
installs the needed compiler tools for your operating system. Therefore you need
the "gcc" compiler for your system and some other build tools.
  Afterwards, you can create a desktop shortcut using another script. This
shortcut opens a Terminal window and prepares all environment settings for
building ReactOS.


Needed Applications and Libraries
----------------------------------
  Make sure that the following applications and libraries are installed on your
system. They are needed to build the ReactOS Build Environment. The
"RosBE-Builder.sh" script automatically checks for their presence:

  * GNU Bash
    The executable file and the package name are often called "bash".
    All scripts are exclusively designed for the Bash shell.

  * GNU GCC
    You need a GCC compiler that 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, hence
    you also need to have the "g++" module installed.
    Make sure you have GCC 7.x or later installed, as earlier versions have not
    been tested.

  * 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. Operating
    systems like FreeBSD have a different version installed by default.
    The executable file and the package name are often called "make" or
    "gmake".

  * GNU Makeinfo
    The executable file is often called "makeinfo". This file is usually in a
    package called "texinfo".

  * zlib
    The library file is generally called "libz.so". Package names vary, one
    example for Debian-based Linux distributions is "zlib1g-dev".


Installation
-------------
  The Installation of RosBE is very simple as there are scripts that do most of
the work for you. Follow these steps to compile and install RosBE for your
operating system:

  1. Open a Terminal window and run "sudo ./RosBE-Builder.sh" in the directory
     of the unpacked RosBE files.
     NOTE: Becoming a root user through "sudo" 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.
     Advanced users can also make use of CC, CFLAGS, CXX, and CXXFLAGS
     variables to modulate the way tools will be built.

  2. Follow the directions on the screen until the script ends with "Finished
     successfully!"

  3. Call the "createshortcut.sh" script in the installation directory (usually
     "/usr/local/RosBE") to create a desktop shortcut for the Build Environment.

  Afterwards, you can easily open a Build Environment for ReactOS by clicking
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.34
    compiled for i686-w64-mingw32

  * GCC, The GNU Compiler Collection v8.4.0
    compiled for i686-w64-mingw32
    NOTE: This GCC version only supports C and C++

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

  * CMake 3.17.2-ReactOS
    (revision 07c58033d74bad5466775fb2dad7d84494a846bd from https://github.com/reactos/CMake/tree/cmake-3.17.2-reactos)

  * Flex 2.6.4+ (revision 8b1fbf674f2e038df9cf1fe7725617e3837ae2a9)

  * GMP 6.2.0
    patched with:
      - https://raw.githubusercontent.com/reactos/RosBE/e87b00c8f8732ed3fa393b9b05a12093ae5942e8/Patches/GMP-6.2.0-C89-fixes.patch

  * Mingw-w64 6.0.0
  * MPC 1.1.0
  * MPFR 4.0.2
  * Ninja 1.10.0


Tested Operating Systems
-------------------------
  The Build Environment has been 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 macOS.
  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

Ninja, a small build system with a focus on speed
https://ninja-build.org

Credits
--------
Colin Finck (colin@reactos.org)
Pierre Schweitzer (pierre@reactos.org)
Victor Perevertkin (victor.perevertkin@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 you, 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.