Veröffentlichung des Build-Systems Meson 1.1

Die neue Version des Build-Systems Meson 1.1.0 ist veröffentlicht worden, das fĂŒr Projekte wie X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME und GTK verwendet wird. Der Meson-Code ist in Python geschrieben und wird unter der Lizenz Apache 2.0 angeboten.

Ein zentrales Entwicklungsziel von Meson ist es, eine hohe Geschwindigkeit des Build-Prozesses zu gewĂ€hrleisten, gepaart mit Benutzerfreundlichkeit und Einfachheit. Anstelle des Tools make wird standardmĂ€ĂŸig das Ninja-Toolset verwendet, jedoch können auch andere Backends wie xcode und VisualStudio eingesetzt werden. Das System enthĂ€lt einen plattformĂŒbergreifenden AbhĂ€ngigkeitsmanager, der es ermöglicht, Meson zur Erstellung von Paketen fĂŒr Distributionen zu verwenden. Die Build-Regeln werden in einer vereinfachten, domĂ€nenorientierten Sprache festgelegt, die eine gute Lesbarkeit aufweist und fĂŒr den Benutzer verstĂ€ndlich ist (laut den Autoren sollte der Entwickler so wenig Zeit wie möglich mit dem Schreiben von Regeln verbringen).

Cross-Compilation und Builds werden fĂŒr Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS und Windows mit GCC, Clang, Visual Studio und anderen Compilern unterstĂŒtzt. Es ist möglich, Projekte in verschiedenen Programmiersprachen, einschließlich C, C++, Fortran, Java und Rust, zu kompilieren. Der inkrementelle Build-Modus wird unterstĂŒtzt, bei dem nur die Komponenten neu kompiliert werden, die direkt mit den seit dem letzten Build vorgenommenen Änderungen verbunden sind. Meson kann verwendet werden, um reproduzierbare Builds zu erstellen, bei denen das AusfĂŒhren des Builds in verschiedenen Umgebungen die Erzeugung vollstĂ€ndig identischer ausfĂŒhrbarer Dateien zur Folge hat.

Hauptneuigkeiten in Meson 1.1:

  • In declare_dependency() wurde ein neues Argument „objects:“ hinzugefĂŒgt, um Objekte direkt an ausfĂŒhrbare Dateien als interne AbhĂ€ngigkeiten anzuhĂ€ngen, die keinen link_who-Befehl erfordern.
  • Der Befehl „meson devenv —dump“ bietet jetzt die optionale Möglichkeit, eine Datei anzugeben, um Umgebungsvariablen anstelle der Ausgabe auf den Standardausgabestrom zu schreiben.
  • Die Methoden FeatureOption.enable_if und FeatureOption.disable_if wurden hinzugefĂŒgt, um die Erstellung von bedingten Konstruktionen bei der Vorbereitung zur Übergabe von Parametern an die Funktion dependency() zu vereinfachen. opt = get_option(‘feature’).disable_if(not foo, error_message: ‘Kann die Funktion nicht aktivieren, wenn foo nicht ebenfalls aktiviert ist’) dep = dependency(‘foo’, required: opt)
  • Die Übergabe von generierten Objekten ist nun als Argumente „objects:“ erlaubt.
  • In der Funktion project wurde die UnterstĂŒtzung fĂŒr die Installation von Dateien mit Lizenzinformationen fĂŒr das Projekt implementiert.
  • Bei der AusfĂŒhrung von „sudo meson install“ wird wĂ€hrend der Neubauphase die RĂŒckgabe der Berechtigungen fĂŒr die Zielplattformen sichergestellt.
  • Im Befehl „meson install“ wurde die Möglichkeit hinzugefĂŒgt, einen separaten Handler fĂŒr den Zugriff auf die Root-Rechte anzugeben (zum Beispiel kann polkit, sudo, opendoas oder $MESON_ROOT_CMD gewĂ€hlt werden). Bei der AusfĂŒhrung von „meson install“ im nicht-interaktiven Modus werden keine Versuche zur Erhöhung der Berechtigungen mehr unternommen.
  • Die UnterstĂŒtzung zum Lesen von Optionen aus der Datei meson.options anstelle von meson_options.txt wurde hinzugefĂŒgt.
  • Die Umleitung von Informationen ĂŒber den Fortschritt der Introspektion in stderr wurde sichergestellt.
  • Ein neuer Backend „none“ (—backend=none) wurde hinzugefĂŒgt, um Projekte zu erstellen, die nur Installationsregeln enthalten und keine Build-Regeln.
  • Eine neue AbhĂ€ngigkeit pybind11 wurde hinzugefĂŒgt, um die Funktion dependency(‘pybind11’) mit pkg-config und cmake ohne Verwendung des Skripts pybind11-config zu unterstĂŒtzen.
  • Die Verwendung der Optionen „—reconfigure“ und „—wipe“ (meson setup —reconfigure builddir und meson setup —wipe builddir) mit einem leeren builddir wurde erlaubt.
  • In meson.add_install_script() wurde die UnterstĂŒtzung des SchlĂŒsselworts dry_run hinzugefĂŒgt, das das AusfĂŒhren eigener Installationsskripte beim Aufruf von „meson install —dry-run“ ermöglicht.

Quelle: opennet.ru

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Servern đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster