397 Commits

Author SHA1 Message Date
Camillo Lugaresi
4001c6f8f1 stop Xcode tools from overriding deps when CLT is not installed
Closes Homebrew/homebrew#30641.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2014-07-03 16:25:59 -05:00
Jack Nagel
32d84377d5 Move constants so we don't have to load all of ENV to get them 2014-07-02 21:58:43 -05:00
Jack Nagel
20d544085a Use a more descriptive variable name 2014-06-22 18:43:14 -05:00
Jack Nagel
0fda322e0e Use Pathname#split 2014-06-22 18:38:30 -05:00
Shaun Jackman
42c20b0979 Move the compiler-selecting methods to ENV/shared
Closes Homebrew/homebrew#30210.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2014-06-22 18:30:15 -05:00
Jack Nagel
4d9d01893e Move deprecated Formula class methods to compat
These have all been moved to Formulary.
2014-06-22 15:03:17 -05:00
Jack Nagel
191e588212 Stop caching Superenv.bin
It is not a hotspot and causes an ordering dependency in the tests.
2014-06-10 17:50:33 -05:00
Jack Nagel
6e616b29c5 Use a || b 2014-06-03 09:43:27 -05:00
Shaun Jackman
bd682d5519 Treat HOMEBREW_CC the same as --cc
Closes Homebrew/homebrew#29762.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2014-06-03 09:43:27 -05:00
Shaun Jackman
6e56009217 HOMEBREW_CC: Remove COMPILER_ALIASES
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2014-06-03 09:43:21 -05:00
Jack Nagel
c90247aa44 Place X11 ahead of OpenGL when X11 is active
Fixes Homebrew/homebrew#29651.
2014-05-28 09:23:36 -05:00
Jack Nagel
6eb220d78f Share code for sanitizing ENV between both build environments 2014-05-26 14:10:24 -05:00
Jack Nagel
d69be7f619 Add ENV.m64 to superenv 2014-05-22 09:18:34 -05:00
Jack Nagel
d61615890f Fix ENV.m32 under superenv 2014-05-22 09:18:34 -05:00
Jack Nagel
b894d6e246 Set sysroot for non-clang compilers on 10.9
Although the correct sysroot is built into Apple's tools on 10.9, we
need to continue setting it for custom compilers.
2014-05-19 14:41:03 -05:00
Jack Nagel
613292e3ce Reorganize superenv include and library path setup
I found the dual use of CMAKE_*_PATH variables to make it difficult to
reason about this code. Now a separate set of variables are used to
communicate with the cc wrapper, and less work is performed in the
wrapper itself.

We no longer pass the SDK include path as a -isystem directory on
Xcode-only setups. Doing so is redundant with `--sysroot` and has other
side effects, namely changing the include path search order, which can
break compilation of some software (e.g. qemu).

On Xcode-only 10.9, we can additionally omit `--sysroot`, as the correct
paths are built into the tools.

A new variable, HOMEBREW_SYSROOT, is used to this information to the
wrapper. It will be unset on Xcode-only 10.9. HOMEBREW_SDKROOT will
continue to be set, as it is used for other things besides setting the
include search path.
2014-05-19 14:41:02 -05:00
Jack Nagel
f6fda5651b Remove deprecated --use-{gcc,llvm,clang}
Closes Homebrew/homebrew#29380.
2014-05-19 10:37:45 -05:00
Jack Nagel
16c073a153 Remove hardcoded reference to ENV 2014-05-18 14:41:49 -05:00
Jack Nagel
930cf4c768 Add accessor for HOMEBREW_CC 2014-05-18 14:34:31 -05:00
Jack Nagel
ff9bbe941b ENV.cc= and ENV.cxx= are private 2014-05-18 14:34:31 -05:00
Jack Nagel
9e8d419070 Use a case statement 2014-05-18 14:23:45 -05:00
Jack Nagel
858da0063d Allow disabling arch flag filtering
Closes Homebrew/homebrew#17352.
2014-05-14 00:00:59 -05:00
Jack Nagel
230161c1de Use a case statement 2014-05-13 16:23:12 -05:00
Jack Nagel
cb873d0833 Check value of compiler rather than HOMEBREW_CC 2014-05-13 16:22:57 -05:00
Jack Nagel
2716ed6d26 Make cc=/cxx= set HOMEBREW_CC in superenv 2014-05-13 16:20:30 -05:00
Jack Nagel
c03483b6a8 Remove legacy ENV accessor hack 2014-05-13 12:50:30 -05:00
Jack Nagel
278d9dfdb4 self, not ENV 2014-05-13 12:48:27 -05:00
Jack Nagel
deb65a959d Use a case statement 2014-05-13 12:14:51 -05:00
Jack Nagel
002cb64774 Make sure the path arrays only contain strings 2014-05-13 12:14:51 -05:00
Jack Nagel
9fc5a543d5 No need to augment path on Xcode-only 10.9 2014-05-13 11:28:44 -05:00
Jack Nagel
43d9640cb6 Move method to prepare for future changes 2014-05-13 11:28:44 -05:00
Jack Nagel
ff25f7ecf7 Future-proof this conditional 2014-05-13 11:26:21 -05:00
Jack Nagel
ff9191eca2 clean up X11 conditionals 2014-05-12 11:45:50 -05:00
Jack Nagel
5f94742afb Ensure HOMEBREW_ARCHFLAGS is always a string 2014-05-10 16:54:30 -05:00
Jack Nagel
089af6627a Always use stub tools in /usr/bin on 10.9 2014-05-08 17:24:48 -05:00
Mike McQuaid
8c426e8207 ENV/shared: fix gcc versions edge case. 2014-05-06 22:17:59 +01:00
Mike McQuaid
2fb6d2fdbe ENV/std: use full paths to gcc versions.
This is consistent with how e.g. `gcc-4.2` is handled.

This means e.g. `ghc` can find `gcc-4.8` at runtime.

Fixes Homebrew/homebrew#28934.
2014-05-06 16:45:50 +01:00
Mike McQuaid
c92a16e2ce shared: refactor gcc_version_formula.
Avoid throwing unnecessary exceptions by checking for paths existing and
creating formulae as late as possible. Additionally use instance
variables for some caching.
2014-05-06 16:45:50 +01:00
Mike McQuaid
1b0647d747 shared: don't use Formula.factory unnecessarily.
Instead check if the path exists by using opt.
2014-05-06 16:45:50 +01:00
Jack Nagel
4b335eb2df Xcode-only path adjustments should be the same in both environments 2014-05-01 18:36:46 -05:00
Jack Nagel
71055aa073 Move xctoolchain_path to Xcode module, where it belongs 2014-05-01 18:36:46 -05:00
Misty De Meo
48cd833a15 Superenv: determine_optflags should return a string
This is saved in HOMEBREW_OPTFLAGS and later mutated by
ENV.universal_binary, so if this returns nil the sub will fail.
2014-04-30 08:21:54 -07:00
Mike McQuaid
116c2b06a8 ENV/shared: handle untapped e.g. gcc48 formula.
In this case we need to handle the throwing on an exception when
attempting to initialize the gcc48 Formula object.

This initialization should be unnecessary if the core GCC is already
installed and rescued if not.
2014-04-30 12:38:22 +01:00
Jack Nagel
259bbdf76c Drop obsolete compiler fallback in stdenv
This code originated in a slightly different form in 8e88b22fd1ec65a344ce6e4facd6dad4b415b2ad:

8e88b22fd1/Library/Homebrew/extend/ENV.rb (L30-L32)

Back then, MacOS.default_compiler could return nil, which meant
ENV.compiler could do the same. This code was carried forward as the
surrounding code changed. At this point it should be unreachable.
2014-04-29 21:11:03 -05:00
Mike McQuaid
2c3b04fb26 ENV/shared: use homebrew/versions GCC if installed
Closes Homebrew/homebrew#28820.
2014-04-29 08:51:56 +01:00
Jack Nagel
b6a0b95380 Use MacOS.locate and delete wrong comment 2014-04-29 01:31:22 -05:00
Jack Nagel
0de7f98b58 Remove comment that no longer reflects adjacent code 2014-04-29 01:31:22 -05:00
Jack Nagel
bfde04ee17 We don't use -Qunused-arguments anymore 2014-04-29 00:11:54 -05:00
Jack Nagel
90c03ffc17 ENV.{cc,cxx} setters already set OBJC and OBJCXX 2014-04-29 00:09:07 -05:00
Jack Nagel
6a2fa253cd Make ENV.O4 a no-op
On older Apple compilers "-O4" is known to cause build errors. On recent
clang, it's the same as "-O3" and you have to pass "-O3 -flto" to get
the old behavior.
2014-04-29 00:09:07 -05:00