Veröffentlichung des Build-Systems Meson 0.58. Projekt zur Erstellung einer Umsetzung von Meson in C.

Die Version 0.58 des Build-Systems Meson wurde veröffentlicht, das zum Erstellen von Projekten wie X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME und GTK verwendet wird. Der Code von Meson ist in Python geschrieben und unter der Lizenz Apache 2.0 verfĂŒgbar.

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.

Hauptneuheiten in Meson 0.58:

  • Im Meson-Skriptformat wurden eingebaute String-Formatierungsoperationen implementiert. Anstelle des Aufrufs der Methode format können Werte jetzt direkt eingesetzt werden, beispielsweise anstelle von „‘A string @0@ to be formatted @1@’.format(n, m)“ kann man direkt „f’A string @n@ to be formatted @m@'“ verwenden.
  • Zu den String-Objekten wurde die Methode „replace“ hinzugefĂŒgt, um das Ersetzen einer Teilzeichenfolge durch eine andere zu ermöglichen, z. B. „s = s.replace(‘aaa’, ‘bbb’)“.
  • Die Funktion „range(start, stop[, step])“ wurde hinzugefĂŒgt, um ein Objekt zurĂŒckzugeben, das in einer „foreach“-Schleife verwendet werden kann, z. B. „foreach i : range(15)“.
  • Die Methode meson.add_devenv() wurde implementiert, um ein environment()-Objekt hinzuzufĂŒgen, mit dem Umgebungsvariablen wĂ€hrend der AusfĂŒhrung des Befehls „meson devenv“ festgelegt werden können, z. B. um eine Umgebungsvariable mit dem Pfad zu einem Verzeichnis fĂŒr Plugins zu definieren.
  • FĂŒr Entwicklungsumgebungen wurde das neue Kommando „meson devenv -C builddir [<Kommando>]“ eingefĂŒhrt, das die Möglichkeit bietet, einen Befehl in einer Umgebung auszufĂŒhren, die fĂŒr das Starten von Projekten aus dem Build-Verzeichnis konfiguriert ist (ohne Installation).
  • StandardmĂ€ĂŸig wurde die Übergabe des Parameters „-pipe“ beim Start aller unterstĂŒtzten Compiler deaktiviert.
  • Der Aufruf von meson.add_dist_script() aus Unterprojekten ist nun erlaubt.
  • Es ist nun möglich, die Methoden append() und prepend() mehrfach fĂŒr dasselbe Objekt environment() aufzurufen.
  • In der Funktion error() ist es jetzt erlaubt, mehr als ein Argument, getrennt durch ein Leerzeichen, anzugeben (analog zu warning() und message()).
  • Ein Parameter „—skip-subprojects“ wurde hinzugefĂŒgt, um die Installation von Unterprojekten selektiv zu ĂŒberspringen.

Hervorzuheben ist das Projekt Boson, das sich auf die Erstellung einer portablen und einfachen Implementierung der Build-Script-Sprache Meson konzentriert, geschrieben in C anstelle von Python. Das Projekt befindet sich derzeit noch in der Entwicklungsphase und ist noch nicht bereit fĂŒr den vollstĂ€ndigen Bau von Arbeitsprojekten. Der Code wird unter der GPLv3-Lizenz veröffentlicht (das ursprĂŒngliche Meson in Python wird unter der Apache 2.0-Lizenz bereitgestellt).

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