Commit Graph

1583 Commits

Author SHA1 Message Date
Michael Hirsch, Ph.D 4556343d95 fs: add methods as_posix, is_absolute
fs: make exception specify method name

fs: actually raise exceptions

fs: resolve path e.g.  /opt/foo/.. => /opt/foo

fs: correct behavior of is_symlink
2020-02-06 12:54:38 -05:00
Marc Herbert 9e365e4d0a docs: explain the purpose of order-only deps for generated files [skip ci]
The documentation of "order-only" dependencies is limited and their
various purposes are especially not clear. See issue #6391 for a recent
example, search the internet for many more. So mention the particular
purpose here while making the documentation barely longer.
2020-02-06 11:33:00 +05:30
Michael Hirsch, Ph.D a4e4d2e75a
doc 2020-02-05 13:26:35 -05:00
Michael Hirsch, Ph.D 554d35c3f3
add get_external_property to replace get_cross_property 2020-02-05 13:23:55 -05:00
Michael Hirsch, Ph.D 6c963726cf
add native-file properties tests 2020-02-05 13:23:55 -05:00
Michael Hirsch, Ph.D c2e6565029
add meson.get_native_property for native files
This allows Meson native-file [properties] to be used.
This avoids the need to call meson from a script file or have a
long command line invocation of `meson setup`

The method meson.get_native_property('prop', 'fallback') is added.
The native file can contain properties like

```
[properties]
myprop1 = 'foo'
mydir2 = 'lib/custom'
```

Then from within `meson.build`

```meson
x1 = meson.get_native_property('myprop1')

thedir = meson.get_native_property('mydir2', 'libs')
```

fallback values are optional
2020-02-05 13:23:55 -05:00
Jussi Pakkanen dc8d241583
Merge pull request #6573 from michaelbadcrumble/add_sample_templates
Add new Meson sample templates
2020-02-05 19:45:59 +02:00
Xavier Claessens 4c5a9523be pkgconfig: Generate -uninstalled.pc files
Closes: #3472.
2020-02-05 16:54:01 +01:00
Xavier Claessens 15eb0014ac interpreter: Iterate custom target outputs 2020-02-04 21:28:32 +02:00
Michael ec12b39658 add feature note 2020-02-02 17:18:57 -08:00
Dylan Baker b0c219b9bb docs: Update dependency docs for zlib 2020-01-31 09:28:56 -08:00
Dylan Baker e728331cc8 docs: Add snippet for zlib system dependency 2020-01-31 09:28:56 -08:00
Dylan Baker d67271e1a6
Small cleanups for the LLVM dependency class (#6548) 2020-01-30 23:32:33 +02:00
Kyle Stone c89dca8c70 Add ability to specify project branch to install 2020-01-28 19:00:39 -05:00
Jussi Pakkanen 0fe485a100 Tell contributors not to write things in the snippet help file. [skip ci] 2020-01-27 23:11:44 +02:00
Jussi Pakkanen 8cb2cbaed2 Only provide 64 bit MSIs going forward. [skip ci] 2020-01-27 22:21:31 +02:00
Dylan Baker b16a7ff454 docs: small cleanups and clarifications to setting the dynamic linker [skip ci]
Fixes #6510
2020-01-27 22:16:23 +02:00
Jussi Pakkanen a51c9af921
Merge pull request #6423 from dcbaker/declare-dependency-variables
Add ability to set and query arbitrary variables on declare_dependency objects
2020-01-27 18:29:22 +02:00
Lisa White 42bbce2835 Update wrapdb docs to reflect repositories split [skip ci] 2020-01-27 17:07:17 +02:00
Xavier Claessens b74ece344f Support multiple args to message() and warning() 2020-01-26 07:51:16 -05:00
Dylan Baker b871b9fd06 docs: Update the release procedure to include release candidates [skip ci]
Fixes #6456
2020-01-25 11:58:12 +02:00
Jussi Pakkanen 37716aed6d Remove trial conversions as it is stale. [skip ci] 2020-01-24 16:10:17 -08:00
Jussi Pakkanen a11a28a988 Add LCA2020 talk to videos page. [skip ci] 2020-01-23 21:35:32 +02:00
Jussi Pakkanen 254cb3209d Set source and build dir envvars when running dist. 2020-01-23 02:25:52 +02:00
Dylan Baker 8c1221b437 Add m68k to known cpus for Motorola 68000 series processors
Fixes #6492
2020-01-23 00:20:01 +02:00
Dylan Baker 730a7b296f environment: Replace LD with <LANG>LD
The rust code is ugly, because rust is annoying. It doesn't invoke a
linker directly (unless that linker is link.exe or lld-link.exe),
instead it invokes the C compiler (gcc or clang usually) to do it's
linking. Meson doesn't have good abstractions for this, though we
probably should because some of the D compilers do the same thing.
Either that or we should just call the c compiler directly, like vala
does.

This changes the public interface for meson, which we don't do unless we
absolutely have to. In this case I think we need to do it. A fair number
of projects have already been using 'ld' in their cross/native files to
get the ld binary and call it directly in custom_targets or generators,
and we broke that. While we could hit this problem again names like
`c_ld` and `cpp_ld` are far less likely to cause collisions than `ld`.
Additionally this gives a way to set the linker on a per-compiler basis,
which is probably in itself very useful.

Fixes #6442
2020-01-22 23:39:33 +02:00
Stéphane Cerveau 958df63dac envconfig: add pkg_config_libdir property
In order to unify the use of sysroot in the cross-file,
the pkg_config_libdir can now be passed directly in the file.
2020-01-22 15:42:13 -05:00
Jussi Pakkanen ad687462e1 Add link to PDF manual site on the front page. [skip ci] 2020-01-22 11:42:20 +02:00
Jussi Pakkanen 21eba740e7 Reformat user list page. [skip ci] 2020-01-22 11:29:59 +02:00
Niklas Hambüchen b44501b02d docs: Fix typo in link
Commit 1404f404 (#4744) introduced this typo, making the link not jump to the correct section when clicked.
2020-01-21 08:46:33 -08:00
Marc-Andre Lureau 24174abfb2 Users.md: add qboot [skip ci]
It's worth to list a meson project building a firmware.
2020-01-21 05:55:27 +10:00
alex-tee 646c928b34 add zrythm to Users.md [skip ci] 2020-01-20 16:38:36 +10:00
Amit D 2558e9c4a5 Update Users.md 2020-01-17 10:07:33 -08:00
Amit D 163a8cabb0 Update Users.md
Remove "(not the default yet)" from Glib, Orc and Pango
2020-01-17 10:07:33 -08:00
Dylan Baker 3b691a89bd Add s390 to list of known architectures
Fixes #6411
2020-01-15 09:56:13 -08:00
Amit D cfc2b92e92 Update Users.md 2020-01-14 13:05:24 -08:00
Dylan Baker 202c89d0b6 docs: Add documentation for variables keyword
In declare_dependency() and dependency.get_variables().
2020-01-09 11:02:17 -08:00
Vadim Zhukov f3199edaf8 mention lack of up-to-date dependencies explicitly [skip ci]
Requested by scivision@
2020-01-08 13:22:05 +02:00
Vadim Zhukov dd5b374e99 [skip ci] Use more up-to-date wording for package managers
Most of the OSes Meson supports actually do have package managers,
and at least some of them are not harder to use than Linux ones.
2020-01-08 13:22:05 +02:00
Jussi Pakkanen 8d576eba91 Prepare new release. 2020-01-07 22:12:25 +02:00
Michael Hirsch, Ph.D 9e341ce81c
doc: examples of run_project_tests.py options 2019-12-23 17:24:34 -05:00
Daniel Mensinger 77e0008a1f cmake: Fix obeject libraries
This fixes an issue with generated sources and object libraries, as
well as an issue on windows with the `link` linker and the vs backend.
The last issue is resolved by building the source files multiple times
to avoid extracting object files in meson.
2019-12-22 22:38:20 +02:00
Xavier Claessens e5297aeca5 summary: Change 'section' to be a kwarg instead of positional
Fixes: #6372.
2019-12-19 14:19:39 -05:00
Michael Hirsch, Ph.D 5695dc0f16 add compiler.get_linker_id() method
this can be useful for if/elif where linker behaviors must be
considered.

For example, clang with "link" vs gcc with "ld.bfd" etc.

ci for compiler.get_linker_id() method

doc

add @FeatureNew check

Co-Authored-By: Daniel Mensinger <daniel@mensinger-ka.de>
2019-12-19 12:03:55 -05:00
Michael Hirsch, Ph.D fb121f6254 fs: rename samefile => is_samepath
is_samepath better reflects the nature of this function--that files
and directories can be compared.

Also, instead of raising exceptions, simply return False when one
or both .is_samepath(path1, path1) don't exist. This is more
intuitive behavior and avoids having an extra if fs.exist() to go
with every fs.is_samepath()
2019-12-19 08:51:31 -05:00
Daniel Mensinger c4649704c8 python: add embed to the python dependency function 2019-12-18 01:19:16 +02:00
Jussi Pakkanen 3122bac28a
Merge pull request #4649 from dcbaker/summary-function
Add a summary() function for configuration summarization
2019-12-18 01:17:27 +02:00
Xavier Claessens 38953d8ee3 summary: Add bool_yn keyword argument 2019-12-12 18:30:17 -05:00
Xavier Claessens 49082f9669 summary: Allow section with no title, and passing key/value separately 2019-12-12 18:30:17 -05:00
Xavier Claessens 6e865a2330 Add a summary() function for configuration summarization
Based on patch from Dylan Baker.

Fixes #757
2019-12-12 18:30:17 -05:00
Paolo Bonzini 3778a34979 mintro: include test protocol in introspection data 2019-12-13 00:47:10 +02:00
ePirat 0bf8862beb docs: Fix wrong example for shaderc dependency [skip ci]
The example is meant for wxWidgets not Shaderc.
2019-12-12 10:44:12 -05:00
Jussi Pakkanen 17dd9e5bff
Merge pull request #6207 from dcbaker/linker-option
Add a way to select the dynamic linker meson uses
2019-12-11 23:29:33 +02:00
Daniel Mensinger fc800a2cb8 mintro: Add version key to --scan-dependencies (fixes #6287) 2019-12-10 20:17:21 +02:00
Marc Herbert f2ad800408 docs: explain cross-compilation names sooner [skip ci]
Meson's documentation about cross-compilation made me finally understand
why the typical confusion about machine names. Thanks, but let's make it
even better. Don't wait until the very end of the section to reveal the
most important information: that machine names are relative. For
suspense we already have TV shows; spill the beans much earlier.

Also fix the first, simplest cross-compilation example: target is
irrelevant.
2019-12-10 18:21:14 +02:00
Xavier Claessens 552e78da4d assert(): Make message argument optional 2019-12-10 18:02:41 +02:00
Xavier Claessens 1298f71b1c dist: Add --include-subprojects option 2019-12-08 20:21:43 +02:00
Ken Gilmer f7d54c96c1 Add brief description of configuring Vala's preprocessor via the add_project_arguments() function. [skip ci] 2019-12-07 23:34:32 +02:00
Jussi Pakkanen 06cc98ab54
Merge pull request #6228 from scivision/scalapack
deps: add Scalapack
2019-12-07 21:17:53 +02:00
Michael Hirsch, Ph.D ee241f2aab mtest: document default MALLOC_PERTURB_=1..255 behavior [skip ci]
This default behavior can have surprising and time-consuming outcomes.
I was wondering why certain tests using several external, fixed libraries
would fail only with Meson and not with CMake or manual runs.
It turned out mtest.py enables MALLOC_PERTURB_ by default, which is
surprising--a topic for another Issue/PR.

At least, this surprising default is documented with workarounds.
2019-12-06 14:35:36 +02:00
Dylan Baker 9ca9bb7c09 docs/users: Add libglvnd [skip ci] 2019-12-05 22:03:20 -05:00
Xavier Claessens b872099468 find_program(): Add 'dirs' keyword argument
Fixes: #1576
2019-12-05 16:52:22 -05:00
Amit D bc5864ba21 Update Users.md 2019-12-05 11:10:15 -05:00
Danilo Spinella 75133d5d12 Add pkgconfig import in D documentation 2019-12-05 07:28:05 -05:00
Xavier Claessens 9b1a857473 dict: Fully evaluate keys
The only restriction is keys must be string after evaluation. This fix
various inconsistencies.
2019-12-04 16:45:56 -05:00
Amit D 41bebebb7b Update Users.md 2019-12-04 10:19:35 -08:00
Dylan Baker 32e0bcc516 docs: Update docs for LD and ld entries 2019-12-02 16:39:06 -08:00
Dylan Baker ef9aeb188e Allow selecting the dynamic linker
This uses the normal meson mechanisms, an LD environment variable or via
cross/native files.

Fixes: #6057
2019-12-02 16:39:06 -08:00
Michael Hirsch, Ph.D 11639dd922 doc: update travis-CI info and add GitHub Actions example [skip ci] 2019-12-02 01:36:32 +02:00
Michael Hirsch, Ph.D 92b77cb321
deps: add scalapack
Scalapack uses a library stack that can be challenging to manage.
Not least of all since many Scalapacks ship with broken / incomplete
pkg-config files and CMake FindScalapack.cmake

This resolves those issues for typical Scalapack setups including:

* Linux: Intel MKL or OpenMPI + Netlib
* MacOS: Intel MKL or OpenMPI + Netlib
* Windows: Intel MKL (OpenMPI not available on Windows)
2019-11-30 21:29:49 -05:00
Michael Brockus da9f56afde Update CI Continuous Integration page and add CircleCi example [skip ci] 2019-11-30 23:33:06 +02:00
chris 6cc0ef8c07
docs: fix typo 2019-11-29 18:08:15 +01:00
Robert Ancell dd15c47ea8
docs: Fix typo [skip ci] 2019-11-27 20:23:20 -05:00
Xavier Claessens a6f7a1d8c4 fs: Add parent() and name() methods 2019-11-25 14:55:19 -05:00
Michael Hirsch, Ph.D 07a2fe2f00 complete gfortran/intel/intel-cl fortran_std test 2019-11-25 13:08:56 +02:00
Artsiom Chapialiou cefdf8dcb0 Meson Syntax Highlighter plugin for JetBrains IDEs. 2019-11-21 01:19:13 +02:00
Paolo Borelli 294b33144f docs: clarify how Meson handles shebang in run_command [skip ci] 2019-11-19 21:07:02 +02:00
Jussi Pakkanen bf800101c2
Merge pull request #6182 from mensinda/depInfo
Better dependency logs
2019-11-17 14:29:47 +02:00
Michael Hirsch, Ph.D 0cb48cdc79
fs: make replace_suffix not expand file to absolute path, just manipulate the string 2019-11-17 00:22:53 -05:00
Michael Hirsch, Ph.D 2ae96f8595
fs: replace_suffix 2019-11-17 00:17:06 -05:00
Michael Hirsch, Ph.D 4997d93b49
fs: add docs for fs.size() 2019-11-17 00:17:05 -05:00
Michael Hirsch, Ph.D 5db3f8ac3d
fs: correct docs 2019-11-17 00:17:05 -05:00
Michael Hirsch, Ph.D a320274179
fs: get file size
fs: add samefile
2019-11-17 00:17:04 -05:00
Michael Hirsch, Ph.D 67651271f6
fs: add hash compute method 2019-11-17 00:17:04 -05:00
Michael Hirsch, Ph.D 1a0b4ddf34
fs: further document and test behavior 2019-11-17 00:17:03 -05:00
Michael Hirsch, Ph.D 052d918908
add fs.with_suffix 2019-11-17 00:17:02 -05:00
Marc Herbert 1e7972e9dd docs: fix non-existent "meson rewriter" command in examples [skip ci]
Probably dating back to the former mesonrewriter command?

Fixes commit d4fe805a51

In some corner cases, "rewriter" could be mistaken as a positional
argument.
2019-11-16 21:27:05 +02:00
Daniel Mensinger c361181cd9
mintro: dependencies: added version key 2019-11-14 18:16:47 +01:00
franczc adb4e071e6 Adding dictionary entry using string variable as key. 2019-11-12 09:21:10 -05:00
yshui 51d0e02292 Add missing openbsd to the operating system names table [skip ci] 2019-11-11 22:41:09 +02:00
mayl 33a2e7c3d2 Document lack of clang support [skip ci]
Meson doesn't currently provide a very helpful message when trying to generate a coverage report with clang, and in fact just silently fails for 2 of the 3 reports.  Ideally Meson would support coverage with llvm-cov, or provide a more helpful error message.  Until then, it seems it would be helpful to at least put a warning in the documentation
2019-11-10 23:47:02 +02:00
Eli Schwartz 1238b16c8e docs: major revamp of the Wrap format description [skip ci]
The current state of this manual can best be described as... confusing.
The flow of the page jumps from one topic to the next without ever
actually telling you what you can do, so it's almost impossible to keep
track of what is supported, while instead going into involved derails
about why you'd want to use a wrap, and scattering some (but not all)
information throughout the promo material.

The most important changes this rewrite does (aside from turning
supported keys into a list of bullet points) is adding documentation for
the lead_directory_missing property, and mentioning that wrap-hg and
wrap-svn exist. I had to find out all of this by reading the source code
implementation, so let's try to save other people the effort.

Other miscellania: as per @jpakkane's comment, take the opportunity to
point out that wrap dependencies are also useful on Linux, in cases
where your distro doesn't have a new enough version of "$dependency".
It's a fairly common problem outside of select rolling-release distros,
so well worth mentioning.
2019-11-08 23:29:54 +02:00
Jussi Pakkanen 46788d1b5b Created the filesystem module. 2019-11-08 00:44:45 +02:00
Vedran Miletić 48a719033e docs: Mention error LNK1181, linking for MSVC [skip ci]
Make FAQ entry about linking failing on Windows with MSVC more easily discoverable by including keywords LNK1181 and linking.
2019-11-07 22:37:40 +02:00
Wolfgang Stöggl 32f64aa2cb docs: Add backend vs2019 to table in Builtin-options.md [skip ci] 2019-11-06 10:53:43 -05:00
Wolfgang Stöggl f037e7ef45 Fix typos found by codespell
- Typos were found by codespell v1.16.0
2019-11-06 09:55:30 -05:00
Aleksey Gurtovoy f56ef583d3 dependency('cuda') 2019-11-05 22:17:44 +02:00
Dylan Baker 11f1adb7dd docs: Document that meson 0.52.0 allows layering cross files [skip ci] 2019-11-05 22:14:59 +02:00
Michael Hirsch, Ph.D bbe6db08e3 Minit templates modularization 2019-11-02 23:34:58 +02:00
Jussi Pakkanen b3fe4a0a18 Add option for controlling RTTI. 2019-11-02 19:49:14 +02:00
Michael Hirsch, Ph.D d218d52367 Ensure setuptools via PEP508/518 pyproject.toml 2019-11-02 16:17:13 +02:00
rc-matthew-l-weber 6e18e5b0b3 docs: clarify --default-library is for internal libraries [skip ci]
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
2019-10-28 00:07:50 +02:00
Marc-André Lureau 1ed70e22b9 Add source tags targets 2019-10-22 20:48:24 +03:00
Anton Leontiev 603b1ac287 docs: Fix some incorrect links [skip ci] 2019-10-19 19:14:10 +03:00
Anton Leontiev ddd7cf634b docs: Add missing language identifier [skip ci] 2019-10-19 19:14:10 +03:00
Gerion Entrup d5be103585 Documentation: Extend example for precompiled headers
The documentation already contains an example for PCH but misses the
to show the content of the PCH files and how to create them.

With this commit exactly this is exlained.
2019-10-18 13:13:52 -04:00
Matt Turner 20519a0e1a envconfig: Add Alpha CPU family 2019-10-15 21:47:58 +03:00
Gabriel Ganne f060a417bc doc: tell that unit-tests "priority" is introduced in 0.52 [skip ci] 2019-10-08 00:08:17 +03:00
Jussi Pakkanen 2779603c68 Updated version numbers for 0.52.0 release. 2019-10-06 20:05:19 +03:00
Jussi Pakkanen 51fef880b6
Merge pull request #5953 from mensinda/isystem
Add is_system to dependency
2019-10-06 17:33:12 +03:00
Jussi Pakkanen 39342fbe25
Merge pull request #5990 from dcbaker/extra-benchmark-options
Correctly warn and document options to benchmarks
2019-10-04 01:10:39 +03:00
Gerion Entrup 7d01629580 mtest: add gdb_path option
When using the '--gdb' argument of meson test the executed binary can
now be specified with '--gdb-path'.

Closing: #4373
2019-10-04 01:10:07 +03:00
Daniel Mensinger 73d52266b5
Use include_type instead of is_system 2019-10-03 10:06:04 +02:00
Daniel Mensinger 942f145de9
added docs 2019-10-03 10:06:04 +02:00
Dylan Baker 678ee8a9c1 docs: update docs on benchmark in regards to arguments accepted 2019-10-02 13:50:25 -07:00
Jussi Pakkanen d3b389f349 Add clang-tidy target. Closes #2383. 2019-10-01 22:02:51 +03:00
Xavier Claessens 2fb51a2cb0 doc: Add release snippet for the rework of static libraries 2019-10-01 13:06:45 -04:00
Marc-André Lureau 01569fee2e Add depfile to configure_file()
In qemu, minikconf generates a depfile that meson could use to
automatically reconfigure on dependency change.

Note: someone clever can perhaps find a way to express this with a
ninja rule & depfile=. I didn't manage, so I wrote a simple depfile
parser.
2019-09-30 22:17:50 +03:00
Christoph Weiss 0008b326ff Add support for `depth` option in wrap-git
This allows cloning subprojects shallowly.  It works recursively for a
subproject's submodules in case `clone-recursive` is set to `true`.
2019-09-29 20:47:59 +03:00
Marc-André Lureau a65d5801f3 environment: Support taking values from dict
Related to #5955.
2019-09-29 08:42:53 -04:00
Jussi Pakkanen ef5fa846e0 Add CppCon 2019 talk to videos page. [skip ci] 2019-09-29 02:51:39 +03:00
Jussi Pakkanen 52c4ca4afd Moved changes from preliminary relnote page to snippets. [skip ci] 2019-09-29 02:48:58 +03:00
Nathan Rossi 2dd5e695c7 envconfig: Add MicroBlaze CPU family
Add the CPU family for the MicroBlaze processor.

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2019-09-26 20:28:42 +03:00
David Cantrell fbbdde4561 Clarify the list of languages is optional for project() [skip ci] 2019-09-26 20:26:14 +03:00
Patrick Griffis 1670fca36f Add blocks dependency
This allows easily enabling the blocks clang extension.
2019-09-23 21:10:00 +03:00
Khairul Azhar Kasmiran 6b0c711c91 Add Windows behavior to executable()'s install_rpath arg doc [skip ci] 2019-09-23 13:27:10 -04:00
Xavier Claessens ef3992f1cc configure_file(): Allow multiple inputs in command mode
Closes: #5893
2019-09-17 13:05:40 -04:00
jimbo1qaz 7e2c54c0a3 Fix improperly closed code backtick [skip ci] 2019-09-15 20:16:49 -04:00
Dylan Baker b98337808c docs: Add a snippet about illumos and Solaris support improvements 2019-09-09 21:22:26 -07:00
Dylan Baker 523c393691 docs: Add sunos to the reference table
I originally liked "solaris", but I've changed my mind. Both illumos
(the open-source fork of OpenSolaris) and Oracle's closed-source
Solaris are identified by the same token, and there are differences
between them; so using "sunos" as a sort "supertype" for both makes
sense to me.
2019-09-09 21:22:26 -07:00
dundir 61b5361c62 Update Quickstart Guide [skip ci] 2019-09-06 00:01:17 +03:00
Nirbheek Chauhan 53830038ac
docs/syntax: fix typo in dict example [skip ci] 2019-09-03 17:50:39 +05:30
Nirbheek Chauhan 41b0fae0a9
docs/syntax: Document that dicts are unordered [skip ci] 2019-09-03 17:48:08 +05:30
Simon Allen d5026f13de Fix typo 2019-09-02 21:34:22 +03:00
Peter Hutterer 4ebce2c3f2 Add test priorities to force test start order 2019-08-24 21:26:41 +03:00
Dylan Baker 110b562930 Vs backend compiler selection (#5448)
* backends/vs: Only set platform_toolset if it isn't already set

* interpreter: set backend up after the compiler

Otherwise we won't be able to check which VS toolchain to use.

* docs/using-visual-studio: wrap lines

* docs: recommend the py launcher instead of python3 for windows

* set backend.environment when building a dummy version

* backends/vs: Add support for clang-cl with vs2017 and vs2019 backends

* backends/vs: Add support for ICL (19.x) with vs2015 and vs2017 backends
2019-08-24 02:32:56 +03:00
Vedran Miletić ab5bb8bcba Add RxDock 2019-08-23 13:28:39 +03:00
Jussi Pakkanen 1ea3ddc6ad
Merge pull request #5681 from dcbaker/dynamic-linker-split
split dynamic linker representations from compilers
2019-08-20 23:14:05 +03:00
Jakub Jermář 53289cb98c Add HelenOS to Users.md 2019-08-19 10:58:03 -07:00
Dylan Baker 142012ab73 docs: add snippet for l_undef on apple
I didn't really mean to, but in splitting the linkers and compilers I
got this all working.
2019-08-14 13:13:23 -07:00
Dylan Baker 931a1b9187 docs: Add snippet for compiler linker split 2019-08-14 13:13:23 -07:00
Nirbheek Chauhan 275c493caf
Update vim syntax files link in 0.37 release notes [skip ci] 2019-08-13 19:35:35 +05:30
James Hilliard b21fd95f73 Add is_disabler function
This is useful if one needs to check if a variable is a disabler.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
2019-08-12 01:05:45 +03:00
John Ericson 5d3c092ded docs: meson -> Meson in one place 2019-08-08 09:35:31 -04:00
Jussi Pakkanen 81eecb25ad Describe how to set up VS external project. [skip ci] 2019-08-06 17:37:24 +03:00
Jussi Pakkanen f41bdae368 Add basic Webassembly support via Emscripten. 2019-08-05 19:31:32 +03:00
Jussi Pakkanen 5f2e44b0dd Make gettext targets no-ops if gettext is not installed. Closes: #821. 2019-08-04 21:46:52 +03:00
Marc-André Lureau 8ba1405742 sourceset: add all_dependencies() method
'if_true' sources should be built with their dependencies, as
illustrated by test case change.

Ideally, I think we would want only the files with the dependencies to
be built with the flags, but that would probably change the way
sourceset are used.
2019-08-04 21:44:52 +03:00
Emmanuel Pacaud 923efe9eda Add aravis to meson users (#5757) [skip-ci]
Aravis project is now using meson as its build system.
2019-08-02 07:52:26 +00:00
Marc-André Lureau 06aaffa4e1 Allow kconfig to read from configure_file()
At configure time, kconfig can read from configure_file().

"test cases/kconfig/4 load_config builddir/meson.build" was already
showing a workaround, now it actually can take configure_file input
directly.
2019-07-31 21:42:24 +03:00
Michael Hirsch, Ph.D 148a3a83a6 DOC: meson test multiple --suite specifications [skip ci]
docs:wrap < 80 col
2019-07-30 19:08:48 +03:00
ePirat 84030abd31 Docs: Add default value of install kwarg [skip-ci] 2019-07-30 18:23:07 +03:00
Dylan Baker 487fdfcd11 docs: Add missing closing ` in reference manual 2019-07-26 12:06:47 +00:00
Dylan Baker 03f3c7ad62 docs: correct key in dep.get_variable
pkg-config -> pkgconfig
2019-07-26 12:06:47 +00:00
Michael Hirsch, Ph.D 49dd56b312 add missing link [skip ci] 2019-07-26 11:57:47 +03:00
Michael Hirsch, Ph.D b90b69d383 note that integers have .to_string() method [skip ci] 2019-07-26 11:57:47 +03:00
Daniel Mensinger 8bc408e4ba Added KDevelop to the docs (#5714) [skip ci]
The new meson plugin will be included in KDevelop 5.4, so adding
it to the IDE-Integration docs.

https://www.kdevelop.org/news/kdevelop-5380-released
2019-07-25 10:46:32 +00:00
Nirbheek Chauhan b0f4587663 docs: Document when install: was added to configure_file [skip ci]
Somehow we forgot to document this.
2019-07-25 03:39:50 +05:30
Jussi Pakkanen f2e018c7f3 Create multiple different archive types with dist. 2019-07-23 23:26:46 +03:00
Xavier Claessens 2e41d53e4d Add version check support to find_program()
Closes: #1609
2019-07-19 08:55:50 -04:00
Daniel Mensinger 3b3f53ab55 mintro: Fix section key in buildoptions
This reverts the changes to the `section` key for the
buildoptions and moves the machine choice into it's
own `machine` key.

With this commit the __undocumented__ breaking change
to the introspection format (introduced in 0.51.0) is
reverted and a new key is added instead.
2019-07-17 19:20:33 +03:00
Marc-André Lureau 341d245e68 Accept vs_module_defs for modules
Like shared libraries, modules may have vs_module_defs.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2019-07-17 19:19:56 +03:00
Xavier Claessens f5da881126 gtkdoc: Add 'check' kwarg (#5591)
* gtkdoc: Add 'check' kwarg

This runs gtkdoc-check in meson tests.

Also reorganize the gtkdoc test because we cannot reliably build
multiple doc into the same directory. Not all files generated by gtk-doc
are prefixed with the target name.
2019-07-16 22:50:33 +03:00
ailin-nemui 9bb6093fa0 Add Irssi to Users 2019-07-16 08:39:18 -07:00
ePirat 42d48b461d
Docs: Fix brackets in generator examples [ci skip] 2019-07-16 12:57:54 +02:00
Michael Hirsch, Ph.D a90a9aac84 doc 2019-07-11 22:37:25 +03:00
Jussi Pakkanen 19cda6b7c9
Merge pull request #5606 from xclaesse/alias_target
Add alias_target() function
2019-07-11 00:34:40 +03:00
Xavier Claessens 12d4031f52 Add alias_target() function 2019-07-10 15:01:18 -04:00
Nirbheek Chauhan a310ba863e FAQ.md: Do I need to add headers to sources? [skip ci] 2019-07-10 01:00:42 +03:00
Nirbheek Chauhan 2cc9d79e95 FAQ.md: Add an entry for generated headers [skip ci]
Closes https://github.com/mesonbuild/meson/issues/5624
2019-07-10 01:00:42 +03:00
Jussi Pakkanen 785b0711cd Explain that using shell functionality is forbidden. [skip ci] 2019-07-05 23:39:16 +03:00
Xavier Claessens dd8f75ad93
Document that add_languages() returns a boolean [skip ci] (#5600) 2019-07-05 14:19:04 -04:00
Jussi Pakkanen 33aee8d113 Describe array values in install_dir. [skip ci] 2019-07-01 09:53:30 -07:00
John Ericson 9149aaba9c `add_{global,project}_{,link_}arguments`: simply native flag behavior
This further simplifies behavior to match the "build vs host" decision
we did with `c_args` vs `build_c_args`. The rules are now simply:

 - `native: true` affects `native: true` targets

 - `native: false` affects `native: false` targets

 - No native flag is the same as `native: false`

I like this because you don't even have to know what "build" and "host"
mean to understand how it works, and it doesn't depend on whether the
overall build is cross or not.

Fixes #4933
2019-06-27 21:24:50 +03:00
Dylan Baker e182dba61f dependencies/base: Set PKG_CONFIG_SYSROOT_DIR from cross file
In some cases it may be necessary to set PKG_CONFIG_SYSROOT_DIR, like
when you've mounted a host architecture system in an arbitrary path.
Meson will now check the cross files for a [properties]:sys_root
variable and set the PKG_CONFIG_SYSROOT_DIR environment variable based
on that variable.

Fixes #3801
Fixes #4057
2019-06-26 23:28:33 +03:00
Dylan Baker e2039da5d9 Split attribute visibility
* c_function_attributes: remove 'protected' from 'visibility'

This doesn't exist on macos with the apple compiler, which always causes
failures.

Fixes #5530

* compilers: Add split visibility checks to has_function_attribute

These check for a single visibility at a time, rather than all four at
once. This allows for finer grained searches, and should make using
these checks safer across operating systems.
2019-06-25 00:02:26 +03:00
Michael Hirsch, Ph.D 40a3a6c3d0 only --only option to run_project_tests, add type hints, improve variable name use 2019-06-23 18:22:43 +03:00
Dylan Baker d35d7ccad1 docs: Update libdir caveat
Fixes #5514
2019-06-21 16:55:18 +03:00
andy5995 a1ea5fd16b Quick_guide.md:add python-setuptools and wheel
per IRC discussion, the wheel package isn't required but reduces
harmless warnings.

[skip ci]
2019-06-19 00:05:30 +03:00
andy5995 ceb70a5c2e Reference-manual.md:add missing equal sign in "both_libraries" section
[skip ci]
2019-06-19 00:03:36 +03:00
Jussi Pakkanen 5ecab57667 Update things for new release. 2019-06-16 22:03:29 +03:00
Francisco Velázquez 288ef0e0e7 Tutorial.md: Improve English [skip ci] 2019-06-16 20:43:55 +03:00
Dylan Baker 15ab1f64f9 modules/python: add a modules keyword argument
This mirrors the modules keyword argument that some dependencies (such
as qt and llvm) take. This allows an easier method to determine if
modules are installed.
2019-06-12 14:13:20 +03:00
Dylan Baker 0e23dbec81 docs: compiler objects are returned [skip ci]
Not a series problem, but annoys me that that it's in the builtin
section when it's a returned object.
2019-06-10 23:48:27 +03:00
Jussi Pakkanen 6b4b601eaf Rewrap some doc lines. [skip ci] 2019-06-10 01:46:55 +03:00
Dylan Baker 342767d6c7 docs: Add bzip2 to the Users page 2019-06-08 18:05:44 +03:00
Daniel Mensinger 4abd2e7103
cmake: doc: fixed typos 2019-06-06 18:27:05 +02:00
Daniel Mensinger 438ee6b01d
cmake: updated docs 2019-06-06 18:27:05 +02:00
Daniel Mensinger 35936316eb
cmake: rebase fixes 2019-06-06 18:27:04 +02:00
Daniel Mensinger 6cb904de7b
cmake: Added docs 2019-06-06 18:27:03 +02:00
John Ericson af2d7af998 Per machine do 'build.' and '' option prefixes
See the docs/ changes for details.
2019-06-05 23:05:34 -04:00
Eli Schwartz 5a0fec13b6 doc: fix typo [skip ci]
Error introduced in commit 8e403e08ac
2019-05-31 12:31:26 -07:00
Mathieu Duponchelle 12a82e763d interpreter: add fallback argument to subproject.get_variable() 2019-05-28 20:26:54 +03:00
Dylan Baker 0714ba58c7 coredata: add cmake_prefix_path option 2019-05-27 01:24:08 +03:00
Dylan Baker 0d19d334a8 docs: pkg_config_path is a list not a string
You should pass arguments as a list, ie -Dpkg_config_path=/foo,/bar
and meson will join the paths appropriately for you.
2019-05-27 01:24:08 +03:00
Joel Rosdahl f13e65b93a Update to new ccache URL
ccache’s web site is now located at https://ccache.dev.

Bonus: Use the preferred capitalization “Ccache” instead of “CCache”.
2019-05-27 01:10:57 +03:00
Erik Faye-Lund 9b3592a8ba docs/Users: update Mesa link [skip ci]
Mesa's primary home is now in the Freedesktop GitLab instance. The cgit repo is just a mirror.
2019-05-23 21:21:35 +03:00
Jussi Pakkanen 8e403e08ac Use library() instead of rolling your own. [skip ci] 2019-05-23 00:45:51 +03:00
Jussi Pakkanen 77a933faca
Merge pull request #5028 from bonzini/sourceset
new module "sourceset" to match source file lists against configuration data
2019-05-23 00:01:29 +03:00
Michael Hirsch, Ph.D 44b6ccbe56 join_paths => / [skip ci] 2019-05-22 23:56:50 +03:00
Paolo Bonzini d894c48660 new module "sourceset" to match source file lists against configuration data
In QEMU a single set of source files is built against many different
configurations in order to generate many executable.  Each executable
includes a different but overlapping subset of the source files; some
of the files are compiled separately for each output, others are
compiled just once.

Using Makefiles, this is achieved with a complicated mechanism involving
a combination of non-recursive and recursive make; Meson can do better,
but because there are hundreds of such conditional rules, it's important
to keep meson.build files brief and easy to follow.  Therefore, this
commit adds a new module to satisfy this use case while preserving
Meson's declarative nature.

Configurations are mapped to a configuration_data object, and a new
"source set" object is used to store all the rules, and then retrieve
the desired set of sources together with their dependencies.

The test case shows how extract_objects can be used to satisfy both
cases, i.e. when the object files are shared across targets and when
they have to be separate.  In the real-world case, a project would use
two source set objects for the two cases and then do
"executable(..., sources: ... , objects: ...)".  The next commit
adds such an example.
2019-05-22 12:09:09 +02:00
Jussi Pakkanen e9bd7d49bd
Merge pull request #5372 from dcbaker/get_variable
Dependency.get_variable method
2019-05-21 21:57:05 +03:00
Jussi Pakkanen 79d530e325 Generators can have extra target dependencies. Closes #4131. 2019-05-20 23:38:13 +03:00
Dylan Baker c890c947fa fixup! tests: Add test for Dependency.get_variable 2019-05-20 10:41:26 -07:00
Dylan Baker ffe2a678d5 docs: Add docs for Dependency.get_variable 2019-05-20 10:41:11 -07:00
Szunti cf662ded46 Fix typo in Dlang-module.md 2019-05-17 15:16:37 -07:00
Jussi Pakkanen 7b8ef78bc0
Merge pull request #5331 from dcbaker/icl
ICL (Intel for Windows) support
2019-05-14 00:24:48 +03:00
Nirbheek Chauhan b849f6f935 FAQ: Add an entry about the library naming scheme with MSVC [skip ci]
This is very frequently asked.
2019-05-13 23:24:18 +03:00
Dylan Baker 523c7beefc docs/markdown: add snippet for intel-cl support 2019-05-13 11:22:31 -07:00
Dylan Baker be88945ee3 docs/reference-table: Add intel-cl
Because the Intel compiler behaves significantly differently on windows
than it does on Linux and MacOS I've decided it would be better to
follow the clang/clang-cl split and make id "intel-cl" on windows
(leaving "intel" alone on Linux and Mac). Since we've never supported
ICL and it hasn't worked in the past I think this is an okay change to
make.
2019-05-13 11:22:31 -07:00
Jussi Pakkanen 1ff6a8b5d5 Add entry for random design points. [skip ci] 2019-05-12 00:30:08 +03:00
Daniel Eklöf c2ee82cc41 add support for "target_type: 'shared_module'" in build_target() 2019-05-09 22:43:10 +03:00
nicole mazzuca 24d5c73b0a add -fno-exceptions if cpp_eh=none is specified 2019-05-05 21:19:04 +03:00
Amit D 128d313b66 Update Users.md [skip ci] (#5358) 2019-05-04 14:59:48 +00:00
Michael Hirsch, Ph.D 06bfc2dab6 per-target manual specification of link_language 2019-05-02 23:26:51 +03:00
Nicole Mazzuca 16463046b1 Add vc++ cpp_std flags to the documentation 2019-05-02 13:23:19 -07:00
Jussi Pakkanen 7059c47aad
Merge pull request #5161 from TheQwertiest/feature/custom_target_link
Can link against custom_target[i]
2019-05-02 22:21:56 +03:00
Jussi Pakkanen ec757492bf Describe how to add support for new compilers. [skip ci] 2019-05-02 21:58:03 +03:00
TheQwertiest 68a8481a05 Updated docs with information about `custom_target[i]` 2019-04-29 16:07:50 +03:00
Jon Turney ccc4ce28cc consistent invalid escape sequence behaviour
* docs: document unrecognized escape sequence behaviour [skip ci]

Document that unrecognized escape sequence behaviour is like python, not
C.

* Don't try to decode invalid hex escape sequences

Don't try to decode escape sequences which should contain a sequence of
hex digits, but don't, throwing a python exception.  These will treated
literally instead.

* Extend test case to cover invalid escape sequences
2019-04-28 23:06:36 +03:00
Jussi Pakkanen bbd67bbae9 Rewrap text. [skip ci] 2019-04-24 23:19:13 +03:00
Richard Kjerstadius ccaa61ec52 doc: Update coverage related documentation 2019-04-24 20:32:19 +02:00
Fernando Ramos d81dfcba74 Add support for the Xtensa toolchain
From (almost) all points of view, the Xtensa toolchain can be treated as
a regular GCC toolchain.

This patch adds very basic support so that, at least, meson does not
fail when trying to use "xt-xcc" (which makes it possible to use it
without problems).
2019-04-22 18:24:47 +03:00
Konstantin 841995cddf i18n: add args keyword to merge_file
* i18n: add args keyword to merge_file

* i18n: add testcase to msgfmt args
2019-04-22 14:54:05 +03:00
Jussi Pakkanen 8dedddca36 Fix table layout. [skip ci] 2019-04-22 00:48:41 +03:00
Vladimír Čunát e4f3894582 dist: recurse into git submodules 2019-04-21 23:13:01 +03:00
Jussi Pakkanen 91654674f0
Merge pull request #5289 from mesonbuild/fixxpass
Report xpass results as failures.
2019-04-21 15:15:19 +03:00
Jussi Pakkanen dc2044c56d Report xpass results as failures. 2019-04-21 03:01:04 +03:00
Anton Kochkov ad0ba6a911 Add VS2019 backend CI and docs. 2019-04-16 00:11:02 +03:00
Eli Schwartz f5bc0ab44a fix gpgme support by preferring pkg-config where possible
Since gpgme 1.13.0, pkg-config files are available and this is the
preferred way to detect the dependency. Without this, projects that wish
to generate pkg-config files that Requires.private on gpgme, now have
their custom dependency() fallbacks overridden with an incorrect
configtool dependency.
2019-04-15 11:09:49 -07:00
Keefer Rourke 53a7403f10 (#5260) link to builtin options in `library()` fn
As a newcomer to the Meson build system, I found the documentation of the `library()` function to be a bit misleading. Eventually I found what 'user option' referred to after digging through the docs.

This just adds a link back to the page that describes the options that are referred to in this paragraph.
2019-04-15 20:39:16 +03:00
Dylan Baker 79e925b8f6 docs/fallback-wraptool: wrap to 80 characters 2019-04-14 20:54:38 +03:00
Dylan Baker 68f5bfea62 docs: update fallback wraptool docs [skip ci]
Fixes #5229
2019-04-14 20:54:38 +03:00
jrl64 a2d222c383 Update Built-in Option c_std for C17. Closes #4842. 2019-04-10 23:14:51 +03:00
Dylan Baker 02ff9829c4 docs: Change 0.51 to 0.50.1 [skip ci]
Since this is targeting the 0.50.1 bugfix release.
2019-04-10 19:30:18 +03:00
TheQwertiest 52fa6152cd [docs] Reordered options and fixed a typo [skip ci] 2019-04-10 19:29:25 +03:00
Dylan Baker 67ca2d5bdc docs: Document pkg_config_path and cross_ options [skip ci] 2019-04-09 16:34:10 +00:00
Daniel Mensinger d72d98d3af mintro: removed deprecated --target-files API 2019-04-08 21:06:15 +03:00
Jussi Pakkanen 93f756ec25
Merge pull request #5176 from ao2/add-subproject-foreach-command
Add 'meson subprojects foreach' command
2019-04-08 20:42:03 +03:00
Jan Tojnar e8a688428d Add gpgme-config support
GPGME does not support pkg-config so we need config-tool support if
we do not want projects like Almanah and Seahorse to parse the values
manually.
2019-04-06 22:35:10 +03:00
Andrei Alexeyev 8209180c76 Add shaderc dependency lookup logic 2019-04-02 22:47:10 +03:00
Jussi Pakkanen 75219989ca
Merge pull request #5128 from Ericson2314/sanity-check-with-flags
Sanity check with external args
2019-04-02 00:40:05 +03:00
Antonio Ospite 221fb86373 docs: fix typo s/responsability/responsibility/ [skip ci] 2019-04-01 11:51:02 +02:00
Antonio Ospite e680dbe065 Add 'meson subprojects foreach' command
Sometimes it is convenient to run an arbitrary command (e.g. 'git diff')
on all subprojects.

Add a 'meson subprojects foreach' command to take care of that.

For this command the common argument 'subprojects' does not make sense,
so only add '--sourcedir' and cover the case of a missing
options.subprojects in run().
2019-04-01 11:51:02 +02:00
Jussi Pakkanen 5905533fcd
Merge pull request #5103 from mesonbuild/linkcustom
Can link against custom targets
2019-04-01 01:29:51 +03:00
Jonatan Pålsson 2a030e33f3 docs: Document when environment() was added (#5178) [skip ci]
The environment() function was added in 0.35.0 (which contains a2e7ebc5,
containing the actual addition)
2019-03-30 09:28:04 +00:00
Dylan Baker f2d4a32370 dependencies/base: Pass correct arguments to subdependencies
Currently InternalDependency.get_partial_dependency shadows the the
input variables names, and then passes those new copies to the final
object returned. It also passes them to the arguments of of
get_partial_dependency for each subdependency, which is wrong. The
code is supposed to proxy the original argumetn values to that instead
of the shadowing values.

To avoid that this patch renames the new values.
2019-03-29 21:27:54 +00:00
TheQwertiest c0d287c1bf [Docs] Built-in options page cleanup (fixes #5165) [skip ci]
- Added missing universal options.
- Split options in `directories` and `core` groups.
- Sorted alphabetically some of the groups.
- Removed `cross-file` from options, since it's not an option.
2019-03-29 21:44:16 +02:00
Will Thompson 3b7ec01692 docs: correct “It's” to “Its” [skip ci] 2019-03-29 13:33:35 +00:00
Jussi Pakkanen 2259db2683 Add documentation. 2019-03-28 23:11:30 +02:00
John Ericson 8c3d24e9de release note snippet for user flags in sanity checks [skip ci] 2019-03-27 10:54:56 -04:00
John Ericson b565eff084 Add release note snippit for CPPFLAGS handing [skip ci] 2019-03-27 14:45:42 +00:00
Dylan Baker d88bf0eb80 compilers: n_debug=if-release and buildtype=plain should not enable assertions
It's a bit odd that it doesn't, and has resulted in bugs in distro
packaging.

Fixes #5141
2019-03-26 22:17:27 +02:00
Jussi Pakkanen ed5992a10d
Merge pull request #5031 from bonzini/kconfig
Kconfig Module
2019-03-20 22:03:47 +02:00
Ross Burton 65e59c84a1 mesonbuild: allow multiple --cross-file options
Just like --native-file, allow multiple --cross-file options.  This is mostly
unifying the logic between cross_files and config_files.
2019-03-20 10:06:17 +00:00
Jussi Pakkanen 4b95dd3a6d Add test script to generate a static library with a custom target. 2019-03-18 22:01:06 +02:00
Paolo Bonzini 49076d719c kconfig: improvements for builddir config file
Document best practices for per-builddir config file, and add a test covering
loading a config file from the build directory.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-03-15 11:43:05 +01:00
Mark Schulte 647bd2839e [modules] Add kconfig module
Add a kconfig module to allow meson to integrate with existing projects
that use kconfig.
2019-03-15 11:42:36 +01:00
Kieran Bingham 33af335949 Add libcamera to Users.md [skip ci]
Add the libcamera project as a user of Meson.
2019-03-14 23:39:28 +02:00
Michael Hirsch, Ph.D e491792a95
docs 2019-03-14 02:04:25 -04:00
Tomas Krizek 4adadadb91 docs/Users: add Knot Resolver to projects 2019-03-13 12:51:17 -07:00
Tomas Krizek 9641a3d289 docs/Users: fix sort order (Kiwix libraries) 2019-03-13 12:51:17 -07:00
Niklas Claesson dd2c44cdf6 Add static as keyword to find_library 2019-03-11 20:56:52 +02:00
Nirbheek Chauhan a0be869bb9
docs: Typos and formatting in the 0.50 release notes [skip ci] 2019-03-11 21:35:46 +05:30
Thomas DeRensis 86a7d67179 docs: Add missing closing quote [skip ci] 2019-03-11 15:18:31 +00:00
Will Thompson ca355a79fb docs: fix typo in link anchor [skip ci] 2019-03-10 20:01:43 +00:00
Jussi Pakkanen 9f48f5fe94 Update everything for new release. 2019-03-10 19:25:09 +02:00
Amit D 2bec1633fc Update Users.md [skip ci] 2019-03-10 18:46:31 +02:00
Jussi Pakkanen 5a4defadab Generate release notes from snippets automatically. [skip ci] 2019-03-10 18:40:27 +02:00
Eli Schwartz 311cbf347b pkgconfig.generate: add FeatureNew and documentation for implict version
The documentation for this change was left out of its implementation in
commit b4aee4675a and was later documented
in commit f831c05b55 as if it had always
existed.
2019-03-09 19:39:51 +02:00
Dylan Baker e42e19702c docs: Add snippet for python module path method [skip ci]
Which somehow wasn't included in the original pull request.
2019-03-09 19:01:57 +02:00
Dylan Baker bd6bae0c71 docs: document that the .path() method for Python is new in 0.50 [skip ci]
Since this method was not included in 0.46-00.49 we should document that.
2019-03-09 19:01:57 +02:00
Amit D 068217a385 Update Users.md [skip ci] 2019-03-06 22:42:14 +02:00
Jussi Pakkanen 94bb29738e
Merge pull request #4992 from mensinda/rwCLI
rewriter: Add a CLI and docs
2019-03-04 17:49:32 +02:00
Daniel Mensinger 17ce9bc0e5 docs: Define sorting in Style-guide.md [skip ci] 2019-03-04 17:49:02 +02:00
Daniel Mensinger 594bf678c7
rewriter: Require '/' for the project ID 2019-03-04 13:00:30 +01:00
Daniel Mensinger 976c136ab6
rewriter: Mark the CLI as experimental 2019-03-04 13:00:30 +01:00
Daniel Mensinger 0a3b91c1c9
rewriter: Mark the info output as experimental 2019-03-04 13:00:30 +01:00
Daniel Mensinger dd5791309e
rewriter: Document info operation 2019-03-04 13:00:30 +01:00
Daniel Mensinger e724fd5438
rewriter: Handle duplicate target 2019-03-04 13:00:29 +01:00
Daniel Mensinger ff5e7eb104
rewriter: Updated docs 2019-03-04 13:00:07 +01:00
Daniel Mensinger 90b557e38a
rewriter: Remove command alias 2019-03-04 13:00:07 +01:00
Daniel Mensinger 1290330894
rewriter: Renamed tgt_{add,rm} --> target_{add,rm} 2019-03-04 13:00:06 +01:00
Daniel Mensinger c98987c19e
rewriter: Fixed docs. 2019-03-04 13:00:06 +01:00
Daniel Mensinger eabc35340d
rewriter: Enforce an empty project ID string 2019-03-04 13:00:06 +01:00
Daniel Mensinger d4fe805a51
rewriter: Added docs 2019-03-04 13:00:06 +01:00
Jussi Pakkanen 81f0eef2df Add table for dependency method types. [skip ci] 2019-03-04 11:25:50 +02:00
Daniel Mensinger 7074f12644
mintro: Renamed --dependencies --> --scan-dependencies 2019-03-03 23:19:04 +01:00
Daniel Mensinger f29f854861
Added docs 2019-03-03 23:19:03 +01:00
Paolo Bonzini 91f847d308 mtest: implement TAP parsing
This provides an initial support for parsing TAP output.  It detects failures
and skipped tests without relying on exit code, as well as early termination
of the test due to an error or a crash.

For now, subtests are not recorded in the TestRun object.  However, because the
TAP output goes on stdout, it is printed by --print-errorlogs when a test does
not behave as expected.  Handling subtests as TestRuns, and serializing them
to JSON, can be added later.

The parser was written specifically for Meson, and comes with its own
test suite.

Fixes #2923.
2019-03-02 09:07:54 +01:00
Paolo Bonzini f2e513791e mtest: add support for hard errors
Hard errors also come from the GNU Automake test protocol.  They happen when
e.g., the set-up of a test case scenario fails, or when some
other unexpected or highly undesirable condition is encountered.

TAP will use them for parse errors too.  Add them to the exitcode protocol
first.
2019-03-02 09:07:54 +01:00
Paolo Bonzini 4b5cf3f7c5 interpreter: add "protocol" kwarg to test
This is the first step towards adding support for TAP.
2019-03-02 09:07:54 +01:00
Daniel Schulte f0b0bcf86d mintro: Add subproject_dir to --projectinfo 2019-03-01 23:40:33 +02:00
Daniel Schulte 924cf5e622 mintro: Add name of subproject the target is contained in to --target output 2019-03-01 22:29:52 +02:00
Nicolas Schneider ded0defc3f auto generate msvc pch source file if none is provided by the user 2019-03-01 21:50:31 +02:00
Jussi Pakkanen a322dc534b Revert "Improve declare_dependency() example in Generating-sources.md [skip ci]"
This reverts commit 67a01c8d7f.
2019-02-28 22:41:06 +02:00
Michael Hirsch, Ph.D 71cffa67fa add NetCDF 2019-02-28 22:13:38 +02:00
Martin Ejdestig 67a01c8d7f Improve declare_dependency() example in Generating-sources.md [skip ci]
By using private_dir_include() instead of enumerating headers in sources
of declare_dependency. Much more convenient, especially when there are
many headers.

Found out about this by reading #4638. It is not documented anywhere as
far as I can tell.
2019-02-26 19:19:43 +02:00
emersion 06e939bcbb docs: compiled() only works with compiler.run() results [skip ci] 2019-02-25 00:21:26 +02:00
Olexa Bilaniuk 104397a429 [skip ci] Update the CUDA module documentation. 2019-02-24 11:01:05 -05:00
Maarten ter Huurne b4ef257593 Clarify in docs the argument types extract_objects() accepts [skip ci] 2019-02-19 22:42:12 -05:00
Maarten ter Huurne 37a962e90c Allow File arguments in extract_objects() arguments
Passed strings are converted to Files, but passing a File directly
wasn't supported yet.
2019-02-19 10:02:30 -05:00
jml1795 a9e63568fe Add warning level zero 2019-02-19 00:06:27 +02:00
jml1795 80f16cac8f Fix console log from generator with multiple output nodes 2019-02-18 22:02:15 +02:00
Jonathan Poelen f424bdaf33 use compile_args instead of compiler_args [skip ci] 2019-02-18 21:59:10 +02:00
Florian Märkl 43d975ed10 Correct pkg-config method in Qt dependency docs [skip ci] 2019-02-18 21:57:34 +02:00
Michael Hirsch, Ph.D ebfb09f5d6 Fortran 2008/2018 Coarray support 2019-02-13 21:09:18 +02:00
Jussi Pakkanen 011c77ee22 New logo and license text. Closes #4921. [skip ci] 2019-02-13 20:45:42 +02:00
Jussi Pakkanen 82e4cb7731
Merge pull request #4743 from dcbaker/native-file-extended
Extend native files to store install path information
2019-02-12 20:04:23 +02:00
Jussi Pakkanen a32f31fdfa
Merge pull request #4826 from mensinda/confDefOpts
mconf: Use introspection to print the project default options (fixes #2543)
2019-02-12 20:00:34 +02:00
Dylan Baker b5d847e38c allow paths to be set in the cross file
Just like the previous patch, but for cross files

Fixes #1433
2019-02-11 12:50:32 -08:00
Dylan Baker 5b896ed70b allow setting directory locations in a native file
This allows the person running configure (either a developer, user, or
distro maintainer) to keep a configuration of where various kinds of
files should end up.
2019-02-11 12:50:32 -08:00
ericLemanissier bb3997a39c fix documentation typo for default_library option [skip ci] 2019-02-08 10:12:26 -08:00
Jussi Pakkanen 849667c981 Fix Cuda doc page heading. [skip ci] 2019-02-07 11:09:44 +02:00
Michael Hirsch, Ph.D 70e6f4198c Fortran 2008 submodule (#4874) 2019-02-05 22:41:44 +01:00
Jussi Pakkanen e26b5a119e
Merge pull request #4835 from obilaniu/cudaimprovements
CUDA support improvements
2019-02-04 20:33:26 +01:00
Olexa Bilaniuk 592af0b1af Add unstable CUDA module.
Includes three general utility functions connected to CUDA, in
particular the crafting of -gencode flags as done in CMake:

    https://github.com/Kitware/CMake/blob/master/Modules/FindCUDA/
select_compute_arch.cmake
2019-02-02 22:49:02 -05:00
Daniel Mensinger e1a83793ae CMake: Added support for CMAKE_MODULE_PATH and extra CMake args (closes #4779) 2019-02-01 00:25:21 +02:00
Michael Hirsch, Ph.D 1ebaeadf60
initial HDF5 pkg-config fortran works 2019-01-30 06:38:29 -05:00
Jan Tojnar 33d82201bd run_command: add env kwarg 2019-01-27 19:24:15 +02:00
Sergey Shatunov c07e5124bc Add install_dir to i18n.gettext 2019-01-26 23:29:05 +02:00
Daniel Mensinger 90bc125d29
mconf: Use introspection to print the project default options (fixes #2543) 2019-01-25 12:21:32 +01:00
Daniel Mensinger ded59c0819 Fixed spelling [skip ci] 2019-01-24 23:03:05 +02:00
Jussi Pakkanen 43147c2594 Add release note snippet. 2019-01-22 00:02:25 +02:00
Michael Hirsch, Ph.D 72486afd08 Add PGI C and C++ compilers (#4803) 2019-01-21 20:09:36 +02:00
Alistair Thomas 20248fa919 docs: update URI for vala-extra-vapis repository [skip ci] 2019-01-20 23:28:45 +02:00
Shubham Lagwankar 37533360d7 Remove stray bracket [skip ci] 2019-01-20 23:24:28 +02:00
Hugo Locurcio 3804172d61 docs: Use modern shell constructs [skip ci] 2019-01-20 23:09:05 +02:00
Jussi Pakkanen 57424e9403
Merge pull request #4792 from scivision/flang
Flang Fortran compiler added.
2019-01-17 22:21:45 +02:00
Michael Hirsch, Ph.D 5c00751515
doc 2019-01-17 15:12:02 -05:00
David Fort ceaebf6bac add support for generating cmake files
This new cmake module allows to generate cmake package files. This may ease the
porting for cmake projects that are exporting cmake package informations for other
depending projects. The module uses as much as possible the templates provided by
the cmake installation (and so cmake needs to be installed).
2019-01-17 20:48:28 +02:00
Luca Boccassi 267792174c custom_target: do not let install override build_by_default
A custom_target, if install is set to true, will always be built by
default even if build_by_default is explicitly set to false.
Ensure that this does not happen if it's set explicitly. To keep
backward compatibility, if build_by_default is not set explicitly and
install is true, set build_by_default to true.

Fixes #4107
2019-01-17 20:40:19 +02:00
Michael Hirsch, Ph.D b40c1af900
Flang Fortran compiler added. 2019-01-16 17:06:43 -05:00
Alistair Thomas 2f72d4db09 docs: Explain how to use a Vala project's VAPI files with find_library() [skip ci]
The Vala compiler object's find_libary() method needs the 'dir' keyword to
add a project's local vapi dir to the VAPI search path.

See https://github.com/mesonbuild/meson/issues/4702
2019-01-15 21:47:17 +02:00
Daniel Mensinger 609ecba37f mintro: Added `defined_in` key in the targets introspection 2019-01-15 20:28:12 +02:00
Marco Trevisan (Treviño) 95c1cdf776 interpreter: obey to the install argument in configure_file
If a configure_file has an install_dir set, the supported install
argument is ignored, while this should have actually higher priority
than the install_dir itself.
Also check that correct types are used for `install` and `install_dir`.

Add test to verify this.

Fixes #3983
2019-01-13 19:51:31 +02:00
Jussi Pakkanen 49557e15ec
Merge pull request #4731 from mensinda/introBreak2
mintro: Changes to the introspection API
2019-01-13 19:50:10 +02:00
Jussi Pakkanen fa562d8100
Merge pull request #4744 from dcbaker/docs-cflags
Discourage the use of env variables like CFLAGS [skip ci]
2019-01-10 23:05:57 +02:00
Jussi Pakkanen 9223ffdc11
Merge pull request #4748 from astavale/running-meson-docs
docs: update 'Running Meson' page to show Meson's setup command [skip…
2019-01-10 23:02:01 +02:00
Alistair Thomas 1b9e00f506 docs: update RunningMeson.md to show Meson's setup command [skip ci] 2019-01-10 11:34:18 +00:00
Ethan R 530aec0bbe Added Rust to supported languages for project() (#4750) [skip ci] 2019-01-09 23:46:38 +05:30
Alistair Thomas fb05733983 docs: Change sub-headings in Running-Meson.md from == to ## [skip ci] 2019-01-09 18:15:57 +00:00
Alistair Thomas 55e6d3c35e docs: Re-wrap Running-Meson.md from 70 to 80 columns [skip ci] 2019-01-09 18:15:57 +00:00
Alex Băluț 8f24d34e31 Fix links to reference manual 2019-01-09 09:11:58 -08:00
Dylan Baker 724c97ef4e docs: recommend add_project_arguments instead of add_global_arguments [skip ci]
As autotools doesn't have anything like wraps so it doesn't need to
differentiate, but meson does so it should.
2019-01-08 11:40:27 -08:00
Dylan Baker bc0bcc37f6 docs: don't recommend using CFLAGS [skip ci] 2019-01-08 11:40:25 -08:00
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
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
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