Commit Graph

996 Commits

Author SHA1 Message Date
Dylan Baker 4a8e8b7103 docs: further specify that CFLAGS and friends are only for distro packagers [skip ci] 2019-01-08 11:40:25 -08:00
Dylan Baker c1b01d54c2 docs: Add link args to the table of language args [skip ci] 2019-01-08 11:40:25 -08:00
Dylan Baker 1404f404f8 docs: document that using environment variables is discouraged [skip ci] 2019-01-08 11:40:25 -08:00
Daniel Mensinger 5c139032b8
Deprecated --target-files API 2019-01-07 22:35:56 +01:00
Daniel Mensinger 1c92b7d225
Added release snippet 2019-01-07 22:26:09 +01:00
Jussi Pakkanen 3bf2ca483e
Merge pull request #4732 from mensinda/introMesonInfo2
mintro: Added `meson-info.json` introspection information about the latest meson run
2019-01-07 23:10:22 +02:00
Dylan Baker 6c76b92dff docs: document the native keyword argument for reference-manule [skip ci] 2019-01-07 22:56:17 +02:00
Daniel Mensinger 7ec609425a Added release snippet 2019-01-06 22:03:40 +01:00
FlyingPiMonster f658107a0e docs: An error in an external link has been fixed [skip ci] 2019-01-06 23:02:14 +02:00
Daniel Mensinger 52071c6d4e
Fixed missing dots [skip ci] 2019-01-06 12:19:35 +01:00
Daniel Mensinger 0b0ec5895c
Fixed typo [skip ci] 2019-01-06 12:19:35 +01:00
Daniel Mensinger bcb8146280
Indent flag only toggles 2019-01-06 12:19:35 +01:00
Daniel Mensinger 428f85e860
Updated the docs [skip ci] 2019-01-06 12:19:34 +01:00
Daniel Mensinger bd8bad46c3
Code cleanup and renamed variables 2019-01-06 12:19:33 +01:00
textshell 248adbab9a
Update docs/markdown/snippets/introspect_multiple.md
Co-Authored-By: mensinda <daniel@mensinger-ka.de>
2019-01-06 12:19:33 +01:00
textshell fb4bdd3330
Update docs/markdown/IDE-integration.md
Co-Authored-By: mensinda <daniel@mensinger-ka.de>
2019-01-06 12:19:32 +01:00
textshell 1e374feb1c
Update docs/markdown/IDE-integration.md
Co-Authored-By: mensinda <daniel@mensinger-ka.de>
2019-01-06 12:19:32 +01:00
Daniel Mensinger 02734cc5c3
Better documentation 2019-01-06 12:19:31 +01:00
Daniel Mensinger 84948ea6cd
Renamed `--force-new` to `--force-dict-output` 2019-01-06 12:19:31 +01:00
Daniel Mensinger 5c39dd0668
Doc updates and throw if no target type is set 2019-01-06 12:19:31 +01:00
Daniel Mensinger 1268597df5
Slight modification of the wording 2019-01-06 12:19:31 +01:00
Daniel Mensinger 2e81631d0c
Keep 'filename' and 'install_filename' as strings 2019-01-06 12:19:31 +01:00
textshell 7cf0e30707
Update docs/markdown/IDE-integration.md
Co-Authored-By: mensinda <daniel@mensinger-ka.de>
2019-01-06 12:19:31 +01:00
textshell c1838d9e4c
Update docs/markdown/snippets/introspect_multiple.md
Co-Authored-By: mensinda <daniel@mensinger-ka.de>
2019-01-06 12:19:30 +01:00
textshell eb2cc9eccd
Update docs/markdown/snippets/introspect_multiple.md
Co-Authored-By: mensinda <daniel@mensinger-ka.de>
2019-01-06 12:19:30 +01:00
Daniel Mensinger fde10eaee9
Updated the docs 2019-01-06 12:19:30 +01:00
Daniel Mensinger b9c4913cf0
Updated documentation 2019-01-06 12:19:30 +01:00
Daniel Mensinger b11df88395
Documentation and unit test update 2019-01-06 12:19:29 +01:00
Daniel Mensinger b034f52656
Filenames are now lists 2019-01-06 12:19:29 +01:00
Daniel Mensinger b91c5aad85
Update intro dump on meson configure 2019-01-06 12:19:29 +01:00
Daniel Mensinger 8288555aa1
mintro: Added option to introspect multiple parameters at once 2019-01-06 12:15:10 +01:00
Daniel Mensinger 80ee0f85f9
Added release snippet 2019-01-06 12:15:09 +01:00
Jussi Pakkanen 3a6e2aeed9 Can use plain strings for include_directories. 2019-01-02 22:29:08 +02:00
Jussi Pakkanen 8c9fcb1fea
Merge pull request #4564 from mensinda/introBuildOpts
mintro: Introspect --buildoptions without a build directory
2019-01-01 19:27:41 +02:00
Daniel Mensinger 98115bb261
Updated doc [skip ci] 2019-01-01 18:23:40 +01:00
TingPing d25146ffc0
docs: Note --warnlevel instead of --warning_level 2018-12-31 21:46:58 -05:00
TingPing 4aeba8214f
docs: Change warnlevel option to warning_level 2018-12-31 21:34:26 -05:00
Daniel Mensinger e5099357c2
Tests and docs 2018-12-29 23:56:21 +01:00
Jussi Pakkanen da5da5977a Default libdir is "lib" when cross compiling. Closes #2535. 2018-12-30 00:51:19 +02:00
Jussi Pakkanen 1fca654055 Add a clang-format target. 2018-12-30 00:50:00 +02:00
Jussi Pakkanen 3b495c397e
Merge pull request #4672 from xclaesse/find-library-headers
find_library: Add 'has_headers' kwarg
2018-12-29 18:57:21 +02:00
Xavier Claessens b6cede2928 find_library: Add 'has_headers' kwarg
A library without its headers is often useless, so it is common to check
them together.
2018-12-27 23:06:28 -05:00
Nirbheek Chauhan c4a6b193d4
release notes: document how to pass native files [skip ci] 2018-12-27 01:04:05 +05:30
Xavier Claessens ff2aa5a9ef Add 'required' kwarg in header check functions
Closes: #3940
2018-12-24 11:12:11 -05:00
Jussi Pakkanen 4df9006ca4 Can specify a string to print when dep not found. Closes #2407. 2018-12-22 19:00:40 +02:00
lzutao 39483d29c4 docs: Fix href in Pkgconfig module [skip ci] 2018-12-22 13:55:14 +02:00
Alistair Thomas d54daf6e59 docs: make clearer difference between using and building libraries in Vala [skip ci] 2018-12-19 23:16:59 +02:00
Dylan Baker 05fc81ac35 docs: Add warning about not using join_paths() with build targets [skip ci]
This comes up now and again when people try do do something like:

meson.build:
```meson
my_sources = ['foo.c']
subdir('subdir')
executable('foo', my_sources)
```
subdir/meson.build:
```meson
my_sources += ['bar.c']
```
2018-12-19 01:25:17 +02:00
Konstantin Kharlamov f7d2e7c5d5 [skip ci] Options as `b_ndebug` can also be set in meson.build 2018-12-18 10:27:52 -08:00
Nirbheek Chauhan d42a3ae05f Document dependency().name() added in 0.48 [skip ci]
Closes https://github.com/mesonbuild/meson/issues/3351
2018-12-17 21:03:57 +05:30
Luca Weiss 41bca1ede9 Fix typo in Native-environments.md [skip ci] 2018-12-16 16:44:35 +02:00
Lzu Tao 0c33c7ca8a Add note for install_man in Reference-manual [skip ci] 2018-12-16 16:42:50 +02:00
lzutao c208e81e1a Format Compiler and linker flag table [skip ci] 2018-12-13 11:22:02 -05:00
Nirbheek Chauhan 99e77cf48d docs: Consistently use the same heading level in release notes [skip ci]
Otherwise some headings are much too large.
2018-12-13 20:06:31 +05:30
Jussi Pakkanen 131459bd05 Add Renesas RL78 CPU family. Closes #4606. 2018-12-11 20:56:35 +02:00
Simon Arlott f77ead26eb docs: build_always_stale was added in 0.47 [skip ci] 2018-12-10 20:21:55 +02:00
Jon Turney 2df39c398d Add a missing newline in release note [skip ci] 2018-12-10 15:36:54 +00:00
Jussi Pakkanen 51aaa15bda Update everything for release 0.49.0 2018-12-09 21:58:12 +02:00
Dylan Baker 46f3b8f753 docs: fix link to platform install quirks [skip ci]
Fixes #4571
2018-12-05 17:57:04 +00:00
Nirbheek Chauhan 5f8aedfa8b
Fix typos in kwargdict snippet [skip ci] 2018-12-05 08:20:09 +05:30
Nirbheek Chauhan 55d79a6ba2 docs: Misc syntax fixes and missing links [skip ci] 2018-12-05 02:40:34 +00:00
Nirbheek Chauhan c502ddfebf docs: Document subproject(... required: false) [skip ci]
Somehow this was missed in the original PR #3885
2018-12-05 02:40:34 +00:00
Nirbheek Chauhan febd3e8524
Document how to declare fallback-only dependencies [skip ci] 2018-12-05 07:44:27 +05:30
Jussi Pakkanen 58b838a80b Can specify keyword arguments with a dict. 2018-12-04 23:44:17 +02:00
Xavier Claessens 8612f1543f pkgconfig: Improve and document generator behaviour
- Add libraries from InternalDependency.libraries
- Deprecate association of libraries from the "libraries" keyword
argument to the generated pkg-config file.
2018-12-04 06:49:02 -05:00
Xavier Claessens 2efedf80e0 Add documentation for 'meson subprojects' command line 2018-12-02 08:37:32 -05:00
Jussi Pakkanen d272f23dba
Merge pull request #4569 from lzutao/readme
Add link to built-in options page
2018-12-01 23:17:48 +02:00
Lzu Tao 4bd0243daf Update sample output of meson configure [skip ci] 2018-12-01 22:08:24 +02:00
Lzu Tao 2a23dd8bb0 Add link to built-in options page [skip ci] 2018-11-30 18:00:32 +07:00
lzutao 0c23e65457 Add meson version required to use option type (#4562) [skip ci] 2018-11-30 00:11:06 +05:30
Jon Turney d502e83493 docs: Remove mention of appveyor from Contributing doc
Add mention of azure
Also fix anchor in travis URL
Also make 'see below' into a link
2018-11-28 11:14:46 +02:00
Daniel Schulte 0e62193730 mintro: Allow introspect --projectinfo without build directory.
This variant was added to allow introspection before configuring a build
directory. This is useful for IDE integration to allow displaying and/or
setting options for the initial configuration of the build directory.

It also allows showing basic information about the project even if it's
not yet configured or configuring failed.

The project 'name' field in --projectinfo is used inconsistently:
For the top level project it always shows the name configured in
the top level meson.build file. For subprojects it's referring to the
name of the directory the subproject's meson.build is contained in.

To have a consistent output and preserve the existing behavior this adds
the 'descriptive_name' field which always shows the name set in the
project.

To be consistent the 'descriptive_name' field was also added to the
--projectfiles variant that uses an already configured build.

It also extends the information shown with the list of buildsystem-files.
This is currently only implemented in the variant for unconfigured
projects.
2018-11-26 23:12:00 +01:00
Daniel Mensinger ceb5e9f042
Updated docs [skip ci] 2018-11-24 11:19:13 +01:00
Floris Bruynooghe e629a4ad1d [skip ci] Document CFLAGS and friends in main docs
Currently this is only partially documented in the quick-start guide,
include this in the main docs and document all the environment
argumens used.
2018-11-22 22:31:19 +02:00
Daniel Mensinger a0175ecb14 CMake find_package dependency backend (#4444) 2018-11-22 22:30:12 +02:00
Jon Turney 8b88fb990e docs: Alphabetically sort reference table rows [skip ci] 2018-11-22 22:28:21 +02:00
Jon Turney e72a2b2260 docs: Add clang-cl to reference table for compiler get_id() values [skip ci] 2018-11-22 22:28:21 +02:00
Iñigo Martínez e78fd7e8c5 docs: Add missing `namespace` parameter documentation [skip ci]
Although the `namespace` parameter was implemented in 0.37, its
documentation is still missing.

It has been added to the `gtkdoc`'s  documentation.
2018-11-20 22:50:21 +02:00
Jussi Pakkanen a2a96bda74 Add piter.py conference to video page. [skip ci] 2018-11-17 02:31:27 +02:00
Dylan Baker 0ab27add49 docs: Add documentation for Native Files 2018-11-14 15:57:37 -08:00
Mathieu Duponchelle 979a14596d docs: fix hard links [skip ci] 2018-11-12 20:59:19 +02:00
Nirbheek Chauhan f831c05b55
docs: Clarify some pkgconfig module kwargs [skip ci] 2018-11-12 17:20:45 +05:30
Stian Selnes 0821462ce3 Add kwarg is_default to add_test_setup()
is_default may be used to set the name of the test setup that will be
used by default whenever the option --setup is not given.

Fixes #4430
2018-11-12 16:23:59 +05:30
Dylan Baker c9e181c10b editorconfig: Use tabs for sitemap.txt [skip ci] 2018-11-08 20:38:39 +02:00
Phillip Cao 68c83cb213 Add support for Renesas CC-RX toolchain 2018-11-08 00:02:22 +13:00
Luca Weiss 42cdb32033 Update Python-module.md
Fix link to the disabler object
2018-11-04 13:56:28 -05:00
Dylan Baker 63f4f9481e Add new compiler.get_argument_syntax method
Some compilers try very had to pretend they're another compiler (ICC
pretends to be GCC and Linux and MacOS, and MSVC on windows), Clang
behaves much like GCC, but now also has clang-cl, which behaves like MSVC.

This method provides an easy way to determine whether testing for MSVC
like arguments `/w1234` or gcc like arguments `-Wfoo` are likely to
succeed, without having to check for dozens of compilers and the host
operating system, (as you would otherwise have to do with ICC).
2018-11-03 18:10:36 +02:00
Jussi Pakkanen 23ed0e1857 Make string division do path joining. 2018-11-02 21:02:25 +02:00
Nirbheek Chauhan 1c2cfe4529 docs: Fix gcc attribute list link [skip ci] 2018-10-27 23:11:44 +01:00
Jussi Pakkanen 026bdd600a No tabs, only spaces. [skip ci] 2018-10-27 17:15:31 +03:00
Dylan Baker 1e054ad2b9 docs: Fix hotdoc warnings [skip ci]
Hotdoc really wants internal links to point to the .md files instead of
the generated names. Which makes sense, as we're currently relying on
the fact that meson only generated .html pages.
2018-10-27 16:07:14 +03:00
Dylan Baker 7458e762a3 docs: Add documentation to custom_targets for codegen [skip ci]
Including the following that has come up several times recent:
 - How to use codegen for headers (that each target that uses the header
   needs the object in it's sources)
 - Using custom_targets with multiple outputs
2018-10-27 16:07:14 +03:00
xiannox 5b3192534c module-qt: add rcc_extra_arguments to pass extra arguments to rcc (#4406) 2018-10-24 19:11:08 +03:00
Xavier Claessens 61348da069 Add 'disabler' argument to functions returning not-found objects
When dependency(), find_library(), find_program(), or
python.find_installation() return a not-found object and disabler is
true, they return a Disabler object instead.
2018-10-23 22:09:55 +03:00
Nicole Mazzuca f1546e289c add cpp_std support for MSVC 2018-10-22 19:14:00 +03:00
Kostiantyn Ponomarenko 1309b47cbb doc: Improve wrap and subproject documentation [skip ci]
Make docs more user friendly, and add missing information.

Signed-off-by: Kostiantyn Ponomarenko <konstantin.ponomarenko@gmail.com>
2018-10-21 23:26:14 +03:00
Jussi Pakkanen 1a2f5b3bc8 Clarify that the tutorial requires prebuilt dependencies. [skip ci] 2018-10-21 18:53:24 +03:00
Michał Górny e8232c7825 Remove implicit compression of man pages
Remove the code responsible for implicitly compressing manpages as .gz
files.  It has been established that manpage compression is a distro
packager's task, with existing distros already having their own
implementations of compression.

Fixes #4330
2018-10-20 13:16:28 +03:00
Jussi Pakkanen 066060e8c9
Merge pull request #4327 from xclaesse/wrap
wrap: Support using local files instead of downloading
2018-10-20 00:54:09 +03:00
Jon Turney 648b2c5799 Document the no_builtin_args argument of Compiler object methods [skip ci] 2018-10-20 00:48:00 +03:00
Xavier Claessens c453400d59 Add 'b_pie' compiler option
On Android executables must be position independent, many
distributions enable it by default too for security reasons.
2018-10-20 00:47:27 +03:00
Xavier Claessens d6fba7f01c wrap: Allow source and patch to be local files
It is sometimes important to be able to build projects offline, in that
case subproject tarballs and patches could be shipped directly within
the project's repository.
2018-10-17 21:56:49 -04:00
TingPing aca2f7ed97
docs/Release-notes-for-0.47.0.md: Fix highlighting 2018-10-15 16:15:08 -04:00
TingPing d64eed7791
docs/Release-notes-for-0.48.0.md: Minor cleanups 2018-10-15 16:11:42 -04:00
Will Thompson d2de93aa01 Users.md: fix ‘userpsace’ typo [skip ci] 2018-10-15 09:42:55 +01:00
Jussi Pakkanen 2d5e2142e9 Added add_project_arguments description to argument page. [skip ci] 2018-10-13 23:26:11 +03:00
Xavier Claessens b9e405c634 doc: Add missing assert() function [skip ci] 2018-10-12 22:25:40 +03:00
Jussi Pakkanen 302df74cc3 Add CppCon Youtube link to videos page. [skip ci] 2018-10-10 22:16:26 +03:00
Dylan Baker e9ba04537f Add gnu hurd to *_machine information 2018-10-10 19:42:51 +03:00
Xavier Claessens 38a6582145 configure_file: Support taking values from a dict
Closes #4218
2018-10-08 21:03:32 +03:00
Cristian Molina 24ea95abb1 Add elementary OS (#4341) [skip ci]
Starting with Juno release, all native vala programs/libs use Meson as build system.
[See blog post](https://medium.com/elementaryos/all-aboard-the-meson-future-hype-train-2b6c478b6b9e) and [official docs](https://elementary.io/docs/code/getting-started#the-build-system).
2018-10-07 10:03:17 -07:00
Xavier Claessens b6fc063b13 Add documentation and release notes for 'in', 'continue' and 'break' 2018-10-04 20:18:56 -04:00
Jan Tojnar c0c075c129 Make custom dist scripts accept arguments.
meson.add_dist_script, introduced in #3906, did not accept any arguments
other than script name. Since all other meson.add_*_script methods
do accept args, this makes the dist script accept them as well.
2018-10-04 21:20:57 +03:00
Mike Gilbert 019a627f04 Document the compiler.cmd_array() method 2018-10-04 21:19:03 +03:00
Nirbheek Chauhan 31e1e524ca
Document when console: kwarg was added [skip ci] 2018-10-03 18:35:35 +05:30
Patrick Griffis 46a42a69a6 Add custom libgcrypt dependency using libgcrypt-config
Fixes #3563
2018-10-03 01:22:59 +03:00
Jussi Pakkanen e6395c6f44
Merge pull request #4051 from GoaLitiuM/d-debug
D: Add conditional debug compilation flags
2018-10-02 21:49:29 +03:00
Dylan Baker 829d7bf6f9 docs: Add note to cpu_family table about endianess [skip ci]
Autotools will add endianess to the name of the architecture in some
cases (such as ppc64le vs ppc64) meson doesn't do this. It's worth
noting this in the documentation.
2018-10-02 21:08:24 +03:00
Kostiantyn Ponomarenko ddc15e1bba Docs: fix 'Wrap-dependency-system-manual' to be more consistent [skip ci] 2018-09-30 12:22:19 -07:00
Dylan Baker c354a2b1cf docs/Builtin-options: Clarify -Dc_args for cross compilation (#4289) [skip ci] 2018-09-28 14:39:58 -07:00
Salamandar 26a5e9a95f Add support for uic_extra_arguments to qt5 (#4178) 2018-09-28 13:01:27 -07:00
Ari Vuollet c4b885bfd1 docs: Document conditional debug compilation flags [skip ci] 2018-09-27 17:49:48 +03:00
Kostiantyn Ponomarenko e53be9c925 Update Meson docs README [skip ci]
Signed-off-by: Kostiantyn Ponomarenko <konstantin.ponomarenko@gmail.com>
2018-09-27 01:43:22 -07:00
Jussi Pakkanen f0c4d1cd00
Merge pull request #4214 from 3v1n0/gtk-docs-improvements
Gtk docs improvements
2018-09-25 20:40:42 -07:00
ePirat 80721b7605 Docs: Add DEPFILE to substitutions list [ci skip] 2018-09-25 20:37:33 -07:00
Nirbheek Chauhan 1190ec096e
Update Release-notes-for-0.48.0.md
Add some missing `` to titles. In one case it was causing `__` to 
be interpreted as 'make this text bold'
2018-09-24 15:43:16 +05:30
Kostiantyn Ponomarenko 384c68e712 Fix a typo in example commit message [skip ci] 2018-09-23 12:22:09 +03:00
Alexey Brodkin 9453ac6182 mesonbuild: Recognise ARC architecture
-------------------------->8-----------------------
root@nsimhs:~# python

Python 2.7.15 (default, Sep 20 2018, 21:44:15)
[GCC 8.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import platform
>>> print platform.machine()
arc
-------------------------->8-----------------------

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2018-09-23 11:22:38 +03:00
Jussi Pakkanen 0cf4a6ab3a Updated release note page. 2018-09-22 23:11:59 +03:00
Marco Trevisan (Treviño) 5bec6c28e7 gnome: add support for `module_version`
gtk-doc for autotools has the concept of module version, that is used to define
the module install path and the devhelp2 basename.

Add a `module_version` parameter to gnome.gtkdoc to replicate the same behavior.
Updated the test checking that the install_dir is properly computed (if not
passed), and that the .devhelp2 file has proper name.

https://gitlab.gnome.org/GNOME/gtk-doc/blob/GTK_DOC_1_29/buildsystems/autotools/gtk-doc.make#L269
2018-09-21 09:13:21 +02:00
Marco Trevisan (Treviño) 2b6fa3dd3b docs, Gnome-module: document include_directories in gtkdoc
This parameter is supported for some time but has never been documented.
2018-09-21 09:13:21 +02:00
Bruce Richardson 9a29496a9b clarify old behaviour of set_variable in documentation [skip ci]
Thanks to PR #3483, set_variable can be used to assign array values.
However, the fact that it cannot be used for arrays before 0.46.1 needs
a mention in the documentation, since otherwise users can get unexpected
dependencies on later meson versions.
2018-09-20 19:00:42 +03:00
Bruce Richardson 62d92e3a19 syntax guide: move logical ops section beside if statement [skip ci]
The "if" statement only covers a small set of the possible ways in
which conditionals can be written, since it leaves the use of
"and", "or" and "not" to the "Logical Operations" section. However,
this is likely to be of interest to those reading about "if" statments,
so move the "logical operations" section up to immediately follow it.
This change also puts in the use of the "!=" operator in the example
to widen the variety of combinations shown.
2018-09-20 08:13:08 -07:00
Xavier Claessens bbac77c31f Doc: Deprecate python3 module [skip ci]
The new 'python' module is a superset of its features, keeping both is
confusing.

Closes #4168.
2018-09-18 11:50:45 -07:00
Alexis Jeandet 689d32ecfb [skip ci] Add some documentation for PR #3998
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
2018-09-17 23:35:06 +03:00
Iñigo Martínez eb7ed4dafb gnome.gtkdoc: Add new c_args parameter
gtkdoc-scangobj also accepts compiler arguments. In the same way
that include_directories includes directories, the new c_args
parameter also appends compiler arguments.
2018-09-17 21:27:02 +03:00
Will Thompson f5bb3005a2 Pkgconfig-module.md: fix typos [skip ci]
Almost every keyword documented here takes this form:

  - `foo` bar

with no comma after the keyword. Make `filebase` consistent, and fix a
comma splice.

Fix 'Arbitraty' typo in `libraries` documentation.
2018-09-17 08:00:07 -07:00
Xavier Claessens 3cf03ec6d6 find_installation: Add support for feature option in required kwarg
Closes: #4165.
2018-09-16 15:07:43 +03:00
Andrei Alexeyev 67cc636e53 Add 'clone-recursive' option for git wraps
This causes Meson to clone the repo with the --recursive flag, pulling
all of the submodules automatically.
2018-09-16 14:57:56 +03:00
Jussi Pakkanen f2041405fb
Merge pull request #4017 from jon-turney/version-comparison-rewrite
Use rpmvercmp version comparison
2018-09-13 22:19:35 +03:00
Jussi Pakkanen 4631dbfc27 Upgrade to newest hotdoc. [skip ci] 2018-09-13 21:22:30 +03:00
Will Thompson 6a46ce4845 Builtin-options.md: fix "erros" typo [skip ci] 2018-09-13 06:33:03 -07:00
Jon Turney 8b3ad3e9a0 Add a release note snippet
Also tweak releated documentation
2018-09-12 15:38:00 +01:00
grooveadelic d67ec95b50 Quick Guide add step for python3-pip install
On Deban, and assuming now on Ubuntu as well, pip3 is only available after installing the python3-pip package. For that case explicitly specified the package during the system installation.
2018-09-11 19:08:59 +03:00
Nirbheek Chauhan 1819dc851a
Document version when both_libraries() was added [skip ci] 2018-09-11 19:38:06 +05:30
Jon Turney 654101414c Improve windows resource compiler executable selection
Always honour any windres setting in cross-file (we can't be compiling with
msvc, but this should apply when cross-compiling using gcc or clang)

Always honour WINDRES environment variable

Otherwise look for the resource compiler which is part of the same toolset
as the C or C++ compiler.

Add some commentary on why the conventions for compiled resource file
extensions differ between RC and windres

Also don't try to report non-existent path when we couldn't find the
resource compiler.
2018-09-10 21:03:41 +03:00
Alexey Rochev 929fbb9353 Qt: add main argument to Qt dependency object to link with qtmain library on Windows (#2327) 2018-09-10 21:00:36 +03:00
Dylan Baker 51e9db370a Add method to check for C/C++ function attributes
It's fairly common on Linux and *BSD platforms to check for these
attributes existence, so it makes sense to me to have this checking
build into meson itself. Autotools also has a builtin for handling
these, and by building them in we can short circuit cases that we know
that these don't exist (MSVC).

Additionally this adds support for two common MSVC __declspec
attributes, dllimport and dllexport. This implements the declspec
version (even though GCC has an __attribute__ version that both it and
clang support), since GCC and Clang support the MSVC version as well.
Thus it seems reasonable to assume that most projects will use the
__declspec version over teh __attribute__ version.
2018-09-07 11:52:15 -07:00
Xavier Claessens b3a35f92b4
Merge pull request #4006 from xclaesse/fatal-warnings
Add --fatal-meson-warnings command line option
2018-09-05 10:36:42 -04:00
Nirbheek Chauhan 226eaba369 Reference-manual: Clarify fallback dependency types [skip ci] 2018-09-04 22:50:17 -07:00
Xavier Claessens ef231d3edd Add --fatal-meson-warnings command line option
This makes any warning message printed by meson raise an exception,
intended to be used by CI and developpers to easily catch deprecation
warnings and other potential issues.
2018-09-04 09:01:39 -04:00
Corentin Noël b350c74386 i18n: add release note snippet 2018-09-03 22:34:22 -07:00
Rafael Ávila de Espíndola 07d2d88fa9 Allow override_find_program to use an executable.
With this it is now possible to do

foobar = executable('foobar', ...)
meson.override_find_program('foobar', foobar)

Which is convenient for a project like protobuf which produces both a
dependency and a tool. If protobuf is updated to use
override_find_program, it can be used as

protobuf_dep = dependency('protobuf', version : '>=3.3.1',
                          fallback : ['protobuf', 'protobuf_dep'])
protoc_prog = find_program('protoc')
2018-09-03 21:24:01 +03:00
Luca Weiss da7a3d5331 Change ninja.exe download URL [skip ci] 2018-09-03 21:11:22 +03:00
Luca Weiss 9c55bda56e Update appveyor example [skip ci]
Also add, how to make meson find Qt5 & Boost
2018-09-03 21:11:22 +03:00
Nirbheek Chauhan bead8287a5 Improve support for macOS dylib versioning
We now use the soversion to set compatibility_version and
current_version by default. This is the only sane thing we can do by
default because of the restrictions on the values that can be used for
compatibility and current version.

Users can override this value with the `darwin_versions:` kwarg, which
can be a single value or a two-element list of values. The first one
is the compatibility version and the second is the current version.

Fixes https://github.com/mesonbuild/meson/issues/3555
Fixes https://github.com/mesonbuild/meson/issues/1451
2018-08-29 15:51:23 -07:00
Jussi Pakkanen b86f2fd17f
Merge pull request #4016 from thiblahute/hotdoc
modules: Add an 'hotdoc' module
2018-08-29 21:18:26 +03:00
Thibault Saunier 1ea743a0bf hotdoc: Add documentation 2018-08-28 18:18:40 -03:00
Thibault Saunier 6f72473b24 docs: Use meson to build documentation
Let's eat our own dogfood.
2018-08-28 18:18:40 -03:00
Jussi Pakkanen fb770e1e3d Add support for custom dist scripts. 2018-08-27 23:35:29 +03:00
Jon Turney 7fff8318f5
Add a release note snippet
Also adjust relevant documentation
2018-08-26 17:23:39 +01:00
Jussi Pakkanen 54aed1a92c Added "native" kwarg to add_XXX_args. Closes #3669. 2018-08-22 23:22:48 +03:00
Jussi Pakkanen 11b520feda Scan markdown files for tabs. 2018-08-19 14:00:40 +03:00
Jussi Pakkanen d83f77109a
Convert buildtype to optimization and debug options (#3489) 2018-08-18 20:39:47 +03:00
Xavier Claessens 4f088365e4 interpreter: Add support for dict addition 2018-08-14 23:46:42 +03:00
Jussi Pakkanen 9b3671e711
Merge pull request #4000 from MathieuDuponchelle/gir_multiple_libs
gnome.generate_gir: refactor and allow passing multiple libraries
2018-08-12 14:07:40 +03:00
Jussi Pakkanen 220f1024b7 Be more cautious in recommending Unity builds. [skip ci] 2018-08-12 00:53:18 +03:00
Jussi Pakkanen 7aeb90a55e Typo fix. [skip ci] 2018-08-11 20:11:17 +03:00
Jussi Pakkanen f91b463bf4
Merge pull request #3831 from mesonbuild/symvisibility
Add gnu_symbol_visibility keyword argument
2018-08-11 19:59:34 +03:00
Jussi Pakkanen 1b2f8acbeb Add support for s390x CPUs. Closes #3897. 2018-08-11 04:21:55 -07:00
Jussi Pakkanen fb2cdd0fe2 Call it gnu_symbol_visibility instead. 2018-08-09 19:46:49 +03:00
Jussi Pakkanen d7d948db0d Update documentation for symbol visibility. 2018-08-09 19:46:49 +03:00
Mathieu Duponchelle 6ea939dd5f gnome.generate_gir: support generating gir for multiple libraries
Fixes #3688
2018-08-09 17:34:55 +02:00
Charles Barto ab6929f64a [skip ci]
add list of existing editor integrations

add meson_cmake_wrapper to the list of integrations
2018-08-09 01:37:48 +03:00
Onkar c9aea4e11c Clarify version for check_header, fixes #3974
check_header method was added in compiler object in version 0.47. Documentation needs to be updated for this.
2018-08-04 18:18:25 +03:00
Jussi Pakkanen ecf4024592 Add 32 bit sparc processor support. Closes #3901. 2018-08-03 00:27:33 +03:00
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