[haiku-development] Re: [haiku] Re: Future releases? Recommend nightlies? gcc2?

  • From: Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Fri, 2 Dec 2016 07:33:52 +0100

On Fri, Dec 02, 2016 at 05:14:42AM +0000, Thomas Mueller wrote:


For R2 I would go 64bit only. Make the R1 ABI stable on x86-64, and have
R2 include a compatibility with that. This way, people can continue to
use R1 apps with R2 (but they can't use BeOS R5 apps anymore).

I think having each release compatible with release N-1 is good enough,
especially as we don't release very often. Of course, if someone plans
to maintain gcc2 compatibility in the R2 branch, why not. But that won't be 
me.

Adrien.

I would like to maintain 32-bit as well as 64-bit, as FreeBSD, NetBSD and 
most Linuxes do.
Some applications require or do better on 32-bit than 64-bit. 

This is the case now, but most likely won't be anymore when time comes
to release R2 (that's a few years or a few dozen years in the future).


Is there an intention to build Haiku for arm devices, which is now (I 
believe) at an infant stage?

No one is currently seriously working on it and it won't be done for R1.
Maybe for R2.

I never ran the proprietary BeOS, so I don't know what those indispensable(?) 
closed-source, gcc2-only apps might be.
Nothing you can use in Linux, FreeBSD, or failing that, MS-Windows or Mac?

If I wanted to run Linux, FreeBSD, Windows or macOS, I would not be
here. The main closed source app at the moment for me is Sync Modular,
which has a Windows version. Other people will talk of GoBe Productive
and I'm sure there are a few others.

The need for gcc2 has been greatly reduced thanks to the efforts of the
HaikuArchive team. They have been tracking the source of these apps and
updating them to build and run with gcc5 (and some of them also on 64bit
machines). In the long term this is the only sane approach, but there
are still some efforts to do. Maybe we will need to pay the authors of
some of these apps so they are more willing to share their sources, but
so far the BeOS community has been quite supportive in sharing their
sources, either with a permissive licence (Sawteeth, for example), or
just allowing a few select people access to the sourcecode (liblayout).


I'm not looking to get rid of gcc2, at least for R1, but would like it not to
interfere with gcc4, 5 or 6 using modern C++ features.

Maybe gcc2 only for those closed-source gcc2-only apps?

I want to make it clear that gcc2 does not interfere with anything for
people writing applications. If you run the gcc2hybrid version of Haiku,
you can type "setarch x86", to select the gcc5 compiler, then you can
completely ignore gcc2. If you run any other version of the OS
(gcc5hybrid, or x86_64, or any non-x86 port), then the gcc2 compiler
isn't even available.

So, the gcc2 compatilibity only affects people contributing to the OS
itself. And even there, we already started makng exceptions. For
example, the web browser can only be compiled with a recent version of
GCC. All new applications and APIs could follow that trend. So far it
only happened in a few select places, which I think means either people
do want gcc2 to continue working, or they didn't really need the new C++
features. This will probably change again over time, as people grow used
to C++11 and C++14, and also as C++17 is released. Being able to use
these new versions of the language is probably only relevant if our
public APIs can use and expose the features, however, so this is also
mostly interesting for R2. There are some possible uses in internal
places (kernel, etc), and we are already doing that in x86_64 specific
code.

-- 
Adrien.

Other related posts: