aboutsummaryrefslogtreecommitdiffstats
path: root/Library/ENV
AgeCommit message (Collapse)Author
2012-11-19separate ENV/pkgconfig dirs by OS versionCamillo Lugaresi
Closes Homebrew/homebrew#16063. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-11-19add necessary .pc files for LeopardCamillo Lugaresi
add missing libcrypto.pc override broken system libcurl.pc Closes Homebrew/homebrew#16063. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-11-13dels -> dups typoMax Howell
/cc @samueljohn
2012-11-11Move vendored .pc files to ENVAdam Vandenberg
Closes Homebrew/homebrew#15961.
2012-11-02superenv: Builds need to use the right git/svn tooMax Howell
stdenv already works as Contributions/cmds is in the path already. This is safe to do because OS X already has git and svn in the PATH if you have the CLT installed. So we should definitely ensure we use the right versions. Fixes Homebrew/homebrew#15783.
2012-11-01Whitelist Homebrew's own prefix in superenv.Xiyue Deng
This allows Homebrew to be installed into /opt or /sw. Closes Homebrew/homebrew#15780. Signed-off-by: Max Howell <mxcl@me.com> Cleaned up the patch a little. Still ugly though, but logic is unusual so that's just how it is.
2012-10-31Superenv: be more specific about -O flagsAdam Vandenberg
Closes Homebrew/homebrew#15775.
2012-10-28Use cc -E, not cpp -E. Fixes Homebrew/homebrew#15402.Max Howell
2012-09-29Restore HOMEBREW_LOG functionalityMax Howell
2012-09-25Determine SUPERBIN correctlyMax Howell
2012-09-25Clean up and improve build-error output and logsMax Howell
All logs are now stored from each command executed in Formula.install. Error output is truncated to five lines in an attempt to not overwhelm the user and to encourage users to read the error output and report the bug properly. Maybe we can get that figure up from 70% to 90%.
2012-09-24Work even when RUBYLIB='-'Max Howell
Apparently setting RUBYLIB to '-' causes the library path to be unset. So we need to set our own library path in our scripts. Fixes Homebrew/homebrew-versions/#47.
2012-09-24Abort if `xcrun -find foo` returns superbin/fooMax Howell
Fixes Homebrew/homebrew#14691. Rewrite in Ruby to facilitate checking PATHs properly.
2012-09-14Puts build-tool args firstMax Howell
build-tool provided args must be considered first by cc, etc. Generally this already occurred for -I flags, because most of our -I flags were -isystem. However it didn't occur for keg-only flags and -L paths. This was an error. I amended the refurbishment code to ensure any paths we want to control the order of are thoroughly scrubbed out of the build-tool provided args. This ensures reliability for our builds. However this path-scrubbing should always occur, even during configure (I am fairly sure of this). So more work is required. Fixes Homebrew/homebrew#14781.
2012-09-13Make xcrun wrapper search /usr/bin tooMax Howell
The usual xcrun would, and this wrapper exists to also work around broken xcode-select paths.
2012-09-13Support c99/c89 compiles properlyMax Howell
We can't really execute c89/99 explicitly as these POSIX compliant tools support very few args. Best to execute clang or gcc with the --std=cx9 argument appended. Fixes Homebrew/homebrew#14724.
2012-09-13Look harder for bsdmake Max Howell
bsdmake used to be keg-only, so some users still have it unlinked (presumably they never run brew-doctor). Even though there is code to abort if dependencies are unlinked, it appears broken for this case. So let's just be thorough anyway. Closes Homebrew/homebrew#14751.
2012-09-13Fixes universal builds; Fixes Homebrew/homebrew#14845Max Howell
2012-09-03superenv: More thorough scrubbing of -I & -L argsMax Howell
It's important that -I is scrubbed thoroughly as we add most of our important paths with -isystem and -I is handled *first*. NOTE this indicates we should probably have used -I rather than -isystem, but too late to test all that now. Also scrub -L for bad-paths thoroughly (evaluate realpath).
2012-09-03Fix linking against X11 cairo in preference to oursMax Howell
Amateur mistake where I forgot that the system library path is read AFTER the -L library path, so /usr/local/lib was after /opt/X11/lib and the wrong cairo was used. This only affects CLT /usr/local installs with XQuartz installed. Fixes Homebrew/homebrew#14639.
2012-09-03Set CC and CXX with superenv (again)Max Howell
It was dumb to have make call different compilers to configure depending on the `servile?` flag. This is not a route to reliability. Instead now we set CC (formula that break if CC is set like Jack be damned, their build-systems are just plain broken and should not be supported). When cc is called we examine HOMEBREW_CC, otherwise we instantiate the tool that was called, just like the formula's build-system will expect. Fixes Homebrew/homebrew#14659 (though the build fails later for me, with the same error for stdenv and superenv).
2012-09-02Remove -fopenmp *and* -lgompMax Howell
Apparently LLVM can use these, so only remove if clang. Refs Homebrew/homebrew#14569.
2012-09-02bsdmake is *not* provided by Xcode/CLTMax Howell
Fixes Homebrew/homebrew#14626. Also make proctools install do prefixes other than /usr/local.
2012-09-01Add mig tool to superenvMax Howell
Necessary because it otherwise calls actual cc after it does whatever it does. So we force it to call our cc.
2012-08-31superenv wrappers for c89 and c99Max Howell
Fixes Homebrew/homebrew#14584.
2012-08-31Cram GL headers and includes into superenvMax Howell
Fixes Homebrew/homebrew#14554. We justify doing this because pre 10.8 X11 came with GL for all Homebrew-capable systems and as such is a default that we'd prefer not to have to address.
2012-08-31Always make fussMax Howell
It's only visible if you specify -v or builds fail, so let's help people to diagnose superenv issues.
2012-08-31Remove -fopenmp, fix pixmanMax Howell
Possibly this is not wise, but with -fopenmp -lgomp is automatically added by the toolchain, and I didn't have -lgomp. Ideally we'd detect when this will work and then leave it in there. /cc @sharpie @mikemcquaid @jacknagel
2012-08-31superenv fix for broken 10.8 apr-1-configMax Howell
serf requires you to explicitly tell it where to find the supertool because otherwise it has a hardcoded /usr/bin/apr-1-config (:P), ctail however is sensible and searches the PATH so now it's as though we do nothing special in that formula. Nice.
2012-08-31Refs Homebrew/homebrew#14558. Try to find tools when xcrun fails.Max Howell
2012-08-31Remove plain "-O"Max Howell
2012-08-31Consider superenv “servile” during configureMax Howell
superenv defaults to servile mode. In servile mode: * If 'gcc' is called, then 'gcc' is run (we ignore HOMEBREW_CC) * CFLAGS (optimizations) are not applied * ARGV is not mangled (TODO though we should apply fixes) * -I and -L environment is still forcibly inserted. This fixes, eg. jack which was still broken with stdenv. Jack was broken because we set CC in stdenv, and Jack has a stupid build-system. Unsetting CC allowed Jack to find and use the gcc tool it so demanded, but (previously) we would then substitute clang under its nose. The configure still failed. In servile mode (llvm-)gcc is used and Jack compiles. In normal circumstances clang would then be inserted again during the make phase. But Jack uses the niche-wag build tool that we don't support for setting the O HOMEBREW_CCCFG flag that disables servile mode.
2012-08-30Fixes Homebrew/homebrew#14542; ocaml superenv issuesMax Howell
This patch removes most of the settings for CC, CXX etc. because we are trying to be minimal. Then we force the compiler to Homebrew's choice underneath in superenv. We however leave LD because we prefer that build-systems use the c-compiler for linking, it generally works better (copiously tested), however when the build-system explicitly calls ld, we respect that. This gets around the ocaml bug in question, since somehow clang was crashing during link, but the ld tool itself (which is kind of clang, kind of llvm-gcc) is okay with this. Also moved the setting of O (so that cc-args are refurbished) into a make wrapper. Not sure if this matter much, but seems more consistent.
2012-08-30Work for users who delete /usr/bin/rubyMax Howell
Some people do insane things and are then surprised things break. Fixes Homebrew/homebrew#14546.
2012-08-29Some flags must be specified -Wl,fooMax Howell
Finishes fixing qrupdate. And maybe others.
2012-08-29Warn about removed warnings less shockinglyMax Howell
The problem here now is though that the warnings only appear when compiling verbosely. But they should thus be visible if the build fails. Or if people are hunting for problems.
2012-08-29Warn user if they set CFLAGS, etc. with superenvMax Howell
Since we remove some CFLAGS under their noses, this would otherwise be quite confusing. Notably, this will now trigger in numerous formula. Sucks.
2012-08-29Superenv wrapper for sedMax Howell
Fixes Mountain Lion specific sed issue. Provided scripts don't use the full-path to see we are fine. They never do though, that would assume too much.
2012-08-29superenv: build-environments that just workMax Howell
1. A minimal build environment, we don't set CFLAGS, CPPFLAGS, LDFLAGS, etc. the rationale being, the less that is set, the less variables we are introducing that can break builds. 2. A set of scripts that replace cc, ld, etc. and inject the -I, -L, etc. flags we need into the args passed to the build-tools. Because we now have complete control over compiler instantiations we do a variety of clean-up tasks, like removing bad flags, enforcing universal builds and ensuring makefiles don't try to change the order of library and include paths from ones that work to ones that don't. The previous ENV-system is still available when --env=std is specified. superenv applies to Xcode >= 4.3 only currently.