Emmanuele Bassi
00e5962aaa
Add support to integer modulo operator
...
Having support for the '%' operator makes it easier to implement
even/odd version checks, like:
enable_debug = get_option('enable-debug')
if enable_debug == 'auto'
if minor_version % 2 == 0
enable_debug = 'minimum'
else
enable_debug = 'yes'
endif
endif
which would be impossible without resorting to less obvious long-hand
forms like:
a - (b * (a / b))
8 years ago
Jussi Pakkanen
c8213aaf1e
Better file existance checks.
8 years ago
Elliott Sales de Andrade
389259c229
Stop "fixing" command line in CustomTargets. ( #737 )
8 years ago
Jussi Pakkanen
fa59fa55e2
Use absolute paths for dep files in Visual Studio.
8 years ago
Elliott Sales de Andrade
0cf065e12b
Use argparse's builtin version printer.
8 years ago
Saunier Thibault
e411c0b930
Honor dependency `fallback` argument even if the dependency is not required ( #735 )
...
You can potentially have a fallback subproject and if that subproject
fails, you can continue without that dependency
8 years ago
Thibault Saunier
6c6c706bb8
gnome: Handle internal dependencies to generate gir files
8 years ago
Elliott Sales de Andrade
6475bdbe20
Properly handle Files used in CustomTarget commands.
8 years ago
Elliott Sales de Andrade
cd03df4a4c
Fix CustomTargets used as input to CustomTargets. ( #727 )
8 years ago
Elliott Sales de Andrade
38a2a636b5
Refactor DESTDIR determination into a single function.
8 years ago
Elliott Sales de Andrade
3a593d0aca
Always obey DESTDIR even with absolute install_dir.
...
Passing an absolute path to `install_dir` would previously always
attempt to install there, instead of obeying DESTDIR, since os.path.join
will 'reset' on absolute paths.
8 years ago
Elliott Sales de Andrade
181d9a891d
Ensure URLs are closed with a context manager.
8 years ago
Elliott Sales de Andrade
fe0aa7daff
Convert depfixer.Elf class into a context manager.
...
This allows for automatic closing of its internal file handle.
8 years ago
Elliott Sales de Andrade
4c71695e41
Use context manager for file I/O.
...
There are a few cases where a context manager cannot be used, such as
the logger.
8 years ago
Nirbheek Chauhan
7830cb61c3
Add a new compiler object method: has_members ( #723 )
...
* Add a new compiler object method: has_members
Identical to 'cc.has_member', except that this takes multiple members
and all of them must exist else it returns false.
This is useful when you want to verify that a structure has all of
a given set of fields. Individually checking each member is horrifying.
* Fix typo in exceptions for has_member(s)
8 years ago
Elliott Sales de Andrade
a2321b24f6
Flatten isinstance calls. ( #715 )
...
That is, isinstance(x, y) or isinstance(x, z) can be flattened with a
tuple to isinstance(x, (y, z)).
8 years ago
Jussi Pakkanen
7cd6206d9a
Check for embedded @OUTPUT@s in commands.
8 years ago
Elliott Sales de Andrade
ae12656555
Use global id instead of local for hg tag. ( #710 )
8 years ago
Elliott Sales de Andrade
b7757189e4
Echo stderr from captured command.
...
This helps with debugging if the command fails.
8 years ago
Elliott Sales de Andrade
3e09aa9f11
Don't allow @OUTPUT@ when capturing output.
8 years ago
Elliott Sales de Andrade
70d94a5550
Allow capturing command output of a custom target.
...
For commands that always output to stdout and don't have a "-o" or
"--output" or some other similar option, this 'capture' setting allows
the build to capture the result and place it in the output file.
8 years ago
Elliott Sales de Andrade
dcaf2d7b3d
Accept string exe with Backend.serialise_executable.
...
Normally, this accepts a build.Executable, but it accept
build.BuildTarget and build.CustomTarget as well. Now it will also
accept a string path.
8 years ago
Jussi Pakkanen
808451b5c7
Do not error out if git pull fails on subprojects. Closes #720 .
8 years ago
ippytraxx
9aef099bc7
'name' needs to be 'self.name' in DependencyException
8 years ago
Matthias Klumpp
d98959f2cb
Make D compilers return colored output by default
8 years ago
Matthias Klumpp
76fe77f9a8
Don't automatically override the -L flag of D compilers
...
Works around / resolves #702 .
8 years ago
Jussi Pakkanen
a52154eba5
Change default and add explanatory comment for why we do that.
8 years ago
Jussi Pakkanen
c4ade56150
Added sysconfdir option. Closes #694 .
8 years ago
Jussi Pakkanen
fae8ad90a4
Consistent kwarg popping.
8 years ago
Jussi Pakkanen
4b3414cba0
Add extra_args kwarg to glib-compile-resources. Closes #698 .
8 years ago
Jussi Pakkanen
e3783f0f59
Check input file for existance. Closes #697 .
8 years ago
Matthias Klumpp
309f7a1b4a
interpreter: Rename get_unittest_flag() to unittest_args()
8 years ago
Matthias Klumpp
12a01c26f3
trivial: Use stringlistify
8 years ago
Matthias Klumpp
b80bdf65df
Simplify D compiler argument translation
8 years ago
Jussi Pakkanen
c02a175d52
Add depfile support to generators.
8 years ago
Jussi Pakkanen
5a926172e6
No fpic on Windows C++. Closes #690 .
8 years ago
Jussi Pakkanen
3ae918a463
Add support for dependency files in custom targets.
8 years ago
Matthias Klumpp
57c54a678c
Allow build definitions to retrieve the unittest flag of a D compiler
...
D allows programmers to define their tests alongside the actual code in
a unittest scope[1].
When compiled with a special flag, the compiler will build a binary
containing the tests instead of the actual application.
This is a strightforward and easy way to run tests and works well with
Mesons test() command.
Since using just one flag name to enable unittest mode would be too
boring, compiler developers invented multiple ones.
Adding this helper method makes it easy for people writing Meson build
descriptions for D projects to enable unittestmode.
[1]: https://dlang.org/spec/unittest.html
8 years ago
Matthias Klumpp
56823272ab
Implement D support
...
This patch adds support for the D programming language[1] to Meson.
The following compilers are supported:
* LDC
* GDC
* DMD
[1]: http://dlang.org/
8 years ago
Jussi Pakkanen
36870ace0f
Document pdb insanity a bit.
8 years ago
Jussi Pakkanen
1bed33fba2
Create pdbs that work when using pch or doing extract object (sadly not both).
8 years ago
Nirbheek Chauhan
88037c4385
shared_library: Add vs_module_defs to link_depends
...
With this, if the module definitions file is edited, the shared library
and all reverse-dependencies will be re-linked.
Fixes #643
8 years ago
Jussi Pakkanen
402ef505fe
Fix unixy compilation.
8 years ago
Jussi Pakkanen
ccda29794b
Make pdb work with pch.
8 years ago
Jussi Pakkanen
b08581d394
Generate pdb files during linking.
8 years ago
Jussi Pakkanen
5e047d9c91
Write pdb info to a specific file.
8 years ago
Nirbheek Chauhan
5f3097a492
Don't add the soversion to the dylib filename on OS X
...
Doing so messes up library search with -lfoo.
See: https://github.com/mesonbuild/meson/pull/680
8 years ago
Nirbheek Chauhan
e0dcb3160a
BuildTarget: Print a better message when passing GeneratedList to 'objects' ( #681 )
8 years ago
Nirbheek Chauhan
a5e01fa155
Only append compile flags to the link flags when appropriate
...
We should only append the compiler flags to the link flags when the
compiler is used as a wrapper around the linker during the link process
8 years ago
Nirbheek Chauhan
5b7e4ac1f6
compilers: Always return a copy of the exelist
...
The consumer might append to it, which will mess up the original object
8 years ago