One important thing to be sure of, before we start with the different libraries... what c-library should we use?
At the moment... clib2 is the c-library with the most functions, but as it is a static library and OpenOffice.org is huge, would this not be a good idea...
newlib does have less functions at the moment, but it is shared, and is more optimized... so it would need more work, but will give us a more Amiga-like and a faster application.
If we would chose newlib, should we if it was up to me make the missing functions under the BSD license, and offer the OS4 team the code for inclussion in newlib (up to them ofcourse).
Henning,
On 19/04/2006, you wrote:
One important thing to be sure of, before we start with the different libraries... what c-library should we use?
At the moment... clib2 is the c-library with the most functions, but as it is a static library and OpenOffice.org is huge, would this not be a good idea...
newlib does have less functions at the moment, but it is shared, and is more optimized... so it would need more work, but will give us a more Amiga-like and a faster application.
If we would chose newlib, should we if it was up to me make the missing functions under the BSD license, and offer the OS4 team the code for inclussion in newlib (up to them ofcourse).
So if I understand correctly clib2 = easier but larger and slower newlib = faster more compact but possibly take a bit longer?
if so, I vote newlib, but then I wont be doing the extra coding, more importantly can you tell me what effect the decision will have in the short term, ie if we wre to choose clib2 now would it be very difficult to change over later.
Regards
Mark
Henning,
On 19/04/2006, you wrote:
One important thing to be sure of, before we start with the different libraries... what c-library should we use?
At the moment... clib2 is the c-library with the most functions, but as it is a static library and OpenOffice.org is huge, would this not be a good idea...
newlib does have less functions at the moment, but it is shared, and is more optimized... so it would need more work, but will give us a more Amiga-like and a faster application.
If we would chose newlib, should we if it was up to me make the missing functions under the BSD license, and offer the OS4 team the code for inclussion in newlib (up to them ofcourse).
So if I understand correctly clib2 = easier but larger and slower newlib = faster more compact but possibly take a bit longer?
yes, something like that
if so, I vote newlib, but then I wont be doing the extra coding, more importantly can you tell me what effect the decision will have in the short term, ie if we wre to choose clib2 now would it be very difficult to change over later.
as long as we don't use nonstandard functions of clib2 should it not be that hard to replace it lateron... but we need to remember that if we are going to change the c-library later on, do we need to do that for all libraries and plugins... so please no non standard functions.
Regards
Mark
On 2006-04-19, Henning Nielsen Lund wrote:
One important thing to be sure of, before we start with the different libraries... what c-library should we use?
The size difference would be miniscule and as an initial effort towards porting I have been looking at extending clib2 with useful functions. (and have contributed a few functions, e.g. the termios emulation)
I vote that we concentrate on using clib2 to begin with.
-Peter aka. Archprogrammer
Reality is for people who cannot face ScienceFiction. Only lefthanded people are in their right minds.
Peter,
One important thing to be sure of, before we start with the different libraries... what c-library should we use?
The size difference would be miniscule and as an initial effort towards porting I have been looking at extending clib2 with useful functions. (and have contributed a few functions, e.g. the termios emulation)
I vote that we concentrate on using clib2 to begin with.
Ahh good a proponent for the other side ;-) feel fre to answer my previous question re any downside to starting with clib2 and moving to newlib later.
Also everybody feel free to butt in with their opinion, I'll way up the pros/cons and let the programmers decide when we get that far ;-) (or I may jst make a descision ;-) )
Regards
Mark
Hi Mark,
On 19/04/2006, you wrote:
Peter,
One important thing to be sure of, before we start with the different libraries... what c-library should we use?
The size difference would be miniscule and as an initial effort towards porting I have been looking at extending clib2 with useful functions. (and have contributed a few functions, e.g. the termios emulation)
I vote that we concentrate on using clib2 to begin with.
Ahh good a proponent for the other side ;-) feel fre to answer my previous question re any downside to starting with clib2 and moving to newlib later.
Also everybody feel free to butt in with their opinion, I'll way up the pros/cons and let the programmers decide when we get that far ;-) (or I may jst make a descision ;-) )
Well, the newlib library is shared, which means that only a single memory-resident instance is required. All applications using it can call the resident instance without having to load the library themselves. Hence each application is MUCH smaller than it would be using clib.
The newlib library is being adopted as the standard library for OS4 applications. To this end, one can assume that in the future, newlib will already be memory-resident by the time any applications feel the urge to call it, reducing app size and hence load time.
The only caveat that I can think of is that one of the two (clib/newlib) is thread-safe, the other is not. That fact alone more or less forces our hand towards using one or the other. Damned if I can remember which is which.
cheers
Tony Wyatt wrote:
The only caveat that I can think of is that one of the two (clib/newlib) is thread-safe, the other is not. That fact alone more or less forces our hand towards using one or the other. Damned if I can remember which is which.
Uhm, if newlib is resident and shared, how can it not be thread-safe? If one of them is not thread-safe, I would hope it was the static, non-shared one...
Ole-Egil
... The only caveat that I can think of is that one of the two (clib/newlib) is thread-safe, the other is not. That fact alone more or less forces our hand towards using one or the other. Damned if I can remember which is which.
clib2 is threadsafe when using -mcrt=clib2-ts and IIRC newlib is also threadsafe... but I can check that one (or maybe someone else knows)
but another thing that I was just thinking of... IIRC does OOo need STLport (a C++ standard library)... and that is at the moment at least only working clib2... I don't know if libstdc++ from gcc is good enough for OOo
cheers
On 2006-04-20, Tony Wyatt wrote: <SNIP>
Well, the newlib library is shared, which means that only a single memory-resident instance is required. All applications using it can call the resident instance without having to load the library themselves. Hence each application is MUCH smaller than it would be using clib.
clib2 is _maximum_ 1MB which in contrast to the size of the OO.o suite is not very much. The OO.o _install package_ is already >100MB in size (size taken from the Solaris/SPARC install package) so using clib2 or newlib would probably make less than 1% difference in size.
The benefits of clib2 are easier porting and this in turn means that we already have a working port if we wish to switch to newlib later. (And half the work will already have been done making it easier)
The only caveat that I can think of is that one of the two (clib/newlib) is thread-safe, the other is not. That fact alone more or less forces our hand towards using one or the other. Damned if I can remember which is which.
Early versions of clib2 were not thread-safe. There is now both a thread-safe and a non-thread-safe version of clib2. Newlib has always been thread-safe (it has to be) .
-Peter aka. Archprogrammer
Reality is for people who cannot face ScienceFiction. Only lefthanded people are in their right minds.
On 2006-04-19, Henning Nielsen Lund wrote:
One important thing to be sure of, before we start with the different libraries... what c-library should we use?
The size difference would be miniscule and as an initial effort towards porting I have been looking at extending clib2 with useful functions. (and have contributed a few functions, e.g. the termios emulation)
I use to do the same when I find a function that I need ;-)
I vote that we concentrate on using clib2 to begin with.
Fine by me, as long as we don't use clib2 only functions (non standard functions).
-Peter aka. Archprogrammer
Reality is for people who cannot face ScienceFiction. Only lefthanded people are in their right minds.