Skip to content
This repository has been archived by the owner on Jan 16, 2025. It is now read-only.

New formula: GCC #374

Closed
tstevens opened this issue Jan 4, 2010 · 19 comments
Closed

New formula: GCC #374

tstevens opened this issue Jan 4, 2010 · 19 comments

Comments

@tstevens
Copy link
Contributor

tstevens commented Jan 4, 2010

New formula for GCC with C, C++, Fortran enabled.

http://github.com/tstevens/homebrew/commit/748804f34fcabc48ddb593915b7f3298400c01c0

Depends on these commits:
New Formula mpfr and fixes to gmp
http://github.com/tstevens/homebrew/commit/e4f0506443ab7a7144786a518ffeae99e6bf2494

New Formula libiconv
http://github.com/tstevens/homebrew/commit/d73aacd7e8c8c5e50a4fd0ba68932e1d803cec4c

@tstevens
Copy link
Contributor Author

tstevens commented Jan 9, 2010

Updated GCC formula based on comments from adamv and mxcl. Cleaned up gmp and mpfr to remove unneeded options. Gmp formula needs c++ build option cherry picked (link below)

updated formulas:
GCC: tstevens/homebrew@b0b1580

GMP: Only requires this change to built in formula. 0xffea/homebrew@20d6f1b5b870f89fd2d4cf1086c6754c495c8141

MPFR: tstevens/homebrew@0edd135

@adamv
Copy link
Contributor

adamv commented Apr 23, 2010

If I get a link to an updated commit, I can probably pull this into the "duplicates" branch.

@tstevens
Copy link
Contributor Author

Adamv, here is an updated commit for gcc 4.5.0. Includes updated gmp formula along with new dependency mpc. Verified build on 10.6.3

tstevens/homebrew@f437034

@mulderje
Copy link

mulderje commented May 4, 2010

All, sorry I did not realize that somebody was already working on this, but I created a formula for gcc myself. I think it also work for gfortran, if not now, in the near future. I just forked homebrew, and pushed my commit on up. Let me know if you would like anything changed, or if I can do anything else to help. The commit says it all, but it works just fine on my computer (built llvm/clang trunk to test). I think my formula takes it a little bit further that yours does tstevens, and I'm not really sure how it works on pushing it to you, but you are obviously welcome to whatever parts you like.

It allows for a little bit of option parsing to allow to append a "-4.5" suffix to the end of the executables, and also for selecting which language you want to install, however inelegant the solution may be (That was the first time I ever used ruby).

I was wondering if there is any way to restrict the version numbers for the dependencies to a minimum, and also how options are displayed to the users, if at all.

Any comments would be greatly appreciated.
Jon

mulderje/homebrew@04c9d417f954d04a270977c852bd1f00c44595ec

edit: I changed the link with an updated version that actually compiles... I added automake and autoconf as dependencies, but they aren't in homebrew yet, so it failed, also changed it from objc++ not obj-c++, so that would work as well

Also, let me know if you want me to make another issue, so I don't clutter this one.

@mulderje
Copy link

I updated the formula and added automake and autoconf dependencies.

mulderje/homebrew@05c45e78f4ed11aaaa4e

@adamv
Copy link
Contributor

adamv commented Jul 16, 2010

Will the host and target switches give problems for people on 32-bit macs (Core Duos)?

@mulderje
Copy link

No it will not. My machine is a core duo... The one thing that I didn't think about though is people using PPC still. Is there any way in homebrew to check the architecture?

Jon.

@adamv
Copy link
Contributor

adamv commented Jul 16, 2010

Homebrew doesn't support PPC users, so that should be OK.

@mulderje
Copy link

Oh, perfect... In that case, how do I go about getting this into mainline?

Jon.

@adamv
Copy link
Contributor

adamv commented Jul 17, 2010

Since GCC "comes with the system" (or at least with Xcode), it likely won't go into the master branch, but will end up in either the "duplicates" branch or possibly a new "gcc" branch.

Might have to tweak this so that automake/autoconf are "keg_only".

I'm giving it a compile now.

@mulderje
Copy link

Alright, I'll look into the keg only stuff. I had to tweak the autoconf formula to bump down the version to make it compile with the autoconf included with os x, so if you run into any issues you may need to look at a newer version of the formula that I pushed. I also had to put autoconf as a dependency to automake...

Jon.

@mulderje
Copy link

I just did a full compile of all of the dependencies, and as of mulderje/homebrew@3c841a5dc4555ed9778f everything down the line from autoconf, automake, gcc, etc work just fine a core duo 10.6.4 machine.

Just out of curiosity what is your reasoning for not wanting gcc-4.5 to not be in mainline? The way that it is compiled it leaves the suffix of "-4.5" to every executable, so it doesn't seem like it is doing any harm. Then if people want to make it their default then all they have to do is symlink the executables.

Jon.

@adamv
Copy link
Contributor

adamv commented Jul 18, 2010

I'm having problems with mpfr / libmc not having 32-bit symbols causing linker errors.

@mulderje
Copy link

Sorry, I thought that I didn't need this anymore, but I think there are conflicts with those having versions installed on os x by default. I put back in the static prefixes to those that are installed through homebrew and that should take care of it for you, but let me know if it doesn't.

mulderje/homebrew@0beb51b45a1009ce67a7

@eagleflo
Copy link
Contributor

Does this come with GCJ? It's damn hard to get on OS X even in binary form, and OS X doesn't ship with it. It's a niche thing but at least a tool called pdftk needs it (currently not on homebrew, probably due to not having GCJ).

@mulderje
Copy link

It has a flag "--enable-java" that would make it try to compile it, I just haven't tried it, so I honestly have no idea if it works. I made it default to the same as os x, so c, c++, objc, and obj-c++. Like there is the flag for enabling java, there is also flags like "--disable-c", "--disable-c++", etc... So feel free to give it a try. Keep in mind, in order to build it you also need the newer versions of automake and autoconf that I put in my repo.

Good luck,
Jon.

@adamv
Copy link
Contributor

adamv commented Oct 3, 2010

I've started a page to list custom GCCs (and cross-compilers): http://github.com/mxcl/homebrew/wiki/Custom-GCC-and-cross-compilers

Feel free to replace the link to this issue with a link to a branch or other information page about how to get and uses these formulae.

@andreabedini
Copy link
Contributor

I'm still having the same problem as adamv. gcc correctly picks mpfr and gmp from Cellar but they are compiled for x86_64 while gcc is building for i386 architecture. I'm now trying without the architecture specifications.

@andreabedini
Copy link
Contributor

after having removed host and target switches, it works for me now
andreabedini/homebrew@cd8d8d9

traymond pushed a commit to traymond/homebrew that referenced this issue Jul 22, 2014
@Homebrew Homebrew locked and limited conversation to collaborators Feb 16, 2016
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants