diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/markdown/Builtin-options.md | 6 | ||||
-rw-r--r-- | docs/markdown/D.md | 10 | ||||
-rw-r--r-- | docs/markdown/Dependencies.md | 11 | ||||
-rw-r--r-- | docs/markdown/Qt5-module.md | 3 | ||||
-rw-r--r-- | docs/markdown/Reference-manual.md | 3 | ||||
-rw-r--r-- | docs/markdown/Reference-tables.md | 5 | ||||
-rw-r--r-- | docs/markdown/Release-notes-for-0.49.0.md | 5 | ||||
-rw-r--r-- | docs/markdown/Wrap-dependency-system-manual.md | 22 |
8 files changed, 47 insertions, 18 deletions
diff --git a/docs/markdown/Builtin-options.md b/docs/markdown/Builtin-options.md index 55352aa..55d82a5 100644 --- a/docs/markdown/Builtin-options.md +++ b/docs/markdown/Builtin-options.md @@ -119,4 +119,8 @@ compiler being used: The default values of `c_winlibs` and `cpp_winlibs` are in compiler-specific argument forms, but the libraries are: kernel32, user32, gdi32, winspool, -shell32, ole32, oleaut32, uuid, comdlg32, advapi32 +shell32, ole32, oleaut32, uuid, comdlg32, advapi32. + +c_args, cpp_args, c_link_args, and cpp_link_args only affect native builds, +when cross compiling they will not be applied to binaries or libraries +targeting the host system, only those being run on the build system. diff --git a/docs/markdown/D.md b/docs/markdown/D.md index 15de2f7..2b0eaac 100644 --- a/docs/markdown/D.md +++ b/docs/markdown/D.md @@ -14,15 +14,21 @@ project('myapp', 'd') executable('myapp', 'app.d') ``` -## Compiling different versions +## [Conditional compilation](https://dlang.org/spec/version.html) -If you are using the [version()](https://dlang.org/spec/version.html) feature for conditional compilation, +If you are using the [version()](https://dlang.org/spec/version.html#version-specification) feature for conditional compilation, you can use it using the `d_module_versions` target property: ```meson project('myapp', 'd') executable('myapp', 'app.d', d_module_versions: ['Demo', 'FeatureA']) ``` +For debugging, [debug()](https://dlang.org/spec/version.html#debug) conditions are compiled automatically in debug builds, and extra identifiers can be added with the `d_debug` argument: +```meson +project('myapp', 'd') +executable('myapp', 'app.d', d_debug: [3, 'DebugFeatureA']) +``` + ## Using embedded unittests If you are using embedded [unittest functions](https://dlang.org/spec/unittest.html), your source code needs diff --git a/docs/markdown/Dependencies.md b/docs/markdown/Dependencies.md index 08ff1e2..c853677 100644 --- a/docs/markdown/Dependencies.md +++ b/docs/markdown/Dependencies.md @@ -165,15 +165,16 @@ wmf_dep = dependency('libwmf', method : 'config-tool') ## Dependencies using config tools [CUPS](#cups), [LLVM](#llvm), [pcap](#pcap), [WxWidgets](#wxwidgets), -[libwmf](#libwmf), and GnuStep either do not provide pkg-config +[libwmf](#libwmf), [GCrypt](#libgcrypt), and GnuStep either do not provide pkg-config modules or additionally can be detected via a config tool -(cups-config, llvm-config, etc). Meson has native support for these +(cups-config, llvm-config, libgcrypt-config, etc). Meson has native support for these tools, and they can be found like other dependencies: ```meson pcap_dep = dependency('pcap', version : '>=1.0') cups_dep = dependency('cups', version : '>=1.4') llvm_dep = dependency('llvm', version : '>=4.0') +libgcrypt_dep = dependency('libgcrypt', version: '>= 1.8') ``` ## AppleFrameworks @@ -309,6 +310,12 @@ The `language` keyword may used. `method` may be `auto`, `config-tool` or `pkg-config`. +## libgcrypt + +*(added 0.49.0)* + +`method` may be `auto`, `config-tool` or `pkg-config`. + ## Python3 Python3 is handled specially by meson: diff --git a/docs/markdown/Qt5-module.md b/docs/markdown/Qt5-module.md index f59b6ec..9542a81 100644 --- a/docs/markdown/Qt5-module.md +++ b/docs/markdown/Qt5-module.md @@ -9,8 +9,9 @@ This method takes the following keyword arguments: - `moc_headers`, `moc_sources`, `ui_files`, `qresources`, which define the files that require preprocessing with `moc`, `uic` and `rcc` - `include_directories`, the directories to add to header search path for `moc` (optional) - `moc_extra_arguments`, any additional arguments to `moc` (optional). Available since v0.44.0. + - `uic_extra_arguments`, any additional arguments to `uic` (optional). Available since v0.49.0. - `dependencies`, dependency objects needed by moc. Available since v0.48.0. - + It returns an opaque object that should be passed to a main build target. ## compile_translations (since v0.44.0) diff --git a/docs/markdown/Reference-manual.md b/docs/markdown/Reference-manual.md index 7902f19..3bd2bfa 100644 --- a/docs/markdown/Reference-manual.md +++ b/docs/markdown/Reference-manual.md @@ -537,7 +537,8 @@ be passed to [shared and static libraries](#library). - `d_import_dirs` list of directories to look in for string imports used in the D programming language - `d_unittest`, when set to true, the D modules are compiled in debug mode -- `d_module_versions` list of module versions set when compiling D sources +- `d_module_versions` list of module version identifiers set when compiling D sources +- `d_debug` list of module debug identifiers set when compiling D sources The list of `sources`, `objects`, and `dependencies` is always flattened, which means you can freely nest and add lists while diff --git a/docs/markdown/Reference-tables.md b/docs/markdown/Reference-tables.md index ccdcb34..39ec1cd 100644 --- a/docs/markdown/Reference-tables.md +++ b/docs/markdown/Reference-tables.md @@ -65,6 +65,11 @@ set in the cross file. Any cpu family not listed in the above list is not guaranteed to remain stable in future releases. +Those porting from autotools should note that meson does not add +endianness to the name of the cpu_family. For example, autotools +will call little endian PPC64 "ppc64le", meson will not, you must +also check the `.endian()` value of the machine for this information. + ## Operating system names These are provided by the `.system()` method call. diff --git a/docs/markdown/Release-notes-for-0.49.0.md b/docs/markdown/Release-notes-for-0.49.0.md index b294ad5..bdf5769 100644 --- a/docs/markdown/Release-notes-for-0.49.0.md +++ b/docs/markdown/Release-notes-for-0.49.0.md @@ -15,3 +15,8 @@ whose contents should look like this: A short description explaining the new feature and how it should be used. +## Libgcrypt dependency now supports libgcrypt-config + +Earlier, `dependency('libgcrypt')` could only detect the library with pkg-config +files. Now, if pkg-config files are not found, Meson will look for +`libgcrypt-config` and if it's found, will use that to find the library. diff --git a/docs/markdown/Wrap-dependency-system-manual.md b/docs/markdown/Wrap-dependency-system-manual.md index 0977921..2e977b2 100644 --- a/docs/markdown/Wrap-dependency-system-manual.md +++ b/docs/markdown/Wrap-dependency-system-manual.md @@ -85,9 +85,9 @@ slightly different wrap file. ```ini [wrap-git] -directory=samplesubproject -url=https://github.com/jpakkane/samplesubproject.git -revision=head +directory = samplesubproject +url = https://github.com/jpakkane/samplesubproject.git +revision = head ``` The format is straightforward. The only thing to note is the revision @@ -106,14 +106,14 @@ these cases you can specify the upload URL by adding the following at the end of your wrap file: ```ini -push-url=git@git.example.com:projects/someproject.git # Supported since version 0.37.0 +push-url = git@git.example.com:projects/someproject.git # Supported since version 0.37.0 ``` If the git repo contains submodules, you can tell Meson to clone them automatically by adding the following *(since 0.48.0)*: ```ini -clone-recursive=true +clone-recursive = true ``` ## Using wrapped projects @@ -121,12 +121,12 @@ clone-recursive=true To use a subproject simply do this in your top level `meson.build`. ```meson -foobar_sp = subproject('foobar') +foobar_proj = subproject('foobar') ``` Usually dependencies consist of some header files plus a library to -link against. To do this you would declare this internal dependency -like this: +link against. To do this in a project so it can be used as a subproject you +would declare this internal dependency like this: ```meson foobar_dep = declare_dependency(link_with : mylib, @@ -137,7 +137,7 @@ Then in your main project you would use them like this: ```meson executable('toplevel_exe', 'prog.c', - dependencies : foobar_sp.get_variable('foobar_dep')) + dependencies : foobar_proj.get_variable('foobar_dep')) ``` Note that the subproject object is *not* used as the dependency, but @@ -160,10 +160,10 @@ available. foobar_dep = dependency('foobar', required : false) if not foobar_dep.found() - foobar_subproj = subproject('foobar') + foobar_proj = subproject('foobar') # the subproject defines an internal dependency with # the command declare_dependency(). - foobar_dep = foobar_subproj.get_variable('foobar_dep') + foobar_dep = foobar_proj.get_variable('foobar_dep') endif executable('toplevel_exe', 'prog.c', |