Well, it is a port i've made to test my new clib2 and the shared objects (plus tons of other changes). It is working. It seems to work. For example cmath module is using the .so object and the new complex functions into clib2. There are some modules to add. However with new newlib changes should be easy to recompile it too. Mine was a test to see if dlopen/dlsym was working correctly and allow me to test my changes If it will work correctly i'll release it. However, a newlib version should be better IMHO
We have assembled collaborators to maintain python2 and python3 for all 4 amigoid platforms with goal of common code base. It will be great if you can collaborate.
You mention new newlib, is that another one of those things os4 devs clique has had for years that mere muggles are not blessed with?
with my clib2 version i've recompiled all .so python files. To avoid clash with os files (and not only) recompile it with newlib would be the best solution. And i don't know what do you mean with maintain versions. I didn't change any line of code in current python version. Just passed the correct parameters to configure file because every problem I found into python is fixed it into clib2. So no specific OS4 code
That's great that you can build it from unmodified sources. Big achievement. Surely you must have a config file you've modified, or does it even work with the autoconfig correctly?
AmigaOS python that comes with OS is heavily adapted to be 'Amiga like' with support for Amiga style paths and several os based modules much more under the bonnet. Buiding a loonixy python is easy (no disrespect to afxgroup). Getting the amiga stuff patched in is more of a job.
Getting clib2 shared objects working is quite cool. Though I shudder at the idea of managing two sets of incompatable shared objectrs. I wonder if it migth be a good idea to use a different suffix? .c2so perhaps?
if you mean use c2so for python could make sense but change the default .so suffix is a problem because you should change all configure files.. and it is a pain Regard the amiga paths i have to check because lunix now is enabled by default and into libc should do all the work internally i suppose. but i didn't check
Configure files work out shared object extenstions by themselves, or at least as an option, Windoze doesn't use .so but .dll for example
Normally ofcouse (in a linux system ) there is only one runtime C library at any time so there is no issue.
WRT paths etc in python. There is a whole abstraction api in os.path, a lot of the python code in the library needs the amiga specific stuff adding / updating for the more recent for version.
That's areally bad idea, it was kept seperate to enable use for both AmigaOS programs and unix ports. Does that mean path translation is on by default? How can you tell if /T is a volume or directory one level up then?
Configure files work out shared object extenstions by themselves, or at least as an option, Windoze doesn't use .so but .dll for example
Yes. But there are only two coices. so and dll. and amiga is always configured as so since ages. This means patch every configure and is not fesable. And however .so are the last of the problems. In my ports (all) i always add a SOBJS foder inside the main program that fix all the possible problems because even with newlib there are always different versions and we don't have a versioning.
Regard the unix. What do you mean with /T one level up? can you write me an example using existing functions?