aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/compilers/mixins
AgeCommit message (Collapse)AuthorFilesLines
2020-01-28compilers: Split ClangCL and MSVC mixinsDylan Baker1-26/+65
Instead of checking the compiler id inside the VisualStudioLikeCompiler class, this creates two subclasses that each represent the divergent behavior of the two compilers
2020-01-27Fix Sider errorsmakise-homura1-1/+1
2020-01-27Add missing functions to Elbrus compiler classmakise-homura1-0/+11
2020-01-27Fix missing 'defines' argumet for Elbrus compilermakise-homura1-1/+1
...But somehow it still remains in C++ compiler.
2020-01-08types: import typing as T (fixes #6333)Daniel Mensinger11-209/+209
2019-12-17Merge pull request #6065 from dcbaker/pass-options-to-linker-detectionJussi Pakkanen1-0/+2
Pass options to linker detection
2019-12-15default inc dirs: Fix warning on MSYS (fixes #6336)Daniel Mensinger1-5/+8
2019-12-14intel/intel-cl: handle arguments in intel-specific wayMichael Hirsch, Ph.D1-20/+38
intel compiler's defaults are different enough from MSVC and GNU that it's necessary to set specific defaults for Intel compilers. This corrects/improves behaviors initially addressed in b1c8f765fa6e2a
2019-12-12Consider compiler arguments in linker detection logicDylan Baker1-0/+2
If a user passes -fuse-ld=gold to gcc or clang, they expect that they'll get ld.gold, not whatever the default is. Meson currently doesn't do that, because it doesn't pass these arguments to the linker detection logic. This patch fixes that. Another case that this is needed is with clang's --target option This is a bad solution, honestly, and it would be better to use $LD or a cross/native file but this is needed for backwards compatability. Fixes #6057
2019-12-11Merge pull request #6207 from dcbaker/linker-optionJussi Pakkanen2-0/+8
Add a way to select the dynamic linker meson uses
2019-12-05lgtm: fix Multiple calls to __init__Daniel Mensinger1-3/+3
Some slight refactoring for the dependency classes and I switched the elbrus compiler to the GnuLikeCompiler. This is also the correct use according to the documentation of GnuLikeCompiler.
2019-12-05lgtm: Fix redundant codeDaniel Mensinger1-1/+0
2019-12-05lgtm: fix missing raiseDaniel Mensinger1-1/+1
2019-12-04intel/intel-cl: use appropriate buildtype optionsMichael Hirsch, Ph.D1-4/+39
This puts appropriate default options across buildtype for Intel and Intel-Cl compilers, for C, C++ and Fortran. Prior to this PR, the behavior of Intel compilers vs. GNUlike was not the same, in particular, debug traceback available by default for GNUlike compilers was not present with Intel compilers.
2019-12-02Allow selecting the dynamic linkerDylan Baker2-0/+8
This uses the normal meson mechanisms, an LD environment variable or via cross/native files. Fixes: #6057
2019-11-21Fix compute_int() when the value is -1Xavier Claessens1-1/+1
2019-11-18Use strict function prototypesMichael Hirsch, Ph.D1-19/+19
2019-11-06Fix typos found by codespellWolfgang Stöggl2-2/+2
- Typos were found by codespell v1.16.0
2019-10-29MSVC: support -LIBPATHAleksey Gurtovoy1-2/+4
Fixes #6101 (with a test), following up #5881
2019-10-20Fix all flake8 warningsDaniel Mensinger2-2/+1
2019-10-19Fix according to deprecation of usage of non-standard escape sequencesmakise-homura1-1/+1
2019-10-19Add a proper way to get include dirs for elbrus compilermakise-homura1-0/+13
2019-10-19Make search of library dirs correctmakise-homura1-2/+2
2019-10-18default inc dirs: fix warning for unsupporte lang (fixes #6050)Daniel Mensinger1-2/+9
2019-10-18emscripten: fix false positives in linking testsAndrei Alexeyev1-0/+13
2019-10-18Refactor duplicate Emscripten code into a mixinAndrei Alexeyev1-0/+33
2019-10-14Implement get_buildtype_linker_args in BasicLinkerIsCompilerMixinAndrei Alexeyev1-0/+3
2019-10-14Implement get_asneeded_args in BasicLinkerIsCompilerMixinAndrei Alexeyev1-0/+3
2019-10-14Implement get_linker_debug_crt_args in BasicLinkerIsCompilerMixinAndrei Alexeyev1-0/+3
2019-10-14Fix misnamed method in BasicLinkerIsCompilerMixinAndrei Alexeyev1-1/+1
get_allow_undefined_link_args is the compiler method get_allow_undefined_args is the linker method
2019-10-09Fix for issue 5355Michael Lenczewski1-0/+12
compiler.get_supported_arguments reports success for certain unsupported flags when using the gnu C/ObjC, C++/ObjC++ compilers. This fix reads the stderr on the has_arguments check to ensure the arguments really are supported and not valid for the language selection
2019-10-07compilers: replace CompilerType with MachineInfoDylan Baker7-38/+27
Now that the linkers are split out of the compilers this enum is only used to know what platform we're compiling for. Which is what the MachineInfo class is for
2019-10-03cache all gnulike_default_include_dirs invocationsDaniel Mensinger1-5/+4
2019-10-03Handle -idirafter in unix_args_to_nativeDaniel Mensinger1-0/+12
2019-09-27Correctly handle platform-specific LDFLAGS optionsAleksey Gurtovoy1-0/+12
2019-09-24CUDA support on WindowsAleksey Gurtovoy1-0/+6
2019-09-23mesonbuild: fix exception name.Jehan1-1/+1
CrossNoRunException is in compilers module, not mesonlib.
2019-09-05Merge pull request #5823 from scivision/linker-pgi-linuxJussi Pakkanen1-1/+5
PGI compiler fixes
2019-09-05mesonlib.split_args/quote_arg/join_argsAleksey Gurtovoy1-2/+1
2019-09-05PGI cannot accept -pthreadMichael Hirsch, Ph.D1-0/+4
2019-09-05PGI: use ar link wrapper on WindowsMichael Hirsch, Ph.D1-1/+1
2019-08-30compilers: Move the compiler argument to proxy linker flags to the compiler ↵Dylan Baker1-0/+4
class Instead of the DynamicLinker returning a hardcoded value like `-Wl,-foo`, it now is passed a value that could be '-Wl,', or could be something '-Xlinker=' This makes a few things cleaner, and will make it possible to fix using clang (not clang-cl) on windows, where it invokes either link.exe or lld-link.exe instead of a gnu-ld compatible linker.
2019-08-28Fix gcc include dotDylan Baker1-0/+2
2019-08-20Merge pull request #5681 from dcbaker/dynamic-linker-splitJussi Pakkanen8-373/+153
split dynamic linker representations from compilers
2019-08-20Fix CCRX linking external dependenciesPhillip Cao1-0/+2
2019-08-14compilers: Dispatch to dynamic linker classDylan Baker7-370/+26
Most of the cuda code is from Olexa Bilaniuk. Most of the PGI code is from Michael Hirsc
2019-08-14compilers/mixins: Add a module for mixins for compilers that are linkersDylan Baker1-0/+124
This is currently meant to solve problems for D's DMD compiler, however it may be useful in other cases.
2019-08-14compilers/mixins/pgi: simplify pic logicMichael Hirsch, Ph.D1-3/+3
2019-08-02Make ARM compilers work on Linux.Jussi Pakkanen1-2/+2
2019-07-30default libtype to static to allow windows compilers to not skipMichael Hirsch, Ph.D1-3/+5
To make Fortran tests useful on Windows, the library_type should default to static, unless needed to specifically test shared. Shared Fortran libs on Windows for non-Gfortran compilers is fragile requiring proprietary code syntax.