| PKGCONF(1) | General Commands Manual | PKGCONF(1) |
نام (NAME)
pkgconf —
بازیابی
اطلاعات
بسته و
وابستگیهای
کامپایل
خلاصه دستور (SYNOPSIS)
pkgconf [options]
module ...
توضیحات (DESCRIPTION)
برنامهٔ
pkgconf
اطلاعات
پیکربندی
مربوط به
آرگومانهای
module را از
پروندههای
pc(5)
نصبشده بر
روی سیستم
بازیابی
کرده و بسته
به options
مشخصشده،
بخشهایی
از اطلاعات
بازیابیشده
را چاپ
میکند.
رایجترین
کاربرد این
برنامه،
چاپ
پرچمهای
کامپایلر و
پیونددهنده
(linker) مورد نیاز
برای ساخت
نرمافزاری
است که از
کتابخانههای
ارائهشده
توسط
آرگومانهای
module
استفاده
میکند.
هنگام چاپ
پرچمهای
کامپایلر و
پیونددهنده،
pkgconf
نویسههای
فرار پوسته
(metacharacters) (مانند
نقلقولها،
فاصلهها،
قلابها،
آکولادها و
نویسههای
الگو) را در
هر قطعه با
یک بکاسلش
اسکیپ
میکند. این
خروجی طوری
طراحی شده
است که توسط
پردازشگر
بعدی با
استفاده از
قوانین
تفکیک
کلمات
پوستهٔ POSIX (word-splitting)
مجدداً
نشانهگذاری
شود،
همانگونه
که
سیستمهای
ساخت
عموماً
انجام
میدهند؛
تحت این
قوانین،
بکاسلشهای
محافظ حذف
شده و
مقادیر
اصلی
بازیابی
میشوند.
توجه داشته
باشید که
چسباندن
مستقیم
خروجی در یک
جایگزینی
دستوری
بدون
نقلقول،
برای نمونه
‘cc $(pkgconf --libs foo)’,
تفکیک
کلمات و بسط
مسیر را
انجام
میدهد،
اما
بکاسلشها
را حذف
نمیکند
؛ بنابراین
مقداری که
حاوی چنین
نویسههایی
باشد ممکن
است با فرار
(escape)
دستنخورده
به زنجیرهٔ
ابزار
کامپایلر
برسد.
پروندههای
pc(5) در
مسیری
جستجو
میشوند که
از گزینهٔ
--with-path,
متغیرهای
محیطی
PKG_CONFIG_PATH و
PKG_CONFIG_LIBDIR و
تعدادی
دایرکتوری
پیشفرض
داخلی
کامپایلشده
تشکیل شده
است.
آرگومانهای
module با نام
پروندهها،
البته بدون
پسوند نام
پروندهٔ
.pc,
مطابقت
دارند.
چندین مورد از options موجب خروج فوری برنامه میشوند. اگر چند گزینه از این موارد با هم داده شوند، تنها گزینهای که بالاترین اولویت را دارد اعمال میگردد و گزینههای با اولویت کمتر بدون اخطار نادیده گرفته میشوند. این گزینهها به ترتیب اولویت نزولی عبارتند از:
- گزینههای
بدون نیاز
به ماژول:
--dump-personality,--about,--version,--help,--atleast-pkgconfig-version,--list-allو--list-package-names: این گزینهها باعث میشوند تمام آرگومانها نادیده گرفته شوند. - گزینههای
وابسته به
آرگومان:
--atleast-version,--exact-versionو--max-version: این گزینهها تنها ماژولهایی را بررسی میکنند که صراحتاً در خط فرمان مشخص شدهاند و وابستگیها را بررسی نمیکنند. - گزینههای
خروجی
محدود:
--validate,--license,--license-file,--link-abi,--source,--uninstalledو--env: این گزینهها حل وابستگیها را انجام میدهند، اما پس از چاپ اطلاعات درخواستشده توسط گزینهٔ دارای بالاترین اولویت خارج میشوند و سایر گزینههای خروجی را که ممکن است مشخص شده باشند نادیده میگیرند.
چندین
گزینهٔ
دیگر حداقل
به یک
آرگومان
module نیاز
دارند،
خروجی
تولید
میکنند،
موجب خروج
زودهنگام
نمیشوند و
میتوانند
با یکدیگر
ترکیب
شوند، اما
بر تمام
گزینههای
--cflags و --libs
ارجحیت
داشته و
آنها را
غیرفعال
میکنند:
- گزینههای
خروجی
تکماژولی:
--path,--print-variables,--variable: اگر هر یک از این گزینهها مشخص شود، تنها اولین آرگومان module استفاده میشود، تمامی آرگومانهای دیگر بدون اخطار نادیده گرفته میشوند و هیچ تلاشی برای حل وابستگیها صورت نمیگیرد. - گزینههای
خروجی عمق
یک:
--print-provides,--modversion,--print-requiresو--print-requires-private: اگر هر یک از این گزینهها مشخص شود، تنها ماژولهایی بررسی میشوند که صراحتاً در خط فرمان تعیین شدهاند و هیچ تلاشی برای حل وابستگیها انجام نمیشود. - گزینههای
خروجی
عمومی:
--simulate,--digraph,--solution,--fragment-tree,--newlines: این گزینهها حل وابستگیها را محدود نمیکنند.
مهمترین
گزینههای
خروجی،
یعنی --cflags و
--libs
میتوانند
با یکدیگر
ترکیب
شوند، اما
در صورت
مشخص شدن هر
یک از
گزینههای
فهرستشده
در بالا،
لغو و
نادیده
گرفته
میشوند.
گزینهها (OPTIONS)
فهرست کامل options به شرح زیر است:
--about- شماره
نسخه،
اعلان حق
نشر (Copyright) و
مجوز
برنامهٔ
pkgconfرا در خروجی استاندارد چاپ کرده و خارج میشود. بیشتر گزینههای دیگر و تمامی آرگومانهای خط فرمان نادیده گرفته میشوند. --atleast-pkgconfig-version=version- اگر شماره
version
درخواستشده
بزرگتر از
شماره
نسخهٔ
برنامهٔ
pkgconfباشد، با خطا خارج میشود، و در غیر این صورت با موفقیت پایان مییابد. بیشتر گزینههای دیگر و تمامی آرگومانهای خط فرمان نادیده گرفته میشوند. --atleast-version=version- آرگومانهای module را به ترتیب ارائهشده بررسی میکند. به محض اینکه یک module وجود نداشته باشد، با خطا خارج میشود، و به محض اینکه شماره نسخهٔ یک module بزرگتر یا مساوی با شماره version درخواستشده باشد، با موفقیت خارج میشود. اگر شماره نسخهٔ هر یک از moduleها کمتر از شماره version درخواستشده باشد، با خطا خارج میشود.
--cflags,--cflags-only-I,--cflags-only-other- به ترتیب،
تمام
پرچمهای
کامپایلر
مورد نیاز
برای
کامپایل در
برابر module,
یا فقط
پرچمهای
مسیر include (
-I), یا فقط پرچمهای کامپایلری که مربوط به مسیر include نیستند را چاپ میکند. این گزینهها مستلزم--print-errorsهستند. --debug- برخی
پیامهای
هشدار
غیرمهلک را
در خروجی
خطای
استاندارد
چاپ میکند
که در غیر
این صورت
بدون اخطار
نادیده
گرفته
میشدند.
این گزینه
همچنین
مستلزم
--print-errorsاست. اگرpkgconfبدون تعریف ماکروی پیشپردازندهٔPKGCONF_LITEکامپایل شده باشد، این گزینه پیامهای اشکالزدایی (دیباگ) متعددی را نیز در خروجی خطای استاندارد چاپ میکند. --define-prefix- تلاش میکند تا متغیر prefix مناسب برای جابجایی (relocation) ورودیهای CFLAGS و LIBS را تعیین کند. این ویژگی عمدتاً برای بسترهایی سودمند است که SDKهای چارچوب آنها قابل جابجایی هستند، مانند ویندوز.
--define-variable=varname=value- متغیر varname را با مقدار value تعریف میکند. متغیرها در خروجی پرسوجو استفاده میشوند و نتایج برخی ماژولها ممکن است بر پایهٔ وجود یک تعریف متغیر تغییر کند.
--digraph- راهحل
حلکنندهٔ
وابستگی را
در قالب یک
پروندهٔ
‘dot’ متعلق
به graphviz ذخیره
و تخلیه (dump)
میکند. از
این پرونده
میتوان
همراه با graphviz
برای
مصورسازی
وابستگیهای
متقابل
ماژولها
استفاده
کرد. این
گزینه تنها
در صورتی در
دسترس است
که ماکروی
پیشپردازندهٔ
PKGCONF_LITEدر هنگام کامپایل تعریف نشده باشد. --dont-define-prefix- ویژگی ‘define-prefix’ را غیرفعال میکند.
--dont-relocate-paths- قابلیت جابجایی مسیر (path relocation) را غیرفعال میکند.
--dump-personality- برخی
تنظیمات
پیشفرض را
در خروجی
استاندارد
چاپ کرده و
خارج
میشود؛
بهویژه
مسیر
پیشفرض
جستجوی
ماژول که در
صورت عدم
تعریف
PKG_CONFIG_LIBDIRاستفاده میشود، فهرست پیشفرض مسیرهای include که در صورت عدم تعریفPKG_CONFIG_SYSTEM_INCLUDE_PATHفیلتر میشوند، و فهرست پیشفرض مسیرهای کتابخانه که در صورت عدم تعریفPKG_CONFIG_SYSTEM_LIBRARY_PATHفیلتر میشوند. بیشتر گزینههای دیگر و تمامی آرگومانهای خط فرمان نادیده گرفته میشوند. این گزینه تنها در صورتی در دسترس است که ماکروی پیشپردازندهٔPKGCONF_LITEدر هنگام کامپایل تعریف نشده باشد. --env=varname- مقادیر درخواستشده را به عنوان اعلانات متغیر در قالبی مشابه دستور env(1) چاپ میکند.
--env-only- مسیر
جستجوی
ماژول را
تنها از
--with-pathوPKG_CONFIG_PATHمقداردهی اولیه میکند وPKG_CONFIG_LIBDIRو دایرکتوریهای پیشفرض داخلی کامپایلشده را نادیده میگیرد. --errors-to-stdout- تمام پیامهای خطا، هشدار و اشکالزدایی را به جای خروجی خطای استاندارد در خروجی استاندارد چاپ میکند.
--exact-version=version- آرگومانهای module را به ترتیب ارائهشده بررسی میکند. به محض اینکه یک module وجود نداشته باشد، با خطا خارج میشود، و به محض اینکه شماره نسخهٔ یک module دقیقاً برابر با شماره version درخواستشده باشد، با موفقیت خارج میشود. اگر شماره نسخهٔ هر یک از moduleها با شماره version درخواستشده متفاوت باشد، با خطا خارج میشود.
--exists- اگر
حلکنندهٔ
وابستگی
نتواند
همهٔ
moduleهای
درخواستشده
را پیدا
کند، با
وضعیت خروج
غیرصفر
خارج
میشود. این
گزینه به
طور
پیشفرض
فعال است و
نمیتوان
آن را
غیرفعال
کرد. با این
حال،
گزینههای
گوناگون
دیگر باعث
میشوند که
pkgconfپیش از بررسی همهٔ آرگومانها خارج شده و موفقیت یا شکست را گزارش کند. --fragment-filter=types- فهرست قطعات را بر اساس types مشخصشده فیلتر میکند.
--help- خلاصهای از نحوهٔ استفاده را در خروجی استاندارد چاپ کرده و خارج میشود. بیشتر گزینههای دیگر و تمامی آرگومانهای خط فرمان نادیده گرفته میشوند.
--ignore-conflicts- قوانین ‘Conflicts’
(تداخلها)
در
ماژولها
را نادیده
میگیرد.
این گزینه
به طور ضمنی
توسط
گزینههایی
فعال
میشود که
صرفاً
فرادادههای
ماژولهای
درخواستشده
را گزارش
میدهند،
به جای
اینکه
آنها را در
یک بیلد
ترکیب
کنند؛ از
جمله:
--license,--license-file,--modversion,--path,--print-provides,--print-requires,--print-requires-private,--print-variables,--sourceو--variable. --keep-system-cflags,--keep-system-libs- قطعات پرچمهای کامپایلر CFLAGS یا پرچمهای پیونددهنده را که به دلیل قرار داشتن پیشفرض در کامپایلر فیلتر میشدند، حفظ میکند.
--libs,--libs-only-L,--libs-only-l,--libs-only-other- به ترتیب،
تمام
پرچمهای
پیونددهنده
مورد نیاز
برای پیوند
در برابر
module, یا فقط
پرچمهای
مسیر
کتابخانه
(
-L), یا فقط پرچمهای کتابخانه (-l), یا فقط پرچمهای پیونددهندهای که نه پرچم مسیر کتابخانه و نه پرچم کتابخانه هستند را چاپ میکند. این گزینهها مستلزم--print-errorsهستند. --link-abi- مجموعه
برچسبهای
ABI پیوند
(برای نمونه
c یا
c++)
را چاپ
میکند که
module باید
با آنها
پیوند داده
شود؛ این
برچسبها
از
ویژگیهای
Link.ABI موجود
در کل بستار
وابستگیهای
آن مشتق
میشوند.
برچسبهای
ویژگی Link.ABI
خود بسته و
برچسبهای
Requires
عمومی آن
همیشه
اعمال
میشوند،
در حالی که
برچسبهای
Requires.private
تنها هنگام
پیوند
ایستا
(استاتیک)
(
--static) اعمال میگردند. ماژولی که نیازمندی ABI پیوند نداشته باشد، c را چاپ میکند. برای جزئیات ویژگی Link.ABI به pc(5) مراجعه کنید. --list-all- مسیر
جستجوی
ماژول را به
ترتیب
اولویت
نزولی
پیمایش
میکند. به
ازای هر
پروندهٔ
pc(5)
یافتشده،
یک خط در
خروجی
استاندارد
چاپ میکند
که شامل نام
پایهٔ
پرونده
بدون
پسوند،
ویژگی
Name, یک خط تیره (‘-’) و ویژگیDescriptionاست. این گزینه مستلزم--print-errorsاست. تمامی آرگومانهای خط فرمان نادیده گرفته میشوند. --list-package-names- همان
جستجوی
--list-allرا انجام میدهد، اما تنها نام پایهٔ هر پروندهٔ pc(5) را بدون پسوند چاپ میکند، نه نام ماژول و توضیحات آن را. این گزینه مستلزم--print-errorsاست. تمامی آرگومانهای خط فرمان نادیده گرفته میشوند. --log-file=file- نام
پروندهٔ
خروجی file
را تعیین
میکند که
در آن
اطلاعات
ماژولهای
انتخابشده
(چه آنهایی
که با
آرگومان
انتخاب
شدهاند و
چه
وابستگیها)
ثبت میشود.
برای هر
ماژول
انتخابشده،
یک خط چاپ
میشود که
شامل نام
پایهٔ
پروندهٔ
pc(5)
بدون
پسوند، به
صورت
اختیاری یک
عملگر و
شماره نسخه
که محدودهٔ
نسخههای
مورد نظر را
بیان
میکند، و
یا شماره
نسخهٔ
واقعی درون
براکت یا
رشتهٔ "NOT-FOUND"
است. اگر
این گزینه
ارائه
نشود، نام
پروندهٔ
خروجی از
متغیر
محیطی
PKG_CONFIG_LOGگرفته میشود، و اگر آن هم تنظیم نشده باشد، این نوع ثبت اطلاعات غیرفعال خواهد بود. --max-version=version- آرگومانهای module را به ترتیب ارائهشده بررسی میکند. به محض اینکه یک module وجود نداشته باشد، با خطا خارج میشود، و به محض اینکه شماره نسخهٔ یک module کوچکتر یا مساوی با شماره version درخواستشده باشد، با موفقیت خارج میشود. اگر شماره نسخهٔ هر یک از moduleها بزرگتر از شماره version درخواستشده باشد، با خطا خارج میشود.
--maximum-traverse-depth=depth- محدودیتی
برای عمق
مجاز در
گراف
وابستگی
تعیین
میکند.
مقدار
پیشفرض
depth برابر 256
است. برای
مجاز شمردن
پیمایش
نامحدود،
مقدار depth
را روی -1
تنظیم کنید.
برای
نمونه،
مقدار depth
برابر با 2،
حلکننده
را از
عملکرد روی
وابستگیهای
فرزند
ماژولهای
اضافهشده
به راهحل
بازمیدارد.
این گزینه
توسط متغیر
محیطی
PKG_CONFIG_MAXIMUM_TRAVERSE_DEPTHو توسط گزینههای--modversion,--path,--print-provides,--print-requires,--print-requires-private,--print-variablesو--variableلغو و جایگزین میشود. --modversion- برای هر
module
مشخصشده،
شماره نسخه
را در خروجی
استاندارد
چاپ میکند.
اگر گزینهٔ
--verboseنیز مشخص شده باشد، نام هر module و یک دونقطه پیش از هر شماره نسخه چاپ میشود. این گزینه مستلزم--print-errorsو--maximum-traverse-depth=1 است و تمام پرچمهای--cflagsو--libsرا لغو و غیرفعال میکند. --msvc-syntax- از نحو MSVC
برای
خروجیهای
--cflags,--envو--libsاستفاده میکند. این گزینه تنها در صورتی در دسترس است که ماکروی پیشپردازندهٔPKGCONF_LITEدر هنگام کامپایل تعریف نشده باشد. --newlines- به جای فاصلهها، از خط جدید برای جداسازی تکتک قطعات پرچمهای CFLAGS یا پرچمهای پیونددهنده استفاده میکند.
--no-cache- هنگام بارگذاری بستهها در حلکنندهٔ داخلی، از ذخیرهسازی آنها در حافظهٔ موقت (کَش) صرفنظر میکند. این کار ممکن است منجر به محاسبهٔ یک گراف وابستگی جایگزین شود.
--no-provides- هنگام حل وابستگیها، قوانین ‘Provides’ را در ماژولها نادیده میگیرد.
--no-uninstalled- حلکنندهٔ وابستگی را از در نظر گرفتن ماژولهای 'uninstalled' به عنوان بخشی از راهحل بازمیدارد.
--path- برای اولین module دادهشده در خط فرمان، به حلکنندهٔ وابستگی اجازه میدهد پروندهٔ pc(5) توصیفکنندهٔ آن ماژول را بیابد، مسیر مطلق آن پرونده را در خروجی استاندارد چاپ کند و بلافاصله خارج شود، و بیشتر گزینههای دیگر و تمامی آرگومانهای دیگر را نادیده بگیرد.
--prefix-variable=variable- متغیر ‘prefix’ مورد استفاده توسط ویژگی ‘define-prefix’ را تنظیم میکند.
--print-errors- برخی
پیامهای
مربوط به
خطاهای
مهلک را در
خروجی خطای
استاندارد
چاپ میکند
که در غیر
این صورت
حذف
میشدند.
این گزینه
به طور ضمنی
توسط
بسیاری از
گزینههای
دیگر فعال
میشود،
اما نه توسط
همهٔ آنها.
این گزینه
را میتوان
با
--silence-errorsلغو کرد. --print-provides- برای هر
module
مشخصشده،
یک خط در
خروجی
استاندارد
حاوی ویژگی
Name, یک علامت مساوی (‘=’) و ویژگیVersionچاپ میکند. اگر module حاوی یک یا چند ویژگیProvidesباشد، خطوط دیگری را در قالب فهرست وابستگی چاپ میکند، هر نام در یک خط، که به صورت اختیاری پس از هر نام یک عملگر و یک نسخه میآید. این گزینه مستلزم--maximum-traverse-depth=1 است و تمام پرچمهای--cflagsو--libsرا لغو و غیرفعال میکند. --print-requires,--print-requires-private- برای هر
module
مشخصشده،
به ترتیب،
ویژگیهای
RequiresیاRequires.privateرا در قالب فهرست وابستگی در خروجی استاندارد چاپ میکند. هر دوی این گزینهها مستلزم--maximum-traverse-depth=1 هستند و تمام پرچمهای--cflagsو--libsرا لغو و غیرفعال میکنند. --print-variables- برای
نخستین
module
دادهشده
در خط
فرمان، نام
تمام
متغیرهای
مشاهدهشده
را در خروجی
استاندارد
چاپ
میکند، هر
کدام در یک
خط. هر
آرگومان
بعدی بدون
هشدار
نادیده
گرفته
میشود. این
گزینه
مستلزم
--print-errorsو--maximum-traverse-depth=1 است و تمام پرچمهای--cflagsو--libsرا لغو و غیرفعال میکند. --pure- با گراف
وابستگی
محاسبهشده
طوری رفتار
میکند که
گویی یک
گراف خالص (pure)
است. این
گزینه
عمدتاً
برای
استفاده
همراه با
پرچم
--staticدر نظر گرفته شده است و در صورت مشخص شدن--sharedهیچ اثری ندارد. - یک گراف
وابستگی
ساده
محاسبه
میکند که
تنها برای
پیوند
اشتراکی (shared linking)
مناسب است.
این گزینه
بر
--staticارجحیت دارد و آن را لغو میکند. --short-errors- هنگام چاپ پیامهای خطا دربارهٔ ماژولهایی که یافت نمیشوند یا با یکدیگر تداخل دارند، از چاپ دستورالعملهای تکمیلی و طولانی که روشهای احتمالی برای حل مشکل را شرح میدهند، خودداری میکند.
--silence-errors- به هیچ وجه
هیچ پیام
خطا، هشدار
یا
اشکالزدایی
را چاپ
نمیکند. بر
همهٔ
گزینههای
--debug,--errors-to-stdoutو--print-errorsارجحیت دارد و آنها را لغو میکند. در صورتی که متغیر محیطیPKG_CONFIG_DEBUG_SPEWتنظیم شده باشد، این گزینه لغو و غیرفعال میشود. --simulate- حل یک گراف
وابستگی را
بر اساس
ماژولهای
درخواستشده
در خط فرمان
شبیهسازی
میکند.
مجموعهای
از
ساختارهای
درختی را که
وضعیت
حلکنندهٔ
pkgconf را نشان
میدهند،
تخلیه (dump)
میکند. این
گزینه تنها
در صورتی در
دسترس است
که ماکروی
پیشپردازندهٔ
PKGCONF_LITEدر هنگام کامپایل تعریف نشده باشد. --solution- نام
ماژولهای
درخواستشده
با
آرگومانهای
module و
وابستگیهای
آنها را در
خروجی
استاندارد
چاپ میکند.
این گزینه
تنها در
صورتی در
دسترس است
که ماکروی
پیشپردازندهٔ
PKGCONF_LITEدر هنگام کامپایل تعریف نشده باشد. --static- یک گراف
وابستگی
عمیقتر را
محاسبه
میکند و از
پرچمهای
کامپایلر/پیونددهندهٔ
در نظر
گرفتهشده
برای پیوند
ایستا (static)
بهره
میگیرد.
این گزینه
توسط
--sharedلغو میشود. --uninstalled- اگر حلکنندهٔ وابستگی از یک ماژول ‘uninstalled’ به عنوان بخشی از راهحل خود استفاده کند، با یک نتیجهٔ غیرصفر خارج میشود.
--validatepackage ...- صحت
پروندههای
مشخصشدهٔ
‘.pc’ را
اعتبارسنجی
میکند. این
گزینه
مستلزم
--print-errorsو--errors-to-stdoutاست. --variable=varname- برای
نخستین
module
دادهشده
در خط
فرمان،
مقدار
متغیر با
نام varname را
در خروجی
استاندارد
چاپ میکند.
هر آرگومان
بعدی بدون
هشدار
نادیده
گرفته
میشود. این
گزینه
مستلزم
--maximum-traverse-depth=1 است و تمام پرچمهای--cflagsو--libsرا لغو و غیرفعال میکند. --verbose- این گزینه
تنها زمانی
اثر دارد که
--modversionنیز مشخص شده باشد. این گزینه نام module مربوطه و یک علامت دونقطه را پیش از هر شماره نسخه چاپ میکند. --version- شماره
نسخهٔ
برنامهٔ
pkgconfرا در خروجی استاندارد چاپ کرده و خارج میشود. بیشتر گزینههای دیگر و تمامی آرگومانهای خط فرمان نادیده گرفته میشوند. --with-path=path- دایرکتوری
path را به
ابتدای
مسیر
جستجوی
ماژول
اضافه
میکند، و
به آن نسبت
به سایر
دایرکتوریها
از جمله
دایرکتوریهای
برگرفته از
PKG_CONFIG_PATHوPKG_CONFIG_LIBDIRاولویت میدهد.
متغیرهای محیطی (ENVIRONMENT)
CPATH- نخستین
فهرست
تکمیلی
جداشده با
دونقطه از
مسیرهای include
که دقیقاً
مانند
PKG_CONFIG_SYSTEM_INCLUDE_PATHفیلتر میشوند. CPLUS_INCLUDE_PATH- سومین
فهرست
تکمیلی
جداشده با
دونقطه از
مسیرهای include
که دقیقاً
مانند
PKG_CONFIG_SYSTEM_INCLUDE_PATHفیلتر میشوند. C_INCLUDE_PATH- دومین
فهرست
تکمیلی
جداشده با
دونقطه از
مسیرهای include
که دقیقاً
مانند
PKG_CONFIG_SYSTEM_INCLUDE_PATHفیلتر میشوند. DESTDIR- اگر با
مقداری
برابر با
PKG_CONFIG_SYSROOT_DIRتنظیم شود، ازPKG_CONFIG_FDO_SYSROOT_RULESبرای جستجوی متغیرها پیروی میکند، اما درج خودکار sysroot در قطعات-Iو-Lرا غیرفعال میسازد تا از افزودن دوبار پیشوندDESTDIRبه مسیرها جلوگیری شود. اگرPKG_CONFIG_SYSROOT_DIRتنظیم نشده باشد یا با مقداری متفاوت تنظیم شده باشد،DESTDIRنادیده گرفته میشود. LIBRARY_PATH- فهرست
تکمیلی
جداشده با
دونقطه از
مسیرهای
کتابخانه
که دقیقاً
مانند
PKG_CONFIG_SYSTEM_LIBRARY_PATHفیلتر میشوند. OBJC_INCLUDE_PATH- چهارمین
فهرست
تکمیلی
جداشده با
دونقطه از
مسیرهای include
که دقیقاً
مانند
PKG_CONFIG_SYSTEM_INCLUDE_PATHفیلتر میشوند. PKG_CONFIG_ALLOW_SYSTEM_CFLAGS- در صورت
تنظیم، این
متغیر همان
اثر گزینهٔ
--keep-system-cflagsرا دارد. PKG_CONFIG_ALLOW_SYSTEM_LIBS- در صورت
تنظیم، این
متغیر همان
اثر گزینهٔ
--keep-system-libsرا دارد. PKG_CONFIG_DEBUG_SPEW- در صورت
تنظیم، بر
گزینهٔ
--silence-errorsارجحیت دارد و آن را غیرفعال میکند. PKG_CONFIG_DISABLE_UNINSTALLED- در صورت
تنظیم،
همان رفتار
پرچم
--no-uninstalledرا فعال میسازد. PKG_CONFIG_DONT_DEFINE_PREFIX- در صورت
تنظیم، این
متغیر همان
اثر گزینهٔ
--dont-define-prefixرا دارد. PKG_CONFIG_DONT_RELOCATE_PATHS- در صورت تنظیم، ویژگی جابجایی مسیر را غیرفعال میکند.
PKG_CONFIG_FDO_SYSROOT_RULES- در صورت تنظیم، از قوانین پیشوندگذاری sysroot که freedesktop.org pkg-config استفاده میکند پیروی میکند.
PKG_CONFIG_IGNORE_CONFLICTS- در صورت
تنظیم،
قوانین
Conflictsرا در ماژولها نادیده میگیرد. اثری مشابه با گزینهٔ--ignore-conflictsدارد. PKG_CONFIG_LIBDIR- فهرستی
جداشده با
دونقطه از
دایرکتوریهای
با اولویت
پایین که
پروندههای
pc(5) در
آنها
جستجو
میشوند.
مسیر
جستجوی
ماژول با
پیوست کردن
این فهرست
به انتهای
PKG_CONFIG_PATH(که از اولویت بالاتری برخوردار است) ساخته میشود. اگرPKG_CONFIG_LIBDIRتعریف نشده باشد، فهرست پیشفرضی که در برنامهٔpkgconfاز ماکروی پیشپردازندهٔPKG_DEFAULT_PATHکامپایل شده است، به جای آن پیوست میشود. اگرPKG_CONFIG_LIBDIRتعریف شده باشد اما خالی باشد، هیچ چیزی پیوست نمیشود. PKG_CONFIG_LOG- در صورت
تنظیم،
اطلاعات
ماژولهای
انتخابشده
را در
پروندهای
با نام
ذخیرهشده
در این
متغیر ثبت
(لاگ)
میکند.
برای
جزئیات
بیشتر به
گزینهٔ خط
فرمان
--log-fileمراجعه کنید که بر این متغیر ارجحیت دارد. PKG_CONFIG_MAXIMUM_TRAVERSE_DEPTH- محدودیتی
برای عمق
مجاز در
گراف
وابستگی
اعمال
میکند. این
متغیر را
روی -1 تنظیم
کنید تا
پیمایش
نامحدود
مجاز باشد.
این متغیر
بر گزینهٔ
--maximum-traverse-depthارجحیت دارد، اما توسط سایر گزینههای ذکرشده در آنجا لغو میشود. PKG_CONFIG_MSVC_SYNTAX- در صورت
تنظیم، از
نحو MSVC برای
خروجیهای
--cflags,--envو--libsاستفاده میکند. این متغیر همان اثر گزینهٔ--msvc-syntaxرا دارد. اگر ماکروی پیشپردازندهٔPKGCONF_LITEدر هنگام کامپایل تعریف شده باشد، این متغیر نادیده گرفته میشود. PKG_CONFIG_PATH- فهرستی
جداشده با
دونقطه از
دایرکتوریهای
با اولویت
بالا که
پروندههای
pc(5) در
آنها
جستجو
میشوند.
مسیر
جستجوی
ماژول با
اضافه کردن
دایرکتوری
مشخصشده
توسط
--with-path(در صورت وجود) به ابتدا، و در صورتی که--env-onlyمشخص نشده باشد، با پیوست کردنPKG_CONFIG_LIBDIRیا دایرکتوریهای پیشفرض داخلی کامپایلشده با اولویت کمتر به انتها ساخته میشود. PKG_CONFIG_PRELOADED_FILES- فهرستی جداشده با دونقطه از پروندههای pc(5) که پیش از هر پروندهٔ pkg-config دیگری بارگذاری میشوند. به این بستهها بالاترین اولویت نسبت به هر پروندهٔ pc(5) دیگری داده میشود که در غیر این صورت یک بستهٔ مشخص را ارائه میدادند.
PKG_CONFIG_PURE_DEPGRAPH- در صورت
تنظیم،
همان رفتار
پرچم
--pureرا فعال میکند. PKG_CONFIG_RELOCATE_PATHS- در صورت
تنظیم، این
متغیر همان
اثر گزینهٔ
--define-prefixرا دارد. PKG_CONFIG_SYSROOT_DIR- در صورت تنظیم، این متغیر یک دایرکتوری ‘sysroot’ را مشخص میکند که به ابتدای هر متغیر مسیری که با متغیر prefix در یک پروندهٔ pc(5) مشخص آغاز میشود، اضافه خواهد شد. برای کامپایل متقاطع (cross compilation) کاربرد دارد. مقدار این متغیر محیطی در متغیر سراسری pc_sysrootdir نیز کپی میشود.
PKG_CONFIG_SYSTEM_INCLUDE_PATH- فهرستی
جداشده با
دونقطه از
مسیرهای include
که به دلیل
در نظر
گرفته شدن
به عنوان
مسیرهای include
سیستم،
فیلتر شده و
توسط
گزینههای
--cflagsو--cflags-only-Iچاپ نمیشوند. اگر تعریف نشده باشد، فهرست پیشفرضی که در برنامهٔpkgconfاز ماکروی پیشپردازندهٔSYSTEM_INCLUDEDIRکامپایل شده است به جای آن استفاده میگردد. هر دایرکتوری که در متغیرهای محیطیCPATH,C_INCLUDE_PATH,CPLUS_INCLUDE_PATHوOBJC_INCLUDE_PATHفهرست شده باشد نیز فیلتر میشود. PKG_CONFIG_SYSTEM_LIBRARY_PATH- فهرستی
جداشده با
دونقطه از
مسیرهای
کتابخانه
که به دلیل
در نظر
گرفته شدن
به عنوان
مسیرهای
کتابخانهٔ
سیستم،
فیلتر شده و
توسط
گزینههای
--libsو--libs-only-Lچاپ نمیشوند. اگر تعریف نشده باشد، فهرست پیشفرضی که در برنامهٔpkgconfاز ماکروی پیشپردازندهٔSYSTEM_LIBDIRکامپایل شده است به جای آن استفاده میگردد. PKG_CONFIG_TOP_BUILD_DIR- مقدار متغیر سراسری pc_top_builddir. اگر این متغیر محیطی تعریف نشده باشد، رشتهٔ "$(top_builddir)" به عنوان مقدار pc_top_builddir استفاده میشود.
وضعیت خروج (EXIT STATUS)
The pkgconf utility exits 0 on
success, and >0 if an error occurs.
مثالها (EXAMPLES)
نمایش CFLAGS یک بسته:
$ pkgconf --cflags foo-fPIC -I/usr/include/fooهمچنین ببینید (SEE ALSO)
نویسندگان (AUTHORS)
pkgconf توسط
نویسندگان
pkgconf توسعه
داده شده
است
(پروندهٔ AUTHORS
را ببینید).
| July 2, 2026 | Linux 6.12.107+deb13-amd64 |