[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
> I think this is okay for the patches listed above.
Ok. And while I'm at it, I'll add NetBSD detection to the pile too.
> > But I also realized that patch #1 and #5 might break strict API
> > *backward* compatibility (in the sense that the API symbol os_type can
> > hold an unknown value for a 4.0.2 program), so I propose that we keep
> > only the 5 other patches.
>
> I think this is actually a API *forward* compatibility problem. A
> person writing a program with the 4.0.3 API might embed the new os_type
> constants in their source code, which is then uncompilable with the
> 4.0.2 API. Programs written with the 4.0.2 API will still compile with
> the 4.0.3 API, so API backwards compatibility is preserved.
Yes. I actually meant "might break strict ABI"... *sigh*... looks like I lost
myself :-)
> As far as the ABI is concerned, I think patches #1 and #5 don't break
> anything: we never promised any ABI backwards/forwards compatibility for
> IRIX or SunOS or Solaris.
Well, the wording is a bit ambiguous:
Note: ABI compatibility will only be _actively_ maintained for
Windows, Linux and BeOS on x86 architectures.
That would imply that ABI compatibility won't be "actively" maintained for
other architectures, which can mean whatever you want. But again, let's
choose the interpretation-that-fits-our-needs.
So do you agree with the following statements ?
"Full ABI compatibility will be maintained for Win32,Linux,BeOS on x86
processors throughout the whole 4.0.x series. On other architectures, only
backward ABI compatibility will be maintained."
"Backward API compatibility will be maintained on all platforms throughout the
whole 4.0.x series"
> Although, this backwards and forwards stuff is really backwards, so I
> could be wrong.
Yeah, it all depends upon your viewpoint :-)
--
Eric Botcazou