'\" t .\" Title: clisp-link .\" Author: Bruno Haible <\m[blue]\fB\%http://www.haible.de/bruno\fR\m[]> .\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: Last modified: 2020-06-22 .\" Manual: Platform: x86_64-pc-linux-gnu .\" Source: CLISP 2.49.93+ .\" Language: English .\" .TH "CLISP\-LINK" "1" "Last modified: 2020\-06\-22" "CLISP 2.49.93+" "Platform: x86_64-pc-linux-gnu" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" clisp-link \- پیوند دادن یک ماژول خارجی جدید به \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[1]\d\s+2\&. .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\fBclisp\-link\fR\ 'u \fBclisp\-link\fR [\fBcreate\fR] [\fB\fImodule\fR\fR] [\fB\fIfile\fR\fR...] .HP \w'\fBclisp\-link\fR\ 'u \fBclisp\-link\fR [\fBadd\fR] [\fB\fIsource\fR\fR] [\fB\fIdestination\fR\fR] [\fB\fImodule\fR\fR...] .HP \w'\fBclisp\-link\fR\ 'u \fBclisp\-link\fR [\fBrun\fR] [\fB\fIsource\fR\fR] [\fB\fImodule\fR\fR...] .HP \w'\fBclisp\-link\fR\ 'u \fBclisp\-link\fR [\fBinstall\fR] [\fB\fImodule\fR\fR...] .SH "توضیحات (DESCRIPTION)" .PP این اسکریپت شل بر روی مجموعه‌های ماژول و مجموعه‌های پیوند (linking sets) در \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[1]\d\s+2 عمل می‌کند: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} دستور \fBcreate\fR مجموعه‌های ماژول جدید را از فایل‌های منبع ایجاد می‌کند. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} دستور \fBadd\fR مجموعه‌های ماژول را به یک مجموعه پیوند اضافه می‌کند تا یک مجموعه پیوند جدید ایجاد کند. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} دستور \fBrun\fR \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[1]\d\s+2 را همراه با مجموعه‌های ماژولِ اضافه‌شده اجرا می‌کند. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIفقط در \fR\fI\m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[1]\d\s+2\fR\fI ساخته‌شده \fR\fI\fBبدون\fR\fR\fI فلگ پیکربندی \fR\fI\fB\-\-without\-dynamic\-modules\fR\fR\fI\&.\fR .sp دستور \fBinstall\fR مجموعه‌های ماژول جدید را برای استفاده عمومی نصب می‌کند. .RE .SH "گزینه‌ها (OPTIONS)" .PP \fBcreate\fR .RS 4 دستور .sp .if n \{\ .RS 4 .\} .nf $ \fBclisp\-link\fR \fBcreate\fR \fImodule\fR \fIfile\fR \&.\&.\&. .fi .if n \{\ .RE .\} .sp یک مجموعه ماژول در دایرکتوری \fImodule\fR ایجاد می‌کند که (از طریق پیوندهای نمادین) به فایل‌های \fIfile\fR\&.\&.\&. اشاره دارد. انتظار می‌رود این فایل‌ها خودشان ماژول باشند\&. .RE .PP \fBadd\fR .RS 4 دستور .sp .if n \{\ .RS 4 .\} .nf $ \fBclisp\-link\fR \fBadd\fR \fIsource\fR \fIdestination\fR \fImodule\fR \&.\&.\&. .fi .if n \{\ .RE .\} .sp مجموعه پیوند موجود در پوشه \fIsource\fR را با ماژول‌های موجود در پوشه‌های \fImodule\fR\&.\&.\&. ترکیب کرده و یک مجموعه پیوند جدید در پوشه تازه ایجادشدهٔ \fIdestination\fR تولید می‌کند\&. .RE .PP \fBrun\fR .RS 4 دستور .sp .if n \{\ .RS 4 .\} .nf $ \fBclisp\-link\fR \fBrun\fR \fIsource\fR \fImodule\fR \&.\&.\&. .fi .if n \{\ .RE .\} .sp مجموعه پیوند موجود در پوشه \fIsource\fR را همراه با ماژول‌های موجود در پوشه‌های \fImodule\fR\&.\&.\&. اجرا می‌کند. مگر آن‌که \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[1]\d\s+2 با گزینه پیکربندی \fB\-\-without\-dynamic\-modules\fR ساخته شده باشد، بارگذاری با استفاده از \fBSYS::DYNLOAD\-MODULES\fR انجام خواهد شد. در غیر این صورت \- که بسیار کندتر است \- یک مجموعه پیوند موقت ایجاد شده و پس از آن حذف می‌شود\&. .RE .PP \fBinstall\fR .RS 4 \fIفقط در \fR\fI\m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[1]\d\s+2\fR\fI ساخته‌شده \fR\fI\fBبدون\fR\fR\fI فلگ پیکربندی \fR\fI\fB\-\-without\-dynamic\-modules\fR\fR\fI\&.\fR .sp دستور .sp .if n \{\ .RS 4 .\} .nf $ \fBclisp\-link\fR \fBinstall\fR \fImodule\fR \&.\&.\&. .fi .if n \{\ .RE .\} .sp ماژول‌های موجود در پوشه‌های \fImodule\fR\&.\&.\&. را در \fICUSTOM:*LIB\-DIRECTORY*\fR یا اگر برای کاربر قابل نوشتن نباشد (مثلاً اگر از نصب سراسری \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[1]\d\s+2 در سیستم استفاده شود و کاربر دسترسی مدیریتی نداشته باشد)، در \fICUSTOM:*USER\-LIB\-DIRECTORY*\fR نصب می‌کند\&. .sp متغیر \fICUSTOM:*USER\-LIB\-DIRECTORY*\fR در ابتدا روی مقدار (\m[blue]\fB\fBMERGE\-PATHNAMES\fR\fR\m[]\&\s-2\u[2]\d\s+2 "\&.clisp/" (\m[blue]\fB\fBUSER\-HOMEDIR\-PATHNAME\fR\fR\m[]\&\s-2\u[3]\d\s+2)) تنظیم می‌شود (در صورتی که آن پوشه وجود داشته باشد)، و می‌توان آن را در فایل RC بازتنظیم کرد\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBنکته\fR .ps -1 .br هرگز \fICUSTOM:*USER\-LIB\-DIRECTORY*\fR را به \fICUSTOM:*LOAD\-PATHS*\fR یا زیرمجموعه هیچ عنصری از آن اضافه \fBنکنید\fR\&. برای بارگذاری ماژول‌های پویا به‌جای \fBLOAD\fR از \fBREQUIRE\fR استفاده کنید\&. .sp .5v .RE برای کارکرد صحیح این دستور، هر پوشه \fImodule\fR باید شامل یک Makefile با یک هدف \fBclisp\-module\-distrib\fR باشد که با استفاده از \fBLN\fR فایل‌های لازم برای اجرای ماژول را به \fBdestdir\fR توزیع کند. این علاوه بر شرط کلی وجود فایل \fBlink\&.sh\fR است\&. .RE .SH "مثال‌ها (EXAMPLES)" .PP به بخش\ \&32.2.6، «نمونه» مراجعه کنید\&. .SH "فایل‌ها (FILES)" .PP دستور \fBclisp\-link\fR به یک پوشه «کیت پیوند» (link kit) حاوی موارد زیر نیاز دارد: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} "modules\&.c" .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} "clisp\&.h" .RE .sp دستور \fBclisp\-link\fR انتظار دارد این فایل‌ها را در زیرپوشه linkkit/ از پوشه نصب (یعنی \fICUSTOM:*LIB\-DIRECTORY*\fR) پیدا کند، که آن را با اجرای دستور زیر به دست می‌آورد: .sp .if n \{\ .RS 4 .\} .nf $ `dirname $0`/clisp \fB\-b\fR .fi .if n \{\ .RE .\} .sp این مقدار را می‌توان با متغیر محیطی \m[blue]\fBenvironment variable\fR\m[]\&\s-2\u[4]\d\s+2 \fBCLISP_LINKKIT\fR بازنویسی (override) کرد\&. .SH "همچنین ببینید (SEE ALSO)" .PP .RS 4 CLISP impnotes .RE .RS 4 clisp(1) .RE .SH "نویسندگان (AUTHORS)" .PP \fBBruno Haible\fR <\&\m[blue]\fB\%http://www.haible.de/bruno\fR\m[]\&> .RS 4 نویسنده اصلی و نگهدارنده قدیمی\&. .RE .PP \fBMichael Stoll\fR <\&\m[blue]\fB\%http://www.mathe2.uni-bayreuth.de/stoll\fR\m[]\&> .RS 4 نویسنده اصلی\&. .RE .PP \fBSam Steingold\fR <\&\m[blue]\fB\%http://sds.podval.org\fR\m[]\&> .RS 4 هم‌نگهدارنده از سال ۱۹۹۸\&. .RE .PP \fBدیگران (Others)\fR .RS 4 برای مشاهده فهرست سایر مشارکت‌کنندگان و مجوز، فایل \fICOPYRIGHT (در سورس‌های CLISP)\fR را ببینید\&. .RE .SH "حق نشر (COPYRIGHT)" .br Copyright \(co 1992-2010 Bruno Haible .br Copyright \(co 1998-2010 Sam Steingold .br .SH "نکات (NOTES)" .IP " 1." 4 \fBCLISP\fR .RS 4 \%http://clisp.org .RE .IP " 2." 4 \fBMERGE-PATHNAMES\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_merge-pathnames.html .RE .IP " 3." 4 \fBUSER-HOMEDIR-PATHNAME\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_user-homedir-pathname.html .RE .IP " 4." 4 متغیر محیطی .RS 4 \%[set $man.base.url.for.relative.links]/basedefs/V1_chap08.html .RE