ICU-CONFIG(1) دستورهای کاربری ICU-CONFIG(1)

icu-config - نمایش گزینههای ساخت و پرچمهای کامپایل کتابخانه ICU

icu-config [ گزینهها... ]

اسکریپت icu-config اطلاعات پیکربندی، مسیرهای هدر و پرچمهای کامپایلر و پیونددهنده را برای برنامههای متکی به ICU ارائه میدهد.

دستور icu-config کار ساخت و پیوند دادن برنامه‌ها با ICU را در مقایسه با پیکربندی دستی Makefileهای کاربر بسیار ساده‌تر می‌کند. از آنجا که icu-config یک اسکریپت اجرایی است، با امکان‌پذیر ساختن مکان‌یابی خود از طریق متغیر محیطی PATH سیستم، مشکل یافتن کتابخانه‌ها و فایل‌های سرایند (Header) مربوط به ICU را نیز حل می‌کند.

دستور icu-config می‌تواند بدون makefile استفاده شود. دستور زیر در خط فرمان برای ساخت یک برنامه تک‌فایلی ++C متکی به ICU کافی است (به‌عنوان نمونه، icu/source/samples/props/props.cpp):

`icu-config --cxx --cxxflags --cppflags --ldflags` -o props props.cpp

در حالت رایج‌تر، icu-config از درون یک makefile فراخوانی شده و برای مقداردهی متغیرها به کار می‌رود. مثال زیر نیز برنامه نمونه props را می‌سازد:

CC=$(shell icu-config --cc)
CXX=$(shell icu-config --cxx)
CPPFLAGS=$(shell icu-config --cppflags)
CXXFLAGS=$(shell icu-config --cxxflags)
LDFLAGS =$(shell icu-config --ldflags)
all: props
props.o: props.cpp

ابزار make(1) به‌طور خودکار متغیرهای بالا را به کار خواهد گرفت.

مسیر دایرکتوری فایل‌های باینری (اجرایی) را چاپ می‌کند. معمولاً معادل 'bin' است. برنامه‌های کاربردی و اسکریپت‌های اجرایی کاربر مربوط به ICU در اینجا قرار دارند.
کامپایلر C مورد استفاده را چاپ می‌کند. معادل متغیر $(CC) در Makefile است.
پرچم‌های کامپایلر C را چاپ می‌کند. معادل متغیر $(CFLAGS) در Makefile است. شامل دستورات پیش‌پردازنده مانند مسیرهای include یا نمادهای تعریف‌شده نمی‌شود. مثال‌ها شامل پرچم‌های اشکال‌زدایی (-g) و بهینه‌سازی هستند.
پرچم‌های پیش‌پردازنده C را چاپ می‌کند. معادل متغیر $(CPPFLAGS) در Makefile است. مثال‌ها شامل مسیرهای include با -I و دستورات تعریف با -D هستند.
--cppflags-searchpath
پرچم‌های پیش‌پردازنده C را چاپ می‌کند، مشابه گزینه بالا اما تنها شامل مسیرهای جستجوی -I می‌شود.
کامپایلر ++C مورد استفاده را چاپ می‌کند. معادل متغیر $(CXX) در Makefile است.
پرچم‌های کامپایلر ++C را چاپ می‌کند. معادل متغیر $(CXXFLAGS) در Makefile است.
اگر ICU از محل نصب اولیه خود منتقل شده باشد، قرار دادن این پرچم پیش از سایر فراخوانی‌های icu-config تلاش می‌کند محل ICU را نسبت به محلی که اسکریپت icu-config در آن واقع است شناسایی کند. این گزینه می‌تواند در صورت آسیب دیدن محل نصب ICU به‌عنوان آخرین راهکار استفاده شود.
پیشوند مورد استفاده برای دایرکتوری برنامه‌های اجرایی (مانند bin، sbin و غیره) را چاپ می‌کند. معمولاً همانند پیشوند اصلی (prefix) است.
اگر به نظر برسد ICU به درستی نصب و جای‌گذاری شده است، این اسکریپت با وضعیت موفقیت‌آمیز (۰) خارج می‌شود، در غیر این صورت پیام خطا و وضعیت غیرصفر برگردانده خواهد شد.
پیام راهنما و نحوه استفاده را چاپ می‌کند.
نام کوتاه (shortname) فایل داده ICU را چاپ می‌کند. این نام هیچ پسوندی مانند ‎.dat‎، ‎.dll‎، ‎.so‎، ‎.lib‎، ‎.a‎ و غیره و همچنین پیشوندهایی مانند 'lib' را شامل نمی‌شود. ممکن است به فرم icudt21b باشد.
--icudata-install-dir
دایرکتوری محل نصب داده‌های بسته‌بندی‌شده ICU را چاپ می‌کند. می‌تواند به‌عنوان گزینه ‎--install در pkgdata(1) استفاده شود.
--icudata-mode
حالت پیش‌فرض pkgdata در ICU (مانند dll یا common) را چاپ می‌کند. می‌تواند به‌عنوان گزینه ‎--mode در pkgdata(1) استفاده شود.
مسیر داده‌های آرشیو بسته‌بندی‌شده را چاپ می‌کند (باید جایی باشد که متغیر محیطی ICU_DATA$ یا مسیر پیش‌فرض معادل به آن اشاره دارد). این گزینه به libdir اشاره نخواهد کرد.
اگر ICU در محلی نصب نشده باشد که سیستم‌عامل بتواند کتابخانه‌های مشترک آن را پیدا کند، این گزینه دستوراتی را برای تنظیم متغیرهای محیطی مناسب جهت بارگذاری کتابخانه‌های مشترک ICU چاپ می‌کند. برای مثال، در بسیاری از سیستم‌ها متغیری به نام LD_LIBRARY_PATH یا معادل آن باید مقداردهی شود.
مشابه گزینه --invoke است، با این تفاوت که گزینه‌های لازم برای فراخوانی برنامه‌ای به نام prog را نیز شامل می‌شود. اگر prog نام یکی از ابزارهای ICU مانند genrb(1) باشد، icu-config مسیر کامل منتهی به آن ابزار را نیز در بر خواهد داشت.
تمام پرچم‌هایی را که باید به پیونددهنده (Linker) ارسال شوند چاپ می‌کند. این‌ها می‌توانند شامل -L برای مسیرهای جستجوی کتابخانه و -l برای افزودن کتابخانه‌های ICU باشند. به‌طور پیش‌فرض، این گزینه تلاش می‌کند کتابخانه‌های "common" (libicuuc) و "i18n" (libicui18n) و همچنین کتابخانه داده را پیوند دهد. اگر به کتابخانه‌های اضافی نیاز باشد، می‌توان هر یک از دو پرچم زیر را به همراه این گزینه به کار برد؛ برای مثال "--ldflags --ldflags-icuio" در صورتی که کتابخانه icuio علاوه بر کتابخانه‌های استاندارد ICU مورد نیاز باشد. معادل متغیر $(LDFLAGS) در Makefile است.
--ldflags-layout
گزینه پیوند را برای کتابخانه Layout مربوط به ICU چاپ می‌کند.
--ldflags-icuio
گزینه پیوند را برای افزودن بسته ICU I/O چاپ می‌کند.
--ldflags-libsonly
مشابه --ldflags است، اما تنها شامل گزینه‌های -l می‌شود.
--ldflags-searchpath
مشابه --ldflags است، اما تنها شامل گزینه‌های مسیر جستجوی -L می‌شود.
--ldflags-system
مشابه --ldflags است، اما فقط کتابخانه‌های سیستمی (مانند pthreads) را در بر می‌گیرد.
محل صفحات راهنمای (man) نصب‌شده ICU را چاپ می‌کند؛ معمولاً (man).
پیشوند (دایرکتوری پایه) که ICU نصب‌شده در آن قرار دارد را چاپ می‌کند.
پیشوند ICU را برای ادامه این خط فرمان روی prefix تنظیم می‌کند. معتبر بودن پیشوند جدید را نیز می‌آزماید.
محل باینری‌های سیستمی ICU را چاپ می‌کند؛ معمولاً (sbin).
محل داده‌های اشتراکی ICU را چاپ می‌کند؛ معمولاً (share).
محل داده‌های پیکربندی سیستم ICU را چاپ می‌کند؛ معمولاً (etc).
نسخه استاندارد یونیکد (Unicode) مورد استفاده توسط ICU کنونی را چاپ می‌کند.
نسخه فعلی ICU را چاپ می‌کند.
مسیر فایل 'Makefile.inc' را چاپ می‌کند که برای استفاده با گزینه -O در pkgdata(1) مناسب است.

Steven Loomis

78.3

حق نشر © 2002-2004 متعلق به IBM, Inc. و دیگران است.

pkgdata(1), genrb(1)

مه ۲۰۲۵ icu