#16549: gcc43: patch to add Ada support --------------------------------------+------------------------------------- Reporter: martin.osx@krischik.com | Owner: mww@macports.org Type: enhancement | Status: new Priority: Normal | Milestone: Port Enhancements Component: ports | Version: 1.6.0 Resolution: | Keywords: Port: gcc43 | --------------------------------------+------------------------------------- Comment(by martin.osx@krischik.com): Replying to [comment:5 ryandesign@…]:
You should attach patches, not full Portfiles, so we can see what you changed.
Ok!
I don't like the +ada variant because it causes the entire port to be built using MacPorts' gcc 4.3 instead of with Apple's gcc 4.0. I don't like the +macada variant because it uses things that were not installed by MacPorts, which is against MacPorts policy. And it causes the entire port to be built using the external gcc 4.3 in /usr/local/ada-4.3. If a port needs a bootstrap program, the port should download and internally use that bootstrap program. It should not rely on other software to be installed externally, and it really should not rely on an earlier version of itself having been installed.
But this is how a [http://en.wikipedia.org/wiki/Self-hosting self hosted] system works. It uses an older version of a system to create the newer version. In the GCC tool chain the C and Ada compiler are self hosted. C++, Fortran and Java are not. And as such: for the C compiler you are already doing what you condemn: You use the externally provided Apple GCC 4.0 to create MacPorts GCC 4.3. If Apple would not have provided you with ready made GCC C compiler you could not create a new one. And it is the same for the Ada compiler: If MacPorts would not have provided and initial Ada compiler for Mac OS X we would not be able to create a new version either. To create the initial compiler of a self hosted system you need to create a [http://en.wikipedia.org/wiki/Cross_compiler cross compiler] on a system where the tool chain already exists. A no go for MacPorts. -- Ticket URL: <http://trac.macports.org/ticket/16549#comment:7> MacPorts <http://www.macports.org/> Ports system for Mac OS