OS/2, eCS & ArcaOS - Technical > Programming

GCC - updates

<< < (3/15) > >>

Dariusz Piatkowski:
Paul, everyone...


--- Quote from: Paul Smedley on May 12, 2022, 11:53:45 am ---Not that it  seems there's a great deal  (any?) interest...
--- End quote ---

This always interests me, however I will honestly say I simply do not know how best to "deploy" the non-RPM versions on my machine, which already has the official "gcc (GCC) 9.2.0 20190812 (OS/2 RPM build 9.2.0-5.oc00)" version installed.

I dread the thought of messing this working install up.

So is there a recommendation/standard way to deploy different GCC versions? Those of you who are doing so, what approach are you taking? I'm talking about not just getting the binaries out there, but are you not building GCC version specific environment setup CMDs?, etc???

I suppose a follow-up to the above really is: to what extent can the on-line multi-version-GCC deployment instructions be readily applied in our OS/2 environment?

Thanks for all the work!

Dave Yeo:
Hi Dariusz,
What I do is unzip the GCC to @unixroot/usr so using GCC 9.4.0 as an example, I have w:\usr\local940. Then in @unixroot/usr/bin I have the attached gcc940env.cmd and run that in the command window where I want to use the new GCC. Line 74 is where you point to the local940 or whichever GCC,

--- Code: ---call GCC322plus sPath, 'gcc940', 0, sLinker;
--- End code ---
Adjust the gcc940 line to whichever GCC you're using, I have multiple gcc*env.cmd files for different GCC versions.
Should really double check that this includes all the C++ stuff, KOMH originally did the cmd file quite a while back.

Paul Smedley:
[U:\DEV\gcc-os2]gcc --version
gcc (GCC) 12.2.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

binaries soon if there's any interest.

Andy Willis:

--- Quote from: Dariusz Piatkowski on June 10, 2022, 05:11:56 pm ---
I dread the thought of messing this working install up.

So is there a recommendation/standard way to deploy different GCC versions? Those of you who are doing so, what approach are you taking? I'm talking about not just getting the binaries out there, but are you not building GCC version specific environment setup CMDs?, etc???


--- End quote ---

I have a completely working rpm environment.  I also have many (most) of Paul's builds available.
I have several compilers installed so I have a compilers directory.
Under \compilers I have a gcc3.3.5 under which all the others reside:
03-13-22  18:04         <DIR>        0  bin
03-13-22  18:04         <DIR>        0  binutils
03-13-22  18:08         <DIR>        0  doc
03-13-22  18:05         <DIR>        0  i386-pc-os2-elf
03-13-22  18:06         <DIR>        0  i386-pc-os2-emx
03-13-22  18:06         <DIR>        0  include
08-12-17  23:36         <DIR>      124  info
03-13-22  18:07         <DIR>        0  lib
08-12-18   0:37         <DIR>      124  local510
08-12-18   0:51         <DIR>        0  local550
09-02-18  11:03         <DIR>      124  local620
08-12-18   0:40         <DIR>      124  local630
04-13-18  21:21         <DIR>      124  local710
04-13-18  21:18         <DIR>      124  local720
02-24-18  19:54         <DIR>      124  local730
08-09-18   0:59         <DIR>        0  local810
03-24-19  14:56         <DIR>      150  local820
05-05-19   9:56         <DIR>      150  local830
05-05-19   9:39         <DIR>      150  local910
03-13-22  17:47         <DIR>        0  local940
08-16-22  20:44         <DIR>        0  local1030
08-16-22  20:44         <DIR>        0  local1040
08-16-22  20:45         <DIR>        0  local1120
08-16-22  20:45         <DIR>        0  local1130
08-16-22  20:45         <DIR>        0  local1210
08-12-17  23:37         <DIR>      124  man
09-02-18  11:47         <DIR>        0  older
03-13-22  18:07         <DIR>        0  share
(older has 16 versions of 4.x.x)

I have a cmd script in each to set the environment:

--- Code: ---SET GCCVER=10.4.0
SET GVER=1040
SET GCCDIR=e:\compilers\gcc440\local%GVER%
SET GCCDIR2=e:/compilers/gcc440/local%GVER%
SET GCCMAIN=e:
set GCCBASE=e:/usr
set USRBASE=e:/usr

SET PATH=%GCCDIR%\bin;%GCCDIR%\libexec\gcc\i386-pc-os2-emx\%GCCVER%;%PATH%
SET BEGINLIBPATH=%GCCDIR%\lib;%BEGINLIBPATH%

SET C_INCLUDE_PATH=%GCCDIR2%/lib/gcc/i386-pc-os2-emx/%GCCVER%/include;%GCCDIR2%/include;%USRBASE%/local/include;%GCCBASE%/include;
SET CPLUS_INCLUDE_PATH=%GCCDIR2%/include/c++/%GCCVER%;%GCCDIR2%/include/c++/%GCCVER%/i386-pc-os2-emx;%GCCDIR2%/lib/gcc/i386-pc-os2-emx/%GCCVER%/include;%USRBASE%/local/include;%GCCBASE%/include;
SET CPLUS_INCLUDE_PATH=%CPLUS_INCLUDE_PATH%;%GCCDIR2%/include;%GCCDIR2%/include/c++/backward;%GCCDIR2%/include/c++/%GCCVER%;%GCCDIR2%/include/c++/%GCCVER%/tr1;%GCCBASE%/include;

SET LIBRARY_PATH=%GCCDIR2%/lib/gcc/i386-pc-os2-emx/%GCCVER%;%GCCDIR2%/lib;%GCCDIR2%/lib/gcc/i386-pc-os2-emx/%GCCVER%;%USRBASE%/local/lib;%GCCBASE%/lib;

SET LIB=%LIBRARY_PATH%

--- End code ---

This makes changing the version simple for each drop, right at the top.
It places the particular GCC headers and libraries first, then falls to the local lib and headers and finally to the rpm installed ones.

Andy Willis:

--- Quote from: Paul Smedley on August 20, 2022, 01:13:03 am ---[U:\DEV\gcc-os2]gcc --version
gcc (GCC) 12.2.0
binaries soon if there's any interest.

--- End quote ---

I'm interested.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version