Python for small systems (ucLinux)
Jeffery D. Collins
jcollins at boulder.net
Thu Feb 13 11:11:37 EST 2003
David Brown wrote:
>"Jeffery D. Collins" <jcollins at boulder.net> wrote in message
>news:mailman.1045094152.16037.python-list at python.org...
>
>
>>I don't think it would be too difficult to use Pippy as a starting
>>point. The
>>footprint reduction logic involves the heavy use of macros -- all
>>settable in
>>config.h. It might be easier to just check out the same version from the
>>python repository, diff the src/{Python, Object, ...} directories and
>>
>>
>merge
>
>
>>the non-palm stuff. I'll have to look more carefully at the code to
>>get a better
>>idea. If you decide to use Pippy, contact me offline with questions.
>>
>>BTW, have you tried to build python without (most of) the extension
>>modules and
>>then use freeze to select only the necessary modules? IIRC, you can
>>even turn
>>off unicode support - there is a macro for this - as well as complex
>>
>>
>number
>
>
>>support. You might want to try this first; it may be good enough.
>>
>>
>>
>
>I have not yet tried anything with it - I'm expecting the ucLinux board
>soon, and then I can try out things. At the moment, I am just trying to see
>if this is something people have done before. But your post gives me a good
>indication of how I can get started, comparing Pippy to the main python
>source to see what changes I would want to keep, and what I would want to
>leave out - especially in config.h.
>
>As another poster asked, is it possible to cut out the compiler? I would
>imagine this would make a big difference to the size of the system -
>assuming that I can make the .pyc files on another host (am I right in
>thinking that .pyc files are not compatible between major python versions,
>but they are between minor versions? And would endian changes be an issue
>for the byte code - my host (PC) is little-endian, but the target is
>big-endian?)
>
>
It is possible. This is done in Pippy and significant footprint and
heap space was saved.
I haven't looked at doing this in recent versions, however. This
requires that the .pyc files
be compiled on another host (they are stored in a platform-independent
format). For sake of
consistency, I always compiled python sources with the same python
major/minor version
on the desktop.
--
Jeffery Collins (http://www.boulder.net/~jcollins)
More information about the Python-list
mailing list