Hírek | Archívum | Fórum | IRC | Amiga | AmigaOS | FAQ | RSS

 - Fórumok - Keresés - Statisztika - Szabályzat - Pegasos.hu fórum
forum.amigaspirit.hu / Fejlesztés / Free Pascal Compiler (classic és OS4 is)
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 .
Szerző Üzenet
Awe
Tag

# Elküldve: 2019. Jan. 30. 10:08


Tudna valaki részletes leírást adni, hogyan kell a Lazarust beállítani Linux alatt úgy, hogy m68k-amiga célt fordítson? A google eddig nem igazás segített, mert az ott talált leírások nekem nem működtek.

Chain-Q
Divatamigás

# Elküldve: 2019. Jan. 30. 14:47 - Szerkesztve: charlie


Én nem értem mi ebben a bonyolult, mert kb. ugyanaz mint command line-ból, nagyjábol 3-4 paraméter kell hozzá, amit meg kell tanítani Lazarusnak, ami ugyanúgy meghívja csak a fordítót mintha te tennéd.

De írtam egy ilyet:

http://wiki.amigaspirit.hu/index.php/Setting_up_Lazarus_IDE_for_Amiga_Crosscompiling

Most tesztelve Lazarus 2.0 RC3-on és macOS-en, de kb. Linux vagy Windows alól is ugyanúgy működik.

Awe
Tag

# Elküldve: 2019. Jan. 30. 15:18


Remek, már látom mit hagytam ki. Köszi!

Awe
Tag

# Elküldve: 2019. Jan. 30. 17:51


A "Hello world!" program elég nagyra fordítódott. több mint 300k. Gondolom ez az ára annak, hogy teljesen rendszerbarát.

Chain-Q
Divatamigás

# Elküldve: 2019. Jan. 31. 11:10 - Szerkesztve: charlie


A leirasomban az is latszik, hogy az en hello worldom 39K. :) A Viaduct, ami egy komplett app es FPC-ben van, es 3 subthreadet futtat, az kevesebb mint 64K...

Szoval nem, nem az az ara... Az van, hogy kelloen fejlett assembler es linker tamogatas nelkul (ami a 3.0.x-ben meg nincs benne), a jovo hetet is statikusan belinkeli a cucc az exe-be. Emiatt lehet h. a hello world 300K, de vegul az appod sem lesz sokkal nagyobb (ill. igen, ha sok unitot hasznalsz, mert minden 1:1-ben bekerul a vegleges exe-be). A 3.2.x/3.3.x-ben mar van ra tamogatas, hogy csak a szukseges dolgok keruljenek vegul a cuccba, de ehhez vlink/vasm kell, es a megfelelo parameterek.

Eloszor is, melyik verziot hasznalod? A 3.0.x-et vagy a 3.2.x/3.3.x-et? Ezen kivul, GNU AS/LD-vel, vagy vasm/vlink-kel forditassz?

Awe
Tag

# Elküldve: 2019. Jan. 31. 18:28


FPC 3.3.1 -et használok. A vasm nálam nem megy, mert valami hiba üzenettel leáll. A GNU AS 2.14 fordít.

Chain-Q
Divatamigás

# Elküldve: 2019. Jan. 31. 22:35 - Szerkesztve: charlie


Ha megirnad a "valami hiba uzenet"-et, esetleg meg segiteni is tudnek? :) Ill. hogy milyen vasm verziot hasznalsz. A GNU AS-sel forditott objektumok a.out formatumuak, amiben osszesen 1db kodszegmens van, igy a linker nem tudja kivalogatni h. mi az ami valoban hasznalt belole. Szoval a problemad ebbol fakad.

Awe
Tag

# Elküldve: 2019. Feb. 01. 15:32


Jövő héten megnézem, hogy mit ír ki hibaként. A munkahelyi gépemen van ezért csak hétfőn tudom megnézni.
Kérdés: A binutils -ból az FPC -nek csak az assembler és a linker kell?

Chain-Q
Divatamigás

# Elküldve: 2019. Feb. 01. 16:16 - Szerkesztve: charlie


Igen, csak az kell. Egyebkent elofordulhat, hogy frissebb vlink/vasm kell, ha regebben forditottad. Hasznalunk nehany ficsort a legfrissebbol, es egy par bugfix is bekerult a keresunkre.

Szerk: ja es sajnos a bebbo-fele meg ujabb binutils se jo, mert elf objektek es named sectionok tamogatasa helyett inkabb visszatakolta a binutilsba a classic-Amiga fele nativ objektek tamogatasat, ami egyreszt bizonyos usecase-ekhez ertheto, masreszt meg lehetetlenne teszi az ilyesmi link-ideju meretoptimalizalast. Szoval csak vasm/vlink jo, sajnos.

(Amig be nem fejezem az FPC nativ linkeret, mindjart kesz mar majdnem elkezdtem...)

Awe
Tag

# Elküldve: 2019. Feb. 04. 10:21


vasm 1.8d (c) in 2002-2018 Volker Barthelmann
vasm M68k/CPU32/ColdFire cpu backend 2.3c (c) 2002-2018 Frank Wille
vasm motorola syntax module 3.11d (c) 2002-2018 Frank Wille
vasm test output module 1.0 (c) 2002 Volker Barthelmann



project1.lpr(5,25) Error: Error while assembling exitcode 1

Chain-Q
Divatamigás

# Elküldve: 2019. Feb. 04. 13:25 - Szerkesztve: charlie


Hat, ami biztosan nemjo, hogy Motorola szintaxis frontenddel van forditva a VASM, viszont a Free Pascal a "standard" szintaxist ir az asm fajlba (azaz azonost mint a GNU AS).

A helyes assemblerhez a VASM-ot igy kell leforditani:

make CPU=m68k SYNTAX=std

Ezutan kapsz egy vasmm68k_std nevu fajlt, aminek az elinditasakor valami ilyesmit kene latnod:

vasm 1.8e (c) in 2002-2018 Volker Barthelmann
vasm M68k/CPU32/ColdFire cpu backend 2.3c (c) 2002-2018 Frank Wille
vasm std syntax module 5.1d (c) 2002-2018 Volker Barthelmann
vasm test output module 1.0 (c) 2002 Volker Barthelmann

Mint latszik, ez az std syntax modullal van forditva, ez kell az FPC-nek. Az hogy atnevezed a vasmm68k_mot fajlt, ami a Motorola szintaxissal valo forditaskor keletkezik nem palya. :)

Honnet szedted azt a vasm-ot? Sajat forditas, vagy valami csomag rakta fel?

Szerk: egyebkent most rajottem, hogy ez, marmint hogy standard szintaxisu VASM kell az FPC-nek, nincs dokumentalva. Szoval meg is teszem.

Szerk #2: Dokumentalva itt: http://wiki.freepascal.org/Amiga#Assembler

Awe
Tag

# Elküldve: 2019. Feb. 04. 14:08


Projekt fordítása, OS: amiga, CPU: m68k, Cél: Teszt: Kilépési kód: 1, Hibák: 1
Free Pascal Compiler version 3.3.1 [2019/01/29] for m68k
Copyright (c) 1993-2018 by Florian Klaempfl and others
Target OS: Commodore Amiga
Compiling project1.lpr
Assembling project1
/home/awe74/Projects/Amiga/lib/m68k-amiga/project1.o: file not recognized: File format not recognized
Linking /home/awe74/Projects/Amiga/Teszt
project1.lpr(5,25) Error: Error while linking


vlink V0.16a (c)1997-2017 by Frank Wille
build date: Jan 24 2019, 13:47:52

Chain-Q
Divatamigás

# Elküldve: 2019. Feb. 04. 14:20


Mit ad vissza a "file /home/awe74/Projects/Amiga/lib/m68k-amiga/project1.o:" parancs?

Awe
Tag

# Elküldve: 2019. Feb. 04. 14:37


/home/awe74/Projects/Amiga/lib/m68k-amiga/project1.o: ELF 32-bit MSB relocatable, Motorola m68k, 68020, version 1 (SYSV), not stripped

Chain-Q
Divatamigás

# Elküldve: 2019. Feb. 04. 16:32 - Szerkesztve: charlie


Akkor az van, hogy nem vlink-kel akar linkelni, hanem GNU LD-vel, ami meg csak a.out modulokat hajlando kezelni Amigahoz.

Szoval, eloszor is az -XV opciot kell megadni a Lazarusban (ahogy a leirasomban ez szerepel is), mert ez most baromira a GNU ld-t hivogatja, szvsz...

Masreszt meg, gondolom mivel eddig mukodott GNU as/ld-vel, a komplett FPC amit hasznalsz is GNU as/ld-vel lett forditva, igy sajnos mindent ujra kell forditani, mert a meglevo objektumok az RTL-ben meg mindenhol is GNU as-sel vannak forditva, ergo hiaba a vlink, attol meg ugyanugy lonagyok lesznek vegul a binarisok (ugye az assembler fuz ossze mindent egy szekcioba, onnantol meg a linker mar tehetetlen). :(

Ha nincs meg az FPC keresztforditas, az SVN trunk gyokerebol igy:

make crossall crossinstall OS_TARGET=amiga CPU_TARGET=m68k CROSSOPT="-XV -Avasm" INSTALL_DEST=<ide_tedd_az_fpc-t>

A lenyeg a CROSSOPT= szekcioban van. Igy az FPC build-rendszere is a vasm/vlink-re fog valtani az RTL es a csomagok buildolasakor. Persze a vlink/vasmm68k_std-nek ilyenkor a PATH-ban kell lenni, vagy az -FD parametert kell ugyanugy megadni a CROSSOPT=-ban, mint a Lazarusban. Ja es megegy szivas van, hogy valszeg a keresztforditas miatt ele fogja fuzni a vlink/vasm binarisoknak hogy m68k-amiga- ... Szoval csinalj egy symlinket vagy valamit m68k-amiga-vlink neven a vlinkre, es ugyanugy a m68k-amiga-vasmm68k_std neven a vasmm68k_std-re is...

Nagyon bonyi? :P Az egesz forditas amugy 2-3 percig tart egy atlagos gepen, szoval nem kell tole felni, nem 30 perces muvelet mint GCC-nel.

Szerk: amugy most nezem, a vasm/vlink-kel valo forditas a wikiben is dokumentalt mar. ;) Lehet h. nem tul egyertelmuen van fogalmazva, majd megprobalok valamit okozni...

Awe
Tag

# Elküldve: 2019. Feb. 05. 08:48


Nagyon szépen köszönöm a segítséget. majd megírom mire jutottam.

Awe
Tag

# Elküldve: 2019. Feb. 05. 11:27


Most működik, mind a kétfajta fordítóval és linkerrel.
A GNU 305Kb-os, a vasm+vlink 206Kb-os exét fordít debug infók nélkül.

Chain-Q
Divatamigás

# Elküldve: 2019. Feb. 05. 12:59 - Szerkesztve: charlie


Igen, a vlink 206k-s exe-t fog forditani, ha a GNU AS-sel forditott runtime libet hasznalod, mert mint irtam, abban csak egy osszefuzott kodszekcio van, ergo a linker nem tudja kivalogatni h. mi kell belole tenyleg.

Szerk: Esetleg ha megis a vlink-kel forditott RTL-tol lesz nagy, megprobalkozhatsz meg a Lazarus projektedben a -XX -CX parameterek hasznalataval, ami bekapcsolja a "smartlinking"-et. Nalam lehet h. ez bentvan alapbol valami fpc.cfg-ben, nem emlekszem.

Chain-Q
Divatamigás

# Elküldve: 2019. Már. 03. 23:14


Free Pascal MacroSystem Draco-n:

https://blog.alb42.de/2019/03/02/taming-my-dragon

Yellow Dog
Tag

# Elküldve: 2019. Már. 04. 10:43


Csak lesek, miket írogattok, egy szót sem értek az egészből, talán az "RTL" amit ismerek, igaz nem szoktam nézni ;-) :-D

Chain-Q
Divatamigás

# Elküldve: 2019. Jún. 01. 00:44


Alb42 mar megint akcioban.

Most eppen egy LibreOffice file viewert csinal... Free Pascalban, MUI-val, mukodik barmely Amiga rendszeren:

https://blog.alb42.de/2019/05/31/libreoffice-amiga/

dh1
Mr. DTP

# Elküldve: 2019. Jún. 02. 03:48


jol latom, hogy Alb42 OS4 themet hasznal MOS alatt? :)

Chain-Q
Divatamigás

# Elküldve: 2019. Jún. 02. 13:25


Nem?

Chain-Q
Divatamigás

# Elküldve: 2019. Jún. 10. 14:54


Alb42 tovabb fejleszt:

- most mar XLS/XLSX (Excel) es TurboCalc allomanyokat is betolt(!)
- ODS-t menteni is tud(!!!)
- a cellakat szerkeszteni is lehet
- fuggvenyeket es cella-kepleteket is tamogat, bar meg nem teljes a support

Reszletek a blogjan, ahonnan a Leu nevre keresztelt cucc legujabb verzioja le is toltheto:

https://blog.alb42.de/2019/06/08/libre-turbocalc/
https://blog.alb42.de/2019/06/02/why-just-view-if-you-can-edit/
https://blog.alb42.de/2019/06/02/its-a-leu/

<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 .
forum.amigaspirit.hu / Fejlesztés / Free Pascal Compiler (classic és OS4 is)
 
 

Powered by free forum software miniBB™ © 2001-2019