Έκδοση συστήματος Meson build 1.4

Δημοσιεύτηκε η κυκλοφορία του συστήματος κατασκευής Meson 1.4.0, το οποίο χρησιμοποιείται για τη δημιουργία έργων όπως X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME και GTK. Ο κώδικας Meson είναι γραμμένος σε Python και έχει άδεια χρήσης σύμφωνα με την άδεια Apache 2.0.

Ο βασικός στόχος ανάπτυξης του Meson είναι να παρέχει μια διαδικασία συναρμολόγησης υψηλής ταχύτητας σε συνδυασμό με την ευκολία και την ευκολία χρήσης. Αντί για make, η έκδοση χρησιμοποιεί το κιτ εργαλείων Ninja από προεπιλογή, αλλά μπορούν επίσης να χρησιμοποιηθούν και άλλα backend όπως το xcode και το VisualStudio. Το σύστημα διαθέτει έναν ενσωματωμένο χειριστή εξάρτησης πολλαπλών πλατφορμών που σας επιτρέπει να χρησιμοποιείτε το Meson για τη δημιουργία πακέτων για διανομές. Οι κανόνες συναρμολόγησης ορίζονται σε μια απλοποιημένη γλώσσα για συγκεκριμένο τομέα, είναι ευανάγνωστοι και κατανοητοί από τον χρήστη (σύμφωνα με την ιδέα των δημιουργών, ο προγραμματιστής πρέπει να αφιερώσει ελάχιστο χρόνο για τη σύνταξη κανόνων).

Υποστηρίζονται η διασταυρούμενη μεταγλώττιση και η συναρμολόγηση. Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Χαϊκού, macOS и Windows Χρησιμοποιώντας GCC, Clang, Visual Studio και άλλους μεταγλωττιστές. Τα έργα μπορούν να δημιουργηθούν σε διάφορες γλώσσες προγραμματισμού, όπως C, C++, Fortran, Java και Rust. Υποστηρίζεται η λειτουργία σταδιακής δημιουργίας, η οποία ανακατασκευάζει μόνο στοιχεία που σχετίζονται άμεσα με αλλαγές που έγιναν από την προηγούμενη δημιουργία. Το Meson μπορεί να χρησιμοποιηθεί για τη δημιουργία επαναλήψιμων δημιουργιών, όπου η εκτέλεση της δημιουργίας σε διαφορετικά περιβάλλοντα έχει ως αποτέλεσμα τη δημιουργία εντελώς πανομοιότυπων εκτελέσιμων αρχείων.

Κύριες καινοτομίες του Meson 1.4:

  • Οι συναρτήσεις fs.name, fs.parent, fs.replace_suffix και fs.stem της λειτουργικής μονάδας FS υποστηρίζουν πλέον τα αντικείμενα-στόχους κατασκευής build_tgt και custom_tgt, καθώς και το ευρετήριο στόχου δόμησης (custom_idx).
  • Προστέθηκε η δυνατότητα ανάγνωσης της έκδοσης του έργου από υποέργα που βασίζονται στο CMake.
  • Παρέχεται η δυνατότητα ελέγχου των ελέγχων διεκδίκησης (GLIBCXX_ASSERTIONS) σε C++ stdlib μέσω της ρύθμισης εντοπισμού σφαλμάτων.
  • Η υποστήριξη Clang έχει προστεθεί στο stldebug (όταν το debugstl είναι ενεργοποιημένο, τα "-D_GLIBCXX_DEBUG=1" και "-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG" έχουν πλέον οριστεί).
  • Προστέθηκε η μέθοδος unset() στο αντικείμενο env.
  • Προστέθηκε η μέθοδος full_path() στο αντικείμενο File για να ληφθεί η πλήρης διαδρομή προς το αρχείο.
  • Προστέθηκε υποστήριξη για τον καθορισμό των δικών σας εξαρτήσεων για numpy (εξάρτηση('numpy')).
  • Προστέθηκε μια παράμετρος "εξαρτάται" στη μέθοδο compiler.preprocess(), επιτρέποντάς σας να καθορίσετε έναν εξαρτημένο στόχο κατασκευής για το compiler.preprocess().
  • Στις συναρτήσεις compile_ui, compile_moc και preprocess από τις ενότητες qt4, qt5 και qt6, το όρισμα save_paths έχει προστεθεί για να οριστεί η επιλογή δημιουργίας της δομής καταλόγου για τα αρχεία που γράφονται (εάν η τιμή είναι αληθής - "{target private directory} /subdir/one.out", και αν είναι λάθος - " {target private directory}/one.out").
  • Η γεννήτρια σύνδεσης bindgen υποστηρίζει τη χρήση των ευρετικών Meson για τον προσδιορισμό των αρχείων κεφαλίδας C++.
  • Προστέθηκε η δυνατότητα παράκαμψης των ρυθμίσεων γλώσσας για το bindgen (για παράδειγμα, για να αντιμετωπίζονται αρχεία με την επέκταση .h ως αρχεία κεφαλίδας για C++).
  • Οι δοκιμές αποτυγχάνουν πλέον από προεπιλογή μετά από σφάλματα που παρουσιάστηκαν κατά την εκτέλεση απολυμαντικών όπως το MemorySanitizer.
  • Προστέθηκε υποστήριξη για τον μεταγλωττιστή Texas Instruments C/C++ για την οικογένεια CPU C6000.

Πηγή: opennet.ru

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster