I just ripped out AmigaOS from Pike 8.1. Martin warned me (after I'd already ripped it out, of course) that maybe Marcus is still using it?
So, is anyone still using AmigaOS in Pike 8.1? If yes, I'll revert the patch. If no, or if we stop supporting at 8.1, I'll leave it as is.
I have some patches for it locally, but I'm not using it actively at the moment. Frankly Python works better...
Marcus Comstedt (ACROSS) (Hail Ilpalazzo!) @ Pike (-) developers forum wrote:
I have some patches for it locally, but I'm not using it actively at the moment. Frankly Python works better...
So, is it worth dragging AmigaOS along in the sources, or do we make 8.0 the last supported version?
Is the AmigaOS support completely broken, or does it greatly complicate something to keep it? I don't think it should be dropped just because of some general cleaning. But if it causes significant problems, or is unlikely to ever be fixed, dropping it makes sense.
"Leif Stensson, Lysator" wrote:
Is the AmigaOS support completely broken, or does it greatly complicate something to keep it? I don't think it should be dropped just because of some general cleaning. But if it causes significant problems, or is unlikely to ever be fixed, dropping it makes sense.
To elaborate a bit on that: supporting an unusual operating system doesn't just support that OS. It also helps in other ways, for example:
(1) by diagnosing portability problems when trying to install Pike on that OS,
(2) providing one more possible starting point when developing support for a new platform,
(3) giving another benchmarking platform, which provides feedback on how generally useful different code optimizations are.
And AmigaOS, by being a non-Unix, helps more than average there. So even if there isn't any great demand for running Pike on AmigaOS, it would be a pity to abandon it without good reasons.
Leif Stensson, Lysator @ Pike developers forum wrote:
"Leif Stensson, Lysator" wrote: To elaborate a bit on that: supporting an unusual operating system doesn't just support that OS. It also helps in other ways, for example:
Agreed. But it would help if either: a. Supporting it requires defensive coding, so that it works on all platforms unaltered. b. Or, if not a, then the private code for this platform is at least excercised once every six months.
There is mostly code of type b (ifdeffed, near duplicates), and if people don't compile it for over a year, it becomes cumbersome at best to make sure it still works (the corrective effect on the other code slowly fades).
Some of AmigaOS code is shared with NT/Windows, incidentally. So that portability-enabling effect is still there.
Leif Stensson, Lysator @ Pike developers forum wrote:
Is the AmigaOS support completely broken, or does it greatly complicate something to keep it? I don't think it should be dropped just because of some general cleaning. But if it causes significant problems, or is unlikely to ever be fixed, dropping it makes sense.
As far as I could see, the code was not superconvoluted. Then again, I have no idea how well it worked/works. I suppose Marcus is more qualified to decide what to do.
OTOH, there is a fair amount of ifdeffed could that is programmed in parallel. Dropping that is better, because people rarely test the AmigaOS codepath.
An overhaul of that code is long overdue, and removing it to then put back what is actually needed (targeting 4.0+ only) might not be the worst way to do it. Apart from the signal_handler stuff (which needs to be implemented separately for each platform not providing fork) I think it's mostly small tweaks which may or may not be needed anymore.
Actually the most work I spent on getting Pike to run on AmigaOS was probably fixing breakage with a statically built Pike (as dynamic modules are not implemented). Static builds can be done for other platforms of course, I don't think we currently have any such builds in pikefarm though.
Anyway, I think the Pike function combine_path_amigaos() should stay even if native support is (temporarily?) removed as it is part of the API.
Marcus Comstedt (ACROSS) (Hail Ilpalazzo!) @ Pike (-) developers forum wrote:
An overhaul of that code is long overdue, and removing it to then put back what is actually needed (targeting 4.0+ only) might not be the
I restored the signal handler and Pike API. I trust you will take care of whatever else is needed.
pike-devel@lists.lysator.liu.se