makise-homura
dd8c1d0595
Make search of library dirs correct
5 years ago
Daniel Mensinger
8b8f14c4dd
default inc dirs: fix warning for unsupporte lang ( fixes #6050 )
5 years ago
Andrei Alexeyev
0841d1710e
emscripten: fix false positives in linking tests
5 years ago
Andrei Alexeyev
50646a8723
Refactor duplicate Emscripten code into a mixin
5 years ago
Andrei Alexeyev
bd42cb965a
Fix emscripten C compiler initialization
5 years ago
Andrei Alexeyev
5dfd054c32
Workaround broken get_allow_undefined_link_args in DmdLikeCompilerMixin
...
Previously it worked by accident because BasicLinkerIsCompilerMixin had
that method misspelled.
5 years ago
Andrei Alexeyev
af2c1e4eb7
Revert "Remove BasicLinkerIsCompilerMixin from LDC and DMD"
...
This reverts commit 04d6a43945
.
5 years ago
Andrei Alexeyev
5e3eff9d72
Remove BasicLinkerIsCompilerMixin from LDC and DMD
...
These compilers invoke external linkers and have the appropriate .linker
property set. Therefore, BasicLinkerIsCompilerMixin appears to be
misplaced.
It used to work by chance, because BasicLinkerIsCompilerMixin failed to
override the get_allow_undefined_link_args method. The D compilers do
not provide their own get_allow_undefined_link_args, because they expect
to inherit it from Compiler, which simply delegates it to the linker.
Now that BasicLinkerIsCompilerMixin correctly overrides that method with
a stub, it broke compilers that relied on the buggy behavior.
5 years ago
Andrei Alexeyev
dd162dccaa
Implement get_linker_output_args in Emscripten compilers
5 years ago
Andrei Alexeyev
c20d40789b
Implement get_buildtype_linker_args in BasicLinkerIsCompilerMixin
5 years ago
Andrei Alexeyev
062a510a30
Implement get_asneeded_args in BasicLinkerIsCompilerMixin
5 years ago
Andrei Alexeyev
f347a980fe
Implement get_allow_undefined_link_args in EmscriptenCPPCompiler
5 years ago
Andrei Alexeyev
31b8ddab51
Implement get_allow_undefined_link_args in EmscriptenCCompiler
5 years ago
Andrei Alexeyev
0845b7dd3d
Implement get_linker_debug_crt_args in BasicLinkerIsCompilerMixin
5 years ago
Andrei Alexeyev
9488e4acfe
Fix misnamed method in BasicLinkerIsCompilerMixin
...
get_allow_undefined_link_args is the compiler method
get_allow_undefined_args is the linker method
5 years ago
Ting-Wei Lan
9f0f595b35
compilers: Fix version requirements for ClangC and AppleClangC
...
Commit ff4a17dbef
modified the version
requirements wrongly. AppleClangC should be the one with higher version
numbers. Exchange them to fix the check.
5 years ago
Michael Hirsch, Ph.D
17f766105f
intel-cl: correct argument order
5 years ago
Michael Lenczewski
763c1e3280
Fix for issue 5355
...
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
5 years ago
Dylan Baker
afbed79baa
compilers: replace uses of mesonlib.is_<os>() with self.info.is_<os>()
...
Since these are cross compilation safe, while the former is not.
5 years ago
Dylan Baker
0c22798b1a
compilers: replace CompilerType with MachineInfo
...
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
5 years ago
Dylan Baker
ff4a17dbef
compilers: Add a specific type for AppleClangC
...
This allows us to detect use classes rather than methods to determine
what C standards are available.
5 years ago
Daniel Mensinger
8103af1d76
cmake: fix detection of libraries with .so version
5 years ago
Daniel Mensinger
66c129c52f
cache all gnulike_default_include_dirs invocations
5 years ago
Daniel Mensinger
b1b8a7a7e3
Use -isystem instead of -idirafter
5 years ago
Daniel Mensinger
c6938bd579
Handle -idirafter in unix_args_to_native
5 years ago
Aleksey Gurtovoy
7dbabdc7b6
Correctly handle platform-specific LDFLAGS options
5 years ago
Aleksey Gurtovoy
6ac5db50c9
CUDA support on Windows
5 years ago
Jehan
179861ccd1
mesonbuild: fix exception name.
...
CrossNoRunException is in compilers module, not mesonlib.
5 years ago
Dylan Baker
4030ee4b6f
the solaris linker also needs start/end-group for circular linking
5 years ago
Nguyen, Giang (G. Yakiro)
333f77ad3d
fix objc freestanding sanitycheck
5 years ago
Aleksey Gurtovoy
75daed27bc
mesonlib.split_args/quote_arg/join_args
5 years ago
Michael Hirsch, Ph.D
b9af8f8b6b
PGI cannot accept -pthread
5 years ago
Michael Hirsch, Ph.D
c8d380e4ef
PGI: use ar link wrapper on Windows
5 years ago
Kramer Peace
caec875fe1
Create CUDA linker with CUDA compiler
...
Since they are laways paired there is no need to "search" for the cuda
linker.
5 years ago
Kramer Peace
fb9a5ce867
Add a CUDA linker object
...
Fixes issue #5870
5 years ago
Dylan Baker
0efab591da
compilers: Move the compiler argument to proxy linker flags to the compiler 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.
5 years ago
Dylan Baker
ba4324ab9d
Fix gcc include dot
5 years ago
Phillip Cao
0384487fc5
Fix CCRX linking external dependencies
5 years ago
Jussi Pakkanen
80ef6fd69f
Pass optimization flags to rustc properly. Closes : #5788 .
5 years ago
Dylan Baker
06dcbd50ee
compilers: Dispatch to dynamic linker class
...
Most of the cuda code is from Olexa Bilaniuk.
Most of the PGI code is from Michael Hirsc
5 years ago
Dylan Baker
38d588bc6e
compilers/mixins: Add a module for mixins for compilers that are linkers
...
This is currently meant to solve problems for D's DMD compiler, however
it may be useful in other cases.
5 years ago
Dylan Baker
b0f4ee2f94
compilers/rust: Proxy extra kwargs to Compiler.__init__
5 years ago
Dylan Baker
18b1bf9292
compilers: Make MSVClike compilers proxy extra keyword arguments
5 years ago
Dylan Baker
16e04a9bde
compilers/fortran: Make ifort (windows) proxy extra args to Compiler
5 years ago
Dylan Baker
61255eca16
compilers/cuda: pass through extra kwargs
5 years ago
Dylan Baker
1f66e6708b
compilers/swift: Pass extra args to the Compiler constructor
5 years ago
Dylan Baker
b5c76a6c02
compilers/fortran: fix ifort (linux, mac) dependency generation
...
Ifort can generate dependency information (.d files), it just does it
differently than GNU compilers do. This also fixes a bug caused by
adding the dependency generation commands to the GNULike class later in
this series.
5 years ago
Dylan Baker
e7db288e19
compilers/objc[pp]: Pass extra keyword arguments to Compiler constructor
5 years ago
Dylan Baker
499c44dc77
compilers/cuda: don't use re for replacement
...
Even with the check (for extra safety) string.replace is more than twice
as fast.
5 years ago
Michael Hirsch, Ph.D
f5f7a7bbb3
compilers/mixins/pgi: simplify pic logic
5 years ago