Subj : Re: Compilers/systems
To   : andrew clarke
From : Vitaliy Aksyonov
Date : Tue Feb 07 2023 07:22 am

Hello andrew.

07 Feb 23 15:41, you wrote to me:

VA>> I want to do some code refactoring to remove dangerous coding
VA>> approaches. Like memset() instead of new(), printf(), etc.

VA>> Which compilers are still in use to build GoldED+ and for which
VA>> systems?

ac> If you're taking over development then it's really up to you what you
ac> want to support.

I'd use gcc under linux for main development. Also have working windows dev environment with Visual Studio 2022.

ac> Linux, FreeBSD or MacOS users will have modern versions of GCC and
ac> Clang available.

That make sense. I don't see any issues for modern systems.

ac> Ideally the Windows version should be built with a version of MSVC
ac> that has full STL support. This would exclude now-ancient MSVC
ac> versions like Visual Studio 6.0 from 1998.

ac> From memory the very recent versions of MSVC no longer produce
ac> binaries that will run under Windows XP. I've found a good "middle
ac> ground" is something like Visual Studio 2012, which still runs well
ac> under Windows 10 & 11.

Visual Studio 2012 is not available anymore. Oldest one is 2013. Would it produce binaries for Windows XP?

ac> OTOH it would be preferable if a free compiler could be used in
ac> Windows. Recently I learned that in 2020 Embarcadero released a fork
ac> of Dev-C++ that provides GCC 9.2 and supports C++11:

MS provides free VS community edition. I don't see any reasons why can't it be used.

ac> https://github.com/Embarcadero/Dev-Cpp/releases

ac> OS/2 I'm not really sure about, but I know there are modern versions
ac> of GCC available from the Netlabs repos.

ac> I was going to suggest DOS/DPMI support should be dropped, but I see
ac> GCC 10.2.0 was ported to DJGPP in 2020, so that's probably useable.
ac> Though I doubt many people would complain if DOS support was removed
ac> from future GoldED versions.

That's a good question. Main concern here is that FidoNet is mostly retro hobby and people may want to run it on old computers and old OSes.

ac> Another option for Windows, OS/2 & DOS may be to build with a recent
ac> version of OpenWatcom 2.0, though I don't know how well it supports
ac> STL or C++11. It may be good enough. The great thing about OpenWatcom
ac> 2.0 is can run under Linux, and it's also a cross-compiler, so you can
ac> build DOS, Windows & OS/2 apps from Linux.

I like the idea of using cross-compiling. In this case there is no need to setup many different systems. Even if they work on virtual machine.

From what I've read about OpenWatcom - they don't really conform fully to even C++98 and I'm not sure about C++11 support either. Need to try that.

Even refactor code to use C++98 would be a huge improvement. It's full of old pure C approaches.

Vitaliy

... Mo? ?a?a ?o?opu?a: ?e ??a?o??c? c ?e??a?o???u ?????u.
--- GoldED+/LNX 1.1.5-b20220504
* Origin: Aurora, Colorado (1:104/117)