Closed dmik closed 4 years ago
From what I read in GCC 9's https://www.gnu.org/software/gcc/gcc-9/changes.html, there aren't that many changes that could affect our OS/2 port compared to GCC 8 (https://www.gnu.org/software/gcc/gcc-8/changes.html). So now I lean to going with GCC 9.
GCC 9.2.0 will be a way to go. The vendor tree is committed and OS/2 patches are on their way (#2).
Our current port (i.e. the one maintaned by bww) is 4.9.2. This is a very old version (back from 2014). More and more projects refuse to build with that due to newer C++ features they need. One example is Chromium (see https://github.com/bitwiseworks/qtwebengine-os2/issues/3). The other one is poppler.
The 4.9.2 source code with our OS/2 patches lives here: https://github.com/psmedley/gcc/tree/gcc-4_9-branch-os2. That repository has a number of problems:
For this reason, we need a new repository. And given 1. above, we will use the same upstream source import technique we used for our port of Qt to OS/2. It's described well here: https://github.com/bitwiseworks/qt5-os2/wiki/Developers.
We also need to decide which version to go. There are two candidates: 8.x and 9.x (check https://www.gnu.org/software/gcc/develop.html for the official development plan). 8.x is a bit more stable as it's a bit older. And 9.x is the latest stable release which will most likely get important updates soon. Also, 8.x has been already successfully built on OS/2 by Paul Smedley (https://os2ports.smedley.id.au/index.php?page=gcc-v8.x) so chances are higher that we won't experience any major problems when porting it rather than with 9.x. However, there is also a chance that if we go for 8.x now then we might end up porting some things twice when later moving to 9.x which I'd like to avoid. Some more investigation is needed.