mirror of
https://github.com/reactos/RosBE.git
synced 2024-10-07 00:43:20 +00:00
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:
parent
e87b00c8f8
commit
d50dba3fbf
@ -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.
@ -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
|
||||||
|
@ -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\""
|
||||||
|
Loading…
Reference in New Issue
Block a user