Next | Query returned 92 messages, browsing 21 to 30 | Previous

History of commit frequency

CVS Commit History:


   2023-08-08 23:34:11 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
meson: updated to 1.2.1

1.2.1
Bug fixes
   2023-07-19 07:36:20 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
meson: updated to 1.2.0

1.2.0

Added Metrowerks C/C++ toolchains
Added str.splitlines method
generator.process(generator.process(...))
Extra files keyword in declare_dependency
Added a new '--genvslite' option for use with 'meson setup ...'
gnome.generate_gir() now supports env kwarg
More data in introspection files
Machine objects get kernel and subsystem properties
default_options and override_options may now be dictionaries
New override of find_program('meson')
Find more specific python version on Windows
Python module can now compile bytecode
rust.bindgen allows passing extra arguments to rustc
Support for defining crate names of Rust dependencies in Rust targets
A machine file may be used to pass extra arguments to clang in a bindgen call
Add a link_with keyword to rust.test()
Rust now supports the b_ndebug option
Wildcards in list of tests to run
New for the generation of Visual Studio vcxproj projects
   2023-06-27 12:41:25 by Taylor R Campbell | Files touched by this commit (1)
Log message:
meson: Print nicer messages about build stages.

No functional change intended other than console output.
   2023-05-25 21:37:54 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
meson: updated to 1.1.1

1.1.1
No changelog
   2023-04-25 21:54:40 by Nikita | Files touched by this commit (3) | Package updated
Log message:
meson: update to version 1.1.0

Changelog (taken from https://mesonbuild.com/Release-notes-for-1-1-0.html):

New features

Meson 1.1.0 was released on 10 April 2023
clang-cl now accepts cpp_std=c++20

Requires clang-cl 13 or later.
coercing values in the option() function is deprecated

Currently code such as:

option('foo', type : 'boolean', value : 'false')

works, because Meson coerces 'false' to false.

This should be avoided, and will now result in a deprecation warning.
New declare_dependency(objects: ) argument

A new argument to declare_dependency makes it possible to add objects directly \ 
to executables that use an internal dependency, without going for example \ 
through link_whole.
Dump devenv into file and select format

meson devenv --dump [<filename>] command now takes an optional filename \ 
argument to write the environment into a file instead of printing to stdout.

A new --dump-format argument has been added to select which shell format should \ 
be used. There are currently 3 formats supported:

    sh: Lines are in the format VAR=/prepend:$VAR:/append.
    export: Same as sh but with extra export VAR lines.
    vscode: Same as sh but without $VAR substitution because they do not seems \ 
to be properly supported by vscode.

Feature objects now have an enable_auto_if method

This performs the opposite task of the disable_auto_if method, enabling the \ 
feature if the condition is true.
Add a FeatureOption.enable_if and .disable_if

These are useful when features need to be constrained to pass to dependency(), \ 
as the behavior of an auto and disabled or enabled feature is markedly \ 
different. consider the following case:

opt = get_option('feature').disable_auto_if(not foo)
if opt.enabled() and not foo
  error('Cannot enable feat when foo is not also enabled')
endif
dep = dependency('foo', required : opt)

This could be simplified to

opt = get_option('feature').disable_if(not foo, error_message : 'Cannot enable \ 
feature when foo is not also enabled')
dep = dependency('foo', required : opt)

For a real life example, here is some code in mesa:

_llvm = get_option('llvm')
dep_llvm = null_dep
with_llvm = false
if _llvm.allowed()
  dep_llvm = dependency(
    'llvm',
    version : _llvm_version,
    modules : llvm_modules,
    optional_modules : llvm_optional_modules,
    required : (
      with_amd_vk or with_gallium_radeonsi or with_gallium_opencl or with_clc
      or _llvm.enabled()
    ),
    static : not _shared_llvm,
    fallback : ['llvm', 'dep_llvm'],
    include_type : 'system',
  )
  with_llvm = dep_llvm.found()
endif
if with_llvm
  ...
elif with_amd_vk and with_aco_tests
  error('ACO tests require LLVM, but LLVM is disabled.')
elif with_gallium_radeonsi or with_swrast_vk
  error('The following drivers require LLVM: RadeonSI, SWR, Lavapipe. One of \ 
these is enabled, but LLVM is disabled.')
elif with_gallium_opencl
  error('The OpenCL "Clover" state tracker requires LLVM, but LLVM is \ 
disabled.')
elif with_clc
  error('The CLC compiler requires LLVM, but LLVM is disabled.')
else
  draw_with_llvm = false
endif

simplified to:

_llvm = get_option('llvm') \
  .enable_if(with_amd_vk and with_aco_tests, error_message : 'ACO tests requires \ 
LLVM') \
  .enable_if(with_gallium_radeonsi, error_message : 'RadeonSI requires LLVM') \
  .enable_if(with_swrast_vk, error_message : 'Vulkan SWRAST requires LLVM') \
  .enable_if(with_gallium_opencl, error_message : 'The OpenCL Clover state \ 
trackers requires LLVM') \
  .enable_if(with_clc, error_message : 'CLC library requires LLVM')

dep_llvm = dependency(
  'llvm',
  version : _llvm_version,
  modules : llvm_modules,
  optional_modules : llvm_optional_modules,
  required : _llvm,
  static : not _shared_llvm,
  fallback : ['llvm', 'dep_llvm'],
  include_type : 'system',
)
with_llvm = dep_llvm.found()

Generated objects can be passed in the objects: keyword argument

In previous versions of Meson, generated objects could only be passed as sources \ 
of a build target. This was confusing, therefore generated objects can now be \ 
passed in the objects: keyword argument as well.
The project function now supports setting the project license files

This goes together with the license name. The license files can be automatically \ 
installed via meson.install_dependency_manifest(), or queried via \ 
meson.project_license_files().
A new core directory option "licensedir" is available

This will install a dependency manifest to the specified directory, if none is \ 
is explicitly set.
sudo meson install now drops privileges when rebuilding targets

It is common to install projects using sudo, which should not affect build \ 
outputs but simply install the results. Unfortunately, since the ninja backend \ 
updates a state file when run, it's not safe to run ninja as root at all.

It has always been possible to carefully build with:

ninja && sudo meson install --no-rebuild

Meson now tries to be extra safe as a general solution. sudo meson install will \ 
attempt to rebuild, but has learned to run ninja as the original (pre-sudo or \ 
pre-doas) user, ensuring that build outputs are generated/compiled as non-root.
meson install now supports user-preferred root elevation tools

Previously, when installing a project, if any files could not be installed due \ 
to insufficient permissions the install process was automatically re-run using \ 
polkit. Now it prompts to ask whether that is desirable, and checks for \ 
CLI-based tools such as sudo or opendoas or $MESON_ROOT_CMD, first.

Meson will no longer attempt privilege elevation at all, when not running \ 
interactively.
Support for reading options from meson.options

Support has been added for reading options from meson.options instead of \ 
meson_options.txt. These are equivalent, but not using the .txt extension for a \ 
build file has a few advantages, chief among them many tools and text editors \ 
expect a file with the .txt extension to be plain text files, not build scripts.
Redirect introspection outputs to stderr

meson introspect used to disable logging to stdout to not interfere with \ 
generated json. It now redirect outputs to stderr to allow printing warnings to \ 
the console while keeping stdout clean for json outputs.
New "none" backend

The --backend=none option has been added, to configure a project that has no \ 
build rules, only install rules. This avoids depending on ninja.
compiler.preprocess()

Dependencies keyword argument can now be passed to compiler.preprocess() to add \ 
include directories or compiler arguments.

Generated sources such as custom targets are now allowed too.
New pybind11 custom dependency

dependency('pybind11') works with pkg-config and cmake without any special \ 
support, but did not handle the pybind11-config script.

This is useful because the config-tool will work out of the box when pybind11 is \ 
installed, but the pkg-config and cmake files are shoved into python's \ 
site-packages, which makes it impossible to use in an out of the box manner.
Allow --reconfigure and --wipe of empty builddir

meson setup --reconfigure builddir and meson setup --wipe builddir are now \ 
accepting builddir/ to be empty or containing a previously failed setup attempt. \ 
Note that in that case previously passed command line options must be repeated \ 
as only a successful build saves configured options.

This is useful for example with scripts that always repeat all options, meson \ 
setup builddir --wipe -Dfoo=bar will always work regardless whether it is a \ 
first invocation or not.
Allow custom install scripts to run with --dry-run option

An new dry_run keyword is added to meson.add_install_script() to allow a custom \ 
install script to run when meson is invoked with meson install --dry-run.

In dry run mode, the MESON_INSTALL_DRY_RUN environment variable is set.
   2023-02-24 09:19:00 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
meson: updated to 1.0.1

1.0.1
Bug fixes
   2023-01-01 22:20:01 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
meson: updated to 1.0.0

1.0.0
Compiler check functions prefix kwargs accepts arrays
Flags removed from cpp/objcpp warning level 1
Developer environment improvements
Deprecate java.generate_native_headers, rename to java.native_headers
rust.bindgen accepts a dependency argument
String arguments to the rust.bindgen include_directories argument
The Rust module is stable
in operator for strings
warning-level=everything option
   2022-11-24 09:56:36 by Adam Ciarcinski | Files touched by this commit (1)
Log message:
meson: expicitly call "meson setup"
   2022-11-23 09:18:41 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
meson: updated to 0.64.1

0.64.1
Bug fixes
   2022-11-13 10:57:24 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
meson: updated to 0.64.0

0.64.0
Add optimization plain option
New languages: nasm and masm
Pager and colors for meson configure output
various install_* functions no longer handle the sticky bit
fs.copyfile to replace configure_file(copy : true)
Added update_mime_database to gnome.post_install()
Added preserve_path arg to install_data
BSD support for the jni dependency
Credentials from ~/.netrc for https URLs
Basic support for oneAPI compilers on Linux and Windows
New method to preprocess source files
python.find_installation() now accepts pure argument
Generates rust-project.json when there are Rust targets
summary() accepts disablers
Option to allow meson test to fail fast after the first failing testcase
Incremental ThinLTO with b_thinlto_cache
Update all wraps from WrapDB with meson wrap update command
Added include_core_only arg to wayland.scan_xml.
Automatic fallback using WrapDB

Next | Query returned 92 messages, browsing 21 to 30 | Previous