انتشار سیستم ساخت GNU Make 4.4

پس از تقریباً سه سال توسعه، سیستم ساخت GNU Make 4.4 منتشر شد. علاوه بر رفع اشکالات، تغییرات زیر در نسخه جدید قابل ذکر است:

  • پلتفرم‌های OS/2 (EMX)، AmigaOS، Xenix و Cray منسوخ شده‌اند و در نسخه‌های بعدی منسوخ خواهند شد.
  • الزامات محیط ساخت افزایش یافته است، برای ساخت GNU Gnulib اکنون به یک کامپایلر نیاز دارید که از عناصر استاندارد C99 پشتیبانی کند.
  • هدف ساخت .WAIT ویژه اضافه شده است که به شما امکان می دهد راه اندازی ساخت اهداف خاص را تا پایان ساخت سایر اهداف متوقف کنید.
  • در هدف ساخت ویژه .NOTPARALLEL، توانایی تعیین پیش نیازها (فایل های مورد نیاز برای ساخت هدف) برای راه اندازی متوالی اهداف مرتبط با آنها اجرا می شود (مثل اینکه "WAIT" بین هر پیش نیاز تنظیم شده است).
  • یک هدف ساخت ویژه .NOTINTERMEDIATE اضافه شد که رفتار مرتبط با استفاده از اهداف میانی (.INTERMEDIATE) را برای فایل‌های مشخص شده، فایل‌های منطبق با ماسک یا کل فایل را غیرفعال می‌کند.
  • تابع $(let ...) را پیاده سازی کرد که به شما امکان می دهد متغیرهای محلی را در توابع تعریف شده توسط کاربر تعریف کنید.
  • تابع $(intcmp ...) را برای مقایسه اعداد پیاده سازی کرد.
  • هنگام استفاده از گزینه "-l" (--load-average)، تعداد کارهایی که باید شروع شوند اکنون داده های فایل /proc/loadavg را در مورد بار روی سیستم در نظر می گیرد.
  • گزینه "--shuffle" به پیش نیازها اضافه شده است، که امکان دستیابی به رفتار غیر قطعی در ساخت های موازی را فراهم می کند (به عنوان مثال، برای تست فازی درستی تعریف پیش نیازها در یک فایل ساخت).
  • در سیستم های با پشتیبانی mkfifo روش جدیدی برای تعامل با jobserver برای اجرای موازی کارها بر اساس استفاده از لوله های نامگذاری شده ارائه شده است. برای برگرداندن روش قدیمی بر اساس لوله های بدون نام، گزینه "--jobserver-style=pipe" پیشنهاد شده است.
  • استفاده از فایل های موقت در فرآیند کار گسترش یافته است (مشکلات ممکن است زمانی ایجاد شود که سیستم ساخت یک فهرست راهنمای جایگزین برای فایل های موقت (TMPDIR) تنظیم کند و محتویات TMPDIR را در طول ساخت حذف کند).

منبع: opennet.ru

اضافه کردن نظر