diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2018-04-22 19:41:21 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2018-04-23 03:24:26 +0300 |
commit | ade59f987f40707d7f5fb43727b0de249a373469 (patch) | |
tree | f393814f81556b47764aab95558a6ef6a262d783 /docs/markdown | |
parent | 01865899e5283b3e0b3181ddb250c348a5bafa84 (diff) | |
download | meson-ade59f987f40707d7f5fb43727b0de249a373469.zip meson-ade59f987f40707d7f5fb43727b0de249a373469.tar.gz meson-ade59f987f40707d7f5fb43727b0de249a373469.tar.bz2 |
Updated version number for new release.0.46.0
Diffstat (limited to 'docs/markdown')
26 files changed, 317 insertions, 284 deletions
diff --git a/docs/markdown/Release-notes-for-0.46.0.md b/docs/markdown/Release-notes-for-0.46.0.md index e062459..bb043bc 100644 --- a/docs/markdown/Release-notes-for-0.46.0.md +++ b/docs/markdown/Release-notes-for-0.46.0.md @@ -1,23 +1,306 @@ --- 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. + +``` +[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` 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: + + cc = meson.get_compiler('c') + result = run_command(cc, '-print-file-name=plugin') + plugin_dev_path = result.stdout().strip() + +## declare_dependency() supports link_whole + +`declare_dependency()` supports `link_whole` parameter. +`link_whole` propagates to build target that uses dependency. + +## 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. + +## 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 + +`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) +``` + +## 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()` + +## "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 + +`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') +``` + +## 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. +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` to the pkg config file generator or use +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` parameters +accept pkgconfig-dependencies and libraries that pkgconfig-files were +generated for. + +## 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. + +## test now supports depends keyword parameter + +Build targets and custom targets can be listed in depends 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/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/extract-all-objects.md b/docs/markdown/snippets/extract-all-objects.md deleted file mode 100644 index 3cf8040..0000000 --- a/docs/markdown/snippets/extract-all-objects.md +++ /dev/null @@ -1,12 +0,0 @@ -## Recursively extract objects - -`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)) -``` 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 ad78ce2..0000000 --- a/docs/markdown/snippets/more-escape-sequences.md +++ /dev/null @@ -1,15 +0,0 @@ -## 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. 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/markdown/snippets/test-depends.md b/docs/markdown/snippets/test-depends.md deleted file mode 100644 index 2f4b6b0..0000000 --- a/docs/markdown/snippets/test-depends.md +++ /dev/null @@ -1,5 +0,0 @@ -## test now supports depends keyword parameter - -Build targets and custom targets can be listed in depends argument of test -function. These targets will be built before test is run even if they have -`build_by_default : false`. |