Commit Graph
79 Commits
Author SHA1 Message Date
Shaun Jackman 7e64211765 Add needs :cxx14 2017-02-23 10:49:20 -08:00
Mike McQuaid e50102d91e ENV: deprecate old methods.
These should have been deprecated long ago but we didn’t really have
the necessary framework to do so.
2016-12-30 20:20:13 +00:00
Alex Wang 3e4544025d Prefer brewed Clang over gcc-6 for needs :openmp
Clang has fully implemented OpenMP support as of LLVM 3.7, so if OpenMP
is required by a formula gcc is no longer the only choice of compiler.

Clang should be preferred over gcc because using gcc meant linking
against libstdc++, which is ABI incompatible with libc++. This may be
unnoticeable for some users, but it causes other builds to fail, e.g.
pstoedit when imagemagick was built with OpenMP. pstoedit is required
for the octave formula, so for some users this could be a significant
problem.
2016-11-18 08:54:09 -05:00
Misty De MeoandGitHub 30fdbe089b Merge pull request #1435 from mistydemeo/dev_tools_version
Add "null version" class, and return compiler versions/build versions as Version objects
2016-11-14 13:44:03 -08:00
Markus Reiter 353b67a6b2 No empty whens. 2016-11-14 09:45:44 +01:00
Misty De Meo c7be025229 CompilerSelector: fix null check, tests 2016-11-10 15:09:36 -08:00
Misty De Meo 20bbeb5e9c Return compiler versions and builds as Versions 2016-11-10 15:09:36 -08:00
Markus Reiter b987230ddf RuboCop: Style/CaseEquality 2016-09-25 00:22:53 +02:00
Markus Reiter e851c9bf6c Style/Alias: Prefer alias. 2016-09-23 18:19:53 +02:00
Mike McQuaid 3982950e61 rubocop --auto-correct all hash-rocket usage. 2016-09-17 16:14:13 +01:00
Mike McQuaid 6693915399 rubocop --auto-correct all remaining files.
But remove some manual `.freeze`s on constants that shouldn't be
constants.
2016-09-17 16:14:13 +01:00
Alex Wang 4cec6f5dd0 Teach brew to recognize gcc-HEAD as valid compiler
Building gcc with --HEAD results in most of the executables not having a
version suffix, e.g. Building/installing gcc 6 would result in gcc-6,
g++-6, etc. being installed, while building/installing gcc --HEAD would
result in gcc-, g++-, etc. being installed.

The lack of a version suffix prevented brew from recognizing a valid gcc
install, resulting in brew instructing users to install gcc before
building certain formulae even though gcc is installed.

A patch to the gcc formula makes the version number for --HEAD builds
the major version number of the stable version + 1 (7 at this time).
This patch teaches brew to recognize current --HEAD builds as valid
compilers.
2016-09-14 11:42:45 -04:00
Mike McQuaid 375efe0945 Remove LLVM-GCC support. (#252)
At this point it's never a good compiler to use so let's just remove it.
2016-05-22 09:40:08 +01:00
Mike McQuaid e316cc9296 Make development tools code cross-platform. 2016-05-08 16:51:22 +01:00
Izaak BeekmanandMike McQuaid b0d906f0f8 compilers: support gcc 6 2016-04-29 11:19:35 -05:00
Dominyk Tiller c7c9919d3a compilers: use comma consistently 2016-01-03 19:08:11 +00:00
Baptiste Fontaine 169b8fc039 Revert "minor perf improvements"
This reverts commit 16a2a8274a7808e63a6c78475e12a7c0ef5812ef.
2015-12-26 23:00:38 +01:00
Baptiste Fontaine 48681c3f3a minor perf improvements
Closes Homebrew/homebrew#47224.

Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2015-12-26 22:58:26 +01:00
Mike McQuaid 2c959a7d58 More API documentation.
And remove the documented stuff from the `example-formula.rb`.

Closes Homebrew/homebrew#43241.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-08-29 15:43:16 +01:00
BrewTestBotandMike McQuaid 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
Jack Nagel 7c83e3ffe3 Remove workarounds for destructuring single-element hashes 2015-06-19 22:30:13 -04:00
Jack Nagel 09f8c54f83 Move some constants from env to compiler constants 2015-06-19 21:38:39 -04:00
Jack Nagel 703d8a1aa3 Revert "Remove conditional"
This method may see values originating HOMEBREW_CC.

This reverts commit 9c74f42962090c016143744b057e13aa75d9b13e.
2015-05-17 19:22:08 -04:00
Jack Nagel dcaaa20b34 Remove conditional 2015-05-08 22:23:30 -04:00
なつきandJack Nagel 6181a786c0 compilers: support gcc 5
Closes Homebrew/homebrew#39470.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2015-05-08 22:23:30 -04:00
Ian LancasterandMike McQuaid 0705d75375 compilers: blacklist llvm from :openmp
Closes Homebrew/homebrew#38912.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-04-23 10:09:33 +01:00
Jack Nagel 3de77e4e1a Stop recording the fails_with cause internally
The string passed as the cause is currently unused, so we don't need to
actually store it.
2014-09-21 00:57:32 -05:00
Jack Nagel c5f2f6b539 Make --cc override the compiler selector 2014-09-18 15:50:54 -05:00
Jack Nagel 04dae13ae7 Replace CompilerQueue with predetermined priority lists 2014-09-18 15:50:54 -05:00
Jack Nagel 288c7974dc Move Compiler struct into CompilerSelector namespace 2014-09-18 15:50:54 -05:00
Jack Nagel ae88549797 Remove fails_with? from the formula instance 2014-09-18 15:50:54 -05:00
Jack Nagel 1eecf1ac0b Don't use Hash#first
Fixes Homebrew/homebrew#31360.
2014-08-06 09:56:09 -05:00
Jack Nagel 9aac71045c Add inspect to CompilerFailure 2014-08-03 15:28:51 -05:00
Jack Nagel eb528fd7cd Eliminate a nil check 2014-08-03 13:14:50 -05:00
Jack Nagel d54bce6a1a Remove dead code 2014-08-03 13:13:23 -05:00
Jack Nagel b6e9600b9f Eliminate consideration of major_version
The major version is implicit in the compiler name. Since the name is
used when matching failures to compilers, we don't need to consider the
major version separately.
2014-08-03 11:15:39 -05:00
Jack Nagel 4580d86809 Use a separate class for GNU compiler failures
major_version is now only used internally by the failure object
2014-08-03 10:47:47 -05:00
Jack Nagel 8e8b9acc01 Move compiler failure matching logic into failure object 2014-08-03 10:47:47 -05:00
Jack Nagel e5d6247ae7 Rename compiler attribute to name 2014-08-03 10:47:47 -05:00
Jack Nagel 2fedd5b09a Don't pass nil to fails_with? 2014-08-03 10:47:47 -05:00
Jack Nagel ffc5687fc2 Eagerly create and reuse cxx11 compiler failure objects 2014-08-01 20:15:58 -05:00
Jack Nagel 525e5f791f Remove knowledge of DSL implementation from initialize 2014-08-01 20:15:57 -05:00
Misty De Meo e18faa7557 --cc=: make GNU_GCC checks stricter
Fixes Homebrew/homebrew#30668
2014-07-29 19:31:07 -07:00
Jack Nagel 32d84377d5 Move constants so we don't have to load all of ENV to get them 2014-07-02 21:58:43 -05:00
Jack Nagel 9d030f8397 Combine conditionals 2014-06-16 16:58:13 -05:00
Jack Nagel be1822dd72 Place alias adjacent to aliased method 2014-06-16 16:40:09 -05:00
Jack Nagel ff2d8fece3 Remove unused method alias
Unlike CompilerFailure, the interface of Compiler is entirely internal,
so we don't need to maintain compatibility with anything.
2014-06-16 16:39:07 -05:00
Jack Nagel 6eb7e0c27f Eliminate an uninitialized ivar warning 2014-06-11 21:34:09 -05:00
Jack Nagel c319eb1f01 Decouple CompilerSelector from MacOS, clean up tests 2014-06-11 21:23:05 -05:00
Jack Nagel 290db72bd5 Pass the version into the Compiler constructor, eliminate a type check 2014-06-11 21:21:50 -05:00