ROOT-CONFIG(1) General Commands Manual ROOT-CONFIG(1)

root-config - ابزار ROOT برای Makefileهای شما

root-config [گزینه‌ها]

دستور root-config ابزاری است که برای پیکربندی و تعیین پرچم‌های کامپایلر و پیونددهنده که باید برای کامپایل و پیوند برنامه‌های استفاده‌کننده از ROOT به کار روند، استفاده می‌شود.

CPPFLAGS  += $(shell root-config --cflags)
LDLIBS    += $(shell root-config --libs)
LDFLAGS   += $(shell root-config --ldflags)
%Cint.cxx:Include.h LinkDef.h
        rootcint -f $@ -c $^ 
را در Makefile خود قرار دهید تا از قوانین توکار GNU make استفاده کنید. برای رابط‌های گرافیکی (GUI)، --libs را با --glibs جایگزین کنید.

همچنین ممکن است فایل ماکروهای automake(1)، autoconf(1) و libtool(1) به مسیر /usr/share/aclocal/root.m4 برای شما مفید باشد. اگر این فایل ماکرو در جایی که aclocal بتواند آن را بیابد نصب نشده است، محتویات آن را در فایل محلی acinclude.m4 خود کپی کنید. در دایرکتوری‌هایی که از کتابخانه‌های ROOT استفاده می‌کنید، موارد زیر را در فایل Makefile.am خود قرار دهید:

lib_LTLIBRARIES         = libFoo.la
pkginclude_HEADERS      = Foo.h
noinst_HEADERS          = FooCint.h
libFoo_la_SOURCES       = Foo.cxx FooCint.cxx   
libFoo_la_LDFLAGS       = -version-info 1:0 -R @ROOTLIBDIR@
libFoo_la_LDADD         = -lCore -lCint @ROOTAUXLIBS@
BUILT_SOURCES           = FooCint.cxx FooCint.h 
AM_CPPFLAGS             = -I@ROOTINCDIR@
AM_LDFLAGS              = -L@ROOTLIBDIR@
CLEANFILES              = *Cint.cxx *Cint.h *~ core 
%Cint.cxx %Cint.h:Include.h LinkDef.h
        @ROOTCINT@ -f $*Cint.cxx -c $(INCLUDES) $(AM_CPPFLAGS) $^  
که در آن باید Foo را با مقدار دلخواه جایگزین کرده و فایل‌های منبع مناسب را در متغیر _SOURCES فهرست کنید. در فایل configure.in خود، موارد زیر را قرار دهید:
AC_PROG_CC
AC_PROG_CXX
ROOT_PATH
AM_PROG_LIBTOOL
به همراه هر ماکروی دیگری که ممکن است نیاز داشته باشید.

توجه داشته باشید که ماکروی ROOT_PATH سه آرگومان اختیاری می‌پذیرد: حداقل نسخهٔ ROOT برای استفاده، اقدام در صورت پیدا شدن ROOT، و اقدام در صورت پیدا نشدن ROOT. چند مثال عبارتند از:

ROOT_PATH(3.03/05, , AC_MSG_ERROR(Your ROOT version is too old))
ROOT_PATH(, AC_DEFUN(HAVE_ROOT))
برای مثال، اگر می‌خواهید بخشی از درخت کد منبع خود را به صورت مشروط بر اساس حضور یا عدم حضور ROOT کامپایل کنید، می‌توانید در فایل configure.in خود قرار دهید:
ROOT_PATH(,
[
  AC_DEFUN(HAVE_ROOT)
  have_root=yes  
])
AM_CONDITIONAL(GOT_ROOT, test "x$have_root" = "xyes")
و سپس در یک فایل Makefile.am:
EXTRA_SOURCES		= root_dependent_source.cc
if GOT_ROOT
LIBFOOXTRA              = root_dependent_source.cc
else
LIBFOOXTRA              =
endif
lib_LTLIBRARIES         = libFoo.la
libFoo_la_SOURCES	= Foo.cc  $(LIBFOOXTRA)
فهرست کامل متغیرهای جایگزینی عبارتند از:
مسیر کامل به root-config
مسیر کامل به root
مسیر کامل به rootcint
محل قرارگیری کتابخانه‌های ROOT
محل قرارگیری هدرهای ROOT
پرچم‌های اضافی کامپایلر
کتابخانه‌های پایه‌ای ROOT
کتابخانه‌های پایه‌ای و رابط گرافیکی (GUI) ROOT
کتابخانه‌های کمکی و پرچم‌های پیونددهنده برای ROOT
پرچم‌های کمکی کامپایلر
مشابه ROOTLIBDIR

نمایش فهرستی کوتاه از گزینه‌های موجود و خروج.
گزارش شماره نسخهٔ ROOT نصب‌شده و خروج.
اگر آرگومانی داده نشود، محل نصب ROOT را گزارش می‌کند. با دادن آرگومان به صورت =<prefix>، پایهٔ گزینه‌های بعدی را روی <prefix> تنظیم می‌کند. اگر \--exec-prefix همراه با یک آرگومان ارسال شود، بر آرگومان داده‌شده به \--prefix برای مسیر کتابخانه اولویت خواهد داشت.
اگر هیچ آرگومانی داده نشود، محل نصب کتابخانه‌ها را گزارش می‌دهد. در صورت ارائهٔ آرگومان، از آن به عنوان دایرکتوری پایهٔ نصب کتابخانه‌ها استفاده می‌شود. این گزینه بر مسیر include تأثیری ندارد.
چاپ دایرکتوری محل نصب کتابخانه‌های ROOT.
چاپ دایرکتوری محل نصب هدرهای ROOT.
تولید خطی مناسب برای پیوند دادن یک برنامه با کتابخانه‌های ROOT. هیچ کتابخانهٔ گرافیکی گنجانده نمی‌شود.
مشابه بالا، اما کتابخانه‌های گرافیکی (GUI) را نیز شامل می‌شود.
مشابه بالا، اما کتابخانه‌های گرافیکی و کتابخانه‌های Eve را نیز شامل می‌شود.
تولید خطی مناسب برای کامپایل یک فایل منبع در کنار فایل‌های هدر (اعلان کلاس‌های) ROOT.
قرار دادن کتابخانهٔ libNew.so در فهرست کتابخانه‌ها. این گزینه باید پیش از گزینه‌های --libs و --glibs مشخص شود.
گزینهٔ سازگاری، کاری انجام نمی‌دهد.
چاپ کتابخانه‌های کمکی و/یا پرچم‌های پیونددهندهٔ سیستم.
عدم چاپ کتابخانه‌های کمکی و/یا پرچم‌های پیونددهندهٔ سیستم در خروجی --libs و --glibs. --auxcflags چاپ پرچم‌های کمکی کامپایلر.
عدم چاپ پرچم‌های کمکی کامپایلر در خروجی --cflags.
عدم چاپ گزینهٔ پیوند مسیر کتابخانه در خروجی --libs، --evelibs و --glibs.
چاپ پرچم‌های پیونددهندهٔ اضافی (مانند -m64).
چاپ معماری (کامپایلر/سیستم‌عامل).
چاپ بستر اجرایی (سیستم‌عامل).
چاپ دایرکتوری باینری نصب root (محل فایل اجرایی root).
چاپ دایرکتوری پیکربندی (محل فایل‌های system.rootrc، نوع MIME، فایل‌های سرکوب valgrind و فایل‌های .desktop).
چاپ آرگومان‌های ارائه‌شده به ./configure در هنگام ساخت root. این آرگومان‌ها در صورتی که root با CMake ساخته شده باشد برای ./configure قابل استفاده نیستند.
چاپ شماره بازبینی git مربوط به ROOT که root از روی آن ساخته شده است.
بررسی اینکه آیا <feature> در فرایند ساخت فعال شده است یا خیر.
چاپ فهرستی از تمام ویژگی‌های پشتیبانی‌شده.
چاپ تعداد هسته‌های پردازشی موجود (با احتساب hyperthreading).
چاپ نسخهٔ Python استفاده‌شده توسط ROOT.
چاپ کامپایلر C جایگزین که هنگام ساخت ROOT مشخص شده است.
چاپ کامپایلر ++C جایگزین که هنگام ساخت ROOT مشخص شده است.
چاپ کامپایلر Fortran جایگزین که هنگام ساخت ROOT مشخص شده است.
چاپ پیونددهندهٔ جایگزین که هنگام ساخت ROOT مشخص شده است.

root(1), root-cint(1)

همچنین به صفحات وب ROOT مراجعه کنید: http://root.cern

تیم ROOT (به صفحهٔ وب بالا مراجعه کنید):

Rene Brun و Fons Rademakers

این کتابخانه یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط «مجوز عمومی جامع همگانی محدودتر گنو» (GNU Lesser General Public License) همان‌طور که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است، چه نسخهٔ 2.1 مجوز و چه (به انتخاب خودتان) هر نسخهٔ متأخرتری، بازتوزیع کرده و/یا تغییر دهید.

این کتابخانه با این امید که مفید واقع شود توزیع شده است، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابلیت فروش یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به «مجوز عمومی جامع همگانی محدودتر گنو» مراجعه کنید.

شما باید به همراه این کتابخانه نسخه‌ای از «مجوز عمومی جامع همگانی محدودتر گنو» را دریافت کرده باشید؛ در غیر این صورت، به آدرس زیر نامه بنویسید: Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

این صفحهٔ راهنما توسط Christian Holm Christensen <cholm@nbi.dk> برای سیستم گنو/لینوکس دبیان نوشته شده است (اما ممکن است توسط دیگران نیز استفاده شود).

Version 3 ROOT