diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2020-07-12 17:25:51 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2020-07-12 17:25:51 +0300 |
commit | d0c68dc11507a47b9b85de508e023d9590d60565 (patch) | |
tree | 2a5ae49d56c098f46ed436b72bdb511accc52f97 /docs/markdown | |
parent | d769b425f0b56779bad571fbf7145c8d2f7fecc9 (diff) | |
download | meson-d0c68dc11507a47b9b85de508e023d9590d60565.zip meson-d0c68dc11507a47b9b85de508e023d9590d60565.tar.gz meson-d0c68dc11507a47b9b85de508e023d9590d60565.tar.bz2 |
Updated everything for release 0.55.0.0.55.0
Diffstat (limited to 'docs/markdown')
26 files changed, 307 insertions, 275 deletions
diff --git a/docs/markdown/Release-notes-for-0.55.0.md b/docs/markdown/Release-notes-for-0.55.0.md new file mode 100644 index 0000000..534c452 --- /dev/null +++ b/docs/markdown/Release-notes-for-0.55.0.md @@ -0,0 +1,307 @@ +--- +title: Release 0.55.0 +short-description: Release notes for 0.55.0 +... + +# New features + +## rpath removal now more careful + +On Linux-like systems, meson adds rpath entries to allow running apps +in the build tree, and then removes those build-time-only +rpath entries when installing. Rpath entries may also come +in via LDFLAGS and via .pc files. Meson used to remove those +latter rpath entries by accident, but is now more careful. + +## Added ability to specify targets in `meson compile` + +It's now possible to specify targets in `meson compile`, which will result in building only the requested targets. + +Usage: `meson compile [TARGET [TARGET...]]` +`TARGET` has the following syntax: `[PATH/]NAME[:TYPE]`. +`NAME`: name of the target from `meson.build` (e.g. `foo` from `executable('foo', ...)`). +`PATH`: path to the target relative to the root `meson.build` file. Note: relative path for a target specified in the root `meson.build` is `./`. +`TYPE`: type of the target (e.g. `shared_library`, `executable` and etc) + +`PATH` and/or `TYPE` can be ommited if the resulting `TARGET` can be used to uniquely identify the target in `meson.build`. + +For example targets from the following code: +```meson +shared_library('foo', ...) +static_library('foo', ...) +executable('bar', ...) +``` +can be invoked with `meson compile foo:shared_library foo:static_library bar`. + +## Test protocol for gtest + +Due to the popularity of Gtest (google test) among C and C++ developers meson +now supports a special protocol for gtest. With this protocol meson injects +arguments to gtests to output JUnit, reads that JUnit, and adds the output to +the JUnit it generates. + +## meson.add_*_script methods accept new types + +All three (`add_install_script`, `add_dist_script`, and +`add_postconf_script`) now accept ExternalPrograms (as returned by +`find_program`), Files, and the output of `configure_file`. The dist and +postconf methods cannot accept other types because of when they are run. +While dist could, in theory, take other dependencies, it would require more +extensive changes, particularly to the backend. + +```meson +meson.add_install_script(find_program('foo'), files('bar')) +meson.add_dist_script(find_program('foo'), files('bar')) +meson.add_postconf_script(find_program('foo'), files('bar')) +``` + +The install script variant is also able to accept custom_targets, +custom_target indexes, and build targets (executables, libraries), and can +use built executables a the script to run + +```meson +installer = executable('installer', ...) +meson.add_install_script(installer, ...) +meson.add_install_script('foo.py', installer) +``` + +## Machine file constants + +Native and cross files now support string and list concatenation using the `+` +operator, and joining paths using the `/` operator. +Entries defined in the `[constants]` section can be used in any other section. +An entry defined in any other section can be used only within that same section and only +after it has been defined. + +```ini +[constants] +toolchain = '/toolchain' +common_flags = ['--sysroot=' + toolchain + '/sysroot'] + +[properties] +c_args = common_flags + ['-DSOMETHING'] +cpp_args = c_args + ['-DSOMETHING_ELSE'] + +[binaries] +c = toolchain + '/gcc' +``` + +## Configure CMake subprojects with meson.subproject_options + +Meson now supports passing configuration options to CMake and overriding +certain build details extracted from the CMake subproject. + +The new CMake configuration options object is very similar to the +[configuration data object](Reference-manual.md#configuration-data-object) object +returned by [`configuration_data`](Reference-manual.md#configuration_data). It +is generated by the `subproject_options` function + +All configuration options have to be set *before* the subproject is configured +and must be passed to the `subproject` method via the `options` key. Altering +the configuration object won't have any effect on previous `cmake.subproject` +calls. + +**Note:** The `cmake_options` kwarg for the `subproject` function is now +deprecated since it is replaced by the new `options` system. + +## find_program: Fixes when the program has been overridden by executable + +When a program has been overridden by an executable, the returned object of +find_program() had some issues: + +```meson +# In a subproject: +exe = executable('foo', ...) +meson.override_find_program('foo', exe) + +# In main project: +# The version check was crashing meson. +prog = find_program('foo', version : '>=1.0') + +# This was crashing meson. +message(prog.path()) + +# New method to be consistent with built objects. +message(prog.full_path()) +``` + +## Response files enabled on Linux, reined in on Windows + +Meson used to always use response files on Windows, +but never on Linux. + +It now strikes a happier balance, using them on both platforms, +but only when needed to avoid command line length limits. + +## `unstable-kconfig` module renamed to `unstable-keyval` + +The `unstable-kconfig` module is now renamed to `unstable-keyval`. +We expect this module to become stable once it has some usage experience, +specifically in the next or the following release + + +## Fatal warnings in `gnome.generate_gir()` + +`gnome.generate_gir()` now has `fatal_warnings` keyword argument to abort when +a warning is produced. This is useful for example in CI environment where it's +important to catch potential issues. + +## b_ndebug support for D language compilers + +D Language compilers will now set -release/--release/-frelease (depending on +the compiler) when the b_ndebug flag is set. + +## Meson test now produces JUnit xml from results + +Meson will now generate a JUnit compatible XML file from test results. it +will be in the meson-logs directory and is called testlog.junit.xml. + +## Config tool based dependencies no longer search PATH for cross compiling + +Before 0.55.0 config tool based dependencies (llvm-config, cups-config, etc), +would search system $PATH if they weren't defined in the cross file. This has +been a source of bugs and has been deprecated. It is now removed, config tool +binaries must be specified in the cross file now or the dependency will not +be found. + +## Rename has_exe_wrapper -> can_run_host_binaries + +The old name was confusing as it didn't really match the behavior of the +function. The old name remains as an alias (the behavior hasn't changed), but +is now deprecated. + +## String concatenation in meson_options.txt + +It is now possible to use string concatenation (with the `+` opperator) in the +meson_options.txt file. This allows splitting long option descriptions. + +```meson +option( + 'testoption', + type : 'string', + value : 'optval', + description : 'An option with a very long description' + + 'that does something in a specific context' +) +``` + +## Wrap fallback URL + +Wrap files can now define `source_fallback_url` and `patch_fallback_url` to be +used in case the main server is temporaly down. + +## Clang coverage support + +llvm-cov is now used to generate coverage information when clang is used as +the compiler. + +## Local wrap source and patch files + +It is now possible to use the `patch_filename` and `source_filename` value in a +`.wrap` file without `*_url` to specify a local source / patch file. All local +files must be located in the `subprojects/packagefiles` directory. The `*_hash` +entries are optional with this setup. + +## Local wrap patch directory + +Wrap files can now specify `patch_directory` instead of `patch_filename` in the +case overlay files are local. Every files in that directory, and subdirectories, +will be copied to the subproject directory. This can be used for example to add +`meson.build` files to a project not using Meson build system upstream. +The patch directory must be placed in `subprojects/packagefiles` directory. + +## Patch on all wrap types + +`patch_*` keys are not limited to `wrap-file` any more, they can be specified for +all wrap types. + +## link_language argument added to all targets + +Previously the `link_language` argument was only supposed to be allowed in +executables, because the linker used needs to be the linker for the language +that implements the main function. Unfortunately it didn't work in that case, +and, even worse, if it had been implemented properly it would have worked for +*all* targets. In 0.55.0 this restriction has been removed, and the bug fixed. +It now is valid for `executable` and all derivative of `library`. + +## meson dist --no-tests + +`meson dist` has a new option `--no-tests` to skip build and tests of generated +packages. It can be used to not waste time for example when done in CI that +already does its own testing. + +## Force fallback for + +A newly-added `--force-fallback-for` command line option can now be used to +force fallback for specific subprojects. + +Example: + +``` +meson build --force-fallback-for=foo,bar +``` + +## Implicit dependency fallback + +`dependency('foo')` now automatically fallback if the dependency is not found on +the system but a subproject wrap file or directory exists with the same name. + +That means that simply adding `subprojects/foo.wrap` is enough to add fallback +to any `dependency('foo')` call. It is however requires that the subproject call +`meson.override_dependency('foo', foo_dep)` to specify which dependency object +should be used for `foo`. + +## Wrap file `provide` section + +Wrap files can define the dependencies it provides in the `[provide]` section. +When `foo.wrap` provides the dependency `foo-1.0` any call do `dependency('foo-1.0')` +will automatically fallback to that subproject even if no `fallback` keyword +argument is given. See [Wrap documentation](Wrap-dependency-system-manual.md#provide_section). + +## `find_program()` fallback + +When a program cannot be found on the system but a wrap file has its name in the +`[provide]` section, that subproject will be used as fallback. + +## Test scripts are given the exe wrapper if needed + +Meson will now set the `MESON_EXE_WRAPPER` as the properly wrapped and joined +representation. For Unix-like OSes this means python's shelx.join, on Windows +an implementation that attempts to properly quote windows argument is used. +This allow wrapper scripts to run test binaries, instead of just skipping. + +for example, if the wrapper is `['emulator', '--script']`, it will be passed +as `MESON_EXE_WRAPPER="emulator --script"`. + +## Added ability to specify backend arguments in `meson compile` + +It's now possible to specify backend specific arguments in `meson compile`. + +Usage: `meson compile [--vs-args=args] [--ninja-args=args]` + +``` + --ninja-args NINJA_ARGS Arguments to pass to `ninja` (applied only on `ninja` backend). + --vs-args VS_ARGS Arguments to pass to `msbuild` (applied only on `vs` backend). +``` + +These arguments use the following syntax: + +If you only pass a single string, then it is considered to have all values separated by commas. Thus invoking the following command: + +``` +$ meson compile --ninja-args=-n,-d,explain +``` + +would add `-n`, `-d` and `explain` arguments to ninja invocation. + +If you need to have commas or spaces in your string values, then you need to pass the value with proper shell quoting like this: + +``` +$ meson compile "--ninja-args=['a,b', 'c d']" +``` + +## Introspection API changes + +dumping the AST (--ast): **new in 0.55.0** +- prints the AST of a meson.build as JSON + diff --git a/docs/markdown/snippets/add_compile_backend_arg.md b/docs/markdown/snippets/add_compile_backend_arg.md deleted file mode 100644 index 76e2abb..0000000 --- a/docs/markdown/snippets/add_compile_backend_arg.md +++ /dev/null @@ -1,26 +0,0 @@ -## Added ability to specify backend arguments in `meson compile` - -It's now possible to specify backend specific arguments in `meson compile`. - -Usage: `meson compile [--vs-args=args] [--ninja-args=args]` - -``` - --ninja-args NINJA_ARGS Arguments to pass to `ninja` (applied only on `ninja` backend). - --vs-args VS_ARGS Arguments to pass to `msbuild` (applied only on `vs` backend). -``` - -These arguments use the following syntax: - -If you only pass a single string, then it is considered to have all values separated by commas. Thus invoking the following command: - -``` -$ meson compile --ninja-args=-n,-d,explain -``` - -would add `-n`, `-d` and `explain` arguments to ninja invocation. - -If you need to have commas or spaces in your string values, then you need to pass the value with proper shell quoting like this: - -``` -$ meson compile "--ninja-args=['a,b', 'c d']" -``` diff --git a/docs/markdown/snippets/add_foo_script_type_additions.md b/docs/markdown/snippets/add_foo_script_type_additions.md deleted file mode 100644 index 88a88b2..0000000 --- a/docs/markdown/snippets/add_foo_script_type_additions.md +++ /dev/null @@ -1,24 +0,0 @@ -## meson.add_*_script methods accept new types - -All three (`add_install_script`, `add_dist_script`, and -`add_postconf_script`) now accept ExternalPrograms (as returned by -`find_program`), Files, and the output of `configure_file`. The dist and -postconf methods cannot accept other types because of when they are run. -While dist could, in theory, take other dependencies, it would require more -extensive changes, particularly to the backend. - -```meson -meson.add_install_script(find_program('foo'), files('bar')) -meson.add_dist_script(find_program('foo'), files('bar')) -meson.add_postconf_script(find_program('foo'), files('bar')) -``` - -The install script variant is also able to accept custom_targets, -custom_target indexes, and build targets (executables, libraries), and can -use built executables a the script to run - -```meson -installer = executable('installer', ...) -meson.add_install_script(installer, ...) -meson.add_install_script('foo.py', installer) -``` diff --git a/docs/markdown/snippets/add_meson_compile_target.md b/docs/markdown/snippets/add_meson_compile_target.md deleted file mode 100644 index d75862f..0000000 --- a/docs/markdown/snippets/add_meson_compile_target.md +++ /dev/null @@ -1,19 +0,0 @@ -## Added ability to specify targets in `meson compile` - -It's now possible to specify targets in `meson compile`, which will result in building only the requested targets. - -Usage: `meson compile [TARGET [TARGET...]]` -`TARGET` has the following syntax: `[PATH/]NAME[:TYPE]`. -`NAME`: name of the target from `meson.build` (e.g. `foo` from `executable('foo', ...)`). -`PATH`: path to the target relative to the root `meson.build` file. Note: relative path for a target specified in the root `meson.build` is `./`. -`TYPE`: type of the target (e.g. `shared_library`, `executable` and etc) - -`PATH` and/or `TYPE` can be ommited if the resulting `TARGET` can be used to uniquely identify the target in `meson.build`. - -For example targets from the following code: -```meson -shared_library('foo', ...) -static_library('foo', ...) -executable('bar', ...) -``` -can be invoked with `meson compile foo:shared_library foo:static_library bar`. diff --git a/docs/markdown/snippets/can_run_host_binaries.md b/docs/markdown/snippets/can_run_host_binaries.md deleted file mode 100644 index 0108184..0000000 --- a/docs/markdown/snippets/can_run_host_binaries.md +++ /dev/null @@ -1,5 +0,0 @@ -## Rename has_exe_wrapper -> can_run_host_binaries - -The old name was confusing as it didn't really match the behavior of the -function. The old name remains as an alias (the behavior hasn't changed), but -is now deprecated. diff --git a/docs/markdown/snippets/clang_coverage.md b/docs/markdown/snippets/clang_coverage.md deleted file mode 100644 index 733a3d9..0000000 --- a/docs/markdown/snippets/clang_coverage.md +++ /dev/null @@ -1,4 +0,0 @@ -## Clang coverage support - -llvm-cov is now used to generate coverage information when clang is used as -the compiler.
\ No newline at end of file diff --git a/docs/markdown/snippets/cmake.md b/docs/markdown/snippets/cmake.md deleted file mode 100644 index 16da78e..0000000 --- a/docs/markdown/snippets/cmake.md +++ /dev/null @@ -1,17 +0,0 @@ -## Configure CMake subprojects with meson.subproject_options - -Meson now supports passing configuration options to CMake and overriding -certain build details extracted from the CMake subproject. - -The new CMake configuration options object is very similar to the -[configuration data object](Reference-manual.md#configuration-data-object) object -returned by [`configuration_data`](Reference-manual.md#configuration_data). It -is generated by the `subproject_options` function - -All configuration options have to be set *before* the subproject is configured -and must be passed to the `subproject` method via the `options` key. Altering -the configuration object won't have any effect on previous `cmake.subproject` -calls. - -**Note:** The `cmake_options` kwarg for the `subproject` function is now -deprecated since it is replaced by the new `options` system. diff --git a/docs/markdown/snippets/config_tool_no_cross_path.md b/docs/markdown/snippets/config_tool_no_cross_path.md deleted file mode 100644 index cec22e4..0000000 --- a/docs/markdown/snippets/config_tool_no_cross_path.md +++ /dev/null @@ -1,7 +0,0 @@ -## Config tool based dependencies no longer search PATH for cross compiling - -Before 0.55.0 config tool based dependencies (llvm-config, cups-config, etc), -would search system $PATH if they weren't defined in the cross file. This has -been a source of bugs and has been deprecated. It is now removed, config tool -binaries must be specified in the cross file now or the dependency will not -be found. diff --git a/docs/markdown/snippets/d-lang_n_debug.md b/docs/markdown/snippets/d-lang_n_debug.md deleted file mode 100644 index 59f09e4..0000000 --- a/docs/markdown/snippets/d-lang_n_debug.md +++ /dev/null @@ -1,4 +0,0 @@ -## b_ndebug support for D language compilers - -D Language compilers will now set -release/--release/-frelease (depending on -the compiler) when the b_ndebug flag is set. diff --git a/docs/markdown/snippets/dist_not_tests.md b/docs/markdown/snippets/dist_not_tests.md deleted file mode 100644 index f9c971e..0000000 --- a/docs/markdown/snippets/dist_not_tests.md +++ /dev/null @@ -1,5 +0,0 @@ -## meson dist --no-tests - -`meson dist` has a new option `--no-tests` to skip build and tests of generated -packages. It can be used to not waste time for example when done in CI that -already does its own testing. diff --git a/docs/markdown/snippets/exe_wrapper_for_cross_built_tests.md b/docs/markdown/snippets/exe_wrapper_for_cross_built_tests.md deleted file mode 100644 index ebdd8a7..0000000 --- a/docs/markdown/snippets/exe_wrapper_for_cross_built_tests.md +++ /dev/null @@ -1,9 +0,0 @@ -## Test scripts are given the exe wrapper if needed - -Meson will now set the `MESON_EXE_WRAPPER` as the properly wrapped and joined -representation. For Unix-like OSes this means python's shelx.join, on Windows -an implementation that attempts to properly quote windows argument is used. -This allow wrapper scripts to run test binaries, instead of just skipping. - -for example, if the wrapper is `['emulator', '--script']`, it will be passed -as `MESON_EXE_WRAPPER="emulator --script"`. diff --git a/docs/markdown/snippets/find_program.md b/docs/markdown/snippets/find_program.md deleted file mode 100644 index d0bb64d..0000000 --- a/docs/markdown/snippets/find_program.md +++ /dev/null @@ -1,20 +0,0 @@ -## find_program: Fixes when the program has been overridden by executable - -When a program has been overridden by an executable, the returned object of -find_program() had some issues: - -```meson -# In a subproject: -exe = executable('foo', ...) -meson.override_find_program('foo', exe) - -# In main project: -# The version check was crashing meson. -prog = find_program('foo', version : '>=1.0') - -# This was crashing meson. -message(prog.path()) - -# New method to be consistent with built objects. -message(prog.full_path()) -``` diff --git a/docs/markdown/snippets/force_fallback_for.md b/docs/markdown/snippets/force_fallback_for.md deleted file mode 100644 index b6af209..0000000 --- a/docs/markdown/snippets/force_fallback_for.md +++ /dev/null @@ -1,10 +0,0 @@ -## Force fallback for - -A newly-added `--force-fallback-for` command line option can now be used to -force fallback for specific subprojects. - -Example: - -``` -meson build --force-fallback-for=foo,bar -``` diff --git a/docs/markdown/snippets/gir_fatal_warnings.md b/docs/markdown/snippets/gir_fatal_warnings.md deleted file mode 100644 index 951e98e..0000000 --- a/docs/markdown/snippets/gir_fatal_warnings.md +++ /dev/null @@ -1,5 +0,0 @@ -## Fatal warnings in `gnome.generate_gir()` - -`gnome.generate_gir()` now has `fatal_warnings` keyword argument to abort when -a warning is produced. This is useful for example in CI environment where it's -important to catch potential issues. diff --git a/docs/markdown/snippets/gtest_protocol.md b/docs/markdown/snippets/gtest_protocol.md deleted file mode 100644 index 14f3af9..0000000 --- a/docs/markdown/snippets/gtest_protocol.md +++ /dev/null @@ -1,6 +0,0 @@ -## Test protocol for gtest - -Due to the popularity of Gtest (google test) among C and C++ developers meson -now supports a special protocol for gtest. With this protocol meson injects -arguments to gtests to output JUnit, reads that JUnit, and adds the output to -the JUnit it generates. diff --git a/docs/markdown/snippets/implicit_fallback.md b/docs/markdown/snippets/implicit_fallback.md deleted file mode 100644 index a6cbaf0..0000000 --- a/docs/markdown/snippets/implicit_fallback.md +++ /dev/null @@ -1,21 +0,0 @@ -## Implicit dependency fallback - -`dependency('foo')` now automatically fallback if the dependency is not found on -the system but a subproject wrap file or directory exists with the same name. - -That means that simply adding `subprojects/foo.wrap` is enough to add fallback -to any `dependency('foo')` call. It is however requires that the subproject call -`meson.override_dependency('foo', foo_dep)` to specify which dependency object -should be used for `foo`. - -## Wrap file `provide` section - -Wrap files can define the dependencies it provides in the `[provide]` section. -When `foo.wrap` provides the dependency `foo-1.0` any call do `dependency('foo-1.0')` -will automatically fallback to that subproject even if no `fallback` keyword -argument is given. See [Wrap documentation](Wrap-dependency-system-manual.md#provide_section). - -## `find_program()` fallback - -When a program cannot be found on the system but a wrap file has its name in the -`[provide]` section, that subproject will be used as fallback. diff --git a/docs/markdown/snippets/introspect.md b/docs/markdown/snippets/introspect.md deleted file mode 100644 index 8eab486..0000000 --- a/docs/markdown/snippets/introspect.md +++ /dev/null @@ -1,4 +0,0 @@ -## Introspection API changes - -dumping the AST (--ast): **new in 0.55.0** -- prints the AST of a meson.build as JSON diff --git a/docs/markdown/snippets/junit_result_generation.md b/docs/markdown/snippets/junit_result_generation.md deleted file mode 100644 index fbe910b..0000000 --- a/docs/markdown/snippets/junit_result_generation.md +++ /dev/null @@ -1,4 +0,0 @@ -## Meson test now produces JUnit xml from results - -Meson will now generate a JUnit compatible XML file from test results. it -will be in the meson-logs directory and is called testlog.junit.xml. diff --git a/docs/markdown/snippets/keyval_kobject.md b/docs/markdown/snippets/keyval_kobject.md deleted file mode 100644 index 4add23c..0000000 --- a/docs/markdown/snippets/keyval_kobject.md +++ /dev/null @@ -1,6 +0,0 @@ -## `unstable-kconfig` module renamed to `unstable-keyval` - -The `unstable-kconfig` module is now renamed to `unstable-keyval`. -We expect this module to become stable once it has some usage experience, -specifically in the next or the following release - diff --git a/docs/markdown/snippets/link_language_all_targets.md b/docs/markdown/snippets/link_language_all_targets.md deleted file mode 100644 index 9019d50..0000000 --- a/docs/markdown/snippets/link_language_all_targets.md +++ /dev/null @@ -1,8 +0,0 @@ -## link_language argument added to all targets - -Previously the `link_language` argument was only supposed to be allowed in -executables, because the linker used needs to be the linker for the language -that implements the main function. Unfortunately it didn't work in that case, -and, even worse, if it had been implemented properly it would have worked for -*all* targets. In 0.55.0 this restriction has been removed, and the bug fixed. -It now is valid for `executable` and all derivative of `library`. diff --git a/docs/markdown/snippets/machine_file_constants.md b/docs/markdown/snippets/machine_file_constants.md deleted file mode 100644 index 84b0848..0000000 --- a/docs/markdown/snippets/machine_file_constants.md +++ /dev/null @@ -1,20 +0,0 @@ -## Machine file constants - -Native and cross files now support string and list concatenation using the `+` -operator, and joining paths using the `/` operator. -Entries defined in the `[constants]` section can be used in any other section. -An entry defined in any other section can be used only within that same section and only -after it has been defined. - -```ini -[constants] -toolchain = '/toolchain' -common_flags = ['--sysroot=' + toolchain + '/sysroot'] - -[properties] -c_args = common_flags + ['-DSOMETHING'] -cpp_args = c_args + ['-DSOMETHING_ELSE'] - -[binaries] -c = toolchain + '/gcc' -``` diff --git a/docs/markdown/snippets/options_string_concat.md b/docs/markdown/snippets/options_string_concat.md deleted file mode 100644 index 0fbf0f4..0000000 --- a/docs/markdown/snippets/options_string_concat.md +++ /dev/null @@ -1,14 +0,0 @@ -## String concatenation in meson_options.txt - -It is now possible to use string concatenation (with the `+` opperator) in the -meson_options.txt file. This allows splitting long option descriptions. - -```meson -option( - 'testoption', - type : 'string', - value : 'optval', - description : 'An option with a very long description' + - 'that does something in a specific context' -) -``` diff --git a/docs/markdown/snippets/response-files.md b/docs/markdown/snippets/response-files.md deleted file mode 100644 index 624b664..0000000 --- a/docs/markdown/snippets/response-files.md +++ /dev/null @@ -1,7 +0,0 @@ -## Response files enabled on Linux, reined in on Windows - -Meson used to always use response files on Windows, -but never on Linux. - -It now strikes a happier balance, using them on both platforms, -but only when needed to avoid command line length limits. diff --git a/docs/markdown/snippets/rpath_behavior.md b/docs/markdown/snippets/rpath_behavior.md deleted file mode 100644 index c46f0c2..0000000 --- a/docs/markdown/snippets/rpath_behavior.md +++ /dev/null @@ -1,7 +0,0 @@ -## rpath removal now more careful - -On Linux-like systems, meson adds rpath entries to allow running apps -in the build tree, and then removes those build-time-only -rpath entries when installing. Rpath entries may also come -in via LDFLAGS and via .pc files. Meson used to remove those -latter rpath entries by accident, but is now more careful. diff --git a/docs/markdown/snippets/wrap_fallback.md b/docs/markdown/snippets/wrap_fallback.md deleted file mode 100644 index 9b71143..0000000 --- a/docs/markdown/snippets/wrap_fallback.md +++ /dev/null @@ -1,4 +0,0 @@ -## Wrap fallback URL - -Wrap files can now define `source_fallback_url` and `patch_fallback_url` to be -used in case the main server is temporaly down. diff --git a/docs/markdown/snippets/wrap_patch.md b/docs/markdown/snippets/wrap_patch.md deleted file mode 100644 index ae66bbd..0000000 --- a/docs/markdown/snippets/wrap_patch.md +++ /dev/null @@ -1,19 +0,0 @@ -## Local wrap source and patch files - -It is now possible to use the `patch_filename` and `source_filename` value in a -`.wrap` file without `*_url` to specify a local source / patch file. All local -files must be located in the `subprojects/packagefiles` directory. The `*_hash` -entries are optional with this setup. - -## Local wrap patch directory - -Wrap files can now specify `patch_directory` instead of `patch_filename` in the -case overlay files are local. Every files in that directory, and subdirectories, -will be copied to the subproject directory. This can be used for example to add -`meson.build` files to a project not using Meson build system upstream. -The patch directory must be placed in `subprojects/packagefiles` directory. - -## Patch on all wrap types - -`patch_*` keys are not limited to `wrap-file` any more, they can be specified for -all wrap types. |