Fix some oversights and bad English of my younger self, add Victor to credits, and prepare for RosBE-Unix 2.2.1.

The next version will be released when all reported RosBE-Unix 2.2 build problems are fixed.
This commit is contained in:
Colin Finck 2020-05-06 21:59:21 +02:00
parent e87b00c8f8
commit d50dba3fbf
No known key found for this signature in database
GPG Key ID: 1BA74E70456BA1A9
4 changed files with 70 additions and 69 deletions

View File

@ -1,84 +1,77 @@
ReactOS Build Environment ReactOS Build Environment
Version 2.2 for Unix-based operating systems Version 2.2.1 for Unix-based operating systems
Base package and i386 build tools Base package and i386 build tools
by Colin Finck (colin@reactos.org), Pierre Schweitzer (pierre@reactos.org)
Introduction Introduction
------------- -------------
The ReactOS Build Environment ("RosBE") is a Build Environment for building The ReactOS Build Environment ("RosBE") is the official build environment
ReactOS. This version is targeted at Unix-based operating systems such as for compiling ReactOS. This version is targeted at Unix-based operating systems
Linux or FreeBSD. such as Linux, FreeBSD or macOS.
The Installation process of the Build Environment is divided into two parts. The installation process is divided into two parts: First a script builds and
First a script builds the needed compiler tools for your operating system installs the needed compiler tools for your operating system. Therefore you need
and installs them. Therefore the "gcc" compiler for your system and some the "gcc" compiler for your system and some other build tools.
other build tools have to be installed. Afterwards, you can create a desktop shortcut using another script. This
Then another script creates a shortcut for you. This shortcut opens a shortcut opens a Terminal window and prepares all environment settings for
Terminal window and prepares all environment settings for building ReactOS. building ReactOS.
Needed Applications Needed Applications and Libraries
-------------------- ----------------------------------
Make sure that the following applications are installed on your system. Make sure that the following applications and libraries are installed on your
They are needed to build the compiler tools. The "RosBE-Builder.sh" script system. They are needed to build the ReactOS Build Environment. The
automatically checks for them: "RosBE-Builder.sh" script automatically checks for their presence:
* GNU Bash * GNU Bash
The executable file and the package name are often called "bash". The executable file and the package name are often called "bash".
All scripts are designed to work only under the Bash shell. All scripts are exclusively designed for the Bash shell.
* GNU GCC * GNU GCC
You need a GCC compiler, which is suitable for your system. The You need a GCC compiler that is suitable for your system. The executable
executable file and the package name are often called "gcc". file and the package name are often called "gcc".
Your GCC compiler needs to be able to compile both C and C++ sources. Your GCC compiler needs to be able to compile both C and C++ sources, hence
Therefore the "g++" module also has to be installed. you also need to have the "g++" module installed.
The compiler needs to be in version 3.4 or later. Make sure you have GCC 7.x or later installed, as earlier versions have not
been tested.
* Grep * Grep
The executable file and the package name are often called "grep". The executable file and the package name are often called "grep".
* GNU Make * GNU Make
Make sure that you have the GNU version of "make" installed. For example Make sure that you have the GNU version of "make" installed. Operating
FreeBSD uses another version. The executable file and the package name systems like FreeBSD have a different version installed by default.
are often called "make" or "gmake". The executable file and the package name are often called "make" or
"gmake".
* GNU Makeinfo * GNU Makeinfo
The executable file is often called "makeinfo". Usually this file is in a The executable file is often called "makeinfo". This file is usually in a
package called "texinfo". 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 * zlib
The library file is generally called "libz.so". The library file is generally called "libz.so". Package names vary, one
example for Debian-based Linux distributions is "zlib1g-dev".
Installation Installation
------------- -------------
The Installation of RosBE is very simple, since there are scripts, which do The Installation of RosBE is very simple as there are scripts that do most of
most of the work for you. Follow these steps to compile and install RosBE for the work for you. Follow these steps to compile and install RosBE for your
your used operating system: operating system:
1. Open a Terminal window and type "su" to become "root" user. 1. Open a Terminal window and run "sudo ./RosBE-Builder.sh" in the directory
NOTE: Becoming a root user is only required for installing RosBE into the of the unpacked RosBE files.
default directory ("/usr/local/RosBE"). If you want to install it into a NOTE: Becoming a root user through "sudo" is only required for installing
personal directory, you don't need superuser privileges. RosBE into the default directory ("/usr/local/RosBE"). If you want to
2. Call the "RosBE-Builder.sh" script in the directory of the unpacked install it into a personal directory, you don't need superuser privileges.
RosBE files. Advanced users can also make use of CC, CFLAGS, CXX, and CXXFLAGS
NOTE: Advanced users can make use of CFLAGS, CC, CXX variables to modulate variables to modulate the way tools will be built.
the way tools will be built.
3. Follow the directions on the screen until the script ends with "Finished 2. Follow the directions on the screen until the script ends with "Finished
successfully!" 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 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. the shortcut.
@ -98,30 +91,35 @@ components:
* GCC, The GNU Compiler Collection v8.4.0 * GCC, The GNU Compiler Collection v8.4.0
compiled for i686-w64-mingw32 compiled for i686-w64-mingw32
NOTE: This GCC version only supports C and C++ NOTE: This GCC version only supports C and C++
* Bison 3.5.4 * Bison 3.5.4
patched with: patched with:
- https://raw.githubusercontent.com/reactos/RosBE/master/Patches/bison-3.5-reactos-fix-win32-build.patch - https://raw.githubusercontent.com/reactos/RosBE/e87b00c8f8732ed3fa393b9b05a12093ae5942e8/Patches/bison-3.5-reactos-fix-win32-build.patch
* CMake 3.17.1-ReactOS
(revision 21d3c5cfeb6fa9303b134773afe921182f6c6fcb from https://github.com/reactos/CMake/tree/cmake-3.17.1-reactos)
* CMake 3.17.1
* Flex 2.6.4+ (revision 8b1fbf674f2e038df9cf1fe7725617e3837ae2a9) * Flex 2.6.4+ (revision 8b1fbf674f2e038df9cf1fe7725617e3837ae2a9)
* GMP 6.1.2
* 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 * Mingw-w64 6.0.0
* MPC 1.1.0 * MPC 1.1.0
* MPFR 4.0.2 * MPFR 4.0.2
* Ninja 1.10 * Ninja 1.10.0
Tested Operating Systems Tested Operating Systems
------------------------- -------------------------
The Build Environment was designed to work on all Unix-based operating 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 systems. Nevertheless, it is impossible to test it on all possible systems out
there. there.
The current primary development and test system is Ubuntu 18.04. But users 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 also reported that it works well under other Linux systems such as Fedora or
openSUSE and Unix derivates like FreeBSD or Mac OS X. openSUSE and Unix derivates like FreeBSD or macOS.
You should be able to compile the build tools on both i386 (32-bit) and You should be able to compile the build tools on both i386 (32-bit) and
x86_64 (64-bit) systems. x86_64 (64-bit) systems.
@ -152,10 +150,14 @@ http://www.mpfr.org
Mingw-w64 Mingw-w64
https://mingw-w64.org https://mingw-w64.org
Ninja, a small build system with a focus on speed
https://ninja-build.org
Credits Credits
-------- --------
Colin Finck (colin@reactos.org) Colin Finck (colin@reactos.org)
Pierre Schweitzer (pierre@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: Thanks go also to the members of the RosBE-Windows team, namely:
Daniel Reimer (daniel.reimer@reactos.org) Daniel Reimer (daniel.reimer@reactos.org)
@ -164,10 +166,9 @@ Peter Ward (dralnix@gmail.com)
Special thanks to ROSFan, who created the nice ReactOS Build Environment Special thanks to ROSFan, who created the nice ReactOS Build Environment
Logo. Logo.
Special thanks also goes out to all those who provide so much help by 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 testing out new versions, you know who you are. Without you, RosBE would not be
would not be what it is. what it is.
Credits go to Gregor Anich who created the original ReactOS Build Credits go to Gregor Anich who created the original ReactOS Build
Environment v0.2-3.4.4. Environment v0.2-3.4.4.
Inspired by Dazzle from TinyKRNL (http://tinykrnl.org/). Inspired by Dazzle from TinyKRNL.

Binary file not shown.

View File

@ -32,8 +32,8 @@ rs_sourcedir="$rs_scriptdir/sources"
# RosBE-Unix Constants # RosBE-Unix Constants
DEFAULT_INSTALL_DIR="/usr/local/RosBE" DEFAULT_INSTALL_DIR="/usr/local/RosBE"
KNOWN_ROSBE_VERSIONS="0.3.6 1.1 1.4 1.4.2 1.5 2.0 2.1 2.1.1 2.1.2 2.2" KNOWN_ROSBE_VERSIONS="0.3.6 1.1 1.4 1.4.2 1.5 2.0 2.1 2.1.1 2.1.2 2.2 2.2.1"
ROSBE_VERSION="2.2" ROSBE_VERSION="2.2.1"
TARGET_ARCH="i386" TARGET_ARCH="i386"
source "$rs_scriptdir/scripts/rosbelibrary.sh" source "$rs_scriptdir/scripts/rosbelibrary.sh"
@ -45,7 +45,7 @@ echo "* ReactOS Build Environment for Unix-based Operating Systems
echo "* Builder Tool for the Base package *" echo "* Builder Tool for the Base package *"
echo "* by Colin Finck <colin@reactos.org> *" echo "* by Colin Finck <colin@reactos.org> *"
echo "* *" echo "* *"
echo "* Version $ROSBE_VERSION *" echo "* Version $ROSBE_VERSION *"
echo "*******************************************************************************" echo "*******************************************************************************"
echo echo
@ -319,7 +319,7 @@ if rs_prepare_module "gcc"; then
export CFLAGS_FOR_TARGET="$rs_target_cflags" export CFLAGS_FOR_TARGET="$rs_target_cflags"
export CXXFLAGS_FOR_TARGET="$rs_target_cflags" export CXXFLAGS_FOR_TARGET="$rs_target_cflags"
rs_do_command ../gcc/configure --prefix="$rs_archprefixdir" --target="$rs_target" --with-sysroot="$rs_archprefixdir" --with-pkgversion="RosBE-Windows" --enable-languages=c,c++ --enable-fully-dynamic-string --enable-checking=release --enable-version-specific-runtime-libs --enable-plugins --disable-shared --disable-multilib --disable-nls --disable-werror --disable-win32-registry --enable-sjlj-exceptions --disable-libstdcxx-verbose rs_do_command ../gcc/configure --prefix="$rs_archprefixdir" --target="$rs_target" --with-sysroot="$rs_archprefixdir" --with-pkgversion="RosBE-Unix" --enable-languages=c,c++ --enable-fully-dynamic-string --enable-checking=release --enable-version-specific-runtime-libs --enable-plugins --disable-shared --disable-multilib --disable-nls --disable-werror --disable-win32-registry --enable-sjlj-exceptions --disable-libstdcxx-verbose
rs_do_command $rs_makecmd -j $rs_cpucount all-gcc rs_do_command $rs_makecmd -j $rs_cpucount all-gcc
rs_do_command $rs_makecmd install-gcc rs_do_command $rs_makecmd install-gcc
rs_do_command_can_fail $rs_makecmd install-lto-plugin rs_do_command_can_fail $rs_makecmd install-lto-plugin

View File

@ -2,7 +2,7 @@
# #
# Script for initializing RosBE # Script for initializing RosBE
# Part of RosBE for Unix-based Operating Systems # Part of RosBE for Unix-based Operating Systems
# Copyright 2007-2011 Colin Finck <colin@reactos.org> # Copyright 2007-2020 Colin Finck <colin@reactos.org>
# #
# Released under GNU GPL v2 or any later version. # Released under GNU GPL v2 or any later version.
@ -42,7 +42,7 @@ echo "**************************************************************************
echo "* ReactOS Build Environment for Unix-based Operating Systems *" echo "* ReactOS Build Environment for Unix-based Operating Systems *"
echo "* by Colin Finck <colin@reactos.org> *" echo "* by Colin Finck <colin@reactos.org> *"
echo "* *" echo "* *"
echo "* Version $_ROSBE_VERSION *" echo "* Version $_ROSBE_VERSION *"
echo "*******************************************************************************" echo "*******************************************************************************"
echo echo
echo "For a list of all included commands, type: \"help\"" echo "For a list of all included commands, type: \"help\""