Hi all,

I have put some more work into getting cctools to compile on OS X (the 
Mac port needs this, in order to be able to run the generated code). We 
can't use the official binaries for licensing reasons (and also, for 
portability reasons, see below).

There are numerous known problems getting cctools to build (because 
Apple has apparently made it depend on a lot of things which are not in 
a standard system, which means many other packages have to be built from 
source, and they in turn require more packages), but these problems can 
probably be worked around eventually.

However, a slightly bigger problem is that cctools can only be built as 
a static binary (so includes the C library statically linked). Apple 
binaries normally use dynamic linking so they can make changes to the 
kernel interface between versions of OS X, and statically linked 
binaries are unlikely to work except on the exact version of OS X they 
were built on. Because of this issue, on standard systems, you can't 
even make statically linked binaries (you have to compile the C library 
yourself to do this). However, Apple doesn't usually care about this for 
cctools, because it is shipped with every version of OS X anyway.

This creates a problem if we are to ship a compiler with PCEnv, because 
we would need to make a separate binary for every single version of Mac 
OSX we are targeting (or invest effort in fixing up cctools so it can be 
dynamically linked). However, we can get around this issue if we require 
that the user has a compiler already installed on their system (it comes 
on the Mac OS X CD, but it is an optional component).

I would be interested in hearing from anyone who might use PCEnv on a Mac:
* Do you already have gcc installed on your OS X box?
* Would it be a big hassle to install it? Would it stop you using PCEnv 
if you had to install gcc first?

Best regards,

cellml-discussion mailing list

Reply via email to