4075 Commits

Author SHA1 Message Date
Adam Vandenberg
9dc8ddf054 Workaround for debrew
See Homebrew/homebrew#21720.
2013-08-31 11:15:19 -07:00
Jack Nagel
41ac74524d Don't duplicate -E argument in ccE mode 2013-08-31 11:14:38 -05:00
Jack Nagel
803a408b1d Differentiate between "cpp" and "cc-E" modes 2013-08-31 10:43:24 -05:00
Jack Nagel
773ed20476 Reorder cc wrapper modes by frequency 2013-08-31 10:38:34 -05:00
Jack Nagel
6b79a4e714 ENV: only set fortran flags in one place 2013-08-30 19:07:10 -05:00
Jack Nagel
8828187b4c ENV: use fc accessor 2013-08-30 19:00:19 -05:00
Jack Nagel
405ba3df68 Fix conditional in ENV.fortran 2013-08-30 18:59:58 -05:00
Jack Nagel
2cb8c443e4 ENV: use cflags setter 2013-08-30 18:42:12 -05:00
Jack Nagel
cc37943267 ENV: use cc accessor 2013-08-30 18:42:12 -05:00
Jack Nagel
aa79e21ba4 ENV: add cc and cxx setters 2013-08-30 18:42:12 -05:00
Jack Nagel
4bee5db66d Simplify handling custom FCFLAGS 2013-08-30 16:42:04 -05:00
Jack Nagel
43bd5d44c2 Remove PATH hack from ENV.fortran 2013-08-30 16:30:34 -05:00
kaizoku
dbce25783c Show list of dependencies prior to installing them
Closes Homebrew/homebrew#22205.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-08-30 14:14:47 -07:00
Dan Hughes
51d1a8e3c5 Use system path for more tools, for Linux compat.
Closes Homebrew/homebrew#22196.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-08-30 13:02:19 -07:00
Jack Nagel
6e4ad9eb22 Fix wrong assumption in MacOS::Xcode.without_clt?
Fixes Homebrew/homebrew#22221.
2013-08-30 14:49:10 -05:00
Misty De Meo
f142cca6e2 Document --cc= in the manpage 2013-08-30 07:52:13 -07:00
Misty De Meo
7e1af4b7d5 Unify compiler selection logic
This unifies the logic for selecting a compiler between superenv and
stdenv. A variation of superenv's `determine_cc`, which now returns a
symbol, has been moved into the shared ENV extension. Stdenv uses the
result of this directly (as it's always used symbols), while superenv
translates that back into a compiler string.

This also has the effect of disabling HOMEBREW_USE_(gcc|llvm|clang) in
stdenv, which have already been marked as deprecated for some time, and
enables the HOMEBREW_CC= environment variable syntax from superenv in
stdenv.
2013-08-30 07:52:13 -07:00
Misty De Meo
221bb2419f Add --cc= syntax for selecting compilers 2013-08-30 07:52:12 -07:00
Shaun Jackman
774cd8b68b universal_archs returns ArchitectureListExtension
Closes Homebrew/homebrew#22210.

Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
2013-08-29 20:47:18 -07:00
Jack Nagel
fb50be432a Remove default values from ENV.{cc,cxx}
Closes Homebrew/homebrew#22138.
2013-08-29 19:22:36 -05:00
Jack Nagel
d61d054eac superenv: fix no-op system path filtering 2013-08-29 19:08:22 -05:00
Jack Nagel
b3f0b9f7b9 Allow conflicts_with to accept multiple formula names
Closes Homebrew/homebrew#22202.
2013-08-29 19:08:15 -05:00
Misty De Meo
1900b70bd6 Check for valid --bottle-arch= when building 2013-08-28 20:21:06 -07:00
Misty De Meo
c58d707158 Allow building bottles with custom architectures
This allows overriding the "oldest CPU" behaviour - for instance, to
build Intel bottles for a newer CPU than Core 2, to build a PPC bottle
with or without Altivec on the same computer, etc.
2013-08-28 20:21:06 -07:00
Misty De Meo
8a99ea2094 superenv: also filter out -mcpu=
On PPC, -mcpu is the preferred equivalent to -march.
2013-08-28 20:01:58 -07:00
Jack Nagel
e5cd33c7a9 cleaner: don't change permissions on paths marked skip_clean 2013-08-28 12:00:06 -05:00
Samuel John
e38dd0b764 Don't consider files in the Cellar as Racks
Otherwiese a `Cellar/.DS_Store` may lead to an error about
`.ds_store.rb` not found during `brew upgrade`.
2013-08-28 09:35:11 +02:00
Misty De Meo
a39ba39688 Revert "superenv: fix cpp shim"
This reverts commit dca89db55189a34f1c02d3f12a84eda8d81fd6d1.
2013-08-27 18:31:57 -07:00
Misty De Meo
55654933f5 superenv: fix cpp shim
This sets cpp to use the compiler as cpp, and works with scripts which
pass values to cpp on stdin as well as with file arguments.

Closes Homebrew/homebrew#22155.
2013-08-27 18:24:08 -07:00
Samuel John
ed461359a7 PythonInstalled: set PYTHONPATH, not prepend
An issue could arise when brewing a formula that
has Python 2.x and 3.x support and 2.x is the system Python
but 3.x is a brewed one. The idea about prepending was that
user configured PYTHONPATH could be used in formulae.
Now, instead and if needed, inside the `python do` block
one can still append to PYTHONPATH.
2013-08-27 16:34:31 +02:00
Samuel John
2e2e46b5b4 PythonInstalled, name includes modules
If `depends_on :python => ['modulename', :optional]` then the generated
option is now `--with-python-modulename`, so that it is possible to
actually make depending on python modules optional.
Further, `brew options` becomes more meaningful.
2013-08-27 09:48:12 +02:00
Jack Nagel
77056dc5cd Simplify condition 2013-08-26 22:11:29 -05:00
Jack Nagel
23c2ec56f8 Prefer interpolation to concatenation 2013-08-26 21:58:18 -05:00
Jack Nagel
9e8638ea35 Only perform coercion to string once in ENV.{append,prepend} 2013-08-26 15:03:37 -05:00
Jack Nagel
870e47e68c Add some tests for ENV.{append,prepend} behavior 2013-08-26 15:02:51 -05:00
Misty De Meo
f0bf64e1e9 superenv: support PPC bottles
Allows for building bottles on PPC both with and without Altivec.
This is currently not active but will be enabled once superenv is
stable on Leopard.
2013-08-25 14:51:48 -07:00
Adam Vandenberg
3703d60e57 Fix const reference in mach
Fixes Homebrew/homebrew#22090.
2013-08-24 16:42:29 -07:00
Samuel John
c4d8917f3f PythonInstalled: Unset PYTHONPATH for satisfied?
When a formula `depends_on :python` *and* `depends_on :python3`
the `modify_build_environment` method sets the PYTHONPATH
and the Python 3.x requirement then fails because it finds
the sitecustomize.py from Python 2.x in the PYTHONPATH.
2013-08-23 20:26:47 +02:00
Jack Nagel
84369dd949 Always pass -headerpad_max_install_names to the linker
We use install_name_tool pretty liberally, so we need to take steps to
ensure libraries and executables are always linked with this flag.

Closes Homebrew/homebrew#20233.
Fixes Homebrew/homebrew#17984.
Fixes Homebrew/homebrew#22078.
2013-08-23 11:36:03 -05:00
Greg Sieranski
ebae9ca7bb zsh completion for brew reinstall
Closes Homebrew/homebrew#22061.

Signed-off-by: Samuel John <github@SamuelJohn.de>
2013-08-23 16:40:30 +02:00
Misty De Meo
3cf3fa7d8f superenv: fix CC value for ENV.gcc
'gcc' could refer to anything of llvm-gcc, clang, or gcc-4.0 on
various Xcode versions.
2013-08-22 22:42:54 -07:00
Jack Nagel
95af184a0c Add an accessor to make the intent more clear here 2013-08-22 17:45:08 -05:00
Jack Nagel
9b2e04593f Options: ensure copies do not share the underlying collection 2013-08-22 11:49:24 -05:00
Jack Nagel
7654077752 Demonstrate the Set-like nature of Options collections
Options collections are backed by Sets, and thus trying to push a new
option with a name that duplicates an existing option cannot succeed.

Later, we can exploit this behavior and remove some conditionals.
2013-08-22 11:35:00 -05:00
Greg Sieranski
1abb8cdf81 adding reinstall to bash completion
Closes Homebrew/homebrew#22051.

Signed-off-by: Samuel John <github@SamuelJohn.de>
2013-08-21 20:25:15 +02:00
Samuel John
43fc7423d7 brew reinstall: Is able to work for all formulae
... and not just installed ones. Of course, strictly speaking,
reinstalling not-yet-installed formulae makes semantically little
sense, but the big win is that we can tell people (after we have
resolved an issue) to `brew reinstall <formula>` and even if a user
has removed that formula in the meantime, reinstall will do the right
thing. Basically adding --force to uninstall. I think this makes
reinstall more robust.
2013-08-21 20:18:55 +02:00
Samuel John
5a0bad6b42 Revert "brew reinstall: Is able to work for all formulae"
This reverts commit 865f763ae59fdf32f496ca416fd98117f3370f86.
2013-08-21 20:17:38 +02:00
Samuel John
4bb49a6439 brew reinstall: Is able to work for all formulae
... and not just installed ones. Of course, strictly speaking,
reinstalling not-yet-installed formulae makes semantically little
sense, but the big win is that we can tell people (after we have
resolved an issue) to `brew reinstall <formula>` and even if a user
has removed that formula in the meantime, reinstall will do the right
thing. Basically adding --force to uninstall. I think this makes
reinstall more robust.
2013-08-21 19:20:41 +02:00
Jack Nagel
db1075fdc7 Use ENV.update to restore removed variables 2013-08-20 18:51:11 -05:00
Jack Nagel
71586d09aa Avoid the need to compact the expanded deps array 2013-08-20 14:16:17 -05:00