Magic Lantern Forum

Developing Magic Lantern => General Development => Topic started by: nikfreak on July 26, 2014, 10:19:11 PM

Title: [Q] Diet libc ???
Post by: nikfreak on July 26, 2014, 10:19:11 PM
Hi,

just wanted to ask why ML switched to diet libc in early 2013? Was it to be able to shrink file sizes as much as possible and being able to use TCC, too??
Another question: Last weeks I have heard lots about  "musl libc" as it seems to become more and more used in community / opensource projects (e.g. openWRT). Please have a look at the following comparison http://www.etalabs.net/compare_libcs.html (http://www.etalabs.net/compare_libcs.html)

Could this or parts of it (cherry picking code) be useful for us? What do you think?
Title: Re: [Q] Diet libc ???
Post by: a1ex on July 26, 2014, 10:26:47 PM
Yes. The main reason for using dietlibc was because I was able to extract some components without running into dependency hell (and without including the entire library, but just the stuff we needed).

For some things that were too slow in dietlibc (like memcpy), I took the newlib routines.

Back then, I was trying to squeeze PicoC inside. Then I took it out to make space for TCC and the module system, which was much more popular than the scripting engine.

Of course, it's not a closed topic. I did not try other libraries, and I have no other experience with them.

There's still a bunch of stuff that can be moved to modules, so the size constraints are no longer a big problem.
Title: Re: [Q] Diet libc ???
Post by: nikfreak on September 22, 2014, 08:52:11 PM
so we are using 0.9.26 TCC.
Do you see some usefulness of implementing the "mob" branch / tree of TCC into ML? Looks like some devs are still working on TCC code:

http://repo.or.cz/w/tinycc.git (http://repo.or.cz/w/tinycc.git)
Title: Re: [Q] Diet libc ???
Post by: a1ex on September 23, 2014, 02:57:32 PM
I think it's more important to get the existing one fully working first, and have a somewhat usable API.