[MacPorts] #16549: Ada support for GCC
#16549: Ada support for GCC -------------------------------------+-------------------------------------- Reporter: martin.osx@krischik.com | Owner: macports-tickets@lists.macosforge.org Type: enhancement | Status: new Priority: Normal | Milestone: Port Enhancements Component: ports | Version: 1.6.0 Keywords: | Port: lang/gcc43 -------------------------------------+-------------------------------------- The current lang/gcc ports are missing Ada support. Probably due to the fact that Ada is self hosted. Nothing wrong with beeing self hosted - I think every self resprecting programming language should have at least one self hosted implementation. But the tiny twist ist: you need an Ada compiler to compile Ada. But this is no problem on Mac OS X as [http://www.macada.org/ MacAda] provides a working Ada implementating. Once you got an Ada compiler you can always use it to create a new version of itself. The attached patch will use either the MacAda compiler (+macada) or and an allready created MacPorts GCC with Ada support (+ada) to create a fully working GCC with all it's languages enabled. I hope this patch is accepted. I also atteched a little command file which will create a dmg from the new compiler. -- Ticket URL: <http://trac.macports.org/ticket/16549> MacPorts <http://www.macports.org/> Ports system for Mac OS
#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 | --------------------------------------+------------------------------------- Changes (by macsforever2000@macports.org): * cc: martin.osx@krischik.com (removed) * owner: macports-tickets@lists.macosforge.org => mww@macports.org * port: lang/gcc43 => gcc43 Comment: Assigning to maintainer. Note: The ticket reporter is automatically Cc'ed! -- Ticket URL: <http://trac.macports.org/ticket/16549#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#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): I have created a binary release for [http://sourceforge.net/project/showfiles.php?group_id=12974&package_id=29148... download] to ease up testing the patch (so I hope). -- Ticket URL: <http://trac.macports.org/ticket/16549#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS
#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 | --------------------------------------+------------------------------------- Changes (by ryandesign@macports.org): * cc: ryandesign@macports.org (added) Comment: You should attach patches, not full Portfiles, so we can see what you changed. You should use ${prefix} instead of hardcoding /opt/local 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. -- Ticket URL: <http://trac.macports.org/ticket/16549#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS
#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
#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@…]:
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. And it causes the entire port to be built using the external gcc 4.3 in /usr/local/ada-4.3.
Forgot to mention: The compiler is never build with Apple's gcc 4.0. Apple's gcc 4.0 is only used in stage 1 after which the the build system starts to use the compiler freshly created in stage 1 to recreate itself yet again. Pretty standart behavior for a self hosted system. Martin -- Ticket URL: <http://trac.macports.org/ticket/16549#comment:8> MacPorts <http://www.macports.org/> Ports system for Mac OS
#16549: gcc43: patch to add Ada support -------------------------------------+-------------------------------------- Reporter: martin.osx@… | Owner: mww@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.6.0 Keywords: | Port: gcc43 -------------------------------------+-------------------------------------- Comment(by blb@…): Is this still needed, now that the [browser:trunk/dports/lang/gnat-gcc gnat-gcc] port exists? -- Ticket URL: <http://trac.macports.org/ticket/16549#comment:10> MacPorts <http://www.macports.org/> Ports system for Mac OS
#16549: gcc43: patch to add Ada support --------------------------------------+------------------------------------- Reporter: martin.osx@… | Owner: mww@… Type: enhancement | Status: closed Priority: Normal | Milestone: Component: ports | Version: 1.6.0 Resolution: wontfix | Keywords: Port: gcc43 | --------------------------------------+------------------------------------- Changes (by jmr@…): * status: new => closed * resolution: => wontfix Comment: This is probably really bitrotted by now. Reopen if it's still needed and you can supply a diff against the current portfile. -- Ticket URL: <https://trac.macports.org/ticket/16549#comment:11> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts