meson/mesonbuild
Jon Turney 3fa3922cea Support implibs for executables on Windows
Add a boolean 'implib' kwarg to executable().  If true, it is permitted to
use the returned build target object in link_with:

On platforms where this makes sense (e.g. Windows), an implib is generated
for the executable and used when linking.  Otherwise, it has no effect.

(Rather than checking if it is a StaticLibrary or SharedLibary, BuildTarget
subclasses gain the is_linkable_target method to test if they can appear in
link_with:)

Also install any executable implib in a similar way to a shared library
implib, i.e. placing the implib in the appropriate place

Add tests of:
- a shared_module containing a reference to a symbol which is known (at link
time) to be provided by the executable
- trying to link with non-implib executables (should fail)
- installing the implib

(This last one needs a little enhancement of the installed file checking as
this is the first install test we have which needs to work with either
MSVC-style or GCC-style implib filenames)
2017-07-20 21:11:56 +01:00
..
backend Support implibs for executables on Windows 2017-07-20 21:11:56 +01:00
compilers Renamed test case number to avoid dupes. 2017-07-17 19:53:00 +03:00
dependencies Removed unnecessary pass statements. 2017-07-16 12:02:48 +03:00
modules i18n: Fixed gettext permitted Kwargs list 2017-07-20 12:28:45 +03:00
scripts Close files reliably. 2017-07-18 00:33:08 +02:00
wrap Whitespace tweaks to reduce Flake8 warnings 2017-05-29 19:32:47 +03:00
__init__.py Renamed meson package to mesonbuild so that we can have a script named meson in the same toplevel dir. 2016-01-16 17:35:29 +02:00
astinterpreter.py cleanup: Remove redundant parentheses 2017-01-18 21:22:47 +02:00
build.py Support implibs for executables on Windows 2017-07-20 21:11:56 +01:00
coredata.py Bump version number for new development. 2017-06-20 00:14:40 +03:00
environment.py Merge pull request #1374 from mesonbuild/simd 2017-07-19 15:50:04 +03:00
interpreter.py Turned SIMD into an unstable module. 2017-07-18 21:53:24 +03:00
interpreterbase.py Merge pull request #2017 from mesonbuild/fix2012 2017-07-02 16:33:49 -04:00
linkers.py Split linkers out from compilers.py 2017-06-22 20:09:58 +01:00
mconf.py Remove unused variables. 2017-05-17 04:41:54 -04:00
mesonlib.py Fix remaining Interpreter object leaks. 2017-07-01 02:10:02 +03:00
mesonmain.py Run postconf scripts after dumping coredata. 2017-07-15 13:47:17 +02:00
mintro.py Storage object has changed so use values(). Closes #1963. 2017-06-19 16:45:09 -04:00
mlog.py Add an option to dependencies called 'method'. This can be used to 2017-04-09 03:31:39 -04:00
mparser.py Do not permit invalid and/or nodes to be declared. Closes #1886. 2017-06-25 21:43:38 +03:00
optinterpreter.py Allow option values to contain ':' 2017-04-04 23:41:23 +05:30