96 Commits

Author SHA1 Message Date
Markus Reiter
24ae318a3d Move type annotations into files. 2020-10-10 14:59:39 +02:00
Markus Reiter
a5c1f38186 Document CompilerFailure and CompilerSelector. 2020-08-26 03:13:58 +02:00
Bo Anderson
4bca7f0cba compilers: support GCC 10 as a formula 2020-05-09 11:06:02 +01:00
Trung Le
420fcfca0e Support GCC 10 2020-05-01 00:59:08 +10:00
FX Coudert
7d014d0565 Support GCC 9 2019-05-03 16:58:11 +02:00
Mike McQuaid
36dbad3922
Add frozen_string_literal to all files. 2019-04-20 13:27:36 +09:00
Mike McQuaid
d1ea6f38d3
Fix mutable constants violations. 2019-04-19 21:46:20 +09:00
Mike McQuaid
8ce7b1d39c
Merge pull request #5958 from xu-cheng/compiler
CompilerSelector: prefer the gcc version offered by the gcc formula
2019-04-03 21:51:48 +01:00
Mike McQuaid
d12e39633c
Remove odisabled. 2019-04-01 15:07:50 +01:00
Xu Cheng
363355ae47
CompilerSelector: prefer the gcc verion offered by the gcc formula
When GCC is used (default for Linux), we should prefer the gcc offered
by the gcc formula. As such even if users install a gcc with higher
version from `gcc@*` formula, it will not be picked up to build other
formulae. This would also allow users to safely delete `gcc@*` formula.

Closes #5953.
2019-03-31 21:42:05 +08:00
Mike McQuaid
d64429a736
rubocop: enable Style/IfUnlessModifier. 2019-02-21 12:55:49 +00:00
Mike McQuaid
1aa8ad09e2
Deprecate macOS versions below Mavericks
And remove all dead/unneeded code.
2019-01-27 12:27:47 +00:00
Mike McQuaid
170c5493a4
Update deprecations
- Add some `odeprecated`
- Make some `odeprecated` now `odisabled`
- Remove `odisabled` code.
- Remove old update migrations
- Remove GCC 4.0 compiler
- Remove Tiger-only code
- Remove 32-bit-only code
- Remove use of LD64
- Remove GCC 4.3 - 4.8 support.
2019-01-08 19:13:46 +00:00
Mike McQuaid
737b84b54b
brew style --fix fixes. 2018-11-02 17:29:23 +00:00
Shaun Jackman
13816a5687 GNU_GCC_VERSIONS: Remove the compiler gcc-4.3 2018-10-03 11:43:52 -07:00
Shaun Jackman
1cdc34eec3 Default compiler is gcc on Linux 2018-09-30 11:20:35 -07:00
FX Coudert
819b210263 Support GCC 8 2018-04-30 17:03:11 +02:00
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 Meo
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 Beekman
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
BrewTestBot
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
なつき
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 Lancaster
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