CLISP-LINK(1) Platform: x86_64-pc-linux-gnu CLISP-LINK(1)

clisp-link - پیوند دادن یک ماژول خارجی جدید به CLISP[1].

clisp-link [create] [module] [file...]

clisp-link [add] [source] [destination] [module...]

clisp-link [run] [source] [module...]

clisp-link [install] [module...]

این اسکریپت شل بر روی مجموعه‌های ماژول و مجموعه‌های پیوند (linking sets) در CLISP[1] عمل می‌کند:

•دستور create مجموعه‌های ماژول جدید را از فایل‌های منبع ایجاد می‌کند.
•دستور add مجموعه‌های ماژول را به یک مجموعه پیوند اضافه می‌کند تا یک مجموعه پیوند جدید ایجاد کند.
•دستور run CLISP[1] را همراه با مجموعه‌های ماژولِ اضافه‌شده اجرا می‌کند.
•فقط در CLISP[1] ساخته‌شده بدون فلگ پیکربندی --without-dynamic-modules.

دستور install مجموعه‌های ماژول جدید را برای استفاده عمومی نصب می‌کند.

create

دستور
$ clisp-link create module file ...

یک مجموعه ماژول در دایرکتوری module ایجاد می‌کند که (از طریق پیوندهای نمادین) به فایل‌های file... اشاره دارد. انتظار می‌رود این فایل‌ها خودشان ماژول باشند.

add

دستور
$ clisp-link add source destination module ...

مجموعه پیوند موجود در پوشه source را با ماژول‌های موجود در پوشه‌های module... ترکیب کرده و یک مجموعه پیوند جدید در پوشه تازه ایجادشدهٔ destination تولید می‌کند.

run

دستور
$ clisp-link run source module ...

مجموعه پیوند موجود در پوشه source را همراه با ماژول‌های موجود در پوشه‌های module... اجرا می‌کند. مگر آن‌که CLISP[1] با گزینه پیکربندی --without-dynamic-modules ساخته شده باشد، بارگذاری با استفاده از SYS::DYNLOAD-MODULES انجام خواهد شد. در غیر این صورت - که بسیار کندتر است - یک مجموعه پیوند موقت ایجاد شده و پس از آن حذف می‌شود.

install

فقط در CLISP[1] ساخته‌شده بدون فلگ پیکربندی --without-dynamic-modules.

دستور

$ clisp-link install module ...

ماژول‌های موجود در پوشه‌های module... را در CUSTOM:*LIB-DIRECTORY* یا اگر برای کاربر قابل نوشتن نباشد (مثلاً اگر از نصب سراسری CLISP[1] در سیستم استفاده شود و کاربر دسترسی مدیریتی نداشته باشد)، در CUSTOM:*USER-LIB-DIRECTORY* نصب می‌کند.

متغیر CUSTOM:*USER-LIB-DIRECTORY* در ابتدا روی مقدار (MERGE-PATHNAMES[2] ".clisp/" (USER-HOMEDIR-PATHNAME[3])) تنظیم می‌شود (در صورتی که آن پوشه وجود داشته باشد)، و می‌توان آن را در فایل RC بازتنظیم کرد.


نکته
هرگز CUSTOM:*USER-LIB-DIRECTORY* را به CUSTOM:*LOAD-PATHS* یا زیرمجموعه هیچ عنصری از آن اضافه نکنید. برای بارگذاری ماژول‌های پویا به‌جای LOAD از REQUIRE استفاده کنید.
برای کارکرد صحیح این دستور، هر پوشه module باید شامل یک Makefile با یک هدف clisp-module-distrib باشد که با استفاده از LN فایل‌های لازم برای اجرای ماژول را به destdir توزیع کند. این علاوه بر شرط کلی وجود فایل link.sh است.

به بخش 32.2.6، «نمونه» مراجعه کنید.

دستور clisp-link به یک پوشه «کیت پیوند» (link kit) حاوی موارد زیر نیاز دارد:

•"modules.c"
•"clisp.h"

دستور clisp-link انتظار دارد این فایل‌ها را در زیرپوشه linkkit/ از پوشه نصب (یعنی CUSTOM:*LIB-DIRECTORY*) پیدا کند، که آن را با اجرای دستور زیر به دست می‌آورد:

$ `dirname $0`/clisp -b

این مقدار را می‌توان با متغیر محیطی environment variable[4] CLISP_LINKKIT بازنویسی (override) کرد.

CLISP impnotes
clisp(1)

Bruno Haible http://www.haible.de/bruno

نویسنده اصلی و نگهدارنده قدیمی.

Michael Stoll http://www.mathe2.uni-bayreuth.de/stoll

نویسنده اصلی.

Sam Steingold http://sds.podval.org

هم‌نگهدارنده از سال ۱۹۹۸.

دیگران (Others)

برای مشاهده فهرست سایر مشارکت‌کنندگان و مجوز، فایل COPYRIGHT (در سورس‌های CLISP) را ببینید.

Copyright © 1992-2010 Bruno Haible
Copyright © 1998-2010 Sam Steingold

1.
CLISP
2.
MERGE-PATHNAMES
3.
USER-HOMEDIR-PATHNAME
4.
متغیر محیطی
[set $man.base.url.for.relative.links]/basedefs/V1_chap08.html
Last modified: 2020-06-22 CLISP 2.49.93+