.TH WINEBUILD 1 "October 2005" "Wine 11.17" "Wine Developers Manual" .SH "نام (NAME)" winebuild \- ابزار ساخت dll واین .SH "خلاصه دستور (SYNOPSIS)" .B winebuild .RI [ options ]\ [ inputfile ...] .SH "توضیحات (DESCRIPTION)" .B winebuild فایل‌های اسمبلی لازم برای ساخت یک dll واین را تولید می‌کند، که در اصل یک dll ویندوز ۳۲بیتی (Win32) کپسوله‌شده درون یک کتابخانه یونیکس است. .PP .B winebuild بسته به این که چه نوع فایلی برای تولید از آن خواسته شده است، حالت‌های متفاوتی دارد. حالت مورد نظر توسط یکی از گزینه‌های حالت که در ادامه آمده‌اند مشخص می‌شود. علاوه بر گزینه حالت، گزینه‌های خط فرمان متنوع دیگری نیز می‌توانند تعیین شوند، همان‌طور که در بخش \fBگزینه‌ها (OPTIONS)\fR توضیح داده شده است. .SH "گزینه‌های حالت (MODE OPTIONS)" شما باید دقیقاً یکی از گزینه‌های زیر را تعیین کنید، بسته به این که می‌خواهید winebuild چه چیزی را تولید کند. .TP .BI \--dll ساخت یک فایل اسمبلی از روی یک فایل .spec (برای جزئیات به بخش \fBSPEC FILE SYNTAX\fR مراجعه کنید)، یا از روی یک فایل استاندارد .def ویندوز. فایل .spec/.def توسط گزینه .B \-E مشخص می‌شود. فایل حاصل باید اسمبلی شده و به دیگر فایل‌های شیء پیوند داده شود تا یک dll واین کاربردی و اجرایی ساخته شود. در این حالت، .I input files باید فهرستی از تمامی فایل‌های شیء باشد که در dll نهایی پیوند می‌خورند، تا به .B winebuild اجازه دهد فهرست تمامی نمادهای تعریف‌نشده‌ای که باید از دیگر dllها وارد شوند را دریافت کند. .TP .BI \--exe ساخت یک فایل اسمبلی برای یک فایل اجرایی. این حالت اساساً همانند حالت \fB--dll\fR است، به جز اینکه نیازی به فایل .spec/.def به عنوان ورودی ندارد، زیرا یک فایل اجرایی نیازی به صادر کردن توابع ندارد. با این حال برخی فایل‌های اجرایی توابعی را صادر می‌کنند، و برای آن‌ها یک فایل .spec/.def می‌تواند از طریق گزینه .B \-E تعیین شود. نام فایل اجرایی از روی نام فایل .spec/.def در صورت وجود برداشته می‌شود، یا به صراحت از طریق گزینه .B \-F تعیین می‌گردد. فایل حاصل باید اسمبلی شده و به دیگر فایل‌های شیء پیوند داده شود تا یک فایل اجرایی واین کارآمد ساخته شود، و تمامی فایل‌های شیء دیگر باید به عنوان .I input files فهرست شوند. .TP .BI \--def ساخت یک فایل .def از روی یک فایل spec. فایل .spec از طریق گزینه .B \-E تعیین می‌شود. این گزینه هنگام ساخت dllها با یک کامپایلر PE (Win32) استفاده می‌شود. .TP .BI \--implib ساخت یک کتابخانه واردسازی .a از روی یک فایل spec. فایل .spec از طریق گزینه .B \-E تعیین می‌شود. اگر نام کتابخانه خروجی به .delay.a ختم شود، یک کتابخانه واردسازی با تأخیر ساخته می‌شود. .TP .BI \--staticlib ساخت یک کتابخانه ایستا .a از روی فایل‌های شیء. .TP .B \--resources تولید یک فایل .o حاوی تمامی منابع ورودی. این گزینه هنگام ساخت با یک کامپایلر PE مفید است، زیرا ابزارهای binutils در PE نمی‌توانند چند فایل منبع را به عنوان ورودی اداره کنند. برای یک ساخت استاندارد یونیکس، فایل‌های منبع هنگام ساخت فایل spec به طور خودکار گنجانده می‌شوند، بنابراین نیازی به یک فایل واسط .o نیست. .TP .BI \--builtin علامت‌گذاری یک ماژول PE به عنوان ماژول داخلی واین، با افزودن رشته شناسه "Wine builtin DLL" بعد از هدر DOS. .TP .BI \--fixup-ctors اصلاح سازنده‌ها پس از ساخته شدن یک ماژول. این کار باید روی ماژول نهایی .so انجام شود اگر کد آن شامل سازنده‌ها باشد، تا تضمین شود که واین پیش از اجرای سازنده‌ها فرصت مقداردهی اولیه ماژول را دارد. .SH "گزینه‌ها (OPTIONS)" .TP .BI \--as-cmd= as-command دستور مورد استفاده برای کامپایل فایل‌های اسمبلی را تعیین می‌کند؛ پیش‌فرض \fBas\fR است. .TP .BI \-b,\ --target= cpu-manufacturer\fR[\fB-\fIkernel\fR]\fB-\fIos پردازنده و پلتفرم مقصد را که کد تولیدشده بر روی آن ساخته خواهد شد تعیین می‌کند. مشخصات مقصد در قالب استاندارد autoconf است، همان‌گونه که توسط config.sub برگردانده می‌شود. .TP .BI \-B\ directory دایرکتوری را به مسیر جستجو برای ابزارهای مختلف binutils مانند \fBas\fR، \fBnm\fR و \fBld\fR اضافه می‌کند. .TP .BI \--cc-cmd= cc-command کامپایلر C مورد استفاده برای کامپایل فایل‌های اسمبلی را تعیین می‌کند؛ پیش‌فرض استفاده از اسمبلر مشخص‌شده با \fB--as-cmd\fR است. .TP .B \--data-only ماژولی می‌سازد که تنها شامل داده‌ها و منابع بوده و هیچ کد اجرایی ندارد. با این گزینه، .B winebuild به جای یک فایل اسمبلی یا شیء، مستقیماً یک فایل PE خروجی می‌دهد. .TP .BI \-d,\ --delay-lib= name حالت واردسازی با تأخیر را برای کتابخانه تعیین‌شده تنظیم می‌کند، که باید یکی از کتابخانه‌های واردشده با گزینه \fB-l\fR باشد. حالت تأخیری به این معنی است که کتابخانه تا زمانی که تابعی که از آن وارد شده است واقعاً فراخوانی نشود، بارگذاری نخواهد شد. .TP .BI \-D\ symbol برای سازگاری با کامپایلر C نادیده گرفته می‌شود. .TP .B \--disable-dynamicbase تصادفی‌سازی چیدمان فضای آدرس (ASLR) را در تصویر اجرایی غیرفعال می‌کند. پیش‌فرض 'ASLR' فعال است. .TP .BI \-e,\ --entry= function تابع نقطه ورود ماژول را تعیین می‌کند؛ در صورت عدم تعیین، پیش‌فرض .B DllMain برای dllها، و .B main برای فایل‌های اجرایی است (اگر .B main استاندارد C تعریف نشده باشد، .B WinMain به جای آن استفاده می‌شود). این فقط برای ماژول‌های Win32 معتبر است. .TP .BI \-E,\ --export= filename یک فایل .spec (برای جزئیات به \fBSPEC FILE SYNTAX\fR مراجعه کنید)، یا یک فایل استاندارد .def ویندوز را تعیین می‌کند که صادرات مربوط به DLL یا فایل اجرایی در حال ساخت را تعریف می‌کند. .TP .B \--external-symbols اجازه پیوند به نمادهای خارجی را مستقیماً از فایل spec می‌دهد. به طور معمول نمادهای صادرشده توسط یک dll باید در خود dll تعریف شوند؛ این گزینه استفاده از نمادهای تعریف‌شده در یک کتابخانه دیگر یونیکس را ممکن می‌سازد (برای نمادهای تعریف‌شده در یک dll دیگر، باید به جای آن از یک مشخصه .I forward استفاده شود). .TP .BI \-f\ option یک گزینه تولید کد را تعیین می‌کند. در حال حاضر \fB\-fPIC\fR و \fB\-fasynchronous-unwind-tables\fR پشتیبانی می‌شوند. سایر گزینه‌ها برای سازگاری با کامپایلر C نادیده گرفته می‌شوند. .TP .B \--fake-module به جای فایل اسمبلی یا شیء معمولی، یک ماژول PE ساختگی برای یک dll یا exe ایجاد می‌کند. ماژول PE حاوی منابع ماژول است، اما هیچ کد اجرایی ندارد. .TP .BI \-F,\ --filename= filename نام فایل ماژول را تنظیم می‌کند. پیش‌فرض استفاده از نام پایه فایل spec (بدون هیچ پسوندی) است. .TP .B \-h, --help نمایش پیام نحوه استفاده و خروج. .TP .BI \-H,\ --heap= size اندازه هیپ محلی ماژول را بر حسب بایت تعیین می‌کند (فقط برای ماژول‌های Win16 معتبر است)؛ پیش‌فرض بدون هیپ محلی است. .TP .BI \-I\ directory برای سازگاری با کامپایلر C نادیده گرفته می‌شود. .TP .B \-k, --kill-at حذف تزئینات stdcall از نام‌های نماد در فایل .def تولیدشده. تنها در حالت \fB--def\fR معنادار است. .TP .BI \-K\ flags برای سازگاری با کامپایلر C نادیده گرفته می‌شود. .TP .BI \--large-address-aware تنظیم یک پرچم در فایل اجرایی تا به بارگذار اعلام کند که این برنامه از فضاهای آدرس بزرگتر از ۲ گیگابایت پشتیبانی می‌کند. .TP .BI \--ld-cmd= ld-command دستور مورد استفاده برای پیوند فایل‌های شیء را تعیین می‌کند؛ پیش‌فرض \fBld\fR است. .TP .B \-m16, -m32, -m64 به ترتیب کدهای ۱۶ بیتی، ۳۲ بیتی یا ۶۴ بیتی تولید می‌کند. .TP .BI \-march= option ,\ \-mcpu= option ,\ \-mfpu= option گزینه‌های تولید کد را برای اسمبلر تنظیم می‌کند. .TP .B \-mno-cygwin کتابخانه‌ای می‌سازد که به جای کتابخانه C یونیکس از زمان‌اجرای ویندوز استفاده می‌کند. .TP .BI \-M,\ --main-module= module هنگام ساخت یک dll شانزده‌بیتی، نام همتای ۳۲ بیتی آن را به \fImodule\fR تنظیم می‌کند. این گزینه برای این استفاده می‌شود که ترتیب بارگذاری dll شانزده‌بیتی با نسخه ۳۲ بیتی مطابقت داشته باشد. .TP .BI \-N,\ --dll-name= dllname نام داخلی ماژول را تنظیم می‌کند. فقط در ماژول‌های Win16 استفاده می‌شود. پیش‌فرض استفاده از نام پایه فایل spec (بدون پسوند) است. این برای KERNEL استفاده می‌شود، زیرا در KRNL386.EXE قرار دارد. در غیر این صورت نباید مورد نیاز باشد. .TP .BI \--nm-cmd= nm-command دستور مورد استفاده برای دریافت فهرست نمادهای تعریف‌نشده را تعیین می‌کند؛ پیش‌فرض \fBnm\fR است. .TP .BI --nxcompat= yes\fR|\fIno مشخص می‌کند که آیا ماژول با پشتیبانی no-exec سازگار است یا خیر. پیش‌فرض yes است. .TP .BI \-o,\ --output= file نام فایل خروجی را تعیین می‌کند (پیش‌فرض خروجی استاندارد است). اگر نام فایل خروجی به .o ختم شود، خروجی متنی به یک فایل موقت فرستاده می‌شود که سپس برای تولید فایل .o تعیین‌شده، اسمبلی می‌گردد. .TP .B --prefer-native مشخص می‌کند که اگر DLL بومی در زمان اجرا در دسترس بود، باید ترجیح داده شود. این گزینه می‌تواند روی ماژول‌هایی که بخش عمده آن‌ها پیاده‌سازی نشده است استفاده شود. .TP .BI \-r,\ --res= rsrc.res بارگذاری منابع از فایل دودویی منابع مشخص‌شده. فایل \fIrsrc.res\fR می‌تواند از یک فایل منبع سورس با .BR wrc (1) (یا با یک کامپایلر منابع ویندوز) تولید شود. .br این گزینه تنها برای فایل‌های منبع Win16 لازم است، فایل‌های Win32 می‌توانند به سادگی به عنوان .I input files فهرست شوند و به طور خودکار به درستی مدیریت خواهند شد (هرچند گزینه .B \-r برای فایل‌های Win32 نیز کار خواهد کرد). .TP .B --safeseh علامت‌گذاری فایل‌های شیء به عنوان سازگار با SEH. .TP .B --save-temps فایل‌های موقت مختلفی را که .B winebuild تولید می‌کند حذف نمی‌کند. .TP .BI \--strip-cmd= strip-command دستور مورد استفاده برای استریپ ماژول‌های PE را تعیین می‌کند. تنها در حالت \fB--builtin\fR معنادار است. .TP .BI --subsystem= subsystem\fR[\fB:\fImajor\fR[\fB.\fIminor\fR]] زیرسیستم فایل اجرایی را تنظیم می‌کند، که می‌تواند یکی از موارد زیر باشد: .br .B console برای یک فایل اجرایی خط فرمانی، .br .B windows برای یک فایل اجرایی گرافیکی، .br .B native برای یک dll در حالت بومی، .br .B wince برای یک dll ویندوز CE. .br نقطه ورود یک فایل اجرایی خط فرمانی تابع معمول C یعنی \fBmain\fR است. در صورتی که نیاز داشته باشید آرایه آرگومان‌ها از رشته‌های یونیکد استفاده کند، می‌توان از تابع \fBwmain\fR به جای آن استفاده کرد. یک فایل اجرایی گرافیکی دارای نقطه ورود \fBWinMain\fR است. .br به صورت اختیاری نسخه اصلی و فرعی زیرسیستم نیز می‌تواند تعیین شود؛ نسخه پیش‌فرض زیرسیستم 4.0 است. .TP .BI \-u,\ --undefined= symbol افزودن \fIsymbol\fR به فهرست نمادهای تعریف‌نشده هنگام فراخوانی پیونددهنده. این امکان را فراهم می‌کند که هنگام حل واردات، گنجاندن یک ماژول خاص از یک کتابخانه ایستا اجباری شود. .TP .B \-v, --verbose نمایش زیرفرمان‌های مختلفی که توسط .BR winebuild فراخوانی می‌شوند. .TP .B \--version نمایش نسخه برنامه و خروج. .TP .B \-w, --warnings فعال‌سازی هشدارها. .TP .B \--without-dlltool تولید کتابخانه واردسازی بدون استفاده از dlltool. .SH "قالب فایل مشخصات (SPEC FILE SYNTAX)" .SS "قالب کلی (General syntax)" یک فایل spec باید حاوی فهرستی از اعلانات ترتیبی باشد. قالب کلی به صورت زیر است: .PP .I ordinal functype .RI [ flags ]\ exportname \ \fB(\fR\ [ args... ] \ \fB) \ [ handler ] .br .IB ordinal\ variable .RI [ flags ]\ exportname \ \fB(\fR\ [ data... ] \ \fB) .br .IB ordinal\ extern .RI [ flags ]\ exportname \ [ symbolname ] .br .IB ordinal\ stub .RI [ flags ]\ exportname \ [\ \fB( args... \fB)\fR\ ] .br .IB ordinal\ equate .RI [ flags ]\ exportname\ data .br .BI #\ comments .PP اعلانات باید در یک سطر جای گیرند، مگر اینکه انتهای سطر با استفاده از نویسه بک‌اسلش اسکیپ شده باشد. نویسه .B # در هر کجای سطر باعث می‌شود باقی‌مانده آن سطر به عنوان کامنت نادیده گرفته شود. .PP .I ordinal شماره ترتیبی متناظر با نقطه ورود را مشخص می‌کند، یا '@' برای تخصیص خودکار شماره ترتیبی (فقط Win32). .PP .I flags مجموعه‌ای از پرچم‌های اختیاری است که با نویسه '-' شروع می‌شوند. پرچم‌های پشتیبانی‌شده عبارتند از: .RS .TP .B -norelay نقطه ورود در ردگیری‌های اشکال‌زدایی رله نمایش داده نمی‌شود (فقط Win32). .TP .B -noname نقطه ورود به جای نام، با شماره ترتیبی صادر خواهد شد. نام همچنان برای واردسازی در دسترس است. .TP .B -ret16 تابع یک مقدار ۱۶ بیتی برمی‌گرداند (فقط Win16). .TP .B -ret64 تابع یک مقدار ۶۴ بیتی برمی‌گرداند (فقط Win32). .TP .B -register تابع از رجیستر CPU برای انتقال آرگومان‌ها استفاده می‌کند. .TP .B -private تابع نمی‌تواند از dllهای دیگر وارد شود؛ تنها از طریق GetProcAddress قابل دسترسی است. .TP .B -ordinal نقطه ورود به جای نام، با شماره ترتیبی وارد خواهد شد. نام همچنان صادر می‌شود. .TP .B -thiscall تابع از قرارداد فراخوانی .I thiscall استفاده می‌کند (اولین پارامتر در رجیستر %ecx روی i386). .TP .B -fastcall تابع از قرارداد فراخوانی .I fastcall استفاده می‌کند (دو پارامتر اول در رجیسترهای %ecx/%edx روی i386). .TP .B -syscall\fR[=\fInumber\fR] تابع یک فراخوانی سیستمی NT است. یک تانک فراخوانی سیستمی تولید خواهد شد، و تابع واقعی توسط تابع \fI__wine_syscall_dispatcher\fR در ntdll فراخوانی می‌شود. شماره فراخوانی سیستمی می‌تواند صراحتاً تعیین شود؛ به طور پیش‌فرض به صورت متوالی از 0 تخصیص می‌یابد. .TP .B -import تابع از یک ماژول دیگر وارد می‌شود. این گزینه می‌تواند به جای مشخصه .I forward استفاده شود هنگامی که یک برنامه انتظار دارد پیاده‌سازی تابع را درون dll پیدا کند. .TP .B -arch=\fR[\fB!\fR]\fIcpu\fR[\fB,\fIcpu\fR] نقطه ورود تنها در معماری‌(های) CPU تعیین‌شده در دسترس است. نام‌های \fBwin32\fR و \fBwin64\fR به ترتیب با تمامی معماری‌های ۳۲ بیتی یا ۶۴ بیتی CPU مطابقت دارند. در dllهای ۱۶ بیتی، تعیین \fB-arch=win32\fR باعث می‌شود نقطه ورود از ماژول بسته‌بندی ۳۲ بیتی صادر شود. نام یک CPU می‌تواند با \fB!\fR پیشوند شود تا تنها آن معماری خاص مستثنی گردد. .RE .SS "ترتیبی‌های تابع (Function ordinals)" نحو: .br .I ordinal functype .RI [ flags ]\ exportname \ \fB(\fR\ [ args... ] \ \fB) \ [ handler ] .PP این اعلان یک نقطه ورود تابع را تعریف می‌کند. پیش‌نمونه تعریف‌شده توسط .IR exportname \ \fB(\fR\ [ args... ] \ \fB) نام در دسترس برای پیوند پویا و قالب آرگومان‌ها را مشخص می‌کند. به جای .I exportname می‌توان از '@' برای صادرات فقط-ترتیبی استفاده کرد. .PP .I functype باید یکی از موارد زیر باشد: .RS .TP .B stdcall برای یک تابع عادی Win32 .TP .B pascal برای یک تابع عادی Win16 .TP .B cdecl برای یک تابع Win16 یا Win32 با استفاده از قرارداد فراخوانی C .TP .B varargs برای یک تابع Win16 یا Win32 با استفاده از قرارداد فراخوانی C با تعداد متغیر آرگومان‌ها .RE .PP .I args باید یک یا چند مورد از موارد زیر باشد: .RS .TP .B word (مقدار ۱۶ بیتی بدون علامت) .TP .B s_word (کلمه ۱۶ بیتی علامت‌دار) .TP .B long (مقدار عدد صحیح به اندازه اشاره‌گر) .TP .B int64 (مقدار عدد صحیح ۶۴ بیتی) .TP .B int128 (مقدار عدد صحیح ۱۲۸ بیتی) .TP .B float (مقدار ممیز شناور ۳۲ بیتی) .TP .B double (مقدار ممیز شناور ۶۴ بیتی) .TP .B ptr (اشاره‌گر خطی) .TP .B str (اشاره‌گر خطی به یک رشته ASCII با پایان تهی) .TP .B wstr (اشاره‌گر خطی به یک رشته Unicode با پایان تهی) .TP .B segptr (اشاره‌گر قطعه‌بندی‌شده) .TP .B segstr (اشاره‌گر قطعه‌بندی‌شده به یک رشته ASCII با پایان تهی). .HP توجه: انواع ۱۶ بیتی و اشاره‌گر قطعه‌بندی‌شده تنها برای توابع Win16 معتبر هستند. .RE .PP .I handler نام تابع واقعی C است که آن نقطه ورود را در حالت ۳۲ بیتی پیاده‌سازی می‌کند. گرداننده همچنین می‌تواند به صورت .IB dllname . function مشخص شود تا یک تابع ارجاع‌داده‌شده (تابعی که پیاده‌سازی آن در dll دیگری است) را تعریف کند. اگر .I handler تعیین نشود، فرض می‌شود که با .I exportname یکسان است. .PP این مثال اول یک نقطه ورود برای فراخوانی ۳۲ بیتی ()GetFocus تعریف می‌کند: .IP @ stdcall GetFocus() GetFocus .PP این مثال دوم یک نقطه ورود برای فراخوانی ۱۶ بیتی ()CreateWindow تعریف می‌کند (شماره ترتیبی 100 تنها یک مثال است)؛ همچنین نشان می‌دهد که چگونه سطرهای طولانی می‌توانند با استفاده از بک‌اسلش شکسته شوند: .IP 100 pascal CreateWindow(ptr ptr long s_word s_word s_word \\ s_word word word word ptr) WIN_CreateWindow .PP برای اعلان تابعی با استفاده از تعداد متغیر آرگومان‌ها، تابع را به عنوان .B varargs مشخص کرده و آن را در فایل C با یک پارامتر '...' برای تابع Win32، یا با یک آرگومان اضافی VA_LIST16 برای تابع Win16 اعلان کنید. برای نمونه به توابع *wsprintf در user.exe.spec و user32.spec مراجعه کنید. .SS "ترتیبی‌های متغیر (Variable ordinals)" نحو: .br .IB ordinal\ variable .RI [ flags ]\ exportname \ \fB(\fR\ [ data... ] \ \fB) .PP این اعلان ذخیره‌سازی داده را به عنوان کلمات ۳۲ بیتی در شماره ترتیبی مشخص‌شده تعریف می‌کند. .I exportname نام در دسترس برای پیوند پویا خواهد بود. .I data می‌تواند یک عدد ده‌دهی یا یک عدد هگزادسیمال با پیشوند "0x" باشد. مثال زیر متغیر VariableA را در شماره ترتیبی 2 و حاوی ۴ عدد int تعریف می‌کند: .IP 2 variable VariableA(-1 0xff 0 0) .PP این اعلان تنها در فایل‌های spec مربوط به Win16 کار می‌کند. در Win32 باید به جای آن از .B extern استفاده کنید (به زیر مراجعه کنید). .SS "ترتیبی‌های خارجی (Extern ordinals)" نحو: .br .IB ordinal\ extern .RI [ flags ]\ exportname \ [ symbolname ] .PP این اعلان ورودی‌ای را تعریف می‌کند که صرفاً به یک نماد C (متغیر یا تابع) نگاشت می‌شود. این تنها در فایل‌های spec مربوط به Win32 کار می‌کند. .I exportname به نماد .I symbolname اشاره خواهد کرد که باید در کد C تعریف شده باشد. در حالت دیگر، می‌تواند به شکل .IB dllname . symbolname باشد تا یک نماد ارجاع‌داده‌شده (نمادی که پیاده‌سازی آن در یک dll دیگر است) را تعریف کند. اگر .I symbolname تعیین نشود، فرض می‌شود که با .I exportname یکسان است. .SS "ترتیبی‌های جانشین (Stub ordinals)" نحو: .br .IB ordinal\ stub .RI [ flags ]\ exportname \ [\ \fB( args... \fB)\fR\ ] .PP این اعلان یک تابع جانشین را تعریف می‌کند. این اعلان نام و شماره ترتیبی را برای پیوند پویا در دسترس قرار می‌دهد، اما در صورتی که این تابع فراخوانی شود، اجرا را با یک پیام خطا متوقف خواهد کرد. .SS "ترتیبی‌های برابری (Equate ordinals)" نحو: .br .IB ordinal\ equate .RI [ flags ]\ exportname\ data .PP این اعلان یک شماره ترتیبی را به عنوان یک مقدار مطلق تعریف می‌کند. .I exportname نام در دسترس برای پیوند پویا خواهد بود. .I data می‌تواند یک عدد ده‌دهی یا یک عدد هگزادسیمال با پیشوند "0x" باشد. .SS "مجموعه‌های ای‌پی‌آی (Api sets)" نحو: .br .BI apiset\ apiset_dll\ =\ target.dll\ [host.dll:target.dll] .PP این اعلان مشخص می‌کند که \fIapiset_dll\fR (به فرم api-ms-*) به \fItarget\fR dll حل می‌شود. به صورت اختیاری می‌توان اهداف دیگری را تعیین کرد تا برای dllهای میزبان خاص به طور متفاوتی حل شوند. برای مثال: .IP api-ms-win-core-processenvironment-l1-1-0 = kernelbase.dll .br api-ms-win-core-processthreads-l1-1-0 = kernel32.dll \\ .br kernel32.dll:kernelbase.dll .PP اگر apisetها تعریف شده باشند، یک بخش .apiset متناظر در باینری PE تولید خواهد شد. این کار نیازمند ساخت ماژول با گزینه --data-only است. .SH "نویسندگان (AUTHORS)" .B winebuild طی سال‌ها توسط افراد زیادی توسعه یافته است. نویسندگان اصلی عبارتند از Robert J. Amstadt، Alexandre Julliard، Martin von Loewis، Ulrich Weigand و Eric Youngdale. بسیاری افراد دیگر نیز در افزودن قابلیت‌های جدید و رفع اشکالات مشارکت داشته‌اند. برای مشاهده فهرست کامل، گزارش‌های کامیت گیت را ببینید. .SH "اشکالات (BUGS)" در حال حاضر استفاده از یک dll با فرمت PE در مشخصات واردسازی امکان‌پذیر نیست؛ تنها dllهای واین را می‌توان وارد کرد. .PP اشکالات را می‌توان در .UR https://bugs.winehq.org .B سامانه ردیابی اشکالات واین .UE گزارش کرد. .SH "در دسترس بودن (AVAILABILITY)" .B winebuild بخشی از توزیع واین است که از طریق WineHQ در دسترس قرار دارد؛ .UR https://www.winehq.org .B مرکز توسعه واین .UE . .SH "همچنین ببینید (SEE ALSO)" .BR wine (1), .BR winegcc (1), .BR wrc (1), .br .UR https://www.winehq.org/help .B مستندات و پشتیبانی واین .UE .