Category: ReactOS


This post will be edited a few times I guess.

I try to publically sum up all stuff we need to get a RosBE with a working amd64 compiler.

GCC

First we need plugin support inside GCC. This seems to be default on *nix, but Windows has a special hackish implementation for that.

To use it we need to add –enable-plugin to the configure parameter list of both the 32 bit host and 64 bit guest cross compiler.

We need a newer GCC OR fix two lines to make plugin support build at all:

/gcc/c/Make-lang.in

— $(INSTALL_DATA) cc1$(exeext).a $(DESTDIR)/$(plugin_resourcesdir)/cc1$(exeext).a
++ $(INSTALL_DATA) cc1$(exeext).a $(DESTDIR)$(plugin_resourcesdir)/cc1$(exeext).a

/gcc/cp/Make-lang.in

— $(INSTALL_DATA) cc1plus$(exeext).a $(DESTDIR)/$(plugin_resourcesdir)/cc1plus$(exeext).a
++ $(INSTALL_DATA) cc1plus$(exeext).a $(DESTDIR)$(plugin_resourcesdir)/cc1plus$(exeext).a 

( Already fixed upstream https://gcc.gnu.org/git?p=gcc.git;a=blob;f=gcc/c/Make-lang.in;h=a1cdee87264bcccffd3806f1c82be1ece3570723;hb=HEAD#l168 )

To get GMP in a plugin supportive manner I decided to build it twice! Once GCC does that because gmp is in the source tarball and once for the hackish plugin support!

Current buildtoolchain-mingw32.sh https://pastiebin.com/60b7892f07a99
Current buildtoolchain-mingw32-amd64.sh https://pastiebin.com/60b7894e66625

Binutils

Newer one or applying that patch is mandatory: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=d039200a7ee8ac170afbdc3b987af553c07fb6a3

Ninja

Revert https://github.com/ninja-build/ninja/commit/a3a5d60622eb7330b8d82ff6620d28e3b90c6848

This is a lil bugfix release.

Due to some bug in our build script mingw-w64 was not behaving as expected. This is fixed now.

CMAKE was updated to 3.17.2 too.

Well, not much more. I cleaned up a bit and removed a experiment of the past AND updated all the copyright headers.

https://downloads.sourceforge.net/reactos/RosBE-2.2.1.exe

Changelog:

  • Updated GCC to 8.4.0 (Colin Finck, Daniel Reimer)
  • i686-w64-mingw32 AND x86_64-w64_mingw32 (optional) in one setup!
  • Updated binutils to 2.34 (Colin Finck, Daniel Reimer)
  • Updated mingw-w64 to 6.0.0 (Colin Finck, Daniel Reimer)
  • Updated Flex to 2.6.4 (Colin Finck)
  • Updated CCache to 3.7.9 (Colin Finck)
  • Updated Bison to 3.5.4 (Colin Finck)
  • Updated 7Zip to 19.00 (Daniel Reimer) (https://www.7zip.org)
  • Updated Make to 4.2 (Daniel Reimer) (http://www.equation.com/servlet/equation.cmd?fa=make)
  • Updated Diffutils to 3.7 (Daniel Reimer) (https://gitforwindows.org)
  • Updated Patch to 2.7.6 (Daniel Reimer) (https://gitforwindows.org)
  • Fixed Desktop shotcuts removal on uninstall (Daniel Reimer)
  • Updated Ninja to 1.10 (Colin Finck, Daniel Reimer)
  • Updated cmake to 3.17.1 and made bin folder lower case to make it happy (Colin Finck)
  • Fixed Powershell version access rights and bad regex (Daniel Reimer)
  • Wiped some not needed anymore dependencies from /bin (Colin Finck, Mark Jansen)
  • MASSIVE XP support overhaul for all used 3rdparty tools (Colin Finck)

This one took a while as you all noticed. Why? Different things. GCC did not behave as we expected and wanted it to, Some internal discussion regarding XP support staying alive or not any way more. In the end we managed to: Keep XP working and thus have a way newer XP working CMAKE and Ninja AND Flex/Bison thx to Colin Finck and his enomous work to get this real. So after YEARS we have a official release for you!

Windows: (My toy)

https://downloads.sourceforge.net/reactos/RosBE-2.2.0.exe

Linux: (Colin’s toy)

https://downloads.sourceforge.net/reactos/RosBE-Unix-2.2.tar.bz2

Hello, long time noting new here… Well, now we do. This is a in theory working release with a big bunch of new stuff added. Thx to this fact it does not really build all of the tree yet. So be WARNED!

Changelog:

  • Updated GCC to 8.3.0 (Colin Finck, Daniel Reimer)
  • i686-w64-mingw32 AND x86_64-w64_mingw32 (optional) in one setup!
  • Updated binutils to 2.32 (Colin Finck, Daniel Reimer)
  • Updated mingw-w64 to 6.0.0 (Colin Finck, Daniel Reimer)
  • Updated Flex to 2.6.4 (Daniel Reimer) (https://sourceforge.net/projects/winflexbison/)
  • Updated Bison to 3.3.2 (Daniel Reimer) (https://sourceforge.net/projects/winflexbison/)
  • Updated 7Zip to 19.00 (Daniel Reimer) (https://www.7zip.org)
  • Updated Make to 4.2 (Daniel Reimer) (http://www.equation.com/servlet/equation.cmd?fa=make)
  • Updated Diffutils to 3.7 (Daniel Reimer) (https://gitforwindows.org)
  • Updated Patch to 2.7.6 (Daniel Reimer) (https://gitforwindows.org)
  • Fixed Desktop shotcuts removal on uninstall, hopefully (Daniel Reimer)
  • Updated Ninja to 1.9.0 (Colin Finck, Daniel Reimer)
  • Updated cmake to 3.15.2 and made bin folder lower case to make it happy (Colin Finck, Daniel Reimer)
  • Fixed Powershell version access rights and bad regex (Daniel Reimer)

Download is here: https://dreimer.eu/rosbe/RosBE-2.2.0.exe

Here another bugfix release

Changelog:

– Removed sSVN command and SVN due to GIT merge of ReactOS code base. (Daniel Reimer)
– Updated Flex to 2.6.3 (Daniel Reimer)
– Updated WGet to 1.19.4 (Daniel Reimer)
– Updated Ninja to 1.8.2 (Daniel Reimer)
– Updated CMake to 3.2.1 + VS2017 support (Amine Khaldi)

After some russian guy goes on my nerves way too often to ignore him, here a lil bugfix release for the poor minded ppl out there who don’t know how to search Jira for known bugs, applying a fix and be happy with it.
– Btw, it’s not a nice way to go telling everyone that the whole russian community is too stupid to do that which he clearly did more than once by DEMANDING a fix release for the whole “poor” russian community.
– Btw #2, saying that the whole russian communty is not able to realize that a 32 bit OS is not that suitable for development anymore these days is the same thing IMHO.

Changelog:

– Changed ninja to Win32 build (Hello jeditobe…) (Daniel Reimer)
– Updated SVN to 1.9.6 (Daniel Reimer)
– Updated options to give the user a way to select how to handle the system path var (Daniel Reimer)
– Fixed Bugs:
ROSBE-97: RosBE.cmd should not use %PATH% (DopefishJustin)
ROSBE-112: RosBE 2.1.4 i386 contains x64 executable for ninja (breaks compatibility to x86 hostOSes) (reactosfanboy)

After a long time, here another bugfix release.

Changelog:
– Updated SVN to 1.9.5 (Daniel Reimer)
– Updated 7Zip to 16.04 (Daniel Reimer)
– Updated WGet to 1.19.1 (Daniel Reimer)
– Updated NSIS to 3.01 (Daniel Reimer)
– Updated Ninja to 1.7.2 (Daniel Reimer)
– Updated Flex to 2.6.3 (Daniel Reimer)
– Updated Bison to 3.0.4 (Daniel Reimer)
– Added experimental GlobalSign Root CA updating to installer for XP users (Daniel Reimer)

Fixed Bugs:
– ROSBE-84: SSVN STATUS command reports “branch does not exist” by middings
– ROSBE-88: ssvn create fail by leha-bot
– ROSBE-89: RosBE Updater is not worked properly by leha-bot
– ROSBE-96: Correct SSVN when RosBE installation directory includes a space by Roel Messiant
– ROSBE-105: RosBE-Windows Clean.cmd doesn’t clean most files by Colin Finck

HERE

Another new version of RosBE Installer. Mostly bugfixes, but important ones ^^

Changelog:
– Fix BISON regression… (Daniel Reimer)
– Fix 7z missing dll… (Daniel Reimer)
– If no MSVC is used, don’t try to read the registry key to get the install dir of it. (Daniel Reimer)
– First try to auto detect MSVC if you use params like “vs x86” in a shortcut (Daniel Reimer)
– Updated SVN to 1.8.14 (Daniel Reimer)
– Updated WGet to 1.16.3 + OpenSSL 1.0.2d (Daniel Reimer)
– Reverted to MSYS diff due to popular demand (Amine Khaldi)
– Improved Icons for RosBE-Windows (Jared Smudde / ROSBE-71)

HERE

Finally a new version of RosBE Installer. Most of the work happened during ReactOS Hackfest in Aachen. Have as much fun with it as I had at making over there ^^

Changelog:
– Updated WGet to 1.16.3 (Daniel Reimer)
– Updated 7Zip to 15.06 (Daniel Reimer)
– Updated Bison to 3.0 (Daniel Reimer)
– Updated Flex to 2.5.37 (Daniel Reimer)
– Updated SVN to 1.8.13 (Daniel Reimer)
– Updated Diff to new one from CollabNet SVN build and added diff4. (Daniel Reimer)
– Updated Ninja to 1.6.0 (Daniel Reimer)
– Updated CMake to 3.2.1 + TLS/SSL support (Amine Khaldi)
– Fix raddr2line wrong folder bug (Christoph von Wittich)
– Added Ninja version output to version header (Daniel Reimer)
– Installer now sets BIN folder in real path variable for MSVC users (Daniel Reimer)
– Removed useless settings from options tool (Daniel Reimer)
– Fixed default colors in RosBE (Daniel Reimer)
– Added version to shortcut names due to popular demand (Daniel Reimer)

HERE

Heeeey,

some news for all ReactOS interested ppl out there. We have a UDF filesystem driver now.
UDF aka Universal Disk Format is a open filesystem which is used quite often for DVDs and BluRays, but you can use it for USB drives, HDDs and even floppies, too if you want. Windows normally does not support it to format a drive with UDF by GUI, but by console you can do so quite fine. Without this filesystem, ReactOS has no way to play DVDs or BluRays at all and thus it’s an important one, even more impartant than NTFS IMO.
The driver is from Alter’s DVD Write Now Package which he licensed under GPLv2 for us. THX very much for doing so.
Problems we had and which were already fixed are:
– MingW-w64 GCC build was not possible
– SEH2 exception handling was missing
– Many includes and headers which are completely unneeded in ROS code base were removed
– Code excerpts for Demo and Shareware versions were removed
– Building for AMD64 and ARM was not possible

Now it builds fine, but is still not really working. This is not only the case for ROS, but also for Windows XP SP3. Thus we produced a bug in there while we were inlcuding the driver or it had a bug in the code base we got from Alter.

I opened a report about it. Sadly it was not fixed yet.
Here the general report about missing UDF support.

I will keep you updated ^^.