mirror of
https://github.com/Homebrew/brew.git
synced 2024-11-25 16:33:34 +08:00
docs: remove references to deprecated/disabled GCC formulae
This commit is contained in:
parent
1f9bd2de89
commit
a548a81040
@ -63,7 +63,7 @@ module Homebrew
|
||||
}],
|
||||
[:flag, "--cc=", {
|
||||
description: "Attempt to compile using the specified <compiler>, which should be the name of the " \
|
||||
"compiler's executable, e.g. `gcc-7` for GCC 7. In order to use LLVM's clang, specify " \
|
||||
"compiler's executable, e.g. `gcc-9` for GCC 9. In order to use LLVM's clang, specify " \
|
||||
"`llvm_clang`. To use the Apple-provided clang, specify `clang`. This option will only " \
|
||||
"accept compilers that are provided by Homebrew or bundled with macOS. Please do not " \
|
||||
"file issues if you encounter errors while using this option.",
|
||||
|
@ -129,8 +129,8 @@ RSpec.describe "ENV" do
|
||||
|
||||
describe "#compiler" do
|
||||
it "allows switching compilers" do
|
||||
subject.public_send(:"gcc-6")
|
||||
expect(subject.compiler).to eq("gcc-6")
|
||||
subject.public_send(:"gcc-9")
|
||||
expect(subject.compiler).to eq("gcc-9")
|
||||
end
|
||||
end
|
||||
|
||||
@ -179,16 +179,11 @@ RSpec.describe "ENV" do
|
||||
end
|
||||
|
||||
describe "#cxx11" do
|
||||
it "supports gcc-5" do
|
||||
env["HOMEBREW_CC"] = "gcc-5"
|
||||
env.cxx11
|
||||
expect(env["HOMEBREW_CCCFG"]).to include("x")
|
||||
end
|
||||
|
||||
example "supports gcc-6" do
|
||||
env["HOMEBREW_CC"] = "gcc-6"
|
||||
it "supports gcc-11" do
|
||||
env["HOMEBREW_CC"] = "gcc-11"
|
||||
env.cxx11
|
||||
expect(env["HOMEBREW_CCCFG"]).to include("x")
|
||||
expect(env["HOMEBREW_CCCFG"]).not_to include("g")
|
||||
end
|
||||
|
||||
it "supports clang" do
|
||||
|
@ -14,10 +14,10 @@ RSpec.describe CompilerSelector do
|
||||
before do
|
||||
allow(versions).to receive(:gcc_version) do |name|
|
||||
case name
|
||||
when "gcc-7" then Version.new("7.1")
|
||||
when "gcc-6" then Version.new("6.1")
|
||||
when "gcc-5" then Version.new("5.1")
|
||||
when "gcc-4.9" then Version.new("4.9.1")
|
||||
when "gcc-12" then Version.new("12.1")
|
||||
when "gcc-11" then Version.new("11.1")
|
||||
when "gcc-10" then Version.new("10.1")
|
||||
when "gcc-9" then Version.new("9.1")
|
||||
else Version::NULL
|
||||
end
|
||||
end
|
||||
@ -29,68 +29,68 @@ RSpec.describe CompilerSelector do
|
||||
end
|
||||
|
||||
it "returns clang if it fails with non-Apple gcc" do
|
||||
software_spec.fails_with(gcc: "7")
|
||||
software_spec.fails_with(gcc: "12")
|
||||
expect(selector.compiler).to eq(:clang)
|
||||
end
|
||||
|
||||
it "still returns gcc-7 if it fails with gcc without a specific version" do
|
||||
it "still returns gcc-12 if it fails with gcc without a specific version" do
|
||||
software_spec.fails_with(:clang)
|
||||
expect(selector.compiler).to eq("gcc-7")
|
||||
expect(selector.compiler).to eq("gcc-12")
|
||||
end
|
||||
|
||||
it "returns gcc-6 if gcc formula offers gcc-6 on mac", :needs_macos do
|
||||
it "returns gcc-11 if gcc formula offers gcc-11 on mac", :needs_macos do
|
||||
software_spec.fails_with(:clang)
|
||||
allow(Formulary).to receive(:factory)
|
||||
.with("gcc")
|
||||
.and_return(instance_double(Formula, version: Version.new("6.0")))
|
||||
expect(selector.compiler).to eq("gcc-6")
|
||||
.and_return(instance_double(Formula, version: Version.new("11.0")))
|
||||
expect(selector.compiler).to eq("gcc-11")
|
||||
end
|
||||
|
||||
it "returns gcc-5 if gcc formula offers gcc-5 on linux", :needs_linux do
|
||||
it "returns gcc-10 if gcc formula offers gcc-10 on linux", :needs_linux do
|
||||
software_spec.fails_with(:clang)
|
||||
allow(Formulary).to receive(:factory)
|
||||
.with("gcc@11")
|
||||
.and_return(instance_double(Formula, version: Version.new("5.0")))
|
||||
expect(selector.compiler).to eq("gcc-5")
|
||||
.and_return(instance_double(Formula, version: Version.new("10.0")))
|
||||
expect(selector.compiler).to eq("gcc-10")
|
||||
end
|
||||
|
||||
it "returns gcc-6 if gcc formula offers gcc-5 and fails with gcc-5 and gcc-7 on linux", :needs_linux do
|
||||
it "returns gcc-11 if gcc formula offers gcc-10 and fails with gcc-10 and gcc-12 on linux", :needs_linux do
|
||||
software_spec.fails_with(:clang)
|
||||
software_spec.fails_with(gcc: "5")
|
||||
software_spec.fails_with(gcc: "7")
|
||||
software_spec.fails_with(gcc: "10")
|
||||
software_spec.fails_with(gcc: "12")
|
||||
allow(Formulary).to receive(:factory)
|
||||
.with("gcc@11")
|
||||
.and_return(instance_double(Formula, version: Version.new("5.0")))
|
||||
expect(selector.compiler).to eq("gcc-6")
|
||||
.and_return(instance_double(Formula, version: Version.new("10.0")))
|
||||
expect(selector.compiler).to eq("gcc-11")
|
||||
end
|
||||
|
||||
it "returns gcc-7 if gcc formula offers gcc-5 and fails with gcc <= 6 on linux", :needs_linux do
|
||||
it "returns gcc-12 if gcc formula offers gcc-11 and fails with gcc <= 11 on linux", :needs_linux do
|
||||
software_spec.fails_with(:clang)
|
||||
software_spec.fails_with(:gcc) { version "6" }
|
||||
software_spec.fails_with(:gcc) { version "11" }
|
||||
allow(Formulary).to receive(:factory)
|
||||
.with("gcc@11")
|
||||
.and_return(instance_double(Formula, version: Version.new("5.0")))
|
||||
expect(selector.compiler).to eq("gcc-7")
|
||||
.and_return(instance_double(Formula, version: Version.new("11.0")))
|
||||
expect(selector.compiler).to eq("gcc-12")
|
||||
end
|
||||
|
||||
it "returns gcc-7 if gcc-7 is version 7.1 but spec fails with gcc-7 <= 7.0" do
|
||||
it "returns gcc-12 if gcc-12 is version 12.1 but spec fails with gcc-12 <= 12.0" do
|
||||
software_spec.fails_with(:clang)
|
||||
software_spec.fails_with(gcc: "7") { version "7.0" }
|
||||
expect(selector.compiler).to eq("gcc-7")
|
||||
software_spec.fails_with(gcc: "12") { version "12.0" }
|
||||
expect(selector.compiler).to eq("gcc-12")
|
||||
end
|
||||
|
||||
it "returns gcc-6 if gcc-7 is version 7.1 but spec fails with gcc-7 <= 7.1" do
|
||||
it "returns gcc-11 if gcc-12 is version 12.1 but spec fails with gcc-12 <= 12.1" do
|
||||
software_spec.fails_with(:clang)
|
||||
software_spec.fails_with(gcc: "7") { version "7.1" }
|
||||
expect(selector.compiler).to eq("gcc-6")
|
||||
software_spec.fails_with(gcc: "12") { version "12.1" }
|
||||
expect(selector.compiler).to eq("gcc-11")
|
||||
end
|
||||
|
||||
it "raises an error when gcc or llvm is missing (hash syntax)" do
|
||||
software_spec.fails_with(:clang)
|
||||
software_spec.fails_with(gcc: "7")
|
||||
software_spec.fails_with(gcc: "6")
|
||||
software_spec.fails_with(gcc: "5")
|
||||
software_spec.fails_with(gcc: "4.9")
|
||||
software_spec.fails_with(gcc: "12")
|
||||
software_spec.fails_with(gcc: "11")
|
||||
software_spec.fails_with(gcc: "10")
|
||||
software_spec.fails_with(gcc: "9")
|
||||
|
||||
expect { selector.compiler }.to raise_error(CompilerSelectionError)
|
||||
end
|
||||
|
@ -862,7 +862,7 @@ __fish_brew_complete_arg 'instal' -l bottle-arch -d 'Optimise bottles for the sp
|
||||
__fish_brew_complete_arg 'instal' -l build-bottle -d 'Prepare the formula for eventual bottling during installation, skipping any post-install steps'
|
||||
__fish_brew_complete_arg 'instal' -l build-from-source -d 'Compile formula from source even if a bottle is provided. Dependencies will still be installed from bottles if they are available'
|
||||
__fish_brew_complete_arg 'instal' -l cask -d 'Treat all named arguments as casks'
|
||||
__fish_brew_complete_arg 'instal' -l cc -d 'Attempt to compile using the specified compiler, which should be the name of the compiler\'s executable, e.g. `gcc-7` for GCC 7. In order to use LLVM\'s clang, specify `llvm_clang`. To use the Apple-provided clang, specify `clang`. This option will only accept compilers that are provided by Homebrew or bundled with macOS. Please do not file issues if you encounter errors while using this option'
|
||||
__fish_brew_complete_arg 'instal' -l cc -d 'Attempt to compile using the specified compiler, which should be the name of the compiler\'s executable, e.g. `gcc-9` for GCC 9. In order to use LLVM\'s clang, specify `llvm_clang`. To use the Apple-provided clang, specify `clang`. This option will only accept compilers that are provided by Homebrew or bundled with macOS. Please do not file issues if you encounter errors while using this option'
|
||||
__fish_brew_complete_arg 'instal' -l colorpickerdir -d 'Target location for Color Pickers (default: `~/Library/ColorPickers`)'
|
||||
__fish_brew_complete_arg 'instal' -l debug -d 'If brewing fails, open an interactive debugging session with access to IRB or a shell inside the temporary build directory'
|
||||
__fish_brew_complete_arg 'instal' -l debug-symbols -d 'Generate debug symbols on build. Source will be retained in a cache directory'
|
||||
@ -916,7 +916,7 @@ __fish_brew_complete_arg 'install' -l bottle-arch -d 'Optimise bottles for the s
|
||||
__fish_brew_complete_arg 'install' -l build-bottle -d 'Prepare the formula for eventual bottling during installation, skipping any post-install steps'
|
||||
__fish_brew_complete_arg 'install' -l build-from-source -d 'Compile formula from source even if a bottle is provided. Dependencies will still be installed from bottles if they are available'
|
||||
__fish_brew_complete_arg 'install' -l cask -d 'Treat all named arguments as casks'
|
||||
__fish_brew_complete_arg 'install' -l cc -d 'Attempt to compile using the specified compiler, which should be the name of the compiler\'s executable, e.g. `gcc-7` for GCC 7. In order to use LLVM\'s clang, specify `llvm_clang`. To use the Apple-provided clang, specify `clang`. This option will only accept compilers that are provided by Homebrew or bundled with macOS. Please do not file issues if you encounter errors while using this option'
|
||||
__fish_brew_complete_arg 'install' -l cc -d 'Attempt to compile using the specified compiler, which should be the name of the compiler\'s executable, e.g. `gcc-9` for GCC 9. In order to use LLVM\'s clang, specify `llvm_clang`. To use the Apple-provided clang, specify `clang`. This option will only accept compilers that are provided by Homebrew or bundled with macOS. Please do not file issues if you encounter errors while using this option'
|
||||
__fish_brew_complete_arg 'install' -l colorpickerdir -d 'Target location for Color Pickers (default: `~/Library/ColorPickers`)'
|
||||
__fish_brew_complete_arg 'install' -l debug -d 'If brewing fails, open an interactive debugging session with access to IRB or a shell inside the temporary build directory'
|
||||
__fish_brew_complete_arg 'install' -l debug-symbols -d 'Generate debug symbols on build. Source will be retained in a cache directory'
|
||||
|
@ -1091,7 +1091,7 @@ _brew_instal() {
|
||||
'(--cask)--bottle-arch[Optimise bottles for the specified architecture rather than the oldest architecture supported by the version of macOS the bottles are built on]' \
|
||||
'(--cask --build-from-source --force-bottle)--build-bottle[Prepare the formula for eventual bottling during installation, skipping any post-install steps]' \
|
||||
'(--cask --build-bottle --force-bottle)--build-from-source[Compile formula from source even if a bottle is provided. Dependencies will still be installed from bottles if they are available]' \
|
||||
'(--cask)--cc[Attempt to compile using the specified compiler, which should be the name of the compiler'\''s executable, e.g. `gcc-7` for GCC 7. In order to use LLVM'\''s clang, specify `llvm_clang`. To use the Apple-provided clang, specify `clang`. This option will only accept compilers that are provided by Homebrew or bundled with macOS. Please do not file issues if you encounter errors while using this option]' \
|
||||
'(--cask)--cc[Attempt to compile using the specified compiler, which should be the name of the compiler'\''s executable, e.g. `gcc-9` for GCC 9. In order to use LLVM'\''s clang, specify `llvm_clang`. To use the Apple-provided clang, specify `clang`. This option will only accept compilers that are provided by Homebrew or bundled with macOS. Please do not file issues if you encounter errors while using this option]' \
|
||||
'(--formula)--colorpickerdir[Target location for Color Pickers (default: `~/Library/ColorPickers`)]' \
|
||||
'--debug[If brewing fails, open an interactive debugging session with access to IRB or a shell inside the temporary build directory]' \
|
||||
'(--cask)--debug-symbols[Generate debug symbols on build. Source will be retained in a cache directory]' \
|
||||
@ -1149,7 +1149,7 @@ _brew_install() {
|
||||
'(--cask)--bottle-arch[Optimise bottles for the specified architecture rather than the oldest architecture supported by the version of macOS the bottles are built on]' \
|
||||
'(--cask --build-from-source --force-bottle)--build-bottle[Prepare the formula for eventual bottling during installation, skipping any post-install steps]' \
|
||||
'(--cask --build-bottle --force-bottle)--build-from-source[Compile formula from source even if a bottle is provided. Dependencies will still be installed from bottles if they are available]' \
|
||||
'(--cask)--cc[Attempt to compile using the specified compiler, which should be the name of the compiler'\''s executable, e.g. `gcc-7` for GCC 7. In order to use LLVM'\''s clang, specify `llvm_clang`. To use the Apple-provided clang, specify `clang`. This option will only accept compilers that are provided by Homebrew or bundled with macOS. Please do not file issues if you encounter errors while using this option]' \
|
||||
'(--cask)--cc[Attempt to compile using the specified compiler, which should be the name of the compiler'\''s executable, e.g. `gcc-9` for GCC 9. In order to use LLVM'\''s clang, specify `llvm_clang`. To use the Apple-provided clang, specify `clang`. This option will only accept compilers that are provided by Homebrew or bundled with macOS. Please do not file issues if you encounter errors while using this option]' \
|
||||
'(--formula)--colorpickerdir[Target location for Color Pickers (default: `~/Library/ColorPickers`)]' \
|
||||
'--debug[If brewing fails, open an interactive debugging session with access to IRB or a shell inside the temporary build directory]' \
|
||||
'(--cask)--debug-symbols[Generate debug symbols on build. Source will be retained in a cache directory]' \
|
||||
|
@ -20,9 +20,9 @@ dependencies that you built on 10.8 or earlier. If you're reading this page beca
|
||||
you were directed here by a build error, you can most likely fix the issue if
|
||||
you reinstall all the dependencies of the package you're trying to build.
|
||||
|
||||
Example install using GCC 7:
|
||||
Example install using GCC 9:
|
||||
|
||||
```sh
|
||||
brew install gcc@7
|
||||
brew install --cc=gcc-7 <formula>
|
||||
brew install gcc@9
|
||||
brew install --cc=gcc-9 <formula>
|
||||
```
|
||||
|
@ -5,7 +5,7 @@ Homebrew depends on having an up-to-date version of Xcode because it comes with
|
||||
Rather than merging formulae for either of these cases at this time, we're listing them on this page. If you come up with a formula for a new version of GCC or cross-compiler suite, please link to it here.
|
||||
|
||||
- Homebrew provides a `gcc` formula for use with Xcode 4.2+.
|
||||
- Homebrew provides older GCC formulae, e.g. `gcc@7`.
|
||||
- Homebrew provides older GCC formulae, e.g. `gcc@9`.
|
||||
- Homebrew provides some cross-compilers and toolchains, but these are named to avoid clashing with the default tools, e.g. `i686-elf-gcc`, `x86_64-elf-gcc`.
|
||||
- Homebrew provides LLVM's Clang, which is bundled with the `llvm` formula.
|
||||
- [RISC-V](https://github.com/riscv/homebrew-riscv) provides the RISC-V toolchain including binutils and GCC.
|
||||
|
@ -587,7 +587,7 @@ upgrade *`formula`* if it is already installed but outdated.
|
||||
`--cc`
|
||||
|
||||
: Attempt to compile using the specified *`compiler`*, which should be the name
|
||||
of the compiler's executable, e.g. `gcc-7` for GCC 7. In order to use LLVM's
|
||||
of the compiler's executable, e.g. `gcc-9` for GCC 9. In order to use LLVM's
|
||||
clang, specify `llvm_clang`. To use the Apple-provided clang, specify `clang`.
|
||||
This option will only accept compilers that are provided by Homebrew or
|
||||
bundled with macOS. Please do not file issues if you encounter errors while
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
## Install previous versions of formulae
|
||||
|
||||
Some formulae in `homebrew/core` are made available as [versioned formulae](Versions.md) using a special naming format, e.g. `gcc@7`. If the version you're looking for isn't available, consider using `brew extract`.
|
||||
Some formulae in `homebrew/core` are made available as [versioned formulae](Versions.md) using a special naming format, e.g. `gcc@9`. If the version you're looking for isn't available, consider using `brew extract`.
|
||||
|
||||
## Quickly remove something from Homebrew's prefix
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Formulae Versions
|
||||
|
||||
[homebrew/core](https://github.com/homebrew/homebrew-core) supports multiple versions of formulae by using a special naming format. For example, the formula for GCC 6 is named `gcc@6.rb` and begins with `class GccAT6 < Formula`.
|
||||
[homebrew/core](https://github.com/homebrew/homebrew-core) supports multiple versions of formulae by using a special naming format. For example, the formula for GCC 9 is named `gcc@9.rb` and begins with `class GccAT9 < Formula`.
|
||||
|
||||
## Acceptable versioned formulae
|
||||
|
||||
|
@ -368,7 +368,7 @@ An unsupported Homebrew development option to skip installing any dependencies o
|
||||
Install the dependencies with specified options but do not install the formula itself\.
|
||||
.TP
|
||||
\fB\-\-cc\fP
|
||||
Attempt to compile using the specified \fIcompiler\fP, which should be the name of the compiler\[u2019]s executable, e\.g\. \fBgcc\-7\fP for GCC 7\. In order to use LLVM\[u2019]s clang, specify \fBllvm_clang\fP\&\. To use the Apple\-provided clang, specify \fBclang\fP\&\. This option will only accept compilers that are provided by Homebrew or bundled with macOS\. Please do not file issues if you encounter errors while using this option\.
|
||||
Attempt to compile using the specified \fIcompiler\fP, which should be the name of the compiler\[u2019]s executable, e\.g\. \fBgcc\-9\fP for GCC 9\. In order to use LLVM\[u2019]s clang, specify \fBllvm_clang\fP\&\. To use the Apple\-provided clang, specify \fBclang\fP\&\. This option will only accept compilers that are provided by Homebrew or bundled with macOS\. Please do not file issues if you encounter errors while using this option\.
|
||||
.TP
|
||||
\fB\-s\fP, \fB\-\-build\-from\-source\fP
|
||||
Compile \fIformula\fP from source even if a bottle is provided\. Dependencies will still be installed from bottles if they are available\.
|
||||
|
Loading…
Reference in New Issue
Block a user