diff options
Diffstat (limited to 'docs')
31 files changed, 385 insertions, 284 deletions
diff --git a/docs/markdown/Gnome-module.md b/docs/markdown/Gnome-module.md index 3db6cc0..1bf333f 100644 --- a/docs/markdown/Gnome-module.md +++ b/docs/markdown/Gnome-module.md @@ -227,9 +227,11 @@ useful when running the application locally for example during tests. ### gnome.gdbus_codegen() Compiles the given XML schema into gdbus source code. Takes two -positional arguments, the first one specifies the name of the source -files and the second specifies the XML file name. +positional arguments, the first one specifies the base name to use +while creating the output source and header and the second specifies +one XML file. +* `sources`: list of XML files * `interface_prefix`: prefix for the interface * `namespace`: namespace of the interface * `object_manager`: *(Added 0.40.0)* if true generates object manager code @@ -257,7 +259,8 @@ Example: gnome = import('gnome') # The returned source would be passed to another target -gdbus_src = gnome.gdbus_codegen('example-interface', 'com.example.Sample.xml', +gdbus_src = gnome.gdbus_codegen('example-interface', + sources: 'com.example.Sample.xml', interface_prefix : 'com.example.', namespace : 'Sample', annotations : [ diff --git a/docs/markdown/Python-module.md b/docs/markdown/Python-module.md index cad74c9..51721f0 100644 --- a/docs/markdown/Python-module.md +++ b/docs/markdown/Python-module.md @@ -142,7 +142,7 @@ This function expects no arguments or keyword arguments. #### `get_path()` ``` meson -string py_installation.get_path(path_name) +string py_installation.get_path(path_name, fallback) ``` Get a path as defined by the `sysconfig` module. @@ -153,15 +153,28 @@ For example: purelib = py_installation.get_path('purelib') ``` -This function accepts a single argument, `path_name`, which is expected to -be a non-empty string. +This function requires at least one argument, `path_name`, +which is expected to be a non-empty string. + +If `fallback` is specified, it will be returned if no path +with the given name exists. Otherwise, attempting to read +a non-existing path will cause a fatal error. **Returns**: A string +#### `has_path()` + +``` meson + bool py_installation.has_path(path_name) +``` + +**Returns**: true if a path named `path_name` can be retrieved with +[][`get_path()`], false otherwise. + #### `get_variable()` ``` meson -string py_installation.get_variable(variable_name) +string py_installation.get_variable(variable_name, fallback) ``` Get a variable as defined by the `sysconfig` module. @@ -169,14 +182,27 @@ Get a variable as defined by the `sysconfig` module. For example: ``` meson -py_bindir = py_installation.get_variable('BINDIR') +py_bindir = py_installation.get_variable('BINDIR', '') ``` -This function accepts a single argument, `variable_name`, which is expected to -be a non-empty string. +This function requires at least one argument, `variable_name`, +which is expected to be a non-empty string. + +If `fallback` is specified, it will be returned if no variable +with the given name exists. Otherwise, attempting to read +a non-existing variable will cause a fatal error. **Returns**: A string +#### `has_variable()` + +``` meson + bool py_installation.has_variable(variable_name) +``` + +**Returns**: true if a variable named `variable_name` can be retrieved with +[][`get_variable()`], false otherwise. + ## `python_dependency` object This [dependency object] subclass will try various methods to obtain the diff --git a/docs/markdown/Reference-manual.md b/docs/markdown/Reference-manual.md index 74e7ff2..776703c 100644 --- a/docs/markdown/Reference-manual.md +++ b/docs/markdown/Reference-manual.md @@ -1256,6 +1256,13 @@ Keyword arguments are the following: - `workdir` absolute path that will be used as the working directory for the test +- `depends` specifies that this test depends on the specified + target(s), even though it does not take any of them as a command + line argument. This is meant for cases where test finds those + targets internally, e.g. plugins or globbing. Those targets are built + before test is executed even if they have `build_by_default : false`. + Since 0.46.0 + Defined tests can be run in a backend-agnostic way by calling `meson test` inside the build dir, or by using backend-specific commands, such as `ninja test` or `msbuild RUN_TESTS.vcxproj`. @@ -1729,7 +1736,11 @@ A build target is either an [executable](#executable), [shared module](#shared_module). - `extract_all_objects()` is same as `extract_objects` but returns all - object files generated by this target + object files generated by this target. Since 0.46.0 keyword argument + `recursive` must be set to `true` to also return objects passed to the + `object` argument of this target. By default only objects built for this + target are returned to maintain backward compatibility with previous versions. + The default will eventually be changed to `true` in a future version. - `extract_objects()` returns an opaque value representing the generated object files of arguments, usually used to take single diff --git a/docs/markdown/Release-notes-for-0.46.0.md b/docs/markdown/Release-notes-for-0.46.0.md index e062459..c9f9bbd 100644 --- a/docs/markdown/Release-notes-for-0.46.0.md +++ b/docs/markdown/Release-notes-for-0.46.0.md @@ -1,23 +1,316 @@ --- title: Release 0.46 -short-description: Release notes for 0.46 (preliminary) +short-description: Release notes for 0.46 ... # New features -This page is a placeholder for the eventual release notes. - -Notable new features should come with release note updates. This is -done by creating a file snippet called `snippets/featurename.md` and -whose contents should look like this: - - ## Feature name - - A short description explaining the new feature and how it should be used. - ## Allow early return from a script Added the function `subdir_done()`. Its invocation exits the current script at the point of invocation. All previously invoked build targets and commands are build/executed. All following ones are ignored. If the current script was invoked via `subdir()` the parent script continues normally. + +## Log output slightly changed + +The format of some human-readable diagnostic messages has changed in +minor ways. In case you are parsing these messages, you may need to +adjust your code. + +## ARM compiler for C and CPP + +Cross-compilation is now supported for ARM targets using ARM compiler - ARMCC. +The current implementation does not support shareable libraries. +The default extension of the output is .axf. +The environment path should be set properly for the ARM compiler executables. +The '--cpu' option with the appropriate target type should be mentioned +in the cross file as shown in the snippet below. + +```ini +[properties] +c_args = ['--cpu=Cortex-M0plus'] +cpp_args = ['--cpu=Cortex-M0plus'] + +``` + +## Building both shared and static libraries + +A new function `both_libraries()` has been added to build both shared and static +libraries at the same time. Source files will be compiled only once and object +files will be reused to build both shared and static libraries, unless +`b_staticpic` user option or `pic:` keyword argument are set to false in which +case sources will be compiled twice. + +The returned `buildtarget` object always represents the shared library. + +## Compiler object can now be passed to run_command() + +This can be used to run the current compiler with the specified arguments +to obtain additional information from it. +One of the use cases is to get the location of development files for the +GCC plugins: + +```meson +cc = meson.get_compiler('c') +result = run_command(cc, '-print-file-name=plugin') +plugin_dev_path = result.stdout().strip() +``` + +## declare_dependency() now supports `link_whole:` + +`declare_dependency()` now supports the `link_whole:` keyword argument which +transparently works for build targets which use that dependency. + +## Old command names are now errors + +The old executable names `mesonintrospect`, `mesonconf`, `mesonrewriter` +and `mesontest` have been deprecated for a long time. Starting from +this version they no longer do anything but instead always error +out. All functionality is available as subcommands in the main `meson` +binary. + +## Meson and meson configure now accept the same arguments + +Previously meson required that builtin arguments (like prefix) be passed as +`--prefix` to `meson` and `-Dprefix` to `meson configure`. `meson` now accepts -D +form like `meson configure` has. `meson configure` also accepts the `--prefix` +form, like `meson` has. + +## Recursively extract objects + +The `recursive:` keyword argument has been added to `extract_all_objects()`. When set +to `true` it will also return objects passed to the `objects:` argument of this +target. By default only objects built for this target are returned to maintain +backward compatibility with previous versions. The default will eventually be +changed to `true` in a future version. + +```meson +lib1 = static_library('a', 'source.c', objects : 'prebuilt.o') +lib2 = static_library('b', objects : lib1.extract_all_objects(recursive : true)) +``` + +## Can override find_program() + +It is now possible to override the result of `find_program` to point +to a custom program you want. The overriding is global and applies to +every subproject from there on. Here is how you would use it. + +In master project + +```meson +subproject('mydep') +``` + +In the called subproject: + +```meson +prog = find_program('my_custom_script') +meson.override_find_program('mycodegen', prog) +``` + +In master project (or, in fact, any subproject): + +```meson +genprog = find_program('mycodegen') +``` + +Now `genprog` points to the custom script. If the dependency had come +from the system, then it would point to the system version. + +You can also use the return value of `configure_file()` to override +a program in the same way as above: + +```meson +prog_script = configure_file(input : 'script.sh.in', + output : 'script.sh', + configuration : cdata) +meson.override_find_program('mycodegen', prog_script) +``` + +## New functions: has_link_argument() and friends + +A new set of methods has been added to [compiler objects](Reference-manual.md#compiler-object) +to test if the linker supports given arguments. + +- `has_link_argument()` +- `has_multi_link_arguments()` +- `get_supported_link_arguments()` +- `first_supported_link_argument()` + +## "meson help" now shows command line help + +Command line parsing is now less surprising. "meson help" is now +equivalent to "meson --help" and "meson help <subcommand>" is +equivalent to "meson <subcommand> --help", instead of creating a build +directory called "help" in these cases. + +## Autogeneration of simple meson.build files + +A feature to generate a meson.build file compiling given C/C++ source +files into a single executable has been added to "meson init". By +default, it will take all recognizable source files in the current +directory. You can also specify a list of dependencies with the -d +flag and automatically invoke a build with the -b flag to check if the +code builds with those dependencies. + +For example, + +```meson +meson init -fbd sdl2,gl +``` + +will look for C or C++ files in the current directory, generate a +meson.build for them with the dependencies of sdl2 and gl and +immediately try to build it, overwriting any previous meson.build and +build directory. + +## install_data() supports `rename:` + +The `rename:` keyword argument is used to change names of the installed +files. Here's how you install and rename the following files: + +- `file1.txt` into `share/myapp/dir1/data.txt` +- `file2.txt` into `share/myapp/dir2/data.txt` + +```meson +install_data(['file1.txt', 'file2.txt'], + rename : ['dir1/data.txt', 'dir2/data.txt'], + install_dir : 'share/myapp') +``` + +## Support for lcc compiler for e2k (Elbrus) architecture + +In this version, a support for lcc compiler for Elbrus processors +based on [e2k microarchitecture](https://en.wikipedia.org/wiki/Elbrus_2000) +has been added. + +Examples of such CPUs: +* [Elbrus-8S](https://en.wikipedia.org/wiki/Elbrus-8S); +* Elbrus-4S; +* [Elbrus-2S+](https://en.wikipedia.org/wiki/Elbrus-2S%2B). + +Such compiler have a similar behavior as gcc (basic option compatibility), +but, in is not strictly compatible with gcc as of current version. + +Major differences as of version 1.21.22: +* it does not support LTO and PCH; +* it suffers from the same dependency file creation error as icc; +* it has minor differences in output, especially version output; +* it differently reacts to lchmod() detection; +* some backend messages are produced in ru_RU.KOI8-R even if LANG=C; +* its preprocessor treats some characters differently. + +So every noted difference is properly handled now in meson. + +## String escape character sequence update + +Single-quoted strings in meson have been taught the same set of escape +sequences as in Python. It is therefore now possible to use arbitrary bytes in +strings, like for example `NUL` (`\0`) and other ASCII control characters. See +the chapter about [*Strings* in *Syntax*](Syntax.md#strings) for more +details. + +Potential backwards compatibility issue: Any valid escape sequence according to +the new rules will be interpreted as an escape sequence instead of the literal +characters. Previously only the following escape sequences were supported in +single-quote strings: `\'`, `\\` and `\n`. + +Note that the behaviour of triple-quoted (multiline) strings has not changed. +They behave like raw strings and do not support any escape sequences. + +## New `forcefallback` wrap mode + +A new wrap mode was added, `--wrap-mode=forcefallback`. When this is set, +dependencies for which a fallback was provided will always use it, even +if an external dependency exists and satisfies the version requirements. + +## Relaxing of target name requirements + +In earlier versions of Meson you could only have one target of a given name for each type. +For example you could not have two executables named `foo`. This requirement is now +relaxed so that you can have multiple targets with the same name, as long as they are in +different subdirectories. + +Note that projects that have multiple targets with the same name can not be built with +the `flat` layout or any backend that writes outputs in the same directory. + +## Addition of OpenMP dependency + +An OpenMP dependency (`openmp`) has been added that encapsulates the various +flags used by compilers to enable OpenMP and checks for the existence of the +`omp.h` header. The `language` keyword may be passed to force the use of a +specific compiler for the checks. + +## Added new partial_dependency method to dependencies and libraries + +It is now possible to use only part of a dependency in a target. This allows, +for example, to only use headers with convenience libraries to avoid linking +to the same library multiple times. + +```meson +dep = dependency('xcb') + +helper = static_library( + 'helper', + ['helper1.c', 'helper2.c'], + dependencies : dep.partial_dependency(includes : true), +] + +final = shared_library( + 'final', + ['final.c'], + dependencyes : dep, +) +``` + +A partial dependency will have the same name version as the full dependency it +is derived from, as well as any values requested. + +## Improved generation of pkg-config files for static only libraries. + +Previously pkg-config files generated by the pkgconfig modules for static libraries +with dependencies could only be used in a dependencies with `static: true`. + +Now the generated file contains the needed dependencies libraries directly within +`Requires` and `Libs` for build static libraries passed via the `libraries` keyword +argument. + +Projects that install both a static and a shared version of a library should use +the result of [`both_libraries()`](Reference-manual.md#both_libraries) to the +pkg-config file generator or use [`configure_file()`](Reference-manual.md#configure_file) +for more complicated setups. + +## Improvements to pkgconfig module + +A `StaticLibrary` or `SharedLibrary` object can optionally be passed +as first positional argument of the `generate()` method. If one is provided a +default value will be provided for all required fields of the pc file: +- `install_dir` is set to `pkgconfig` folder in the same location than the provided library. +- `description` is set to the project's name followed by the library's name. +- `name` is set to the library's name. + +Generating a .pc file is now as simple as: + +``` +pkgconfig.generate(mylib) +``` + +## pkgconfig.generate() requires parameters non-string arguments + +`pkgconfig.generate()` `requires:` and `requires_private:` keyword arguments +now accept pkgconfig-dependencies and libraries that pkgconfig-files were +generated for. + +## Generic python module + +Meson now has is a revamped and generic (python 2 and 3) version of the python3 +module. With [this new interface](Python-module.md), projects can now fully +specify the version of python they want to build against / install sources to, +and can do so against multiple major or minor versions in parallel. + +## test() now supports the `depends:` keyword argument + +Build targets and custom targets can be listed in the `depends:` keyword argument +of test function. These targets will be built before test is run even if they have +`build_by_default : false`. diff --git a/docs/markdown/Release-notes-for-0.47.0.md b/docs/markdown/Release-notes-for-0.47.0.md new file mode 100644 index 0000000..58d47ee --- /dev/null +++ b/docs/markdown/Release-notes-for-0.47.0.md @@ -0,0 +1,23 @@ +--- +title: Release 0.47 +short-description: Release notes for 0.46 (preliminary) +... + +# New features + +This page is a placeholder for the eventual release notes. + +Notable new features should come with release note updates. This is +done by creating a file snippet called `snippets/featurename.md` and +whose contents should look like this: + + ## Feature name + + A short description explaining the new feature and how it should be used. + +## Allow early return from a script + +Added the function `subdir_done()`. Its invocation exits the current script at +the point of invocation. All previously invoked build targets and commands are +build/executed. All following ones are ignored. If the current script was +invoked via `subdir()` the parent script continues normally. diff --git a/docs/markdown/Syntax.md b/docs/markdown/Syntax.md index 01c8c6e..30eedf8 100644 --- a/docs/markdown/Syntax.md +++ b/docs/markdown/Syntax.md @@ -131,7 +131,8 @@ int main (int argc, char ** argv) { }''' ``` -This can also be combined with the string formatting functionality +These are raw strings that do not support the escape sequences listed above. +These strings can also be combined with the string formatting functionality described below. #### String formatting diff --git a/docs/markdown/Users.md b/docs/markdown/Users.md index 558378c..0a30d9c 100644 --- a/docs/markdown/Users.md +++ b/docs/markdown/Users.md @@ -9,6 +9,7 @@ listed in the [`meson` GitHub topic](https://github.com/topics/meson). - [AQEMU](https://github.com/tobimensch/aqemu), a Qt GUI for QEMU virtual machines, since version 0.9.3 - [Arduino sample project](https://github.com/jpakkane/mesonarduino) + - [bolt](https://gitlab.freedesktop.org/bolt/bolt) Userpsace daemon to enable security levels for Thunderboltâ„¢ 3 on Linux - [Budgie Desktop](https://github.com/budgie-desktop/budgie-desktop), a desktop environment built on GNOME technologies - [casync](https://github.com/systemd/casync), Content-Addressable Data Synchronization Tool - [cinnamon-desktop](https://github.com/linuxmint/cinnamon-desktop), the cinnamon desktop library diff --git a/docs/markdown/Wrap-dependency-system-manual.md b/docs/markdown/Wrap-dependency-system-manual.md index d97fc9a..38e1ab2 100644 --- a/docs/markdown/Wrap-dependency-system-manual.md +++ b/docs/markdown/Wrap-dependency-system-manual.md @@ -93,9 +93,9 @@ revision=head The format is straightforward. The only thing to note is the revision element that can have one of two values. The first is `head` which will cause Meson to track the master head (doing a repull whenever the -build definition is altered). The second type is a commit hash. In -this case Meson will use the commit specified (with `git checkout -[hash id]`). +build definition is altered). The second type is a commit hash or a +tag. In this case Meson will use the commit specified (with `git +checkout [hash/tag id]`). Note that in this case you cannot specify an extra patch file to use. The git repo must contain all necessary Meson build definitions. diff --git a/docs/markdown/snippets/altered-logging.md b/docs/markdown/snippets/altered-logging.md deleted file mode 100644 index 4ff9bb0..0000000 --- a/docs/markdown/snippets/altered-logging.md +++ /dev/null @@ -1,5 +0,0 @@ -## Log output slightly changed - -The format of some human-readable diagnostic messages has changed in -minor ways. In case you are parsing these messages, you may need to -adjust your code. diff --git a/docs/markdown/snippets/armcc-cross.md b/docs/markdown/snippets/armcc-cross.md deleted file mode 100644 index 668f0ab..0000000 --- a/docs/markdown/snippets/armcc-cross.md +++ /dev/null @@ -1,15 +0,0 @@ -## ARM compiler for C and CPP - -Cross-compilation is now supported for ARM targets using ARM compiler - ARMCC. -The current implementation does not support shareable libraries. -The default extension of the output is .axf. -The environment path should be set properly for the ARM compiler executables. -The '--cpu' option with the appropriate target type should be mentioned -in the cross file as shown in the snippet below. - -``` -[properties] -c_args = ['--cpu=Cortex-M0plus'] -cpp_args = ['--cpu=Cortex-M0plus'] - -``` diff --git a/docs/markdown/snippets/both-libraries.md b/docs/markdown/snippets/both-libraries.md deleted file mode 100644 index 1632f63..0000000 --- a/docs/markdown/snippets/both-libraries.md +++ /dev/null @@ -1,9 +0,0 @@ -## Building both shared and static libraries - -A new function `both_libraries()` has been added to build both shared and static -libraries at the same time. Source files will be compiled only once and object -files will be reused to build both shared and static libraries, unless -`b_staticpic` user option or `pic` argument are set to false in which case -sources will be compiled twice. - -The returned `buildtarget` object always represents the shared library. diff --git a/docs/markdown/snippets/compiler-object-run_command.md b/docs/markdown/snippets/compiler-object-run_command.md deleted file mode 100644 index 0308416..0000000 --- a/docs/markdown/snippets/compiler-object-run_command.md +++ /dev/null @@ -1,10 +0,0 @@ -## Compiler object can now be passed to run_command() - -This can be used to run the current compiler with the specified arguments -to obtain additional information from it. -One of the use cases is to get the location of development files for the -GCC plugins: - - cc = meson.get_compiler('c') - result = run_command(cc, '-print-file-name=plugin') - plugin_dev_path = result.stdout().strip() diff --git a/docs/markdown/snippets/d-options-for-meson-setup.md b/docs/markdown/snippets/d-options-for-meson-setup.md deleted file mode 100644 index 37afbe0..0000000 --- a/docs/markdown/snippets/d-options-for-meson-setup.md +++ /dev/null @@ -1,6 +0,0 @@ -## Meson and meson configure now accept the same arguments - -Previously meson required that builtin arguments (like prefix) be passed as -`--prefix` to `meson` and `-Dprefix` to `meson configure`. `meson` now accepts -D -form like `meson configure` has. `meson configure` also accepts the `--prefix` -form, like `meson` has. diff --git a/docs/markdown/snippets/declare_dependency-link_whole.md b/docs/markdown/snippets/declare_dependency-link_whole.md deleted file mode 100644 index 827b1f6..0000000 --- a/docs/markdown/snippets/declare_dependency-link_whole.md +++ /dev/null @@ -1,4 +0,0 @@ -## declare_dependency() supports link_whole - -`declare_dependency()` supports `link_whole` parameter. -`link_whole` propagates to build target that uses dependency. diff --git a/docs/markdown/snippets/del-old-names.md b/docs/markdown/snippets/del-old-names.md deleted file mode 100644 index 5ac5873..0000000 --- a/docs/markdown/snippets/del-old-names.md +++ /dev/null @@ -1,7 +0,0 @@ -## Old command names are now errors - -Old executable names `mesonintrospect`, `mesonconf`, `mesonrewriter` -and `mesontest` have been deprecated for a long time. Starting from -this version they no longer do anything but instead always error -out. All functionality is available as subcommands in the main `meson` -binary. diff --git a/docs/markdown/snippets/find-override.md b/docs/markdown/snippets/find-override.md deleted file mode 100644 index ef3a4a2..0000000 --- a/docs/markdown/snippets/find-override.md +++ /dev/null @@ -1,37 +0,0 @@ -## Can override find_program - -It is now possible to override the result of `find_program` to point -to a custom program you want. The overriding is global and applies to -every subproject from there on. Here is how you would use it. - -In master project - -```meson -subproject('mydep') -``` - -In the called subproject: - -```meson -prog = find_program('my_custom_script') -meson.override_find_program('mycodegen', prog) -``` - -In master project (or, in fact, any subproject): - -```meson -genprog = find_program('mycodegen') -``` - -Now `genprog` points to the custom script. If the dependency had come -from the system, then it would point to the system version. - -You can also use the return value of `configure_file()` to override -a program in the same way as above: - -```meson -prog_script = configure_file(input : 'script.sh.in', - output : 'script.sh', - configuration : cdata) -meson.override_find_program('mycodegen', prog_script) -``` diff --git a/docs/markdown/snippets/has-link-argument.md b/docs/markdown/snippets/has-link-argument.md deleted file mode 100644 index 7beda63..0000000 --- a/docs/markdown/snippets/has-link-argument.md +++ /dev/null @@ -1,9 +0,0 @@ -## has_link_argument() and friends - -A new set of methods has been added on compiler objects to test if the linker -supports given arguments. - -- `has_link_argument()` -- `has_multi_link_arguments()` -- `get_supported_link_arguments()` -- `first_supported_link_argument()` diff --git a/docs/markdown/snippets/improved-help.md b/docs/markdown/snippets/improved-help.md deleted file mode 100644 index db7e852..0000000 --- a/docs/markdown/snippets/improved-help.md +++ /dev/null @@ -1,6 +0,0 @@ -## "meson help" now shows command line help - -Command line parsing is now less surprising. "meson help" is now -equivalent to "meson --help" and "meson help <subcommand>" is -equivalent to "meson <subcommand> --help", instead of creating a build -directory called "help" in these cases. diff --git a/docs/markdown/snippets/improved-meson-init.md b/docs/markdown/snippets/improved-meson-init.md deleted file mode 100644 index ec17bc4..0000000 --- a/docs/markdown/snippets/improved-meson-init.md +++ /dev/null @@ -1,19 +0,0 @@ -## Autogeneration of simple meson.build files - -A feature to generate a meson.build file compiling given C/C++ source -files into a single executable has been added to "meson init". By -default, it will take all recognizable source files in the current -directory. You can also specify a list of dependencies with the -d -flag and automatically invoke a build with the -b flag to check if the -code builds with those dependencies. - -For example, - -```meson -meson init -fbd sdl2,gl -``` - -will look for C or C++ files in the current directory, generate a -meson.build for them with the dependencies of sdl2 and gl and -immediately try to build it, overwriting any previous meson.build and -build directory. diff --git a/docs/markdown/snippets/install_data-rename.md b/docs/markdown/snippets/install_data-rename.md deleted file mode 100644 index 6378d0f..0000000 --- a/docs/markdown/snippets/install_data-rename.md +++ /dev/null @@ -1,11 +0,0 @@ -## install_data() supports rename - -`rename` parameter is used to change names of the installed files. -In order to install -- `file1.txt` into `share/myapp/dir1/data.txt` -- `file2.txt` into `share/myapp/dir2/data.txt` -```meson -install_data(['file1.txt', 'file2.txt'], - rename : ['dir1/data.txt', 'dir2/data.txt'], - install_dir : 'share/myapp') -``` diff --git a/docs/markdown/snippets/lcc.md b/docs/markdown/snippets/lcc.md deleted file mode 100644 index 2ce300d..0000000 --- a/docs/markdown/snippets/lcc.md +++ /dev/null @@ -1,23 +0,0 @@ -## Support for lcc compiler for e2k (Elbrus) architecture - -In this version, a support for lcc compiler for Elbrus processors -based on [e2k microarchitecture](https://en.wikipedia.org/wiki/Elbrus_2000) -has been added. - -Examples of such CPUs: -* [Elbrus-8S](https://en.wikipedia.org/wiki/Elbrus-8S); -* Elbrus-4S; -* [Elbrus-2S+](https://en.wikipedia.org/wiki/Elbrus-2S%2B). - -Such compiler have a similar behavior as gcc (basic option compatibility), -but, in is not strictly compatible with gcc as of current version. - -Major differences as of version 1.21.22: -* it does not support LTO and PCH; -* it suffers from the same dependency file creation error as icc; -* it has minor differences in output, especially version output; -* it differently reacts to lchmod() detection; -* some backend messages are produced in ru_RU.KOI8-R even if LANG=C; -* its preprocessor treats some characters differently. - -So every noted difference is properly handled now in meson.
\ No newline at end of file diff --git a/docs/markdown/snippets/more-escape-sequences.md b/docs/markdown/snippets/more-escape-sequences.md deleted file mode 100644 index 2894079..0000000 --- a/docs/markdown/snippets/more-escape-sequences.md +++ /dev/null @@ -1,17 +0,0 @@ -## String escape character update - -The strings (both single-quoted and triple-quoted) in meson has been taught the -same set of escape sequences as in Python. It is therefore now possible to use -arbitrary bytes in strings, like for example NUL (`\0`) and other ASCII control -characters. See the chapter about *Strings* in *Syntax* for more details. - -Potential backwards compatibility issue: Any valid escape sequence according to -the new rules will be interpreted as an escape sequence instead of the literal -characters. Previously only single-quote strings supported escape sequences and -the supported sequences were `\'`, `\\` and `\n`. - -The most likely breakage is usage of backslash-n in triple-quoted strings. It -is now written in the same way as in single-quoted strings: `\\n` instead of -`\n`. In general it is now recommended to escape any usage of backslash. -However, backslash-c (`\c`), for example, is still backslash-c because it isn't -a valid escape sequence. diff --git a/docs/markdown/snippets/new-wrap-mode.md b/docs/markdown/snippets/new-wrap-mode.md deleted file mode 100644 index e33dd83..0000000 --- a/docs/markdown/snippets/new-wrap-mode.md +++ /dev/null @@ -1,3 +0,0 @@ -A new wrap mode was added, `--wrap-mode=forcefallback`. When this is set, -dependencies for which a fallback was provided will always use it, even -if an external dependency exists and satisfies the version requirements. diff --git a/docs/markdown/snippets/non-unique-target-names.md b/docs/markdown/snippets/non-unique-target-names.md deleted file mode 100644 index 9b3f917..0000000 --- a/docs/markdown/snippets/non-unique-target-names.md +++ /dev/null @@ -1,9 +0,0 @@ -## Relaxing of target name requirements - -In earlier versions of Meson you could only have one target of a given name for each type. -For example you could not have two executables named `foo`. This requirement is now -relaxed so that you can have multiple targets with the same name, as long as they are in -different subdirectories. - -Note that projects that have multiple targets with the same name can not be built with -the `flat` layout or any backend that writes outputs in the same directory. diff --git a/docs/markdown/snippets/openmp-dependency.md b/docs/markdown/snippets/openmp-dependency.md deleted file mode 100644 index ad70011..0000000 --- a/docs/markdown/snippets/openmp-dependency.md +++ /dev/null @@ -1,6 +0,0 @@ -## Addition of OpenMP dependency - -An OpenMP dependency (`openmp`) has been added that encapsulates the various -flags used by compilers to enable OpenMP and checks for the existence of the -`omp.h` header. The `language` keyword may be passed to force the use of a -specific compiler for the checks. diff --git a/docs/markdown/snippets/partial-dependencies.md b/docs/markdown/snippets/partial-dependencies.md deleted file mode 100644 index 8d2136a..0000000 --- a/docs/markdown/snippets/partial-dependencies.md +++ /dev/null @@ -1,25 +0,0 @@ -## Added new partial_dependency method to dependencies and libraries - -It is now possible to use only part of a dependency in a target. This allows, -for example, to only use headers with convenience libraries to avoid linking -to the same library multiple times. - -```meson - -dep = dependency('xcb') - -helper = static_library( - 'helper', - ['helper1.c', 'helper2.c'], - dependencies : dep.partial_dependency(includes : true), -] - -final = shared_library( - 'final', - ['final.c'], - dependencyes : dep, -) -``` - -A partial dependency will have the same name version as the full dependency it -is derived from, as well as any values requested. diff --git a/docs/markdown/snippets/pkg-config-fix-static-only.md b/docs/markdown/snippets/pkg-config-fix-static-only.md deleted file mode 100644 index 31cd389..0000000 --- a/docs/markdown/snippets/pkg-config-fix-static-only.md +++ /dev/null @@ -1,12 +0,0 @@ -## Improved generation of pkg-config files for static only libraries. - -Previously pkg-config files generated by the pkgconfig modules for static libraries -with dependencies could only be used in a dependencies with `static: true`. - -Now the generated file contains the needed dependencies libraries directly within -`Requires` and `Libs` for build static libraries passed via the `libraries` keyword -argument. - -Projects that install both a static and a shared version of a library should use -the result of `both_libraries` to the pkg config file generator or use -configure_file for more complicated setups. diff --git a/docs/markdown/snippets/pkgconfig-generator.md b/docs/markdown/snippets/pkgconfig-generator.md deleted file mode 100644 index 93920d3..0000000 --- a/docs/markdown/snippets/pkgconfig-generator.md +++ /dev/null @@ -1,14 +0,0 @@ -## Improvements to pkgconfig module - -A `StaticLibrary` or `SharedLibrary` object can optionally be passed -as first positional argument of the `generate()` method. If one is provided a -default value will be provided for all required fields of the pc file: -- `install_dir` is set to `pkgconfig` folder in the same location than the provided library. -- `description` is set to the project's name followed by the library's name. -- `name` is set to the library's name. - -Generating a .pc file is now as simple as: - -``` -pkgconfig.generate(mylib) -``` diff --git a/docs/markdown/snippets/pkgconfig-requires-non-string.md b/docs/markdown/snippets/pkgconfig-requires-non-string.md deleted file mode 100644 index abf85b0..0000000 --- a/docs/markdown/snippets/pkgconfig-requires-non-string.md +++ /dev/null @@ -1,5 +0,0 @@ -## pkgconfig.generate() requires parameters non-string arguments - -`pkgconfig.generate()` `requires` and `requires_private` parameters -accept pkgconfig-dependencies and libraries that pkgconfig-files were -generated for. diff --git a/docs/markdown/snippets/python-module.md b/docs/markdown/snippets/python-module.md deleted file mode 100644 index c2e8138..0000000 --- a/docs/markdown/snippets/python-module.md +++ /dev/null @@ -1,6 +0,0 @@ -## Generic python module - -This is a revamped and generic (python 2 and 3) version of the python3 -module. With this new interface, projects can now fully specify the version -of python they want to build against / install sources to, and can do so -against multiple major or minor versions in parallel. diff --git a/docs/sitemap.txt b/docs/sitemap.txt index b439b69..46b3b6a 100644 --- a/docs/sitemap.txt +++ b/docs/sitemap.txt @@ -66,6 +66,7 @@ index.md Shipping-prebuilt-binaries-as-wraps.md fallback-wraptool.md Release-notes.md + Release-notes-for-0.47.0.md Release-notes-for-0.46.0.md Release-notes-for-0.45.0.md Release-notes-for-0.44.0.md |