Nirbheek Chauhan
22c4cd6e25
Use linked-libraries to decide what linker to use
...
Sometimes you want to link to a C++ library that exports C API, which
means the linker must link in the C++ stdlib, and we must use a C++
compiler for linking. The same is also applicable for objc/objc++ etc,
so we can keep using clike_langs for the priority order.
Closes https://github.com/mesonbuild/meson/issues/1653
8 years ago
Nirbheek Chauhan
723884a369
Expose the implementation language for external libraries
...
Ideally, all dependency objects should support this, but it's a lot of
work and isn't supported by all dependency types (like frameworks and
pkg-config), so for now just enable it for external libraries.
8 years ago
Dylan Baker
af9d1f8f15
Add a testcase for linking C and C++ static archives into a shared library
...
This exercises a regression where the C rather than C++ linker is
chosen, resulting in symbol errors.
Test for #1653
8 years ago
Nirbheek Chauhan
61ed2702bf
ninja: Don't use @file.rsp with ArLinker on Windows
...
We can't use @file.rsp on Windows with ArLinker because llvm-ar and
gcc-ar blindly pass the --plugin argument to `ar` and you cannot pass
options as arguments while using the @file.rsp syntax.
[5/7] cc @mylib@sta/libfile4.c.obj.rsp
[6/7] gcc-ar @libmylib.a.rsp
FAILED: libmylib.a
gcc-ar @libmylib.a.rsp
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/bin/ar.exe: invalid option -- @
https://github.com/mesonbuild/meson/pull/1649
https://ci.appveyor.com/project/jpakkane/meson/build/1.0.2330/job/w3hj9jfdasefsqi9
8 years ago
Nirbheek Chauhan
bf2af8b7f1
Use gcc-ar/llvm-ar as the static linker if available
...
Closes https://github.com/mesonbuild/meson/issues/1646
8 years ago
Jussi Pakkanen
1c8e9fc7ae
Stricter evaluation of deps. Closes #1648 .
8 years ago
Jussi Pakkanen
6c500fd9db
Added missing argument to a few function calls. Closes #1647 .
8 years ago
Matthias Klumpp
407130a1d2
Don't fail include_directories if the dir is only in the build path
8 years ago
Nirbheek Chauhan
a8f360c5c3
unit tests: Add a test case for LTO + static libraries
...
Tests https://github.com/mesonbuild/meson/issues/1646
8 years ago
Jussi Pakkanen
4588b91096
Print a warning on duplicated keywords.
8 years ago
Jussi Pakkanen
713ea6aa2f
Renamed test to keep numbers sequential.
8 years ago
Peter Hutterer
6a4efe8a82
Drop terminating fullstop from "Installing blah to blah" messages
...
Grammatically, this full stop isn't needed and with file names it has a
potential to be confusing:
Installing /foo/bar/filename.1 to /foo/bar/dirname.
The full stop caused me to do a double-take more than once, so let's drop it.
8 years ago
Jussi Pakkanen
0e47e74a77
Do not obliterate old rpath because it might be used due to read only data sharing. Closes #1619 .
8 years ago
Jussi Pakkanen
0e45134dee
Merge pull request #1628 from ximion/dfix
...
d: Fix linking shared libraries with DMD
8 years ago
Elliott Sales de Andrade
a57f441b37
Raise clear error if module name doesn't exist.
...
Don't raise a full backtrace.
8 years ago
Elliott Sales de Andrade
5b917a6e17
Skip all whole archive args if there aren't any.
...
No need to turn it on and off again if there's nothing requiring it.
8 years ago
Matthias Klumpp
e23c987ad2
d: Add testcase for linking multiple versioned shared libraries
8 years ago
Matthias Klumpp
52a56d441a
d: Fix linking shared libraries with DMD
8 years ago
Tim-Philipp Müller
b0576e055a
tests: skip protocol buffers test if deps are not found
8 years ago
Jussi Pakkanen
b48daeda1a
Make it possible to only do unity builds on subprojects.
8 years ago
Jussi Pakkanen
4e1249c920
Merge pull request #1549 from mesonbuild/linkwhole
...
Add option to link the entire contents of a static library to a target.
8 years ago
Wade Berrier
dcc95d7f70
dependencies: boost: use system include flag for header includes
...
... based on the compiler object
This addresses issue #1569
Need to be careful about using -isystem with the standard include
dirs (thanks to the unit tests for catching this). It may be
worthwhile trying to detect what the include dirs are.
Other dependencies (GTest) just avoid adding the include dir for those
system includes. Do the same here.
8 years ago
Jussi Pakkanen
b951e60f06
Merge pull request #1548 from ssssam/sam/stable-ordering
...
Stable ordering of some commandlines generated by 'gnome' module
8 years ago
Jussi Pakkanen
f0a077e55b
Don't close fds when executing programs
8 years ago
Jussi Pakkanen
630d7a5175
Process VS dependency string as raw bytes.
8 years ago
Rafael Fontenelle
7c43edb840
gtkdochelper: Fix type file name option
...
'gtkdoc-scangobj' script was recently ported to Python (it was Perl), and it now requires providing '--type' option to specify the name of the file to store the types in. Without this option, 'gtkdockelper' will exit with error status 2 and will throw a message "gtkdoc-scangobj: error: unrecognized arguments: <typefile>"
8 years ago
Michael Olbrich
ca894a24fc
Don't close fds when executing programs
...
Tools that execute meson might open file descriptors for the programs to
use. Such as a file descriptor for a logfile.
8 years ago
Sam Thursfield
2db11f1383
Sort user commandline options when generating 'scan-build' target
...
We receive these options from the 'argparse' module in a random
order. To ensure the build.ninja file doesn't include random variations
we should sort them before writing them back out.
8 years ago
Nirbheek Chauhan
c52963cd16
vala: Allow installation into default directories
...
For generated headers, vapis, and GIRs.
https://github.com/mesonbuild/meson/pull/1469#issuecomment-292814000
8 years ago
Jussi Pakkanen
eaaaee6421
Merge pull request #1596 from centricular/test-rebuilds
...
Test that build and custom targets are rebuilt on changes
8 years ago
Jussi Pakkanen
315a52533c
Merge pull request #1606 from dcbaker/vs_modules_defs
...
Allow passing generated files to shared_module vs_module_def. Closes #1605
8 years ago
Jussi Pakkanen
42d1661bd9
Merge pull request #1588 from absmall/method
...
Add an option to dependencies called 'method'.
8 years ago
Nirbheek Chauhan
371e3d3e87
install scripts: Actually check if it was found
...
Closes https://github.com/mesonbuild/meson/issues/1600
8 years ago
Aaron Small
1fbf6300c5
Use an enum instead of strings for method names.
...
If a non-string value is passed as a method, reject this explicitly
with a clear error message rather than trying to match with it and
failing.
8 years ago
Dylan Baker
6402a8193a
Provide nice error for invalid types to shared_library vs_module_defs
...
This just provides a nice error message for passing invalid types.
8 years ago
Dylan Baker
c49f5aefd8
Allow using generated files to shared_library vs_module_defs. Closes #1605
...
This detects and allows passing a generated file as a vs_module_def, it
also adds a testcase that tests using configure_file to generate the
.def file.
8 years ago
Nirbheek Chauhan
711c0cbd67
vs: Fix depend_files support in custom targets
...
This was totally broken and we didn't notice because we had no tests
for it at all.
8 years ago
Nirbheek Chauhan
cdae69c0f8
vs: Pretty-print all vcxproj output
...
We were more hesitant to do this earlier because it might have messed
up custom_target command lines, but since we always use a wrapper for
that now, it should be ok to do this.
Add a test in the form of a funky generator script.
8 years ago
Nirbheek Chauhan
b603aba3ec
Add tests for target and custom_target rebuild
...
Test that changing src tree headers rebuilds targets, and test that
changing any file used in a custom_target will rebuild it.
8 years ago
Jussi Pakkanen
7d5e4012fe
Merge pull request #1598 from centricular/fix-module-instdir
...
Fix shared module installation directory on Windows
8 years ago
Nirbheek Chauhan
fd030a1efd
tests/windows/7: Fix test on Cygwin
...
Not sure how this was missed.
8 years ago
Nirbheek Chauhan
878b0f1401
Fix shared module installation directory on Windows
8 years ago
Jussi Pakkanen
27e2c23efc
Colorize terminal output of mesontest. Closes #1593 .
8 years ago
Jussi Pakkanen
4c6f99a31a
Check that requested executables are available. Closes #1591 .
8 years ago
Jussi Pakkanen
0b772f37c0
Merge pull request #1575 from centricular/unit-tests-more-backends
...
Run unit tests on more backends
8 years ago
Jussi Pakkanen
1652dccea2
Merge pull request #1469 from centricular/install-secondary-outputs
...
Support multiple install dirs for built/custom targets
8 years ago
Nirbheek Chauhan
5791cb7c4b
unit tests: exe_suffix is '.exe' on Cygwin
8 years ago
Nirbheek Chauhan
a68ca716b3
appveyor.yml: Move cygwin and mingw up the list
...
They are the 'weird' platforms, so we want them to be run first.
That way we don't have to wait for all the other tests before finding
out that something broke.
8 years ago
Nirbheek Chauhan
36e8291a6a
unit tests: Run another linuxlike test on all platforms
8 years ago
Nirbheek Chauhan
4f0d42967e
tests: Move appveyor platform workaround to run_tests.py
...
This is also needed for the unit tests
8 years ago