Any OS X developers out there working with OpenMoko?
Dr. H. Nikolaus Schaller
hns at computer.org
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?
More information about the community