bitwiseworks / gcc-os2

Port of GCC compiler to OS/2
GNU General Public License v2.0
16 stars 2 forks source link

Decide which GCC version to port #1

Closed dmik closed 4 years ago

dmik commented 4 years ago

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:

  1. It's a fork so it contains quite a huge upstream development history which we don't need. It only bloats the respository size and distracts attention from OS/2-specific tasks.
  2. It's not controlled by bww so may disappear at any moment (which will break our development and deployment environment).

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.

dmik commented 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.

dmik commented 4 years ago

GCC 9.2.0 will be a way to go. The vendor tree is committed and OS/2 patches are on their way (#2).