Cross-compilation from Win32 to GO32v2/id

From Free Pascal wiki
Revision as of 16:13, 30 September 2007 by Adezm (talk | contribs) (New page: Secara umum, FPC mendukung kompilasi-silang dengan harapan anda mempunyai "piranti-silang" (assembler dan linker), misalnya piranti menjalankan pada platform sumber, tapi membuat biner unt...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Secara umum, FPC mendukung kompilasi-silang dengan harapan anda mempunyai "piranti-silang" (assembler dan linker), misalnya piranti menjalankan pada platform sumber, tapi membuat biner untuk platform target (berbeda) dalam direktori "bin" biasa (misalnya i386-win32 untuk instalasi Win32 anda). Nama file dari piranti ini harus diawali dengan spesifikasi platform target (misalnya "i386-linux-as.exe" atau "i386-go32v2-ld.exe").

Ketika mengambil terutama mengenai target GO32v2 di bawah Win32, ada dua kemungkinan cara bagaimana untuk mendapatkan ini. Cara umum (mungkin untuk GO32v2 juga) adalah mengkompilasi piranti-silang nyata, misalnya mengompilasi versi GO32v2 sebagai .exe dengan GNU C untuk Win32 (Cygwin atau MingW32) guna mendapatkan biner nyata Win32 yang menghasilkan output untuk GO32v2. Ini adalah satu-satunya solusi yang mungkin untuk platform yang tidak memiliki laisan emulasi untuk menjalankan biner"-nya" (Linux, FreeBSD, Netware dll.). Piranti-silang pra-kompilasi untuk beberapa kombinasi host-guest tersedia di server FTP kami - jika anda membangun piranti itu untuk kombinasi lainnya, atau membangun (dan diuji dengan sukses) versi baru dari yang sudah ada, anda dipersilahkan untuk mengkontribusikannya.

Kemungkinan kedua adalah mengambil keuntungan dari WinXX bisa menjalankan biner DOS dan cukup meng-copynya ke lokasi baru dan nama yang berbeda. Ini mempunyai beberapa keterbatasan (misalnya berkenaan dengan panjang maksimum baris perintah), tapi ia bekerja secara umum (meskipun saya tidak mempertimbangkan solusi ini benar-benar yang didukung - akan tetapi, ini yang termudah).

Anda masih memerlukan RTLs tersedia tentunya. Satu isu tambahan di sini adalah bahwa kompilator GO32v2 mengharapkan RTL dalam /units/go32v2/rtl (untuk membolehkannya berjalan bahkan dalam DOS biasa yang kekurangan batasan panjang nama 8.3), sedangkan kompilator Win32 (termasuk yang diintegrasikan dalam IDE kami) mengharapkan direktori dengan nama target lengkap (i386-go32v2), maka anda perlu mengganti nama direktori yang didistribusikan bersama dengan rilis asli GO32v2 (jika anda tidak bermaksud menggunakan kompilator GO32v2 asli lagi), atau membuat sebuah copy.

Terakhir, mendebug-silang (men-debug biner GO32v2 dalam Win32 IDE) tidak dimungkinkan untuk saat ini. Satu-satunya kemungkinan adalah untuk menggunakan GO32v2 IDE (atau GO32v2 gdb sendiri) secara langsung.

Artikel lain terkait kompilasi-silang dalam FPC dapat ditemukan di Lazarus Wiki, dokumentasi untuk membangun kompilator (termasuk beberapa informasi mengenai kompilasi-silang) dapat ditemukan di dokumen buildfaq.pdf.