Kuro, MediaMVP, TiVo, TeraStation -- and us?

Gregor Richards Richards at codu.org
Fri Nov 3 16:01:13 PST 2006


Gregor Richards wrote:
> Georg Wrede wrote:
> 
>>
>>
>> Gregor Richards wrote:
>>
>>> Georg Wrede wrote:
>>>
>>>> While on the IBM Developer Works site, I stumbled on an interesting 
>>>> article about the new breed of computing devices (IMHO, soon to 
>>>> flood the world, in numbers exceeding both PCs and cellphones).
>>>>
>>>> http://www-128.ibm.com/developerworks/linux/library/l-lobmediamvp.html
>>>>
>>>> Basically, these are VCR cassette size units containing a 
>>>> single-board computer with Linux. They seem to be (again, IMHO) 
>>>> becoming the new platform-of-choice for garage firms developing 
>>>> totally new applications for the digital world. (Gee, sounds like 
>>>> I'm selling them!)
>>>>
>>>> Many new firms use these as-is in home heating automation, various 
>>>> set-top appliances, for automotive control, security systems, 
>>>> robotics, toys, point-of-sale terminals, self service trade show 
>>>> stands, firewalls, handheld bookkeeping or measuring devices, 
>>>> computers for pre-schoolers, etc.
>>>>
>>>> As for myself, for the better part of this year I've been looking 
>>>> for something smaller than a real PC, because I need to deploy 
>>>> several computers throughout the factory floor, and for this PCs get 
>>>> clunky and waste a lot of room, money, and maintenance resources. 
>>>> Some of the choices I've eyed at are:
>>>>
>>>> http://www.armkits.com/Product/sbc2410III.asp
>>>> http://www.armkits.com/Product/STDV710A.asp
>>>> http://www.harerod.de/centipad/html/centipad.html (in German)
>>>>
>>>> Now, what has held me back so far is, I definitely want to continue 
>>>> all my development in D! <putting hand behind ear, waiting for 
>>>> intense applause and roar from the audience/>
>>>>
>>>> With the GCC toolchain that comes default with most of these, one 
>>>> would assume that GDC is a viable alternative.
>>>>
>>>> Opinions?
>>>
>>>
>>>
>>>
>>> GDC is certainly a viable alternative. With ARM, you're already set. 
>>> configure-make-install and you're done. Cross-compilation is easy.
>>
>>
>>
>> Excellent!
>>
>>> Seems like a non-problem to me.
>>
>>
>>
>> What sort of executable sizes can I expect from GDC for ARM? (Last 
>> time I tried, DMD Hello World was monstrous compared to C on Windows 
>> and Linux.) With limited space this may become an issue when one has 
>> to have a bunch of subtask-specific executables. (Which one would have 
>> when doing stuff "in the spirit of Unix". I wouldn't want to resort to 
>> Busy-Box like binary crunching methods with virtually separate 
>> executables.)
>>
> 
> Huge, unless you employ one very simple trick: Make libgphobos a shared 
> object file.
> 
> It won't do it for you, unfortunately, but you can do it manually:
> 
> 1) Install gdc
> 2) Go into gdc's source directory, in the phobos directory, and make 
> distclean
> 3) CFLAGS=-fPIC DFLAGS=-fPIC ./configure --prefix=<prefix> && make all 
> install
> 4) cd <prefix>/lib
> 5) ld -shared -soname=libgphobos.so.0 --whole-archive libgphobos.a 
> --no-whole-archive -o libgphobos.so.0.0.0
> 6) for i in libgphobos.so.0.0 libgphobos.so.0 libgphobos.so ; do ln -s 
> libgphobos.so.0.0.0 $i ; done
> 7) There is no step 7
> 
> (This is from memory, no guarantee that it's exactly right)
> 
> Now, when you link GDC, you'll actually link against the shared 
> libgphobos instead of the static one. The vast majority of the size in 
> output binaries is Phobos, so without that weight, they suddenly become 
> quite small.
> 
> Of course, libgphobos.so.0.0.0 itself is fairly hefty, but there's only 
> one of it, and it's not too bad if stripped :)
> 
>  - Gregor Richards
> 
> PS: BIG FAT NOTE: This can't be done with DMD. DMD's output cannot be 
> used to make shared object files. Since DMD can't be used on ARM it's 
> irrelevent to this discussion, but if anybody's peeking in ... go 
> download GDC to get .so support ;)

Tpyo: s/Now, when you link GDC/Now, when you link with GDC/

  - Gregor Richards



More information about the Digitalmars-d mailing list