Commit Graph

814 Commits

Author SHA1 Message Date
Jussi Pakkanen e7eb387da8 Be more general in description. [skip ci] 2018-07-31 19:40:34 +03:00
Nirbheek Chauhan a2dab5439c custom targets: Add a 'console' kwarg for long-running commands
Ninja buffers all commands and prints them only after they are
complete. Because of this, long-running commands such as `cargo
build` show no output at all and it's impossible to know if the
command is merely taking too long or is stuck somewhere.

To cater to such use-cases, Ninja has a 'pool' with depth 1 called
'console', and all processes in this pool have the following
properties:

1. stdout is connected to the program, so output can be seen in
   real-time
2. The output of all other commands is buffered and displayed after
   a command in this pool finishes running
3. Commands in this pool are executed serially (normal commands
   continue to run in the background)

This feature is available since Ninja v1.5

https://ninja-build.org/manual.html#_the_literal_console_literal_pool
2018-07-31 19:38:54 +03:00
Tanu Kaskinen a5d0a501fd [skip ci] Typo fix in Build-options.md: "option" -> "description" 2018-07-31 19:12:18 +03:00
Jussi Pakkanen b293f7bd2c Replace long obsolete find_dep with dependency in docs. [skip ci] 2018-07-29 23:53:24 +03:00
Khem Raj 6fafbad6d5 mesonbuild: Recognise risc-v architecture
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-07-21 22:02:25 +03:00
Jussi Pakkanen 306fa07f62
Merge pull request #3893 from FFY00/master
Add dlang module (dub support)
2018-07-21 02:46:11 +03:00
Jussi Pakkanen f67630d26c Removed extra parentheses. [skip ci] 2018-07-20 18:40:58 +03:00
Jussi Pakkanen f390a0a2f3
Merge pull request #3814 from behlec/configure-file-output
Check if calls to configure_file write to the same output file.
2018-07-19 01:17:34 +03:00
FFY00 0173b2457d
docs: fix dlang module documentation 2018-07-17 23:46:13 +01:00
♫ Christian Krause ♫ c3e68189cd docs: adds a non-docker travis example (#3883) [skip ci] 2018-07-13 07:16:03 -07:00
Daniel Schulte 6de9ebb10f Add Arduino ESP8266 sample project to Users.md 2018-07-11 22:25:26 +03:00
TingPing 544164b151
docs: Minor clarifications of gnome.compile_resources
This was causing confusion for a user about the fact any directory can be passed
2018-07-11 15:36:24 +02:00
gadic 28a2e658f8 docs: sources changed into sourcelist (#3855) [skip ci] 2018-07-09 07:09:54 -07:00
Nirbheek Chauhan 78f1ef85fd
Add missing method on external library object: type_name() (#3845)
For some reason this was missing, but it should've always existed
since cc.find_library() returns an object that is internally an
ExternalDependency instance.
2018-07-08 10:58:07 -07:00
Christoph Behle 2428b388db Document options for meson
Document what waring_level 1,2,3 means.
Test if markdown files are in sitemap
Add Builtin-options.md to sitemap.txt

Builtin-options.md:
  Fix tables in Builtin-options.md
  Add documentation for warning options
  Added more options to doc

General documentation:
  Add link to Builtin-options
  Remove obsolete file

Testing:
  Add function test_markdown_files_in_sitemap.
  Checks if each markdown file is contained in sitemap.txt
2018-07-08 10:56:37 -07:00
Christoph Behle 9cf38700d8 Add release snippet 2018-07-07 21:20:23 +02:00
Ross Burton e3e2e4ca14 Canonicalise 64-bit PowerPC CPU families to "ppc64"
Instead of exposing the endianness in the CPU family, canonicalise the CPU
family to just "ppc64" to match MIPS (which is also bi-endian).

Part of the work for #3842.
2018-07-07 11:47:42 +03:00
Nirbheek Chauhan a37c31e8a3 Reference-manual.md: Document find_library().partial_dependency() [skip ci]
+ typos.
2018-07-06 19:14:21 +05:30
Nirbheek Chauhan b1901f315d
Builtin-options.md: broken markdown [skip ci] 2018-07-06 11:09:01 +05:30
Nirbheek Chauhan 8e84b13850 meson.add_install_script: Move notes section up [skip ci]
The notes section of add_install_script somehow got separated, which
meant that no one reads it anymore.

Also rephrase it a bit to clarify that scripts *MUST* handle DESTDIR
correctly to mirror what Meson does, and how.
2018-07-05 19:01:46 +00:00
Jon Turney b387ab1ee1 Fix flake8 issues (#3834)
* Fix flake8 whitespace reports

$ flake8 | grep -E '(E203|E221|E226|E303|W291|W293)'
./mesonbuild/coredata.py:337:5: E303 too many blank lines (2)

* Fix flake8 'variable assigned value but unused' reports

$ flake8 | grep -E F841
./mesonbuild/modules/gnome.py:922:9: F841 local variable 'target_name' is assigned to but never used

* Fix flake8 'imported but unused' reports

$ flake8 | grep F401
./mesonbuild/compilers/__init__.py:128:1: F401 '.c.ArmclangCCompiler' imported but unused
./mesonbuild/compilers/__init__.py:138:1: F401 '.cpp.ArmclangCPPCompiler' imported but unused
./mesonbuild/modules/__init__.py:4:1: F401 '..mlog' imported but unused

PR #3717 imports ARMCLANG compilers in __init__, but does not add them to
__all__, so they are not re-exported by the compilers package like
everything else.

* More details about flake8 in Contributing.md

Mention that Sider runs flake8
Suggest seting flake8 as a pre-commit hook
2018-07-05 18:08:04 +00:00
Stephen Gallagher 70bc754a2c Add libmodulemd to the Users list (#3827) [skip ci]
libmodulemd is a GObject Introspected C library using meson to build and generate gtk-doc HTML.
2018-07-03 16:58:42 +00:00
Nirbheek Chauhan d58379abbe
Users.md: Add libmodulemd [skip ci] 2018-07-03 22:26:55 +05:30
Nirbheek Chauhan 8aba4aa2d7 0.47 release notes: Document polkit support [skip ci] 2018-07-03 03:12:55 +05:30
Nirbheek Chauhan c47c7105cc 0.47 release notes: Fix syntax, rephrase confusing sections [skip ci] 2018-07-03 01:51:54 +05:30
Jussi Pakkanen 5d08219464 Update everything for new release. 2018-07-02 20:50:56 +03:00
Jussi Pakkanen 1c44afdeed
Merge pull request #3823 from mesonbuild/nirbheek/fix-featurenew-subprojects
Nirbheek/fix featurenew subprojects
2018-07-02 20:37:59 +03:00
Jussi Pakkanen 1ec3c79056 Documentation cleanup. [skip ci] 2018-07-02 20:35:00 +03:00
Nirbheek Chauhan d6a9b4cc79 Contributing.md: Document procedure for new features [skip ci] 2018-07-02 19:52:53 +05:30
Nirbheek Chauhan 6bdacba001
Getting-meson.md: Fix incorrect image link [skip ci] 2018-07-01 18:58:23 +05:30
Jussi Pakkanen 76184bb6b8 Document merge workflow for contributors and maintainers. [skip ci] 2018-07-01 01:11:40 +03:00
Alberto Sartori 5715284177 add documentation of meson test --print-errorlogs (#3809) [skip ci] 2018-06-29 13:00:19 +00:00
Dylan Baker f3a8f9c34d Options: treat array option -Dopt= and -Dopt=[] as equivalent
Currently the former will be parsed as [''], while the latter is parsed
as [] in python. This makes for some obnoxious special handling
depending on what the user passes. This is even more obnoxious since for
string type arguments this doesn't require special handling.
2018-06-29 10:56:25 +00:00
Jon Turney 8b12a71f22 Refine documentation for build_always [skip ci]
We mention this is equivalent to setting both build_by_default and
build_always_stale in the release note, and in the warning emitted when it's
used, but not in the reference manual.
2018-06-26 23:05:01 +03:00
Jussi Pakkanen 87871e7b95 Update documentation about compiler envvars and cross files. [skip ci] 2018-06-24 21:19:49 +03:00
Alexandre Franke 2aa77c545b Write GNOME all uppercase
GNOME (all caps) is a registered trademark
2018-06-24 21:19:26 +03:00
Alexandre Franke 4378d58a4f Add Fractal 2018-06-24 21:19:26 +03:00
Vasu Penugonda 7140afc0a8 Added ARMCLANG compiler support for C/C++ (#3717) 2018-06-21 00:55:39 +03:00
Jussi Pakkanen f3c01a3c4f
Merge pull request #3590 from mesonbuild/testcommand
Made install a top level Meson command.
2018-06-21 00:53:54 +03:00
Jussi Pakkanen c6431fe47e Added documentation. 2018-06-20 20:38:26 +03:00
Nirbheek Chauhan 86684ad798 Document environment() append/prepend/set with multiple values [skip ci]
Fixes https://github.com/mesonbuild/meson/issues/3761
2018-06-20 13:27:23 +00:00
Ross Burton ecde1789b2 Validate cpu_family (#3753)
* environment: validate cpu_family in cross file

* run_unittests: add unittest to ensure CPU family list in docs and environment matches

* run_unittests: skip compiler options test if not in a git repository

* environment: validate the detected cpu_family

* docs: add 32-bit PowerPC and 32/64-bit MIPS to CPU Families table

Names gathered by booting Linux in Qemu and running:

$ python3
import platform; platform.machine()

Partial fix for #3751
2018-06-20 12:45:44 +00:00
FFY00 dddc1a527a
dependencies: don't search for dependency with pkgconfig if dub was specified 2018-06-18 14:11:51 +01:00
Jon Turney c0f59399e4 Add a depends: keyword to windows.compile_resources()
Expose depends: from the custom_target this creates.
2018-06-18 10:52:21 +00:00
Nirbheek Chauhan c9a89027ac run_command: Add new kwarg 'capture'
capture: false means we won't try to read the stdout at all.

Closes https://github.com/mesonbuild/meson/issues/3364
2018-06-18 10:51:46 +00:00
Alex Hirsch cbe18e01e4 Deprecate `build_always`, add `build_always_stale`
Since `build_always` also adds a target to the set of default targets,
this option is marked deprecated in favour of the new option
`build_always_stale`.

`build_always_stale` *only* marks the target to be always considered out
of date, but does *not* add it to the set of default targets.

The old behaviour can still be achieved by combining
`build_always_stale` with `build_by_default`.

fixes #1942
2018-06-18 10:49:40 +00:00
Xavier Claessens e565945253 Add UserFeatureOption type
This is a special type of option to be passed to most 'required' keyword
arguments. It adds a 3rd state to the traditional boolean value to cause
those methods to always return not-found even if the dependency could be
found.

Since integrators doesn't want enabled features to be a surprise there
is a global option "auto_features" to enable or disable all
automatic features.
2018-06-18 04:57:32 +00:00
FFY00 a477737637
docs: add documentation related to dub and the dlang module 2018-06-17 22:35:22 +01:00
Jon Turney 8d5361bb1d Wrap a line in a way that doesn't break link [skip ci] 2018-06-17 15:26:11 +03:00
Jon Turney 2cb6bb1cf9 Fix header level of pcap [skip ci] 2018-06-17 15:26:11 +03:00
Jon Turney 77d872a35e Improve documentation of case-(in)senstivity of dependency names [skip ci] 2018-06-17 15:26:11 +03:00
Christoph Behle b08902a60f Improved documentation.
Added entry to release notes.
Added note to documentation, regarding from which version on the
behavior is changed.
2018-06-12 00:14:54 +00:00
Christoph Behle 219fcfad14 Document change in reference manual. 2018-06-12 00:14:54 +00:00
Niklas Claesson 14716ea90c Visual Studio: Implement startup project 2018-06-10 23:36:54 +03:00
Nirbheek Chauhan 26e11f5fd8 Add missing FeatureNew for libwmf dependency
Also add it to the release notes for the 0.44 release.

https://github.com/mesonbuild/meson/pull/3709#issuecomment-395738573
2018-06-10 23:26:07 +03:00
Jon Turney d47ece391a Document version when custom detectors were added [skip ci] 2018-06-10 01:47:51 +00:00
Jon Turney 2e29f37b0e Document values for dependency(method:) [skip ci]
We say 'different dependencies support different values for this', but
nowhere document what values are supported, so the only way to find these
out is to read the source, or guess. Make a start at doing that.
2018-06-10 01:47:51 +00:00
Jon Turney c2cb2f5c1c Alphabetize custom dependencies [skip ci] 2018-06-10 01:47:51 +00:00
Jon Turney 7529606f4c Correct the name of the libwmf dependency [skip ci]
q.v. dependencies/__init__.py#L41
2018-06-10 01:47:51 +00:00
Sander Sweers ec616c2aa5 configure_file: Add release snippet for encoding keyword 2018-06-09 18:17:48 +00:00
Sander Sweers 38fa281448 Add new encoding keyword for configure_file to manual
Also add a section how to deal with file encodings.
2018-06-09 18:17:48 +00:00
Robert Ancell 6461d4cda2 docs: Add release notes for new gnome.gdbus_codegen keywords 2018-06-08 12:36:50 +00:00
Robert Ancell 375dcd546a gdbus_codegen: Support --c-generate-autocleanup 2018-06-08 12:36:50 +00:00
Robert Ancell 83665a482a gdbus_codegen: Support arbitrary extra arguments 2018-06-07 15:14:07 +00:00
Jon Turney 1f5c6d62bf More clearly explain portability issues with linking to a module
Refine #3277

According to what I read on the internet, on OSX, both MH_BUNDLE (module)
and MH_DYLIB (shared library) can be dynamically loaded using dlopen(), but
it is not possible to link against MH_BUNDLE as if they were shared
libraries.

Metion this as an issue in the documentation.

Emitting a warning, and then going on to fail during the build with
mysterious errors in symbolextractor isn't very helpful, so make attempting
this an error on OSX.

Add a test for that.

See also:
https://docstore.mik.ua/orelly/unix3/mac/ch05_03.htm
https://stackoverflow.com/questions/2339679/what-are-the-differences-between-so-and-dylib-on-osx
2018-06-07 12:57:39 +00:00
Xavier Claessens b7d442150d Move <lang>_args to coredata.compiler_options 2018-06-06 20:02:37 +00:00
Yudi Matsuzake 4ee07dd165 docs: Fix dictionary syntax [skip ci] 2018-06-06 18:18:23 +00:00
Nirbheek Chauhan 0565262be3 Add documentation for Builtin options and bitcode
Also add a test that ensures that new base options and compiler options
are always documented.
2018-06-06 07:53:10 +00:00
Nirbheek Chauhan c3ffc1a249 docs: Add a release notes snippet about FeatureNew 2018-06-05 15:57:57 +00:00
Jon Turney 7a15214a69 Have the windows.resource_compiler() preprocesor write a depfile
When using binutils's windres, we can instruct it to invoke the preprocessor
in such a way that it writes a depfile, so that dependencies on #included
files are automatically tracked.

Not implemented for MSVC tools, so skip testing it in that case.
2018-06-03 21:06:23 +00:00
Jon Turney 7e08e958c0 Allow substitutions in custom_target() depfile:
Allow substitutions in custom_target() depfile: as well as in command:
2018-06-03 21:06:23 +00:00
Jon Turney 50aabc0129 Document @PLAINNAME@ and @BASENAME@ substitutions in custom_target(command:)
Since f3ff8fe6 (0.39.0), this has a common implementation with the same
substitution in generators, but I think they existed earlier.

@BASENAME@ is used internally by the custom target generated by
windows.compile_resources()
2018-06-03 21:06:23 +00:00
Nirbheek Chauhan 0b9162c08d docs: Add a section about the MSI installer [skip ci] 2018-06-03 18:59:24 +00:00
Nirbheek Chauhan fbc7160214 docs: Expand section on how to install Python3 and Meson
With screenshots!
2018-06-03 18:59:24 +00:00
Filipe Brandenburger 968f2c63af Add release-notes snippet for the extended install_mode 2018-06-02 04:50:32 +00:00
Filipe Brandenburger 73decf31f1 Update reference manual to include 'install_mode' where supported 2018-06-02 04:50:32 +00:00
Jon Turney 7a48f6dfcd Clarify how Windows resource compiler uses the include path 2018-06-01 20:21:09 +00:00
Jon Turney aa27f7cec9 Add a depend_files: keyword to windows.compile_resources()
Expose depend_files: from the custom_target this creates.

This is the change suggested in #2815, with tests and documentation added.

Fixes #2789 (duplicate #2830)
2018-06-01 20:21:09 +00:00
Mathieu Duponchelle 14750b50ea configure_file: Add output_format kwarg (#3636)
* configure_file: Add output_format kwarg

* docs: Reference-manual.md output_format was added in 0.47 [skip ci]
2018-06-01 17:53:07 +00:00
Dylan Baker 17cb364046 [skip ci] docs: cross reference tables from manual (#3656)
* docs/reference-manual: link to references tables

Currently the reference manual entries for *machine.cpu_family() and
*machine.system() have incomplete (and wrong) information. Rather than
continue to duplicate this information just link to the reference
tables.

* docs/Reference-manual: fix link target

The IDs in hotdoc are always lowered, so this pointed to the right page,
but didn't go to the heading.

* docs/Reference-manual: link compiler.get_id directly to tables

Currently it goes round about to an entry that doesn't add much
information and points to the reference table. Instead just point to the
reference table.
2018-06-01 15:19:36 +00:00
Dylan Baker 583e9c4af6 docs: Update cpu families (#3651) [skip ci]
Add several archs to the CPU family table

ppc64, ppc64le, Itanium,HP PA-RISC, sparc v9 (64 bit)

This covers most of the sparc systems in use today.
2018-06-01 11:31:38 +00:00
Jon Turney 0092e6d908 Mention private_headers keyword in Qt dependency documentation [skip ci]
Also, put discussion of Qt dependencies *before* the example in the Qt5
module documentation.
2018-05-31 13:15:47 +00:00
Jon Turney 809336833c Improve dependency() documentation [skip ci]
Mention that the dependency name will also be searched for as a framework on
OSX.

Note that additional dependency-specific keywords may be used by custom
dependency lookup.
2018-05-31 13:15:47 +00:00
Jon Turney 82c81a5d82 Document OpenMP dependency [skip ci]
PR #1852 only adds mention of this to the release note.

I think it's useful to have a list of all dependency names which are treated
specifically in Dependency.md, so add 'thread' and 'openmp'.
2018-05-31 13:15:47 +00:00
Nirbheek Chauhan 27b290d6df Add check_header to Reference manual and release notes [skip ci] 2018-05-30 15:25:39 +05:30
Nirbheek Chauhan c87c42b736
Document how to set the default name_prefix and name_suffix [skip ci]
Else people (like me) try to use the old behaviour where
setting it to `''` would use the default.

https://gitlab.gnome.org/GNOME/glib-networking/issues/33
2018-05-30 13:27:24 +05:30
Jussi Pakkanen cc3e0bc469
Merge pull request #3491 from jeandet/qt_private_headers
Qt private headers
2018-05-27 23:50:30 +03:00
Michael Mera 1ff15f527b Make install doc less surprising for new users [skip ci] 2018-05-27 23:49:16 +03:00
Alexis Jeandet 7cfe970cef [Qt module] private_headers kwarg documentation reformulation
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
2018-05-27 21:20:42 +02:00
Jussi Pakkanen 41ab5166e4
Merge pull request #3476 from filbranden/intbase1
Add support for octal and binary int literals
2018-05-24 22:21:40 +03:00
Aleksey Filippov 5f5360470f Clarify that configuration_data()'s copy is immutable 2018-05-24 22:19:22 +03:00
Filipe Brandenburger 5572bbc6cc Document octal and binary integer literals in syntax.
Also add a release notes snippet for it.
2018-05-23 14:07:56 -07:00
Jussi Pakkanen 55a0831bc3
Merge pull request #3383 from mesonbuild/nirbheek/configure-file-nodata
configure_file: Add a new action 'copy'
2018-05-22 21:09:19 +03:00
Jussi Pakkanen 9ecd92c6fe
Merge pull request #3490 from MathieuDuponchelle/dict_builtin
Add new built-in type, dict
2018-05-22 20:46:26 +03:00
Jussi Pakkanen f4194d4dbc
Merge pull request #3523 from taisei-project/run_command_check
Add 'check' kwarg for run_command
2018-05-22 20:34:45 +03:00
randy408 710a3f7f20 Update Users.md 2018-05-22 20:29:56 +03:00
Andrei Alexeyev 2e2d14c9d7
Update documentation for run_command [skip ci] 2018-05-22 04:45:40 +03:00
Andrei Alexeyev d72f9a3e0f
Add 'check' kwarg for run_command
Closes #3516
2018-05-22 04:45:31 +03:00
Mathieu Duponchelle fe6fc59ee7 dict: add since annotations 2018-05-22 00:17:42 +02:00
Nirbheek Chauhan 4b9393e165 docs: Add manual entry for configure_file copy kwarg 2018-05-22 02:37:07 +05:30
Mathieu Duponchelle 10e7566ed8 dict: fix CI issues 2018-05-21 00:19:31 +02:00
Mathieu Duponchelle 1de7dce414 dict: Document, add release snippet 2018-05-20 22:39:33 +02:00
Nirbheek Chauhan e9a181a545
docs: Add a warning about find_program().path()
See: https://github.com/mesonbuild/meson/issues/3552
2018-05-09 18:30:00 +05:30
Nirbheek Chauhan 0eb4423b85
subprojects.md: document --wrap-mode
Closes https://github.com/mesonbuild/meson/issues/3534
2018-05-09 14:54:26 +05:30
Nirbheek Chauhan 43f9318afa
Reference-manual: compiler checks
Document that compiler checks are self-contained and
do not add arguments from anywhere else.
2018-05-09 14:43:08 +05:30
Roy Buitenhuis 554266d6f2 docs: Added reference to pkg-config module page [skip ci] 2018-05-02 11:46:13 +00:00
Alexis Jeandet bfcd71cecb [skip ci] fixed broken link to repoinit.py script in wrap documentation
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
2018-05-01 20:18:15 +03:00
Alexis Jeandet f3a8efc11b Added Added Qt's private header support with pkg-config
Just use the same approach than qmake to generate private headers path

Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
2018-04-30 11:43:54 +02:00
Alexis Jeandet 51868d00e7 [Qt module] Privates headers: added documentation
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
2018-04-28 17:45:23 +02:00
Jussi Pakkanen 9b0453d3e9
Merge pull request #3225 from filbranden/fixperms3
Introduce install_umask to determine permissions of files in install tree. Default it to 022
2018-04-26 23:14:00 +03:00
Jussi Pakkanen 0af029e08c Wrap-git files can have tags as well as commit ids. [skip ci] 2018-04-25 21:01:59 +03:00
Nirbheek Chauhan eb6b56216c
Tweak some 0.46 release note language [skip ci] 2018-04-24 08:21:37 +05:30
Nirbheek Chauhan 63b4cd5f6d
Users.md: Add bolt [skip ci] 2018-04-24 08:07:20 +05:30
TingPing c57b159495
docs: Fix syntax highlighting in 0.46.0 notes 2018-04-23 16:00:45 -04:00
Jon Turney 20088c22e9 Fix section headers in 0.46 release note [skip ci] 2018-04-23 22:42:39 +03:00
Jussi Pakkanen ade59f987f Updated version number for new release. 2018-04-23 03:24:26 +03:00
Jussi Pakkanen 04952fe220
Merge pull request #3446 from MathieuDuponchelle/python_module_with_doc
modules/python: add some more options around path and config_vars
2018-04-22 18:55:30 +03:00
Mathieu Duponchelle 709e2bd70d Python module: update documentation for new API 2018-04-22 01:06:36 +02:00
Nirbheek Chauhan a5b99dce5d Add more tests for multi-line strings and update docs 2018-04-21 22:57:19 +03:00
Nirbheek Chauhan 2993eaf884 docs: Update gnome.gdbus-codegen docs 2018-04-20 18:24:18 +00:00
Xavier Claessens 9a82b0136a extract_all_objects: Add 'recursive' keyword argument
To maintain backward compatibility we cannot add recursive objects by
default. Print a warning when there are recursive objects to be pulled
and the argument is not set. After a while we'll do pull recursive
objects by default.
2018-04-18 14:54:52 -04:00
Filipe Brandenburger a98e9a1b70 Add release-notes snippet for install_umask 2018-04-18 11:44:54 -07:00
Jussi Pakkanen 628f910760
Merge pull request #3314 from sarum9in/test_depends
Add test(depends) keyword parameter
2018-04-18 00:40:52 +03:00
Dylan Baker 92487ea33d Add partial_dependency method to dependencies
This adds a new method, partial_dependency to all dependencies. These
sub dependencies are copies of the original dependency, but with one or
more of the attributes replaced with an empty list. This allows creating
a sub dependency that has only cflags or drops link_arguments, for
example.
2018-04-17 23:33:31 +03:00
Jussi Pakkanen 1952ef5ae1
Merge pull request #3243 from dcbaker/accept-d-setup
Accept -D for meson level options durring initial configuration
2018-04-17 23:29:15 +03:00
Jussi Pakkanen 8ee1e49ae6
Merge pull request #3353 from xclaesse/has-link-argument
Add has_link_argument() and friends
2018-04-17 23:26:53 +03:00
Jussi Pakkanen 3fc1ca8687
Merge pull request #3240 from MathieuDuponchelle/python_module
Implement a generic python module
2018-04-17 23:17:43 +03:00
Jussi Pakkanen 88ca3805e7
Merge pull request #1852 from QuLogic/openmp
Add an OpenMP dependency.
2018-04-17 21:39:13 +03:00
Dylan Baker 1c48cc08e0 mconf: accept -- options like `meson` does
I'm not really happy about this to be honest, I don't like having both
-- and -D options, I think it's stupid to have two ways to do exactly
the same thing, especially since we then have to validate that someone
hasn't passed the argument both ways.

However, other people want this, so here it is.

Fixes #969
2018-04-17 11:32:26 -07:00
Dylan Baker 78e37c4953 Accept builtin options with -D when making initial meson call
Currently meson only accepts `-Dopt=value` for builtin options when
calling `meson configure` and `--opt=value` for builtin options when
calling `meson` initially. This is a confusing behavior, and users only
get a small warning at the top of a potentially long configuration
summary to catch this.

This has confused end users and developers alike, there are at least 5
duplicates of the bug this fixes, and I have personally been asked about
this more times than I can count. The help documentation doesn't make
it clear that -D cannot be used to set options like prefix and bindir.

This adds support for -D options to the initial meson call, but not --
options to the meson configure call. I think it's better to have one way
to do things, and -- options are kinda one off while -D is used
everywhere else, so lets stick with that.

Related #969
2018-04-17 11:32:26 -07:00
Niklas Claesson b42dd7df0a Add release snippet 2018-04-17 09:55:34 +00:00
Tim 'mithro' Ansell 36aab0f4b2 Complete python escape sequences aware strings
Fixes #3169
2018-04-17 09:55:34 +00:00
Elliott Sales de Andrade 46ccbe48e7 Add release note for OpenMP dependency. 2018-04-17 02:04:39 -04:00
Xavier Claessens bd37afeeea Add has_link_argument() and friends
Closes: #3335.
2018-04-16 19:14:02 -04:00
Aleksey Filippov a64d16c6bb Add build snippet for non-unique-target-names feature 2018-04-16 23:18:26 +01:00
Jussi Pakkanen c58dd64f8e Merged Arm CC support. 2018-04-16 23:02:09 +03:00
Jussi Pakkanen 0e00470d8c
Merge pull request #3218 from mesonbuild/findoverrider
Make it possible to override find_program [skip ci]
2018-04-16 22:22:02 +03:00
Marvin Scholz eadaf92794 Docs: Mention important macOS caveat about function detection [ci skip] 2018-04-16 02:36:53 +00:00
Jussi Pakkanen 86f725c1e5
Merge pull request #3115 from makise-homura/e2k-lcc-support
Support lcc compiler for e2k (Elbrus) architecture
2018-04-15 17:18:44 +03:00
Nirbheek Chauhan 0e6a332d0c Document that override_find_program works on configure_file [skip ci]
Also link to the release notes snippet from the Reference manual
2018-04-15 13:32:38 +05:30
Jussi Pakkanen f489aa77e5 Added documentation [skip ci] 2018-04-15 13:32:38 +05:30
Martin Hostettler 3f7c6cf3d6 Improve generation of pkg-config files for static only libraries.
Previously pkg-config files generated by the pkgconfig modules for static libraries
with dependencies could only be used in a dependencies with `static: true`.

This was caused by the dependencies only appearing in Libs.private even
if they are needed in the default linking mode. But a user of a
dependency should not have to know if the default linking mode is static
or dynamic; A dependency('somelib') call should always pull in all
needed pieces into the build.

Now for meson build static libraries passed via `libraries` to the generate
method automatically promote dependencies to public.
2018-04-14 23:43:29 +03:00
Jussi Pakkanen 2a70327f1d
Merge pull request #2930 from inigomartinez/gdbus-targets
gnome: Split header and code targets in gdbus_codegen()
2018-04-14 22:35:01 +03:00
Alberto Sartori 717f7db67e improve suite of meson test (#3369) 2018-04-14 22:17:02 +03:00
TingPing c04862e24c
docs: Fix syntax highlighting in release notes 2018-04-12 09:10:10 -04:00
Jussi Pakkanen b1c086b24d Explain the choice of implementation language. [skip ci] 2018-04-12 00:09:40 +03:00
Nirbheek Chauhan 487526bfff Trivial update to meson vim syntax + typo in snippet [skip ci] 2018-04-11 22:07:11 +05:30
Nirbheek Chauhan d7b401f7d7 gdbus_codegen: Return 2 targets when docbook is disabled
Also document this behaviour, test it, and fix the return value from
the module -- we create one target and return it thrice to the build
file
2018-04-11 21:30:47 +05:30
Iñigo Martínez 351b59f03a gnome: Split header and code targets in gdbus_codegen()
The development version of `glib` (2.55.2) has acquired support for
generating gdbus header and source code files separately. This
allows dependencies to be more fine grained on those targets
depending only on the header.
2018-04-11 17:22:12 +02:00
Mathieu Duponchelle 99f324eda1 [fixup]: Fix snippets heading 2018-04-10 00:39:25 +02:00
Mathieu Duponchelle 56fc22075c [fixup]: write documentation 2018-04-09 15:46:06 +02:00
David Fort 6dea177774 add support for cmakedefine in configure_file()
The added format argument for configure_file allows to specify the kind of
file that is treated. It defaults to 'meson', but can also have the 'cmake'
or 'cmake@' value to treat config.h.in files in the cmake format with #cmakedefine
statements.
2018-04-08 22:00:45 +03:00
Jussi Pakkanen d6e71d0c56
Merge pull request #3312 from MathieuDuponchelle/alwaysfallback
new wrap-mode: forcefallback
2018-04-08 01:08:51 +03:00
Aleksey Filippov 52eb5b195e Remove commit_zero recommendation from wrap documentation, use action commit [skip ci] 2018-04-07 12:51:36 +03:00
Mathieu Duponchelle a4341b3004 [fixup]: add since to FAQ 2018-04-06 23:48:48 +02:00
Mathieu Duponchelle 31f0242a6f new wrap-mode: forcefallback
This can be useful to make sure that a project builds when
its fallbacks are used on systems where external dependencies
satisfy the version requirements, or to easily hack on the sources
of a dependency for which a fallback exists.
2018-04-06 23:48:48 +02:00
Xavier Claessens 68f9846b7c Add both_libraries() to build both shared and static libraries
Also support default_library='both' to make library() build both shared
and static libraries.

Closes #484
2018-04-03 15:38:01 -04:00
Isaiah Norton b515eac75c Add link to `meson` github topic [skip ci]
Lists a number of projects that are not shown here.
2018-04-02 19:48:54 +03:00
scontini76 1c1277de7c Update Pkg-config-files.md [skip ci]
typo: seems that configure_files doesn't exists, maybe you mean configure_file here. [skip ci]
2018-03-31 09:50:35 -07:00
John Ericson 0325d58863 docs: Expand on compiler vs compilee build host and target (#3308) [skip ci] 2018-03-29 22:31:41 +03:00
makise-homura 0bea50816b Removed non-latin characters from lcc snippet
It is supposed that it may become source of failures
while passing AppVeyor tests.
2018-03-29 21:55:48 +03:00
behlec 37d379ebe5 Allow meson build file to exit early. (#2808) 2018-03-29 21:29:45 +03:00
Xavier Claessens b4aee4675a pkgconfig: Add a simple version of the generator (#3284) 2018-03-29 01:19:42 +03:00
makise-homura 7c1132b681 Added lcc support release snippet 2018-03-28 21:58:06 +03:00
makise-homura 72f477748f [skip ci] Added lcc and e2k CPU to reference tables 2018-03-28 20:55:11 +03:00
Somasekhar Penugonda e62b8109eb Updates to CPP support and update review changes 2018-03-27 17:04:26 -05:00
Aleksey Filippov 780d301c1c Add test(depends) documentation 2018-03-25 01:33:33 +00:00
Alistair Thomas 3b9f4098ef docs: In executable() remove statement that all other files are ignored [skip ci]
Currently Meson returns an error that no compiler can be found
for an unknown file extension
2018-03-23 21:09:32 +02:00
Alistair Thomas 47f71d1a41 docs: Update test() to include that a program found with find_program() can be used [skip ci] 2018-03-23 21:09:32 +02:00
John Ericson 1a8bc77f53 docs: fix one 'target' that should be 'host' [skip ci]
The target platform of cross compiler is the host platform of the project being built.
2018-03-23 21:08:11 +02:00
Eric Engestrom 13fa1fb74f docs/FAQ: fix typo [skip ci] 2018-03-23 06:41:17 -07:00
Jussi Pakkanen 150351cfdd Document the new and improved review guidelines. [skip ci] 2018-03-22 01:05:25 +02:00
Jussi Pakkanen 30827b5644 Do not install configure_file output if install_dir is empty. Closes #3270. 2018-03-21 21:25:47 +02:00
Marvin Scholz 1c8d4bf05b Docs: Correct env variable SCAN_BUILD to SCANBUILD 2018-03-20 22:28:07 +02:00
Jussi Pakkanen 657836b555
Merge pull request #3223 from sarum9in/rename
Add install_data() rename parameter
2018-03-20 00:15:01 +02:00
Aleksey Filippov 5f81d36207 Add install_data() rename snippet 2018-03-19 22:13:41 +00:00
Aleksey Filippov d63fff06d9 Add install_data() rename documentation 2018-03-19 22:13:34 +00:00
Felipe Corrêa da Silva Sanches 50c66f1f5c fixing some typos on the icestorm page 2018-03-19 10:49:02 +00:00
Martin Hostettler b89309df64 Project-templates.md: Fix help command name [skip ci] 2018-03-18 20:29:00 +02:00
Jussi Pakkanen 24ae120868 Turn deprecated commands into errors. 2018-03-14 00:20:00 +02:00
Jussi Pakkanen ae0e469b06
Merge pull request #3145 from thejk/gcovr
Support gcovr >= 3.1 and add gcovr html report as fallback
2018-03-13 21:12:16 +02:00
Jussi Pakkanen a20c5ccd13 Fix snippet heading to conform to new formatting rules. 2018-03-13 00:06:12 +02:00
Jussi Pakkanen 6585427a7d
Merge pull request #3131 from sarum9in/pkgconfig
Pkgconfig accepts libraries and pkgconfig-dependencies in requires/requires_private parameters
2018-03-12 23:02:36 +02:00
Aleksey Filippov 98fc7a82dc Link "External commands" page from run_command() reference [skip ci] 2018-03-12 13:44:31 +00:00
Jon Turney 6f8e541f55 docs: update for mesonintrospect.py -> meson introspect
mesonintrospect is deprecated since 59a35c4c (PR #2067)
2018-03-11 00:51:18 +02:00
Jon Turney e79454c2a4 docs: Add custom dependencies missing documentation
Add some brief documnentation about custom dependency lookups which are
implemented but not documented.
2018-03-11 00:51:18 +02:00
Jon Turney e6d6b609cc docs: polish documentation for custom dependency detectors
Various grammar fixes
Fix syntax of MPI examples
Add Qt4
2018-03-11 00:51:18 +02:00
Jon Turney 64bc2b84f8 docs: update system cross file documentation
Works on all non-Windows since cf98f5e3 (PR #3119)
2018-03-11 00:51:18 +02:00
Jon Turney fa0386d98a docs: remove reference to mesongui
mesongui was removed in 71f18226 (PR #574)
2018-03-11 00:51:18 +02:00
Jukka Laurila 52c50da6c7 Refactor: Add log.error and log.exception to reduce code duplication. 2018-03-10 18:04:52 +02:00
Eduardo Lima (Etrunko) ccd198a849 Gnome-module.md: Add information about output files to mkenums()
[skip ci]
2018-03-07 19:57:47 +02:00
Jon Turney ffe6ed2a47 doc: Tweak text about get_option('foodir') in reference manual [skip ci]
* The example for executable()'s install_dir: should use join_paths()

* Clarify how to use directory options which are potentially not prefix
relative

This is mentioned in https://github.com/mesonbuild/meson/issues/1637 and see
also https://patchwork.freedesktop.org/patch/200373/ for an example of this
usage, and the possible confusion that can arise.
2018-03-07 19:57:20 +02:00
Jussi Pakkanen e98ae58d0e
Merge pull request #3086 from sarum9in/declare-link-whole
Add declare_dependency() link_whole parameter
2018-03-06 21:08:54 +02:00
Evgenii Shatokhin 19718a8d9c Allow passing a compiler object to run_command()
Sometimes it is needed to run the current compiler with specific options
not to compile a file but rather to obtain additional info. For example,
GCC has several -print-* options to query it about the paths to
different libraries and development files. One use case is to get the
location of development files for GCC plugins, which is not easily
obtainable by other means:

  gcc -print-file-name=plugin

For this purpose, it would be convenient if the compiler object returned
by meson.get_compiler(lang) could be used in run_command() directly.
This commit implements it.

Signed-off-by: Evgenii Shatokhin <eshatokhin@virtuozzo.com>
2018-03-06 21:07:16 +02:00
Jukka Laurila 048508c989 Make "meson help" and "meson help <subcommand>" do the expected thing. 2018-03-06 14:02:55 +02:00
Nirbheek Chauhan 9e18e4c703
Improve vcs_tag documentation [skip ci]
Document that dependencies must be explicitly signalled, just like with a custom target.
2018-03-06 15:33:00 +05:30
Aleksey Filippov 4de02cb5b0 Document declare_dependency() link_whole parameter 2018-03-06 01:44:26 +00:00
Jukka Laurila 8f340ffb8d Generate meson.build based on existing source files when meson init is run in a non-empty directory. 2018-03-06 00:05:17 +02:00
Jussi Pakkanen 9819bc9c56 Add Python minimum version requirement in release notes. [skip ci] 2018-03-05 20:34:07 +02:00
TÖRÖK Attila 3e92a86db4 doc: Fix a syntax error in an example in 'Generating sources'. [skip ci] 2018-03-05 05:51:41 -08:00
Jussi Pakkanen 2521e43baf Add missing code block end marker. 2018-03-04 21:11:53 +02:00
Jussi Pakkanen daaae647d7 Updated information for new release. 2018-03-04 20:27:34 +02:00
Jussi Pakkanen f53e8b8812 Explain change of default better. [skip ci] 2018-03-04 18:25:36 +02:00
Tim Ansell 69ff980fbc Fixing broken language arguments [skip ci]
Missing ending pipe was causing it to fail to render.
2018-03-04 14:45:44 +02:00
Aleksey Filippov e41f00f834 Document wxwidgets dependency, closes #3159 [skip ci] 2018-03-04 00:11:19 +00:00
Jussi Pakkanen 38145e0251 The "outputs" kwarg should be "output" and rewrapping. Closes #3166. [skip ci] 2018-03-04 00:57:42 +02:00
Aleksey Filippov 5f0aeafa38 Add jpakkane's answer to "Why must all subprojects be inside a single directory?" [skip ci] 2018-03-01 21:52:08 +02:00
Aleksey Filippov 15537f5e8e Add links to Subprojects.md page from subproject() and subproject object documentation [skip ci] 2018-03-01 21:52:08 +02:00
Aleksey Filippov 5e6c47a4b2 Add reference to implicit_include_directories from include_directories() [skip ci]
Closes #3153
2018-03-01 15:30:15 +00:00
Joel Klinghed 6266089866 Allow gcovr >= 3.1 to be used to generate html coverage report
Modern gcovr includes html generation support so if lcov and
genhtml are not available fallback to gcovr.

Kept lcov and genhtml as default so to not surprise existing
users of coverage-html with the different output of gcovr.

gcovr added html support in 3.0 but as there already is a test
for 3.1 because of the changes to -r/--rootdir I opted to only
allow html generation for >= 3.1 to keep things simple.
2018-02-27 21:58:05 +01:00
Hemmo Nieminen 4f8db1fe47 Add a release note snippet for the improved test setup selection. 2018-02-25 21:46:28 +02:00
Tim Ansell 36fc655272 Adding a "Projects using Meson" to Community section (#3138) 2018-02-25 20:22:42 +02:00
Jussi Pakkanen 8a68dc0179
Merge pull request #3132 from mesonbuild/csc
Visual Studio C# compiler support and some fixes
2018-02-25 14:03:02 +02:00
Hylke Bons f1ce7af2d5 [skip ci] docs: Add reference table for language args parameter names (#3126) 2018-02-25 14:02:34 +02:00
Aleksey Filippov 2377f22ea5 Document pkgconfig.generate() requires parameters 2018-02-24 23:41:12 +00:00
Jussi Pakkanen 0b6f90caf7 Added release note snippet for csc support. 2018-02-25 01:16:06 +02:00
Adam C. Foltzer 3332f33649 Fix Rust compiler-private library ambiguity
When building a Rust target with Rust library dependencies, an
`--extern` argument is now specified to avoid ambiguity between the
dependency library, and any crates of the same name in `rustc`'s
private sysroot.

Includes an illustrative test case.
2018-02-22 22:16:58 +02:00
Peter Hutterer 6b550ae91f Allow for missing install_dir in install_data()
The documentation doesn't require it and the interpreter code works around the
possibility of it being None. The ninja backend code however fails with

File "/home/whot/code/meson/mesonbuild/backend/ninjabackend.py", line 796, in generate_data_install
    dstabs = os.path.join(subdir or None, plain_f)
File "/usr/lib64/python3.6/posixpath.py", line 78, in join
    a = os.fspath(a)
TypeError: expected str, bytes or os.PathLike object, not NoneType

If install_dir is missing, default to datadir/projectname
2018-02-22 20:26:16 +02:00
TÖRÖK Attila 8c376a7fe4 docs: Add a paragraph to the Manual about @EXTRA_ARGS@. [skip ci] 2018-02-22 04:40:06 +05:30
Iñigo Martínez 5dc32b4af1 Users.md: Add GVfs
Add GVfs to the meson users list
2018-02-21 19:06:55 +02:00
Felipe Borges 926d6ca7e8 Users.md: Add GNOME Boxes and GNOME Usage
[skip ci]
2018-02-21 19:06:21 +02:00
Aleksey Filippov 79865474c7 Add references to CI and recommendation to disable them for doc only changes [skip ci] 2018-02-20 21:21:18 +05:30
Nirbheek Chauhan a374eb08e9
Users.md: lightdm-webkit2-greeter no longer uses meson [skip ci] 2018-02-20 21:07:38 +05:30
Nirbheek Chauhan 86e8d587cb docs: Add subproject warning for source_root and build_root [skip ci] 2018-02-20 16:45:27 +05:30
Nirbheek Chauhan bc3a26d759
Users.md: Add libzim, which only uses meson
[skip ci]
2018-02-20 14:21:01 +05:30
Nirbheek Chauhan 93e983a49a
Users.md: Update some old/broken URLs
[skip ci]
2018-02-20 00:22:53 +05:30
Eric Engestrom 8a2d9e0ad4 docs: fix missing backtick 2018-02-19 23:46:34 +05:30
Nirbheek Chauhan e6c9923b47
Users.md: link to github page for easy editing
Also mention that software on the list will be tested for regressions.
2018-02-19 23:15:39 +05:30
Jussi Pakkanen 55a7c265c1
Merge pull request #2863 from jon-turney/exit-status-on-exception
Verify that failing tests are failing with an error, not a python exception
2018-02-18 13:54:50 +02:00
Aleksey Filippov 8baaa7b866 Add python3 dependency documentation and link it from python3 module
Closes #3009
2018-02-18 13:50:33 +02:00
David Fort 8c12c2acc3 doc: fix typo in icestorm documentation 2018-02-17 13:32:46 +02:00
Jussi Pakkanen 6d7a8a0ea4
Merge pull request #2999 from peteruithoven/patch-1
Localisation documentation alternative
2018-02-16 00:11:39 +02:00
Martin Ejdestig b06a4901cb Document how to set options in subprojects 2018-02-16 00:08:28 +02:00
Jussi Pakkanen 2c18e4eb25 Updated docs to do "meson wrap" instead of "wraptool". 2018-02-15 23:41:57 +02:00
Jon Turney 2a64ed855e Verify that failing tests are failing with an error, not a python exception
PR #2527 suggests "making failing tests more strict about failing
gracefully".

To achive this, make meson exit with distinct exit statuses for meson errors
and python exceptions, and check the exit status is as expected for failing
tests.

I can't see how to write a test for this, within the current framework.

You can test this change by reverting the fix (but not the test) from commit
1a159db8 and verifying that 'test cases/failing/66 string as link target'
fails.
2018-02-15 12:51:24 +00:00
Amit D abd6db24f9 Update Users.md (#3063) 2018-02-14 20:14:15 +02:00
Daniel Foré a99ae81043 Add an example for gresource 2018-02-13 21:26:43 +02:00
Amit D 74306a9301 Update Users.md 2018-02-13 21:18:59 +02:00
Jussi Pakkanen c4892fb386 Space fix. 2018-02-12 22:32:39 +02:00
Jussi Pakkanen 262eeb7e9e Clarify that int options are available since 0.45.0. 2018-02-12 21:36:03 +02:00
Amit D e0ec5491a0 Update Users.md (#3050) 2018-02-12 21:42:43 +05:30
Andrea G 030c39f33e Use the same name for the conf_data variable
Before, each example used a different variable name making them more difficult to understand for a novice.
2018-02-12 19:48:57 +05:30
Andrea G d589cc26c7 Add missing closed parenthesis 2018-02-12 19:48:30 +05:30
Andrea G bfc18017f1 Add missing code block 2018-02-12 19:48:09 +05:30
Amit D 32ff169880 Update Users.md 2018-02-11 22:09:32 +05:30
Sami Kerola 70a7cf30a1 Re-link remaining github wiki urls to mesonbuild.com site 2018-02-11 13:39:46 +02:00
Jon Turney 0774f319e8 Don't use --export-dynamic on Cygwin
After PR #2662, running test case common/125 shared module/ on Cygwin gets
me:

$ ninja -C _build
ninja: Entering directory `_build'
[7/7] Linking target prog.exe.
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?

Also, fix doc for correct version of first apperance.

Future work: Notwithstanding the hint that ld gives, these options are not
equivalent, and it's not clear we should be using it here:
--export-all-symbols is the default behaviour, and if the exports are
restricted by explicit annotations or a .def file, this option might be
overriding that...
2018-02-08 23:51:06 +02:00
Martin Dagarin a9654c8533 Fixed typo
Fixed typo in section Other install commands, typo was in extension of data file
2018-02-08 23:50:19 +02:00
Amit D aaee113ee2 Update Users.md 2018-02-08 23:49:51 +02:00
Jon Turney 7bfcf68777 Add get_pkgconfig_variable(default:)
Also use that to squelch the warning for internal uses which handle the
variable missing case (just gnome at the moment)

A follow up to PR #2914
2018-02-08 00:35:38 +02:00