aboutsummaryrefslogtreecommitdiffstats
path: root/Library/ENV
AgeCommit message (Collapse)Author
2013-11-10Pass optimization and arch flags during configureJack Nagel
Closes Homebrew/homebrew#24106.
2013-11-10Extract cxxflags method from cflags methodJack Nagel
2013-11-09superenv: fix versioned g++ invocations.Bulat Shakirzyanov
Closes Homebrew/homebrew#24104. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2013-11-07superenv: add shims for gcc4.{3-9}.Mike McQuaid
2013-11-04Disable make_fuss when running configure invoked by makeJack Nagel
The cc wrapper's make_fuss is only enabled when HOMEBREW_CCCFG contains 'O', which is set by the make wrapper. This means it is disable when running configure scripts. However, this does not include configure scripts invoked by make, which inherit the value of HOMEBREW_CCCFG from the make process. make_fuss will be enabled for these scripts, cause breakage. Configure scripts generated by autoconf 2.56 (November 2002) or later export DUALCASE into the environment of subprocesses. This variable is only used by the MKS shell, so we can use it as a heuristic to determine if we are running as a subprocess of a configure script.
2013-11-03Move superenv make_fuss output back to stderrJack Nagel
In 6e3a585607116d06f47aac2ff5a649f2898216f0 ("Improve superenv add/remove message."), more debugging information was added to the "make_fuss" output generated by the superenv compiler wrapper. This resulted in some breakage in configure scripts that inspect stderr, so in e1bd9b9e980c433878e60833f09964b8ca996657 ("Don't use stderr for make_fuss output."), the output was moved to stdout. This only appeared to solve the problem, since stdout is buffered but stderr is not. Later, in fb749e47509b77b5bd89e7b14f0a1097d4af7f40, Homebrew started generating logs even in verbose mode. This had the side effect of moving stdout/stderr from a TTY to a pipe, and thus stdout was no longer line-buffered. Since it was not line-buffered, and Ruby's internal buffers were not flushed, the debug output was being lost. This was addressed in 2d5724af8613c820b8c14f4171fe1de6a17f10c3 ("cc: ensure wrapper output is always flushed"). This caused stdout to be flushed during configure, which resurfaced the original bug that prompted e1bd9b9e980c433878e60833f09964b8ca996657. This was fixed by disabling the debug output during configure, in f1779837a46a58520560fba3850a0e2992284d0a. Since the original bug has been addressed in a more robust way, we can move the debug output back to stderr. Fixes Homebrew/homebrew#23923.
2013-11-02cc: disable make_fuss during configureJack Nagel
Fixes Homebrew/homebrew#23885.
2013-11-01cc: ensure wrapper output is always flushedJack Nagel
2013-10-26Clang standard library selection.Xiyue Deng
* Add new ENV function for selecting stdlib for Clang. - The selection is no-op for non-system-clang compilers. - Both superenv and stdenv are handled. * Add new HOMEBREW_CCCFG flag and ccwrapper handling.
2013-10-26C++11 support.Xiyue Deng
* Add options and ENV method to specify building in C++11 mode. - Set C++ compiler flags to enable C++11 mode. - To add options to support C++11 mode, a formula can now use option :cxx11 to provide "--c++11" option, and detect and enable C++11 support in install method using ENV.cxx11 if build.cxx11? Closes Homebrew/homebrew#22453.
2013-10-20Don't use stderr for make_fuss output.Xiyue Deng
* Using stderr breaks some configure script which fails due to contents available in stderr.
2013-10-19superenv: always respect HOMEBREW_CCMisty De Meo
Closes Homebrew/homebrew#23322.
2013-10-18Improve superenv add/remove message.Xiyue Deng
* Now it includes all flags that are added or removed by superenv when passing "--verbose" or envvar VERBOSE or HOMEBREW_VERBOSE is set.
2013-09-27pod2man: add ENV wrapper.Mike McQuaid
Closes Homebrew/homebrew#22528.
2013-09-25Silence xcrun output in wrapperMisty De Meo
Our wrapper always runs the real xcrun at least once, to try to find the path of the tool being run, but this meant that we were generating a huge number of error messages on every cc invocaton. Mostly this was annoying but harmless, but notably it managed to break the compilation of go.
2013-09-01Experimental support for non-Apple GCCsMisty De Meo
2013-08-31Don't duplicate -E argument in ccE modeJack Nagel
2013-08-31Differentiate between "cpp" and "cc-E" modesJack Nagel
2013-08-31Reorder cc wrapper modes by frequencyJack Nagel
2013-08-29superenv: fix no-op system path filteringJack Nagel
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-28superenv: also filter out -mcpu=Misty De Meo
On PPC, -mcpu is the preferred equivalent to -march.
2013-08-27Revert "superenv: fix cpp shim"Misty De Meo
This reverts commit dca89db55189a34f1c02d3f12a84eda8d81fd6d1.
2013-08-27superenv: fix cpp shimMisty De Meo
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-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-16Fix superenv arch flag handlingJack Nagel
Fixes Homebrew/homebrew#21943.
2013-08-15superenv: use Hardware::CPU.universal_archsMisty De Meo
This defines the new HOMEBREW_ARCHS environment variable, which is currently only set during universal builds, so that the tool wrappers no longer need to hardcode i386/x86_64.
2013-07-30cc: delegate cpp to the real tool, not compilerMisty De Meo
Fixes Homebrew/homebrew#21527.
2013-07-19Enable superenv on Snow LeopardMisty De Meo
This has been tested with several dozen formulae without any superenv-related issues.
2013-06-27superenv cc: specify llvm-g++-4.2Misty De Meo
We previously tried to call llvm-g++ under the name `g++`, but this is now a link to clang on Xcode 5+. Fixes Homebrew/homebrew#20691.
2013-06-12Add pkg-config files for 10.9Misty De Meo
Seems to be that 10.9 needs the same ones as 10.8. Fixes Homebrew/homebrew#20436.
2013-06-03superenv: Work if build tool changes DEVELOPER_DIRSamuel John
Some build systems still set the DEVELOPER_DIR to /Developer and then nothing works any more (xcrun, xcodebuild etc.) I am looking at you MacVim.
2013-06-02superenv: find Homebrew's gcc-4.2Misty De Meo
If we're using a homebrewed gcc-4.2, xcrun may fail to find it (or, worse, find superenv's shim instead). Explicitly add it to the PATH and search all path elements for the requested tool. Also make sure to specify 'gcc-4.2' as the compiler name, not plain 'gcc'. That can resolve to llvm-gcc and to gcc-4.0 on various Xcodes.
2013-05-27superenv: Improve compiler selectionMisty De Meo
This fixes superenv on Xcode 3.2.6, and also fixes C++ software with gcc-4.2 on all Xcodes.
2013-05-11Fix --build-bottle CFLAGS.Mike McQuaid
The CFLAGS were previously not generic enough. References Homebrew/homebrew#18944. References Homebrew/homebrew#19179.
2013-04-09Add an alias to gmake in superenvMax Howell
I had a luarock explicitly look ONLY for gmake, FFS. This should be safe.
2013-03-29superenv: Filter out -isysrootSamuel John
Closes Homebrew/homebrew#16576. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-03-21Better superenv support for Xcode elsewhereSamuel John
- The Library/ENV/4.3/xcrun shim now respects ENV['DEVELOPER_DIR'] instead assuming the location of /Applications/Xcode.app/Contents/Developer. - The env var DEVELOPER_DIR is set if it is not already. So, during superenv this var is always set and we no longer have to care about people with unset or wrongly set xcode-select stuff. This has been a major PITA in the past. - determine_developer_dir (which is used to set the DEVELOPER_DIR var) now uses MacOS::Xcode.prefix which is proven and very capable and uses splotlight correctly. - Replace (and remove) MacSystem.xcode43_developer_dir with Xcode.prefix Closes Homebrew/homebrew#18618
2013-03-09Index pkgconfig directories by MacOS.versionJack Nagel
2013-03-07-std, not --stdJack Nagel
2013-03-06superenv/cc: keep exec monkeypatch out of ObjectJack Nagel
2013-03-06superenv/cc: make file loadableJack Nagel
2013-02-18Contributions: fix soft link that not refer current file.mbcoguno
a6324cb forget fix soft link in ENV folder, it cause superenv use Apple provided git and svn. Closes Homebrew/homebrew#17927. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2013-02-05xcrun: remove suggestion that doesn't workAdam Vandenberg
Closes Homebrew/homebrew#17443.
2013-01-26superenv: --use-gcc should specify gcc-4.2Misty De Meo
Since 'gcc' is a symlink to 'llvm-gcc' on Xcode 4.3+, --use-gcc and --use-llvm were doing exactly the same thing. Combined with the previous commit, this allows users with either a leftover /usr/bin/gcc-4.2 or a homebrewed apple-gcc42 to build with gcc. This doesn't however fix Xcode-only systems with apple-gcc42. Fixes Homebrew/homebrew#17243.
2013-01-26xcrun: actually try fallbacksMisty De Meo
xcrun has a lot of fallbacks if the first case fails but never actually reaches them on CLT systems since it doesn't check the validity of the first path before executing it. (When should it reach these? Mainly for non-Xcode compilers we support, e.g. apple-gcc42 which can be found by xcrun but which isn't in /usr/bin) The xcrun invocation also needed chomping.
2013-01-24superenv: Allow ENV.m32 (for 32bit builds)Samuel John
Superenv normally filters out "-m32" flag, preventing 32bit builds. Some software, however, still only work in 32bit mode. If ENV.m32 is called, superenv does not filter out the "-m32" flag. Also note, superenv, does not explicitly add the -m32 flag and expects the build system of the software to know when and where to provide this flag. Closes Homebrew/homebrew#16350. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-01-23superenv: allow -W[alp], style arguments to pass throughJack Nagel
We already (correctly) allow -Wl, style linker arguments to pass through; extend this to -Wp, (preprocessor) and -Wa, (assembler). Fixes Homebrew/homebrew#17252.
2013-01-03superenv: make HOMEBREW_FILE availableAdam Vandenberg
Superenv scripts have a stripped PATH, which may not include the brew binary itself. Make this explicitly available to superenv scripts. Fixes bsdmake wrapper. Closes Homebrew/homebrew#16805. Closes Homebrew/homebrew#16846. Signed-off-by: Adam Vandenberg <flangy@gmail.com>