Age | Commit message (Collapse) | Author | Files | Lines |
|
Fix d compiler abstractions
|
|
|
|
This is the argument to name the implib when using the Visual Studio
Linker. This is needed by LDC and DMD when using link.exe or
lld-link.exe on windows, and is really a linker argument not a compiler
argument.
|
|
Emscripten does have a stand alone linker, wasm-ld. This patch adds the
linker, adds detection for the linker, and removes the IsLinkerMixin for
emscripten. This is a little more correct, and makes the code a lot
cleaner and more robust.
|
|
mesonbuild/nirbheek/implement-symbolextractor-windows
Implement symbolextractor on windows + some cleanups/fixes
|
|
This is more correct, and forces the target(s) to be rebuilt if the
PDB files are missing. Increases the minimum required Ninja to 1.7,
which is available in Ubuntu 16.04 under backports.
We can't do the same for import libraries, because it is impossible
for us to know at configure time whether or not an import library will
be generated for a given DLL.
|
|
This makes two basic changes, 1 it moves the name of the linker into the
linker class, this should reduce the number of errors and typos, and
ensure that a linker always has one name. This then renames the linkers
to have more consistent names.
Posix/gnu linkers are called ld.<name>: ld.gold, ld.lld, ld.solaris.
Apple linkers are renamed ld64.
|
|
There was a particularly old MR merged, from before the typing -> T
standardization in meson.
|
|
Fixes builds with llvm-mingw
|
|
|
|
cross-file, fixed assembly file use
|
|
This is needed for detecting data corruption, and its absence (or
an incorrect value) is also used as a hint by anti-viruses that the
binary may be malware.
Flag is only supported by MSVC `link.exe`, not `lld-link.exe`
https://docs.microsoft.com/en-us/cpp/build/reference/release-set-the-checksum
|
|
Simplifies some usage.
|
|
|
|
|
|
PE DLLs don't work like elf or mach-o, there's no way to define symbols
at run time, they must all be defined as import or export at link time.
As such there's no value in being able to have undefined symbols in
MSVC, nor does meson expose an option to change them
Fixes: #6342
|
|
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
|
|
Add a way to select the dynamic linker meson uses
|
|
initialization"
This partially reverts commit fe853ee516e1e7b392753a6e8f1f0b9cad6fb54f.
In particular this reverts the changes to the DynamicLinker __init__
methods. Frankly this is *bad* because it allows a mixin class (which
should not be directly instantiated) to be directly instantiated, and
complicates the init process. It also increases the amount of code for
zero gain, and makes the code less resilient to refactors.
|
|
Either mark the missing calls as intentional, or explicetly call
the right __init__ method and avoid mixing super() and explicit
base calss calls.
|
|
|
|
This is returning the inverse of the correct value, which happens to
work out because in general the compilers that a link.exe-like linker is
paired with accepts the same arguments.
|
|
This dumps xild on mac and linux. After a lot of reading and banging my
head I've discovered we (meson) don't care about xild, xild is only
useful if your invoke ld directly (not through icc/icpc) and you want to
do ipo/lto/wpo. Instead just make icc report what it's actually doing,
invoking ld or ld64 (for linux and mac respectively) directly. This
allows us to get -fuse-ld working on linux.
|
|
This uses the normal meson mechanisms, an LD environment variable or via
cross/native files.
Fixes: #6057
|
|
Which would not call the super() method, thus overriding the default
behavior when it should have instead extended it.
|
|
The linker implementation split up introduced a regression: since the
AppleDynamicLinker subclass doesn't expose PIE support, builds using
that feature just plainly fail.
Add back support for it using the default and supported -pie flag.
|
|
optimize intelMPI variables
mpi: extract version from non-OpenMPI wrapper
|
|
Fixes #6188
|
|
|
|
- Typos were found by codespell v1.16.0
|
|
Remove compiler type
|
|
It is perfectly valid to pass the arguments separately `-L /some/dir/`,
however, meson later groups arguments by whether they start with -L or
not, which breaks passing the -L and the directory separately.
Fixes #6003
|
|
Since cuda is currently reimplementing all of the shared methods itself,
including a bug fixed by the next patch.
|
|
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
|
|
|
|
|
|
PGI compiler fixes
|
|
|
|
|
|
Currently it retruns an empty string array.
|
|
Fixes issue #5870
|
|
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.
|
|
Before python 3.5.4 typing didn't have the NoReturn type, use a string
to forward declare it.
aside: I can't wait to be able to use python 3.7's
__future__.annotations and not have to deal wit hthis anymore.
Fixes #5822
|
|
Most of the cuda code is from Olexa Bilaniuk.
Most of the PGI code is from Michael Hirsc
|
|
|
|
A dynamic linker for solaris/opensolaris. This is still completely
untested and probably doesn't work.
|
|
|
|
|
|
|
|
|