aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/extend
AgeCommit message (Collapse)Author
2013-09-17Allow partial installation of resourcesJack Nagel
2013-09-17superenv: don't set CC in ENV.clang/etc.Misty De Meo
These methods were overriding CC and causing superenv to potentially skip the compiler wrapper - especially if no wrapper existed for the compiler being used, e.g. GNU GCCs. Closes Homebrew/homebrew#22443. Fixes Homebrew/homebrew#22249. Fixes Homebrew/homebrew#22424. Fixes Homebrew/homebrew#22506. Fixes Homebrew/homebrew#22521. Fixes Homebrew/versions#207.
2013-09-17Move CompilerSelector logic into build env setupMisty De Meo
This moves the CompilerSelector fails_with logic into the build environment setup, making the compiler selection available before performing actions that depends on knowing what the compiler is, e.g. setting up PATH. ENV.setup_build_environment now optionally takes a Formula argument to provide the information necessary to do the fails_with, and the new ENV.validate_cc! extracts the fails_with logic from Build.install.
2013-09-16Open files in binary mode where appropriateJack Nagel
2013-09-11Implement ResourcesAdam Vandenberg
Closes Homebrew/homebrew#20212.
2013-09-06ENV: remove trailing slash from OpenGL header pathJack Nagel
2013-09-03ENV: convert values to strings in cc settersJack Nagel
2013-09-03ENV: use cc accessorJack Nagel
2013-09-01Remove HOMEBREW_CC warning from ENV.compilerMisty De Meo
ENV.compiler is called outside setting up the build environment, where values unsupported for user input might have been specified - for example, GNU GCC executables.
2013-09-01Implement fails_with for non-Apple compilersMisty De Meo
This adds support for non-Apple GCC compilers in the fails_with code. A fails_with block for a non-Apple compiler looks like: fails_with :gcc => '4.8.1' do cause 'Foo' end Non-Apple compilers don't have build numbers, so compiler failures are based on version strings instead. Internally non-Apple compilers can be distinguished because they are passed around as strings instead of symbols. In addition, this alters the priority list for compilers, with the following changes: * Apple GCC 4.2 and LLVM-GCC swap positions, with GCC now taking priority. (Maybe LLVM-GCC should just go away.) * Non-Apple GCC compilers are ranked below GCC 4.2 but above LLVM-GCC and Apple GCC 4.0.
2013-09-01Provide reusable GNU GCC constants in ENVMisty De Meo
2013-09-01Experimental support for non-Apple GCCsMisty De Meo
2013-09-01Allow forcing bottle installation.Mike McQuaid
2013-08-31Workaround for debrewAdam Vandenberg
See Homebrew/homebrew#21720.
2013-08-30ENV: only set fortran flags in one placeJack Nagel
2013-08-30ENV: use fc accessorJack Nagel
2013-08-30Fix conditional in ENV.fortranJack Nagel
2013-08-30ENV: use cflags setterJack Nagel
2013-08-30ENV: use cc accessorJack Nagel
2013-08-30ENV: add cc and cxx settersJack Nagel
2013-08-30Simplify handling custom FCFLAGSJack Nagel
2013-08-30Remove PATH hack from ENV.fortranJack Nagel
2013-08-30Unify compiler selection logicMisty De Meo
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-30Add --cc= syntax for selecting compilersMisty De Meo
2013-08-29Remove default values from ENV.{cc,cxx}Jack Nagel
Closes Homebrew/homebrew#22138.
2013-08-28Allow building bottles with custom architecturesMisty De Meo
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-26Simplify conditionJack Nagel
2013-08-26Only perform coercion to string once in ENV.{append,prepend}Jack Nagel
2013-08-25superenv: support PPC bottlesMisty De Meo
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-23Always pass -headerpad_max_install_names to the linkerJack Nagel
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-22superenv: fix CC value for ENV.gccMisty De Meo
'gcc' could refer to anything of llvm-gcc, clang, or gcc-4.0 on various Xcode versions.
2013-08-19Use ENV.prepend_pathJack Nagel
2013-08-19Use ENV.append_pathJack Nagel
2013-08-19Add ENV.append_pathJack Nagel
2013-08-19Fix typoJack Nagel
2013-08-19Use File::PATH_SEPARATOR globally instead of ':'Amos Wenger
On Unix, the path separator is ':', whereas on Windows, it is ';'. This is the first of a series of patch to bring macbrew's and winbrew's codebases closer together. The main places the magic constant ':' was being used were: - the $PATH environment variable - CMAKE-related environment variables - pkg-config related environment variables Closes Homebrew/homebrew#21921. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2013-08-19Remove ENV.expand_xcrunJack Nagel
This method is currently unused and after inspecting the git history, it appears it may never have been used at all.
2013-08-19More robust implementation of ENV.with_build_environmentJack Nagel
2013-08-19Rename HomebrewEnvExtension to StdenvJack Nagel
2013-08-19Move common ENV methods to a shared moduleJack Nagel
2013-08-19Move superenv.rb to extend/ENV/super.rbJack Nagel
2013-08-19Reference self, not ENV, in ENV.fortranJack Nagel
2013-08-19Move extra stdenv setup to extended callbackJack Nagel
2013-08-19Move common stuff to extend/ENV.rbJack Nagel
2013-08-16This is a backreference, not an embedded NULJack Nagel
2013-08-15ENV.universal_binary: use as_arch_flagsMisty De Meo
2013-08-15Add Hardware::CPU.arch_(32|64)_bitMisty De Meo
This replaces hardcoding of i386/x86_64 all over the code.
2013-08-13pathname: remove unused return valuesAdam Vandenberg
Return value was used only by one test, rewrote test to know expected value.
2013-08-13Improve checksum perf by providing an output bufferJack Nagel
2013-08-10Make usage of ObserverPathnameExtension more obviousJack Nagel
Remove use of globals. Closes Homebrew/homebrew#21795.