147 Commits

Author SHA1 Message Date
Mike McQuaid
cfd4c3a181 superenv/cc: don't filter out gdwarf-2.
It's needed by `cgo` which is used by a lot of Go software.
2015-12-29 14:58:56 +00:00
Mike McQuaid
52ee5aa836 Revert "cc: disable RUBYOPT variable."
This reverts commit 03268031f1b371fc573c736a03f87f3a15284a0c.
2015-11-11 14:45:23 +00:00
Mike McQuaid
a814f119c0 cc: disable RUBYOPT variable.
If this was set at build-time (i.e. by the Ruby 1.8.7 buildsystem) then
`cc` could be passed arguments and fail to run.

Closes Homebrew/homebrew#45890.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-11-11 14:35:34 +00:00
Alex Wang
d877fc0b3e superenv: only strip sysroot flags for OS X SDKs.
Removing all sysroot flags is ok until a non-OS X SDK is needed. In
that case, builds can fail due to the non-OS X SDK being overwritten or
overridden by the OS X SDK.

Sysroot flags are now only stripped if they are an OS X SDK. This is
reliant on only OS X SDKs containing the string "macosx", so this will
break if if the wrong SDK shows up. However, the chances of that
happening seem low, as Apple probably doesn't want to introduce
something OS X that doesn't work with OS X, so it should be robust for
the near future.

This could break in an environment without the command line tools. The
fix for that is a bit more involved, though, so that will have to go
later.

Closes Homebrew/homebrew#44312.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-10-13 13:09:05 +01:00
Xu Cheng
b121e5fd7b more core file style updated by rubocop 2015-08-06 17:23:56 +08:00
BrewTestBot
13d544e11e Core files style updates.
Closes Homebrew/homebrew#42354.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-08-03 13:22:35 +01:00
Ryan Hendrickson
a744da3b4c superenv cc: accept single-digit g++ version
Closes Homebrew/homebrew#40117.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2015-05-26 20:13:25 -04:00
Jack Nagel
7004d3de0d Extract logging from the command class 2015-02-12 20:20:10 -05:00
Jack Nagel
384c444be8 Drop unnecessary call to compact 2015-02-12 20:09:31 -05:00
Jack Nagel
28b926686b Get the basename and dirname once 2015-02-12 19:13:03 -05:00
Jack Nagel
4b91017894 Make compiler shim robust against missing environment variables
Fixes Homebrew/homebrew#36217.
2015-02-08 20:04:07 -05:00
Jack Nagel
d4e24dce0a Get rid of cccfg? method 2015-02-08 20:04:06 -05:00
Jack Nagel
fd031f256a Add predicate methods for compiler shim configuration 2015-02-08 20:04:06 -05:00
Jack Nagel
357d0f2796 Use start_with? to simplify path sanity check 2015-02-07 13:54:33 -05:00
Jack Nagel
f438af9915 Don't prune cellar paths when cellar is in /opt
Fixes Homebrew/homebrew#35382.
2015-02-07 13:54:33 -05:00
Misty De Meo
53d848e364 cc: filter out -Wno-unused-but-set-variable
Fixes Homebrew/homebrew#35750.
2015-01-14 10:18:00 -08:00
Jack Nagel
ba8926ea11 Don't rely on PATH when invoking xcrun shim 2015-01-07 23:12:24 -05:00
Jack Nagel
cb09660516 Always set sysroot for Xcode-only systems
Fixes Homebrew/homebrew#33431.
2014-10-29 11:03:54 -05:00
Jack Nagel
b5aed44825 Do not close inherited file descriptors in compiler wrapper 2014-08-17 17:35:56 -05:00
Misty De Meo
cb7b9945cd superenv: filter -Wno-long-double
This flag was supported in gcc-4.0, but not later GCCs or clang.
It pops up in older python-configs, and may also come up in other
contexts.

Fixes mistydemeo/tigerbrew#213.
2014-08-15 20:56:06 -07:00
Brandon Bennett
ed5eef82a8 cc: blacklist -fno-inline-functions-called-once.
Closes Homebrew/homebrew#31384.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2014-08-06 10:23:39 +01:00
Dan
8bc5d71315 clang doesn't support -fuse-linker-plugin
Closes Homebrew/homebrew#30930.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2014-07-18 16:11:20 -05:00
Jack Nagel
4a5462cfa8 Switch to "Current" Ruby framework symlink
Closes Homebrew/homebrew#29795.
Closes Homebrew/homebrew#29819.
2014-06-03 11:03:53 -05:00
Jack Nagel
d61615890f Fix ENV.m32 under superenv 2014-05-22 09:18:34 -05:00
Sergei Silnov
a64f2e737c Refurbish two more flags not supported by clang
'-fno-tree-pre' and '-fno-tree-dominator-opts'

Closes Homebrew/homebrew#29452.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2014-05-21 11:38:40 -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
858da0063d Allow disabling arch flag filtering
Closes Homebrew/homebrew#17352.
2014-05-14 00:00:59 -05:00
Jack Nagel
71c0132a1b Scrub out --sysroot 2014-05-12 22:41:53 -05:00
Jack Nagel
d943d7d5fe There isn't a /usr/local in the SDK 2014-05-12 12:37:25 -05:00
Misty De Meo
38765ae9fd superenv: remove duplicate -multiply_definedsuppress filter
This reverts commit 61d8a8e029079ca1922df735683c2b5eb6a39db1.
2014-05-12 09:04:36 -07:00
Misty De Meo
7609cf88c5 clang: add another unknown flag
Fixes Homebrew/homebrew#29141.
2014-05-11 13:11:25 -07:00
Jack Nagel
cbd018a2db Fix duplicate -stdlib flags in cxxld mode
When the cc wrapper is in cxxld mode, -stdlib= is added by both cxxflags
and ldflags, but they are never used separately, so this results in
duplicate flags.
2014-05-10 17:14:30 -05:00
Jack Nagel
df3e6bade5 Move -m32 and -m64 filtering up one level
These flags cannot be used behind -Xarch_<arch>, so stop filtering them
there.
2014-05-10 16:54:30 -05:00
Jack Nagel
5f94742afb Ensure HOMEBREW_ARCHFLAGS is always a string 2014-05-10 16:54:30 -05:00
Jack Nagel
fa3a58f399 Clang doesn't support -fno-for-scope 2014-05-08 22:24:01 -05:00
Adam Vandenberg
f0f1cf2024 clang does not support -fno-regmove 2014-05-08 09:29:32 -07:00
Jack Nagel
5c37baa5e7 Remove nested conditional 2014-05-06 19:31:47 -05:00
Jack Nagel
0418865d56 Preserve -Xarch_<arch> context when filtering args 2014-05-06 18:55:04 -05:00
Jack Nagel
fb296f8224 Extract body of refurbished_args loop 2014-05-06 18:55:04 -05:00
Jack Nagel
fb27cbe6a7 Blacklist more flags that clang does not support
Fixes Homebrew/homebrew#28680.
2014-04-24 13:20:24 -05:00
Jack Nagel
c832bd1591 Fix typo 2014-04-21 10:52:46 -05:00
Jack Nagel
0682c1ad02 Add some comments to the cc wrapper 2014-04-21 10:40:26 -05:00
Jack Nagel
9d15aefd2e Only interpolate constant regexps once 2014-04-21 10:35:05 -05:00
Jack Nagel
23400ec217 Remove code that doesn't do anything 2014-04-21 00:17:34 -05:00
Jack Nagel
85109c95d8 Add newlines between methods 2014-04-21 00:17:34 -05:00
Jack Nagel
815e7f29fc Write the positive case first 2014-04-21 00:17:34 -05:00
Jack Nagel
de9ce56414 Make obvious that what we care about is the presence of sdkroot 2014-04-21 00:17:33 -05:00
Jack Nagel
8b086fe575 Make obvious that this is a nested conditional 2014-04-21 00:17:33 -05:00
Jack Nagel
ed8851dfa1 Filter list before mapping it 2014-04-21 00:17:33 -05:00
Jack Nagel
cb58bd779b Remove last monkeypatch 2014-04-20 22:39:47 -05:00