mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
builder: add support for icc (Intel C Compiler) (#14975)
This commit is contained in:
parent
758f84fa86
commit
6b597a4b58
@ -22,7 +22,7 @@ The major way to get the latest and greatest V, is to __install it from source__
|
|||||||
It is __easy__, and it usually takes __only a few seconds__.
|
It is __easy__, and it usually takes __only a few seconds__.
|
||||||
|
|
||||||
### Linux, macOS, FreeBSD, etc:
|
### Linux, macOS, FreeBSD, etc:
|
||||||
You need `git`, and a C compiler like `tcc`, `gcc` or `clang`, and `make`:
|
You need `git`, and a C compiler like `tcc`, `gcc`, `icc` or `clang`, and `make`:
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/vlang/v
|
git clone https://github.com/vlang/v
|
||||||
cd v
|
cd v
|
||||||
@ -38,7 +38,7 @@ git clone https://github.com/vlang/v
|
|||||||
cd v
|
cd v
|
||||||
make.bat -tcc
|
make.bat -tcc
|
||||||
```
|
```
|
||||||
NB: You can also pass one of `-gcc`, `-msvc`, `-clang` to `make.bat` instead,
|
NB: You can also pass one of `-gcc`, `-msvc`, `-clang`, to `make.bat` instead,
|
||||||
if you do prefer to use a different C compiler, but -tcc is small, fast, and
|
if you do prefer to use a different C compiler, but -tcc is small, fast, and
|
||||||
easy to install (V will download a prebuilt binary automatically).
|
easy to install (V will download a prebuilt binary automatically).
|
||||||
|
|
||||||
|
@ -147,6 +147,7 @@ mut:
|
|||||||
debug_mode bool
|
debug_mode bool
|
||||||
is_cc_tcc bool
|
is_cc_tcc bool
|
||||||
is_cc_gcc bool
|
is_cc_gcc bool
|
||||||
|
is_cc_icc bool
|
||||||
is_cc_msvc bool
|
is_cc_msvc bool
|
||||||
is_cc_clang bool
|
is_cc_clang bool
|
||||||
//
|
//
|
||||||
@ -240,6 +241,7 @@ fn (mut v Builder) setup_ccompiler_options(ccompiler string) {
|
|||||||
//
|
//
|
||||||
ccoptions.is_cc_tcc = ccompiler.contains('tcc') || ccoptions.guessed_compiler == 'tcc'
|
ccoptions.is_cc_tcc = ccompiler.contains('tcc') || ccoptions.guessed_compiler == 'tcc'
|
||||||
ccoptions.is_cc_gcc = ccompiler.contains('gcc') || ccoptions.guessed_compiler == 'gcc'
|
ccoptions.is_cc_gcc = ccompiler.contains('gcc') || ccoptions.guessed_compiler == 'gcc'
|
||||||
|
ccoptions.is_cc_icc = ccompiler.contains('icc') || ccoptions.guessed_compiler == 'icc'
|
||||||
ccoptions.is_cc_msvc = ccompiler.contains('msvc') || ccoptions.guessed_compiler == 'msvc'
|
ccoptions.is_cc_msvc = ccompiler.contains('msvc') || ccoptions.guessed_compiler == 'msvc'
|
||||||
ccoptions.is_cc_clang = ccompiler.contains('clang') || ccoptions.guessed_compiler == 'clang'
|
ccoptions.is_cc_clang = ccompiler.contains('clang') || ccoptions.guessed_compiler == 'clang'
|
||||||
// For C++ we must be very tolerant
|
// For C++ we must be very tolerant
|
||||||
@ -275,6 +277,15 @@ fn (mut v Builder) setup_ccompiler_options(ccompiler string) {
|
|||||||
}
|
}
|
||||||
optimization_options = ['-O3', '-fno-strict-aliasing', '-flto']
|
optimization_options = ['-O3', '-fno-strict-aliasing', '-flto']
|
||||||
}
|
}
|
||||||
|
if ccoptions.is_cc_icc {
|
||||||
|
if ccoptions.debug_mode {
|
||||||
|
debug_options = ['-g']
|
||||||
|
if user_darwin_version > 9 {
|
||||||
|
debug_options << '-no-pie'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
optimization_options = ['-Ofast', '-fno-strict-aliasing']
|
||||||
|
}
|
||||||
//
|
//
|
||||||
if ccoptions.debug_mode {
|
if ccoptions.debug_mode {
|
||||||
ccoptions.args << debug_options
|
ccoptions.args << debug_options
|
||||||
|
Loading…
Reference in New Issue
Block a user