گنو لیبتول
گنو لیبتول (به انگلیسی: Libtool) ابزاری برای برنامهنویسی رایانه است و جزئی از سیستم ساخت و کامپایل گنو به حساب میآید. این ابزار برای ساختن کتابخانههای کامپایل شده قابل حمل استفاده میشود.
توسعهدهنده(ها) | پروژه گنو |
---|---|
انتشار ابتدایی | ۹ ژوئیه ۱۹۹۷ |
انتشار پایدار | ۲٫۴٫۲
|
مخزن | |
سیستمعامل | چند سکویی |
گونه | کتابخانه |
پروانه | جیپیال |
وبگاه |
پیشزمینه
سیستمعاملهای مختلف، کتابخانههای اشتراکی را به روشهای متفاوتی مدیریت میکنند. برخی از سکوها هم اصلاً از کتابخانههای اشتراکی استفاده نمیکنند. این مسئله توسعه دادن یک برنامه به صورت قابل حمل را مشکل میکند. کامپایلر زبان سی از یک سیستم به سیستم دیگر متفاوت است. برخی از توابع کتابخانهای در برخی از سیستمها وجود ندارند، فایلهای سرایند در برخی از سیستمها دارای اسامی مختلفی هستند و غیره. یک راه برای مدیریت کردن این مشکل استفاده از کد شرطی است که با استفاده از دستور پیشپردازنده #ifdef انجام میشود. اما به خاطر اینکه محیطهای کامپایل و ساخت برنامه بسیار متفاوت هستند، چنین رویکردی بزودی غیرقابل مدیریت میشود. گنو لیبتول برنامهای است که با هدف حل این مشکل به روشی بهتر و قابل مدیریتتر ایجاد شده است.
برنامه لیبتول، به مدیریت کردن ایجاد کتابخانههای پویا و ایستا در سیستمعاملهای شبه یونیکس کمک میکند. لیبتول این کار را با انتزاعی کردن فرایند ایجاد کتابخانه انجام میدهد و تفاوتهای موجود بین سیستمهای مختلف را مخفی میکند. (برای مثال لینوکس و سولاریس).
گنو لیبتول برای ساده کردن فرایند کامپایل یک برنامه بر روی یک سیستم جدید طراحی شده است، این کار با کپسوله کردن وابستگیهای مخصوص آن سکو و همچنین رابط کاربر در یک اسکریپت configure انجام میشود. لیبتول عموماً با ابزارهای اتومیک و اتوکانف استفاده میشود، اما طوری طراحی شده که به هیچکدام از آنها وابسته نباشد.