Any OS X developers out there working with OpenMoko?

Dr. H. Nikolaus Schaller hns at
Sat Feb 2 11:04:40 CET 2008

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

More information about the community mailing list