Am 02.02.2008 um 01:50 schrieb Christopher Earl:

Porting all the Linux stuff to OSX should be pretty easy afterall , OSX is just a Unix clone too

For larger project (not relying on the least common denominator) it is not as easy as you might think.

There are important differences between OSX and Linux:
* endianness (on older Macs)
* availability of some system calls
* availability of some system tools
* same features, options, syntax for system tools
* availability of some libraries
* same features, options, syntax for libraries

Even worse if you want seamless GUI integration. Look e.g. at OpenOffice/NeoOffice and the outcome. It works but is "ugly" on a Mac.

The fink and MacPorts projects have done a lot of work to adapt and provide build-recipies for many tools and libraries. But sometimes this is incomplete or even outdated because it needs a lot more effort to make packages OSX compatible instead of adapting to different Linux flavours (which sometimes differ only in search paths). Even automaked projects sometimes have issues.

A prominent example which is very important for the question in the subject: nobody did succeed to completely install and
run OpenEmbedded on OSX so far. The reasons are like described above

* some tools are not directly available for OSX
* or have a different option syntax
* there are inherent assumptions of shell syntax features that Linux has recently added but where OSX uses an older BSD shell * some packages compile and run test code which assumes a full set of Linux header files * some build phases assume that Linux specific system tools (e.g. creating & mounting file systems) are available
* ...

So you have to choose between porting some hundred dependencies first or installing Linux in a VM...

Even more challenging is the other way round: porting OSX (i.e. Darwin) to the Neo. Why would one consider that? IMHO the most interesting part is IOKit and its power management concepts. This could simplify device driver development and porting to new devices. It is quite similar to the Linux kernel modules concept but more
powerful (you can write multithreaded drivers in C++).

Porting to ARM devices is possible since Darwin is open source. And the iPhone also runs on an ARM processor. But I think such a project requires a lot of heroes looking for ultimate challenges. And don't heroes only exist in fairy tales?

-- hns

_______________________________________________
OpenMoko community mailing list
[email protected]
http://lists.openmoko.org/mailman/listinfo/community

Reply via email to