.\" Copyright (c) 2011, 2012, 2013, 2014, 2015, 2016 pkgconf authors (see AUTHORS). .\" .\" Permission to use, copy, modify, and/or distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies. .\" .\" This software is provided 'as is' and without any warranty, express or .\" implied. In no event shall the authors be liable for any damages arising .\" from the use of this software. .Dd July 2, 2026 .Dt PKGCONF 1 .Os .Sh "نام (NAME)" .Nm pkgconf .Nd بازیابی اطلاعات بسته و وابستگی‌های کامپایل .Sh "خلاصه دستور (SYNOPSIS)" .Nm .Op Ar options .Ar module ... .Sh "توضیحات (DESCRIPTION)" برنامهٔ .Nm اطلاعات پیکربندی مربوط به آرگومان‌های .Ar module را از پرونده‌های .Xr pc 5 نصب‌شده بر روی سیستم بازیابی کرده و بسته به .Ar options مشخص‌شده، بخش‌هایی از اطلاعات بازیابی‌شده را چاپ می‌کند. رایج‌ترین کاربرد این برنامه، چاپ پرچم‌های کامپایلر و پیونددهنده (linker) مورد نیاز برای ساخت نرم‌افزاری است که از کتابخانه‌های ارائه‌شده توسط آرگومان‌های .Ar module استفاده می‌کند. .Pp هنگام چاپ پرچم‌های کامپایلر و پیونددهنده، .Nm نویسه‌های فرار پوسته (metacharacters) .Pq مانند نقل‌قول‌ها، فاصله‌ها، قلاب‌ها، آکولادها و نویسه‌های الگو را در هر قطعه با یک بک‌اسلش اسکیپ می‌کند. این خروجی طوری طراحی شده است که توسط پردازشگر بعدی با استفاده از قوانین تفکیک کلمات پوستهٔ POSIX (word-splitting) مجدداً نشانه‌گذاری شود، همان‌گونه که سیستم‌های ساخت عموماً انجام می‌دهند؛ تحت این قوانین، بک‌اسلش‌های محافظ حذف شده و مقادیر اصلی بازیابی می‌شوند. توجه داشته باشید که چسباندن مستقیم خروجی در یک جایگزینی دستوری بدون نقل‌قول، برای نمونه .Ql cc $(pkgconf \-\-libs foo) , تفکیک کلمات و بسط مسیر را انجام می‌دهد، اما بک‌اسلش‌ها را حذف .Em نمی‌کند ؛ بنابراین مقداری که حاوی چنین نویسه‌هایی باشد ممکن است با فرار (escape) دست‌نخورده به زنجیرهٔ ابزار کامپایلر برسد. .Pp پرونده‌های .Xr pc 5 در مسیری جستجو می‌شوند که از گزینهٔ .Fl -with-path , متغیرهای محیطی .Ev PKG_CONFIG_PATH و .Ev PKG_CONFIG_LIBDIR و تعدادی دایرکتوری پیش‌فرض داخلی کامپایل‌شده تشکیل شده است. آرگومان‌های .Ar module با نام پرونده‌ها، البته بدون پسوند نام پروندهٔ .Pa .pc , مطابقت دارند. .Pp چندین مورد از .Ar options موجب خروج فوری برنامه می‌شوند. اگر چند گزینه از این موارد با هم داده شوند، تنها گزینه‌ای که بالاترین اولویت را دارد اعمال می‌گردد و گزینه‌های با اولویت کمتر بدون اخطار نادیده گرفته می‌شوند. این گزینه‌ها به ترتیب اولویت نزولی عبارتند از: .Bl -enum .It گزینه‌های بدون نیاز به ماژول: .Fl -dump-personality , .Fl -about , .Fl -version , .Fl -help , .Fl -atleast-pkgconfig-version , .Fl -list-all و .Fl -list-package-names : این گزینه‌ها باعث می‌شوند تمام آرگومان‌ها نادیده گرفته شوند. .It گزینه‌های وابسته به آرگومان: .Fl -atleast-version , .Fl -exact-version و .Fl -max-version : این گزینه‌ها تنها ماژول‌هایی را بررسی می‌کنند که صراحتاً در خط فرمان مشخص شده‌اند و وابستگی‌ها را بررسی نمی‌کنند. .It گزینه‌های خروجی محدود: .Fl -validate , .Fl -license , .Fl -license-file , .Fl -link-abi , .Fl -source , .Fl -uninstalled و .Fl -env : این گزینه‌ها حل وابستگی‌ها را انجام می‌دهند، اما پس از چاپ اطلاعات درخواست‌شده توسط گزینهٔ دارای بالاترین اولویت خارج می‌شوند و سایر گزینه‌های خروجی را که ممکن است مشخص شده باشند نادیده می‌گیرند. .El .Pp چندین گزینهٔ دیگر حداقل به یک آرگومان .Ar module نیاز دارند، خروجی تولید می‌کنند، موجب خروج زودهنگام نمی‌شوند و می‌توانند با یکدیگر ترکیب شوند، اما بر تمام گزینه‌های .Fl -cflags و .Fl -libs ارجحیت داشته و آن‌ها را غیرفعال می‌کنند: .Bl -enum .It گزینه‌های خروجی تک‌ماژولی: .Fl -path , .Fl -print-variables , .Fl -variable : اگر هر یک از این گزینه‌ها مشخص شود، تنها اولین آرگومان .Ar module استفاده می‌شود، تمامی آرگومان‌های دیگر بدون اخطار نادیده گرفته می‌شوند و هیچ تلاشی برای حل وابستگی‌ها صورت نمی‌گیرد. .It گزینه‌های خروجی عمق یک: .Fl -print-provides , .Fl -modversion , .Fl -print-requires و .Fl -print-requires-private : اگر هر یک از این گزینه‌ها مشخص شود، تنها ماژول‌هایی بررسی می‌شوند که صراحتاً در خط فرمان تعیین شده‌اند و هیچ تلاشی برای حل وابستگی‌ها انجام نمی‌شود. .It گزینه‌های خروجی عمومی: .Fl -simulate , .Fl -digraph , .Fl -solution , .Fl -fragment-tree , .Fl -newlines : این گزینه‌ها حل وابستگی‌ها را محدود نمی‌کنند. .El .Pp مهم‌ترین گزینه‌های خروجی، یعنی .Fl -cflags و .Fl -libs می‌توانند با یکدیگر ترکیب شوند، اما در صورت مشخص شدن هر یک از گزینه‌های فهرست‌شده در بالا، لغو و نادیده گرفته می‌شوند. .Sh "گزینه‌ها (OPTIONS)" فهرست کامل .Ar options به شرح زیر است: .Bl -tag -width indent .It Fl -about شماره نسخه، اعلان حق نشر (Copyright) و مجوز برنامهٔ .Nm را در خروجی استاندارد چاپ کرده و خارج می‌شود. بیشتر گزینه‌های دیگر و تمامی آرگومان‌های خط فرمان نادیده گرفته می‌شوند. .It Fl -atleast-pkgconfig-version Ns = Ns Ar version اگر شماره .Ar version درخواست‌شده بزرگ‌تر از شماره نسخهٔ برنامهٔ .Nm باشد، با خطا خارج می‌شود، و در غیر این صورت با موفقیت پایان می‌یابد. بیشتر گزینه‌های دیگر و تمامی آرگومان‌های خط فرمان نادیده گرفته می‌شوند. .It Fl -atleast-version Ns = Ns Ar version آرگومان‌های .Ar module را به ترتیب ارائه‌شده بررسی می‌کند. به محض اینکه یک .Ar module وجود نداشته باشد، با خطا خارج می‌شود، و به محض اینکه شماره نسخهٔ یک .Ar module بزرگ‌تر یا مساوی با شماره .Ar version درخواست‌شده باشد، با موفقیت خارج می‌شود. اگر شماره نسخهٔ هر یک از .Ar module Ns ‌ها کمتر از شماره .Ar version درخواست‌شده باشد، با خطا خارج می‌شود. .It Fl -cflags , Fl -cflags-only-I , Fl -cflags-only-other به ترتیب، تمام پرچم‌های کامپایلر مورد نیاز برای کامپایل در برابر .Ar module , یا فقط پرچم‌های مسیر include .Pq Fl I , یا فقط پرچم‌های کامپایلری که مربوط به مسیر include نیستند را چاپ می‌کند. این گزینه‌ها مستلزم .Fl -print-errors هستند. .It Fl -debug برخی پیام‌های هشدار غیرمهلک را در خروجی خطای استاندارد چاپ می‌کند که در غیر این صورت بدون اخطار نادیده گرفته می‌شدند. این گزینه همچنین مستلزم .Fl -print-errors است. اگر .Nm بدون تعریف ماکروی پیش‌پردازندهٔ .Dv PKGCONF_LITE کامپایل شده باشد، این گزینه پیام‌های اشکال‌زدایی (دیباگ) متعددی را نیز در خروجی خطای استاندارد چاپ می‌کند. .It Fl -define-prefix تلاش می‌کند تا متغیر prefix مناسب برای جابجایی (relocation) ورودی‌های CFLAGS و LIBS را تعیین کند. این ویژگی عمدتاً برای بسترهایی سودمند است که SDKهای چارچوب آن‌ها قابل جابجایی هستند، مانند ویندوز. .It Fl -define-variable Ns = Ns Ar varname Ns = Ns Ar value متغیر .Ar varname را با مقدار .Ar value تعریف می‌کند. متغیرها در خروجی پرس‌وجو استفاده می‌شوند و نتایج برخی ماژول‌ها ممکن است بر پایهٔ وجود یک تعریف متغیر تغییر کند. .It Fl -digraph راه‌حل حل‌کنندهٔ وابستگی را در قالب یک پروندهٔ .Sq dot متعلق به graphviz ذخیره و تخلیه (dump) می‌کند. از این پرونده می‌توان همراه با graphviz برای مصورسازی وابستگی‌های متقابل ماژول‌ها استفاده کرد. این گزینه تنها در صورتی در دسترس است که ماکروی پیش‌پردازندهٔ .Dv PKGCONF_LITE در هنگام کامپایل تعریف نشده باشد. .It Fl -dont-define-prefix ویژگی .Sq define-prefix را غیرفعال می‌کند. .It Fl -dont-relocate-paths قابلیت جابجایی مسیر (path relocation) را غیرفعال می‌کند. .It Fl -dump-personality برخی تنظیمات پیش‌فرض را در خروجی استاندارد چاپ کرده و خارج می‌شود؛ به‌ویژه مسیر پیش‌فرض جستجوی ماژول که در صورت عدم تعریف .Ev PKG_CONFIG_LIBDIR استفاده می‌شود، فهرست پیش‌فرض مسیرهای include که در صورت عدم تعریف .Ev PKG_CONFIG_SYSTEM_INCLUDE_PATH فیلتر می‌شوند، و فهرست پیش‌فرض مسیرهای کتابخانه که در صورت عدم تعریف .Ev PKG_CONFIG_SYSTEM_LIBRARY_PATH فیلتر می‌شوند. بیشتر گزینه‌های دیگر و تمامی آرگومان‌های خط فرمان نادیده گرفته می‌شوند. این گزینه تنها در صورتی در دسترس است که ماکروی پیش‌پردازندهٔ .Dv PKGCONF_LITE در هنگام کامپایل تعریف نشده باشد. .It Fl -env Ns = Ns Ar varname مقادیر درخواست‌شده را به عنوان اعلانات متغیر در قالبی مشابه دستور .Xr env 1 چاپ می‌کند. .It Fl -env-only مسیر جستجوی ماژول را تنها از .Fl -with-path و .Ev PKG_CONFIG_PATH مقداردهی اولیه می‌کند و .Ev PKG_CONFIG_LIBDIR و دایرکتوری‌های پیش‌فرض داخلی کامپایل‌شده را نادیده می‌گیرد. .It Fl -errors-to-stdout تمام پیام‌های خطا، هشدار و اشکال‌زدایی را به جای خروجی خطای استاندارد در خروجی استاندارد چاپ می‌کند. .It Fl -exact-version Ns = Ns Ar version آرگومان‌های .Ar module را به ترتیب ارائه‌شده بررسی می‌کند. به محض اینکه یک .Ar module وجود نداشته باشد، با خطا خارج می‌شود، و به محض اینکه شماره نسخهٔ یک .Ar module دقیقاً برابر با شماره .Ar version درخواست‌شده باشد، با موفقیت خارج می‌شود. اگر شماره نسخهٔ هر یک از .Ar module Ns ‌ها با شماره .Ar version درخواست‌شده متفاوت باشد، با خطا خارج می‌شود. .It Fl -exists اگر حل‌کنندهٔ وابستگی نتواند همهٔ .Ar module Ns ‌های درخواست‌شده را پیدا کند، با وضعیت خروج غیرصفر خارج می‌شود. این گزینه به طور پیش‌فرض فعال است و نمی‌توان آن را غیرفعال کرد. با این حال، گزینه‌های گوناگون دیگر باعث می‌شوند که .Nm پیش از بررسی همهٔ آرگومان‌ها خارج شده و موفقیت یا شکست را گزارش کند. .It Fl -fragment-filter Ns = Ns Ar types فهرست قطعات را بر اساس .Ar types مشخص‌شده فیلتر می‌کند. .It Fl -help خلاصه‌ای از نحوهٔ استفاده را در خروجی استاندارد چاپ کرده و خارج می‌شود. بیشتر گزینه‌های دیگر و تمامی آرگومان‌های خط فرمان نادیده گرفته می‌شوند. .It Fl -ignore-conflicts قوانین .Sq Conflicts (تداخل‌ها) در ماژول‌ها را نادیده می‌گیرد. این گزینه به طور ضمنی توسط گزینه‌هایی فعال می‌شود که صرفاً فراداده‌های ماژول‌های درخواست‌شده را گزارش می‌دهند، به جای اینکه آن‌ها را در یک بیلد ترکیب کنند؛ از جمله: .Fl -license , .Fl -license-file , .Fl -modversion , .Fl -path , .Fl -print-provides , .Fl -print-requires , .Fl -print-requires-private , .Fl -print-variables , .Fl -source و .Fl -variable . .It Fl -keep-system-cflags , Fl -keep-system-libs قطعات پرچم‌های کامپایلر CFLAGS یا پرچم‌های پیونددهنده را که به دلیل قرار داشتن پیش‌فرض در کامپایلر فیلتر می‌شدند، حفظ می‌کند. .It Fl -libs , Fl -libs-only-L , Fl -libs-only-l , Fl -libs-only-other به ترتیب، تمام پرچم‌های پیونددهنده مورد نیاز برای پیوند در برابر .Ar module , یا فقط پرچم‌های مسیر کتابخانه .Pq Fl L , یا فقط پرچم‌های کتابخانه .Pq Fl l , یا فقط پرچم‌های پیونددهنده‌ای که نه پرچم مسیر کتابخانه و نه پرچم کتابخانه هستند را چاپ می‌کند. این گزینه‌ها مستلزم .Fl -print-errors هستند. .It Fl -link-abi مجموعه برچسب‌های ABI پیوند .Pq برای نمونه Sy c No یا Sy c++ را چاپ می‌کند که .Ar module باید با آن‌ها پیوند داده شود؛ این برچسب‌ها از ویژگی‌های .Sy Link.ABI موجود در کل بستار وابستگی‌های آن مشتق می‌شوند. برچسب‌های ویژگی .Sy Link.ABI خود بسته و برچسب‌های .Sy Requires عمومی آن همیشه اعمال می‌شوند، در حالی که برچسب‌های .Sy Requires.private تنها هنگام پیوند ایستا (استاتیک) .Pq Fl -static اعمال می‌گردند. ماژولی که نیازمندی ABI پیوند نداشته باشد، .Sy c را چاپ می‌کند. برای جزئیات ویژگی .Sy Link.ABI به .Xr pc 5 مراجعه کنید. .It Fl -list-all مسیر جستجوی ماژول را به ترتیب اولویت نزولی پیمایش می‌کند. به ازای هر پروندهٔ .Xr pc 5 یافت‌شده، یک خط در خروجی استاندارد چاپ می‌کند که شامل نام پایهٔ پرونده بدون پسوند، ویژگی .Ic Name , یک خط تیره .Pq Sq \- و ویژگی .Ic Description است. این گزینه مستلزم .Fl -print-errors است. تمامی آرگومان‌های خط فرمان نادیده گرفته می‌شوند. .It Fl -list-package-names همان جستجوی .Fl -list-all را انجام می‌دهد، اما تنها نام پایهٔ هر پروندهٔ .Xr pc 5 را بدون پسوند چاپ می‌کند، نه نام ماژول و توضیحات آن را. این گزینه مستلزم .Fl -print-errors است. تمامی آرگومان‌های خط فرمان نادیده گرفته می‌شوند. .It Fl -log-file Ns = Ns Ar file نام پروندهٔ خروجی .Ar file را تعیین می‌کند که در آن اطلاعات ماژول‌های انتخاب‌شده (چه آن‌هایی که با آرگومان انتخاب شده‌اند و چه وابستگی‌ها) ثبت می‌شود. برای هر ماژول انتخاب‌شده، یک خط چاپ می‌شود که شامل نام پایهٔ پروندهٔ .Xr pc 5 بدون پسوند، به صورت اختیاری یک عملگر و شماره نسخه که محدودهٔ نسخه‌های مورد نظر را بیان می‌کند، و یا شماره نسخهٔ واقعی درون براکت یا رشتهٔ .Qq NOT-FOUND است. اگر این گزینه ارائه نشود، نام پروندهٔ خروجی از متغیر محیطی .Ev PKG_CONFIG_LOG گرفته می‌شود، و اگر آن هم تنظیم نشده باشد، این نوع ثبت اطلاعات غیرفعال خواهد بود. .It Fl -max-version Ns = Ns Ar version آرگومان‌های .Ar module را به ترتیب ارائه‌شده بررسی می‌کند. به محض اینکه یک .Ar module وجود نداشته باشد، با خطا خارج می‌شود، و به محض اینکه شماره نسخهٔ یک .Ar module کوچک‌تر یا مساوی با شماره .Ar version درخواست‌شده باشد، با موفقیت خارج می‌شود. اگر شماره نسخهٔ هر یک از .Ar module Ns ‌ها بزرگ‌تر از شماره .Ar version درخواست‌شده باشد، با خطا خارج می‌شود. .It Fl -maximum-traverse-depth Ns = Ns Ar depth محدودیتی برای عمق مجاز در گراف وابستگی تعیین می‌کند. مقدار پیش‌فرض .Ar depth برابر 256 است. برای مجاز شمردن پیمایش نامحدود، مقدار .Ar depth را روی \-1 تنظیم کنید. برای نمونه، مقدار .Ar depth برابر با 2، حل‌کننده را از عملکرد روی وابستگی‌های فرزند ماژول‌های اضافه‌شده به راه‌حل بازمی‌دارد. این گزینه توسط متغیر محیطی .Ev PKG_CONFIG_MAXIMUM_TRAVERSE_DEPTH و توسط گزینه‌های .Fl -modversion , .Fl -path , .Fl -print-provides , .Fl -print-requires , .Fl -print-requires-private , .Fl -print-variables و .Fl -variable لغو و جایگزین می‌شود. .It Fl -modversion برای هر .Ar module مشخص‌شده، شماره نسخه را در خروجی استاندارد چاپ می‌کند. اگر گزینهٔ .Fl -verbose نیز مشخص شده باشد، نام هر .Ar module و یک دونقطه پیش از هر شماره نسخه چاپ می‌شود. این گزینه مستلزم .Fl -print-errors و .Fl -maximum-traverse-depth Ns =1 است و تمام پرچم‌های .Fl -cflags و .Fl -libs را لغو و غیرفعال می‌کند. .It Fl -msvc-syntax از نحو MSVC برای خروجی‌های .Fl -cflags , .Fl -env و .Fl -libs استفاده می‌کند. این گزینه تنها در صورتی در دسترس است که ماکروی پیش‌پردازندهٔ .Dv PKGCONF_LITE در هنگام کامپایل تعریف نشده باشد. .It Fl -newlines به جای فاصله‌ها، از خط جدید برای جداسازی تک‌تک قطعات پرچم‌های CFLAGS یا پرچم‌های پیونددهنده استفاده می‌کند. .It Fl -no-cache هنگام بارگذاری بسته‌ها در حل‌کنندهٔ داخلی، از ذخیره‌سازی آن‌ها در حافظهٔ موقت (کَش) صرف‌نظر می‌کند. این کار ممکن است منجر به محاسبهٔ یک گراف وابستگی جایگزین شود. .It Fl -no-provides هنگام حل وابستگی‌ها، قوانین .Sq Provides را در ماژول‌ها نادیده می‌گیرد. .It Fl -no-uninstalled حل‌کنندهٔ وابستگی را از در نظر گرفتن ماژول‌های 'uninstalled' به عنوان بخشی از راه‌حل بازمی‌دارد. .It Fl -path برای اولین .Ar module داده‌شده در خط فرمان، به حل‌کنندهٔ وابستگی اجازه می‌دهد پروندهٔ .Xr pc 5 توصیف‌کنندهٔ آن ماژول را بیابد، مسیر مطلق آن پرونده را در خروجی استاندارد چاپ کند و بلافاصله خارج شود، و بیشتر گزینه‌های دیگر و تمامی آرگومان‌های دیگر را نادیده بگیرد. .It Fl -prefix-variable Ns = Ns Ar variable متغیر .Sq prefix مورد استفاده توسط ویژگی .Sq define-prefix را تنظیم می‌کند. .It Fl -print-errors برخی پیام‌های مربوط به خطاهای مهلک را در خروجی خطای استاندارد چاپ می‌کند که در غیر این صورت حذف می‌شدند. این گزینه به طور ضمنی توسط بسیاری از گزینه‌های دیگر فعال می‌شود، اما نه توسط همهٔ آن‌ها. این گزینه را می‌توان با .Fl -silence-errors لغو کرد. .It Fl -print-provides برای هر .Ar module مشخص‌شده، یک خط در خروجی استاندارد حاوی ویژگی .Ic Name , یک علامت مساوی .Pq Sq = و ویژگی .Ic Version چاپ می‌کند. اگر .Ar module حاوی یک یا چند ویژگی .Ic Provides باشد، خطوط دیگری را در قالب فهرست وابستگی چاپ می‌کند، هر نام در یک خط، که به صورت اختیاری پس از هر نام یک عملگر و یک نسخه می‌آید. این گزینه مستلزم .Fl -maximum-traverse-depth Ns =1 است و تمام پرچم‌های .Fl -cflags و .Fl -libs را لغو و غیرفعال می‌کند. .It Fl -print-requires , Fl -print-requires-private برای هر .Ar module مشخص‌شده، به ترتیب، ویژگی‌های .Ic Requires یا .Ic Requires.private را در قالب فهرست وابستگی در خروجی استاندارد چاپ می‌کند. هر دوی این گزینه‌ها مستلزم .Fl -maximum-traverse-depth Ns =1 هستند و تمام پرچم‌های .Fl -cflags و .Fl -libs را لغو و غیرفعال می‌کنند. .It Fl -print-variables برای نخستین .Ar module داده‌شده در خط فرمان، نام تمام متغیرهای مشاهده‌شده را در خروجی استاندارد چاپ می‌کند، هر کدام در یک خط. هر آرگومان بعدی بدون هشدار نادیده گرفته می‌شود. این گزینه مستلزم .Fl -print-errors و .Fl -maximum-traverse-depth Ns =1 است و تمام پرچم‌های .Fl -cflags و .Fl -libs را لغو و غیرفعال می‌کند. .It Fl -pure با گراف وابستگی محاسبه‌شده طوری رفتار می‌کند که گویی یک گراف خالص (pure) است. این گزینه عمدتاً برای استفاده همراه با پرچم .Fl -static در نظر گرفته شده است و در صورت مشخص شدن .Fl -shared هیچ اثری ندارد. .It Fl -shared یک گراف وابستگی ساده محاسبه می‌کند که تنها برای پیوند اشتراکی (shared linking) مناسب است. این گزینه بر .Fl -static ارجحیت دارد و آن را لغو می‌کند. .It Fl -short-errors هنگام چاپ پیام‌های خطا دربارهٔ ماژول‌هایی که یافت نمی‌شوند یا با یکدیگر تداخل دارند، از چاپ دستورالعمل‌های تکمیلی و طولانی که روش‌های احتمالی برای حل مشکل را شرح می‌دهند، خودداری می‌کند. .It Fl -silence-errors به هیچ وجه هیچ پیام خطا، هشدار یا اشکال‌زدایی را چاپ نمی‌کند. بر همهٔ گزینه‌های .Fl -debug , .Fl -errors-to-stdout و .Fl -print-errors ارجحیت دارد و آن‌ها را لغو می‌کند. در صورتی که متغیر محیطی .Ev PKG_CONFIG_DEBUG_SPEW تنظیم شده باشد، این گزینه لغو و غیرفعال می‌شود. .It Fl -simulate حل یک گراف وابستگی را بر اساس ماژول‌های درخواست‌شده در خط فرمان شبیه‌سازی می‌کند. مجموعه‌ای از ساختارهای درختی را که وضعیت حل‌کنندهٔ pkgconf را نشان می‌دهند، تخلیه (dump) می‌کند. این گزینه تنها در صورتی در دسترس است که ماکروی پیش‌پردازندهٔ .Dv PKGCONF_LITE در هنگام کامپایل تعریف نشده باشد. .It Fl -solution نام ماژول‌های درخواست‌شده با آرگومان‌های .Ar module و وابستگی‌های آن‌ها را در خروجی استاندارد چاپ می‌کند. این گزینه تنها در صورتی در دسترس است که ماکروی پیش‌پردازندهٔ .Dv PKGCONF_LITE در هنگام کامپایل تعریف نشده باشد. .It Fl -static یک گراف وابستگی عمیق‌تر را محاسبه می‌کند و از پرچم‌های کامپایلر/پیونددهندهٔ در نظر گرفته‌شده برای پیوند ایستا (static) بهره می‌گیرد. این گزینه توسط .Fl -shared لغو می‌شود. .It Fl -uninstalled اگر حل‌کنندهٔ وابستگی از یک ماژول .Sq uninstalled به عنوان بخشی از راه‌حل خود استفاده کند، با یک نتیجهٔ غیرصفر خارج می‌شود. .It Fl -validate Ar package ... صحت پرونده‌های مشخص‌شدهٔ .Sq .pc را اعتبارسنجی می‌کند. این گزینه مستلزم .Fl -print-errors و .Fl -errors-to-stdout است. .It Fl -variable Ns = Ns Ar varname برای نخستین .Ar module داده‌شده در خط فرمان، مقدار متغیر با نام .Ar varname را در خروجی استاندارد چاپ می‌کند. هر آرگومان بعدی بدون هشدار نادیده گرفته می‌شود. این گزینه مستلزم .Fl -maximum-traverse-depth Ns =1 است و تمام پرچم‌های .Fl -cflags و .Fl -libs را لغو و غیرفعال می‌کند. .It Fl -verbose این گزینه تنها زمانی اثر دارد که .Fl -modversion نیز مشخص شده باشد. این گزینه نام .Ar module مربوطه و یک علامت دونقطه را پیش از هر شماره نسخه چاپ می‌کند. .It Fl -version شماره نسخهٔ برنامهٔ .Nm را در خروجی استاندارد چاپ کرده و خارج می‌شود. بیشتر گزینه‌های دیگر و تمامی آرگومان‌های خط فرمان نادیده گرفته می‌شوند. .It Fl -with-path Ns = Ns Ar path دایرکتوری .Ar path را به ابتدای مسیر جستجوی ماژول اضافه می‌کند، و به آن نسبت به سایر دایرکتوری‌ها از جمله دایرکتوری‌های برگرفته از .Ev PKG_CONFIG_PATH و .Ev PKG_CONFIG_LIBDIR اولویت می‌دهد. .El .Sh "متغیرهای محیطی (ENVIRONMENT)" .Bl -tag -width indent .It Ev CPATH نخستین فهرست تکمیلی جداشده با دونقطه از مسیرهای include که دقیقاً مانند .Ev PKG_CONFIG_SYSTEM_INCLUDE_PATH فیلتر می‌شوند. .It Ev CPLUS_INCLUDE_PATH سومین فهرست تکمیلی جداشده با دونقطه از مسیرهای include که دقیقاً مانند .Ev PKG_CONFIG_SYSTEM_INCLUDE_PATH فیلتر می‌شوند. .It Ev C_INCLUDE_PATH دومین فهرست تکمیلی جداشده با دونقطه از مسیرهای include که دقیقاً مانند .Ev PKG_CONFIG_SYSTEM_INCLUDE_PATH فیلتر می‌شوند. .It Ev DESTDIR اگر با مقداری برابر با .Ev PKG_CONFIG_SYSROOT_DIR تنظیم شود، از .Ev PKG_CONFIG_FDO_SYSROOT_RULES برای جستجوی متغیرها پیروی می‌کند، اما درج خودکار sysroot در قطعات .Fl I و .Fl L را غیرفعال می‌سازد تا از افزودن دوبار پیشوند .Ev DESTDIR به مسیرها جلوگیری شود. اگر .Ev PKG_CONFIG_SYSROOT_DIR تنظیم نشده باشد یا با مقداری متفاوت تنظیم شده باشد، .Ev DESTDIR نادیده گرفته می‌شود. .It Ev LIBRARY_PATH فهرست تکمیلی جداشده با دونقطه از مسیرهای کتابخانه که دقیقاً مانند .Ev PKG_CONFIG_SYSTEM_LIBRARY_PATH فیلتر می‌شوند. .It Ev OBJC_INCLUDE_PATH چهارمین فهرست تکمیلی جداشده با دونقطه از مسیرهای include که دقیقاً مانند .Ev PKG_CONFIG_SYSTEM_INCLUDE_PATH فیلتر می‌شوند. .It Ev PKG_CONFIG_ALLOW_SYSTEM_CFLAGS در صورت تنظیم، این متغیر همان اثر گزینهٔ .Fl -keep-system-cflags را دارد. .It Ev PKG_CONFIG_ALLOW_SYSTEM_LIBS در صورت تنظیم، این متغیر همان اثر گزینهٔ .Fl -keep-system-libs را دارد. .It Ev PKG_CONFIG_DEBUG_SPEW در صورت تنظیم، بر گزینهٔ .Fl -silence-errors ارجحیت دارد و آن را غیرفعال می‌کند. .It Ev PKG_CONFIG_DISABLE_UNINSTALLED در صورت تنظیم، همان رفتار پرچم .Fl -no-uninstalled را فعال می‌سازد. .It Ev PKG_CONFIG_DONT_DEFINE_PREFIX در صورت تنظیم، این متغیر همان اثر گزینهٔ .Fl -dont-define-prefix را دارد. .It Ev PKG_CONFIG_DONT_RELOCATE_PATHS در صورت تنظیم، ویژگی جابجایی مسیر را غیرفعال می‌کند. .It Ev PKG_CONFIG_FDO_SYSROOT_RULES در صورت تنظیم، از قوانین پیشوندگذاری sysroot که freedesktop.org pkg-config استفاده می‌کند پیروی می‌کند. .It Ev PKG_CONFIG_IGNORE_CONFLICTS در صورت تنظیم، قوانین .Ic Conflicts را در ماژول‌ها نادیده می‌گیرد. اثری مشابه با گزینهٔ .Fl -ignore-conflicts دارد. .It Ev PKG_CONFIG_LIBDIR فهرستی جداشده با دونقطه از دایرکتوری‌های با اولویت پایین که پرونده‌های .Xr pc 5 در آن‌ها جستجو می‌شوند. مسیر جستجوی ماژول با پیوست کردن این فهرست به انتهای .Ev PKG_CONFIG_PATH (که از اولویت بالاتری برخوردار است) ساخته می‌شود. اگر .Ev PKG_CONFIG_LIBDIR تعریف نشده باشد، فهرست پیش‌فرضی که در برنامهٔ .Nm از ماکروی پیش‌پردازندهٔ .Dv PKG_DEFAULT_PATH کامپایل شده است، به جای آن پیوست می‌شود. اگر .Ev PKG_CONFIG_LIBDIR تعریف شده باشد اما خالی باشد، هیچ چیزی پیوست نمی‌شود. .It Ev PKG_CONFIG_LOG در صورت تنظیم، اطلاعات ماژول‌های انتخاب‌شده را در پرونده‌ای با نام ذخیره‌شده در این متغیر ثبت (لاگ) می‌کند. برای جزئیات بیشتر به گزینهٔ خط فرمان .Fl -log-file مراجعه کنید که بر این متغیر ارجحیت دارد. .It Ev PKG_CONFIG_MAXIMUM_TRAVERSE_DEPTH محدودیتی برای عمق مجاز در گراف وابستگی اعمال می‌کند. این متغیر را روی \-1 تنظیم کنید تا پیمایش نامحدود مجاز باشد. این متغیر بر گزینهٔ .Fl -maximum-traverse-depth ارجحیت دارد، اما توسط سایر گزینه‌های ذکرشده در آنجا لغو می‌شود. .It Ev PKG_CONFIG_MSVC_SYNTAX در صورت تنظیم، از نحو MSVC برای خروجی‌های .Fl -cflags , .Fl -env و .Fl -libs استفاده می‌کند. این متغیر همان اثر گزینهٔ .Fl -msvc-syntax را دارد. اگر ماکروی پیش‌پردازندهٔ .Dv PKGCONF_LITE در هنگام کامپایل تعریف شده باشد، این متغیر نادیده گرفته می‌شود. .It Ev PKG_CONFIG_PATH فهرستی جداشده با دونقطه از دایرکتوری‌های با اولویت بالا که پرونده‌های .Xr pc 5 در آن‌ها جستجو می‌شوند. مسیر جستجوی ماژول با اضافه کردن دایرکتوری مشخص‌شده توسط .Fl -with-path (در صورت وجود) به ابتدا، و در صورتی که .Fl -env-only مشخص نشده باشد، با پیوست کردن .Ev PKG_CONFIG_LIBDIR یا دایرکتوری‌های پیش‌فرض داخلی کامپایل‌شده با اولویت کمتر به انتها ساخته می‌شود. .It Ev PKG_CONFIG_PRELOADED_FILES فهرستی جداشده با دونقطه از پرونده‌های .Xr pc 5 که پیش از هر پروندهٔ pkg-config دیگری بارگذاری می‌شوند. به این بسته‌ها بالاترین اولویت نسبت به هر پروندهٔ .Xr pc 5 دیگری داده می‌شود که در غیر این صورت یک بستهٔ مشخص را ارائه می‌دادند. .It Ev PKG_CONFIG_PURE_DEPGRAPH در صورت تنظیم، همان رفتار پرچم .Fl -pure را فعال می‌کند. .It Ev PKG_CONFIG_RELOCATE_PATHS در صورت تنظیم، این متغیر همان اثر گزینهٔ .Fl -define-prefix را دارد. .It Ev PKG_CONFIG_SYSROOT_DIR در صورت تنظیم، این متغیر یک دایرکتوری .Sq sysroot را مشخص می‌کند که به ابتدای هر متغیر مسیری که با متغیر prefix در یک پروندهٔ .Xr pc 5 مشخص آغاز می‌شود، اضافه خواهد شد. برای کامپایل متقاطع (cross compilation) کاربرد دارد. مقدار این متغیر محیطی در متغیر سراسری .Va pc_sysrootdir نیز کپی می‌شود. .It Ev PKG_CONFIG_SYSTEM_INCLUDE_PATH فهرستی جداشده با دونقطه از مسیرهای include که به دلیل در نظر گرفته شدن به عنوان مسیرهای include سیستم، فیلتر شده و توسط گزینه‌های .Fl -cflags و .Fl -cflags-only-I چاپ نمی‌شوند. اگر تعریف نشده باشد، فهرست پیش‌فرضی که در برنامهٔ .Nm از ماکروی پیش‌پردازندهٔ .Dv SYSTEM_INCLUDEDIR کامپایل شده است به جای آن استفاده می‌گردد. هر دایرکتوری که در متغیرهای محیطی .Ev CPATH , .Ev C_INCLUDE_PATH , .Ev CPLUS_INCLUDE_PATH و .Ev OBJC_INCLUDE_PATH فهرست شده باشد نیز فیلتر می‌شود. .It Ev PKG_CONFIG_SYSTEM_LIBRARY_PATH فهرستی جداشده با دونقطه از مسیرهای کتابخانه که به دلیل در نظر گرفته شدن به عنوان مسیرهای کتابخانهٔ سیستم، فیلتر شده و توسط گزینه‌های .Fl -libs و .Fl -libs-only-L چاپ نمی‌شوند. اگر تعریف نشده باشد، فهرست پیش‌فرضی که در برنامهٔ .Nm از ماکروی پیش‌پردازندهٔ .Dv SYSTEM_LIBDIR کامپایل شده است به جای آن استفاده می‌گردد. .It Ev PKG_CONFIG_TOP_BUILD_DIR مقدار متغیر سراسری .Va pc_top_builddir . اگر این متغیر محیطی تعریف نشده باشد، رشتهٔ .Qq $(top_builddir) به عنوان مقدار .Va pc_top_builddir استفاده می‌شود. .El .Sh "وضعیت خروج (EXIT STATUS)" .Ex -std .Sh "مثال‌ها (EXAMPLES)" نمایش CFLAGS یک بسته: .Dl $ pkgconf --cflags foo .Dl -fPIC -I/usr/include/foo .Sh "همچنین ببینید (SEE ALSO)" .Xr pc 5 , .Xr pkg.m4 7 .Sh "نویسندگان (AUTHORS)" .Nm pkgconf توسط نویسندگان pkgconf توسعه داده شده است (پروندهٔ AUTHORS را ببینید).