לפני מספר ימים השקת ה גרסה חדשה של Meson build system 1.2.0, גרסה בה יושמו מגוון גדול של שיפורים ושינויים, מתוכם ה לבנות שיפורים עבור Rust, כמו גם שיפורים עבור Python, תיקוני באגים ועוד.
למי שלא יודע על Meson, הוא צריך לדעת שזהוזהו כלי לבניית תוכנה בקוד פתוח אשר משמש להידור של כמה מהפרויקטים החשובים ביותר בקוד פתוח, כגון X.Org, Mesa, systemd, Wayland, GNOME, GTK ועוד.
מטרת הפיתוח המרכזית של Meson היא לספק תהליך קומפילציה מהיר בשילוב עם נוחות וקלות שימוש. במקום לעשות זאת, ה-build משתמש ב-Ninja Toolkit כברירת מחדל, אך ניתן להשתמש ב-backends אחרים כמו xcode ו- VisualStudio.
החידושים העיקריים של Meson 1.2
גרסה חדשה זו של Meson 1.2 המוצגת, היא גרסה רלוונטית למדי, מכיוון שהיא מוסיפה מספר רב של שינויים ושיפורים מצטברים בהשוואה למהדורות קודמות והיא זו מהשינויים הבולטים ביותר הוא לתמוך במהדר Metrowerks עבור ארכיטקטורות PowerPC/ARM C/C++. ראוי להזכיר שתמיכה זו נחשבת כרגע לנסיונית וצפויה להיות יציבה במהדורות עתידיות.
שינוי נוסף שבולט מ-Meson 1.2 הוא הרחבה בנתונים שנשמרו לצורך התבוננות פנימית, מכיוון שלמשל intro-compilers.json מפרט את המהדרים שבהם נעשה שימוש, מידע על מערכות מארח, בנייה ומערכות יעד נוסף ל-intro-machines.json, מידע על תלות פנימית בא לידי ביטוי בתלות מבוא. json, ומידע על תלות פנימית נוסף לתלות.
בנוסף לכך, מודגש גם שעכשיו מודול Python של Meson יכול להרכיב קוד בייט, זאת הודות לאפשרות המשולבת החדשה "-Dpython.bytecompile=2".
ראוי לציין גם מהגרסה החדשה הזו הוא א זיהוי משופר של המערכת עליה היא פועלת, מאז שנוספו שני נכסים חדשים, "קרנל" ו-"תת-מערכת"«, שבאמצעותו צפוי להיות חובה (כרגע זה אופציונלי) בעתיד להשיג דיוק רב יותר בעת זיהוי המערכת.
מצד שני, זה גם מודגש הוספה תמיכה עבור קריאות מחולל מקוננות, לדוגמה, "gen2.process(gen1.process('input.txt'))«, וכן נוספו rust.bindgen ו-bindgen_clang_arguments להעביר ארגומנטים נוספים למהדרים rustc ו-clang.
של שינויים אחרים הבולטים של הגרסה החדשה הזו:
- שיטה נוספה str.splitlines() לפצל מחרוזת למערך של מחרוזות.
- הבלוק להצהיר על תלות תומך כעת במילת המפתח extra_files כדי להוסיף קבצים נוספים ליעד הבנייה.
- חלודה תומכת כעת באפשרות b_ndebug
- תמיכה בהגדרת שמות תיבת תלות בחלודה ביעדי Rust
- נוספה אפשרות '–genvslite' לפקוד "הגדרת meson» כדי להקל על המעבר בין תצורות בנייה עבור סביבת Visual Studio.
- נוספה תמיכה לארגומנט ה-env ל gnome.generate_gir() כדי להגדיר משתני סביבה.
- מותר להשתמש במילונים default_options ו-override_options (לדוגמה, אתה יכול לציין "default_options: {'key': 'value'}" במקום "default_options: ['key=value']").
- מותר להשתמש במסכה כדי לבחור אילו בדיקות להפעיל, למשל, להפעיל בדיקות שמתחילות במילה basic, ניתן לציין "מבחן מסון בסיסי*".
לבסוף, ראוי להזכיר שהקוד של Meson כתוב ב-Python והוא מורשה תחת רישיון Apache 2.0. אם אתה מעוניין ללמוד עוד על זה, אתה יכול לבדוק את הערות המהדורה בקישור הבא.
כיצד להתקין Meson על לינוקס?
עבור מעוניין להיות מסוגל להשיג את Meson, הם צריכים לדעת שהוא זמין ב- PyPi, כך שניתן להתקין אותו עם pip3 להתקין meson.
יש לציין שהפקודה המדויקת להקליד כדי להתקין pip יכולה להשתנות בין המערכות, אז הקפידו להשתמש בגרסת Python 3 של pip. למרות שאם תרצה, אתה יכול להתקין אותו באופן מקומי עם הפקודה הסטנדרטית של Python:
python3 -m pip install meson