summaryrefslogtreecommitdiff
path: root/docs/markdown/Reference-manual.md
AgeCommit message (Collapse)Author
2018-10-27docs: Fix hotdoc warnings [skip ci]Dylan Baker
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-23Add 'disabler' argument to functions returning not-found objectsXavier Claessens
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-20Remove implicit compression of man pagesMichał Górny
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-20Document the no_builtin_args argument of Compiler object methods [skip ci]Jon Turney
2018-10-20Add 'b_pie' compiler optionXavier Claessens
On Android executables must be position independent, many distributions enable it by default too for security reasons.
2018-10-12doc: Add missing assert() function [skip ci]Xavier Claessens
2018-10-08configure_file: Support taking values from a dictXavier Claessens
Closes #4218
2018-10-04Make custom dist scripts accept arguments.Jan Tojnar
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-04Document the compiler.cmd_array() methodMike Gilbert
2018-10-03Document when console: kwarg was added [skip ci]Nirbheek Chauhan
2018-09-27docs: Document conditional debug compilation flags [skip ci]Ari Vuollet
2018-09-25Docs: Add DEPFILE to substitutions list [ci skip]ePirat
2018-09-20clarify old behaviour of set_variable in documentation [skip ci]Bruce Richardson
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-13Merge pull request #4017 from jon-turney/version-comparison-rewriteJussi Pakkanen
Use rpmvercmp version comparison
2018-09-12Add a release note snippetJon Turney
Also tweak releated documentation
2018-09-11Document version when both_libraries() was added [skip ci]Nirbheek Chauhan
2018-09-07Add method to check for C/C++ function attributesDylan Baker
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-04Reference-manual: Clarify fallback dependency types [skip ci]Nirbheek Chauhan
2018-09-03Allow override_find_program to use an executable.Rafael Ávila de Espíndola
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-08-29Improve support for macOS dylib versioningNirbheek Chauhan
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-27Add support for custom dist scripts.Jussi Pakkanen
2018-08-26Add a release note snippetJon Turney
Also adjust relevant documentation
2018-08-22Added "native" kwarg to add_XXX_args. Closes #3669.Jussi Pakkanen
2018-08-14interpreter: Add support for dict additionXavier Claessens
2018-08-09Call it gnu_symbol_visibility instead.Jussi Pakkanen
2018-08-09Update documentation for symbol visibility.Jussi Pakkanen
2018-08-04Clarify version for check_header, fixes #3974Onkar
check_header method was added in compiler object in version 0.47. Documentation needs to be updated for this.
2018-07-31custom targets: Add a 'console' kwarg for long-running commandsNirbheek Chauhan
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-20Removed extra parentheses. [skip ci]Jussi Pakkanen
2018-07-08Add missing method on external library object: type_name() (#3845)Nirbheek Chauhan
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-06Reference-manual.md: Document find_library().partial_dependency() [skip ci]Nirbheek Chauhan
+ typos.
2018-07-05meson.add_install_script: Move notes section up [skip ci]Nirbheek Chauhan
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-02Documentation cleanup. [skip ci]Jussi Pakkanen
2018-06-26Refine documentation for build_always [skip ci]Jon Turney
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-20Document environment() append/prepend/set with multiple values [skip ci]Nirbheek Chauhan
Fixes https://github.com/mesonbuild/meson/issues/3761
2018-06-18Deprecate `build_always`, add `build_always_stale`Alex Hirsch
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-18Add UserFeatureOption typeXavier Claessens
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-17Wrap a line in a way that doesn't break link [skip ci]Jon Turney
2018-06-12Improved documentation.Christoph Behle
Added entry to release notes. Added note to documentation, regarding from which version on the behavior is changed.
2018-06-12Document change in reference manual.Christoph Behle
2018-06-10Document values for dependency(method:) [skip ci]Jon Turney
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-09Add new encoding keyword for configure_file to manualSander Sweers
Also add a section how to deal with file encodings.
2018-06-07More clearly explain portability issues with linking to a moduleJon Turney
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-03Allow substitutions in custom_target() depfile:Jon Turney
Allow substitutions in custom_target() depfile: as well as in command:
2018-06-03Document @PLAINNAME@ and @BASENAME@ substitutions in custom_target(command:)Jon Turney
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-02Update reference manual to include 'install_mode' where supportedFilipe Brandenburger
2018-06-01configure_file: Add output_format kwarg (#3636)Mathieu Duponchelle
* configure_file: Add output_format kwarg * docs: Reference-manual.md output_format was added in 0.47 [skip ci]
2018-06-01[skip ci] docs: cross reference tables from manual (#3656)Dylan Baker
* docs/reference-manual: link to references tables Currently the reference manual entries for *machine.cpu_family() and *machine.system() have incomplete (and wrong) information. Rather than continue to duplicate this information just link to the reference tables. * docs/Reference-manual: fix link target The IDs in hotdoc are always lowered, so this pointed to the right page, but didn't go to the heading. * docs/Reference-manual: link compiler.get_id directly to tables Currently it goes round about to an entry that doesn't add much information and points to the reference table. Instead just point to the reference table.
2018-05-31Improve dependency() documentation [skip ci]Jon Turney
Mention that the dependency name will also be searched for as a framework on OSX. Note that additional dependency-specific keywords may be used by custom dependency lookup.
2018-05-30Add check_header to Reference manual and release notes [skip ci]Nirbheek Chauhan