commodore.gen.tr

Amiga => Amiga Yazılım => Konuyu başlatan: Alpyre üzerinde Kasım 05, 2016, 11:10:45 ÖÖ



Konu Başlığı: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Alpyre üzerinde Kasım 05, 2016, 11:10:45 ÖÖ
Eğer AmigaOS için halen etkin olarak güncellenmekte olan açık kaynak programlardan (örn YAM, AmiSSL, NList.mcc vs.) bazılarını derleme ihtiyacı duyduysanız, bunların artık SAS/C, StormC vs. gibi legacy derleyiciler ve onlarla birlikte gelen güncelliğini kaybetmiş API’ler ile derlenemediğini fark etmişsinizdir. Ayrıca forumlar, web sayfaları ve hatta Aminet’te yayınlanan m68k toolchain’ler de bir işe yaramıyor. Şimdilik bu tip güncel programları m68k için derleyebileceğimiz tek ortam https://github.com/cahirwpz/amigaos-cross-toolchain (https://github.com/cahirwpz/amigaos-cross-toolchain) adresinden edinebileceğiniz çapraz derleme ortamı. cahirwpz ortamı yalnızca kaynak kodu olarak yayınladığı için, kullanabilmek için ilk önce derlememiz gerekiyor ve işbu doküman bunu kolayca yapabilmenizi sağlayacak terminal yönergelerini içeriyor.

Gereksinimler:
-   Güncel bir Linux Sürümü. Bu örnekte Ubuntu 16.04 LTS (32bit).
(!) Bir nedenle 14.04 LTS sürümüne bağımlıysanız ŞİMDİ ilgili kısmı (http://www.commodore.gen.tr/forum/index.php?topic=13272.msg155627#msg155627) okuyunuz.
-   GNU gcc 5.x 32-bit sürümü! or Clang
-   Python 2.7.x
-   libncurses-dev
-   python-dev 2.7
-   GNU make 4.x
-   perl 5.22
-   git
-   GNU patch
-   GNU gperf
-   GNU bison

Tüm güncellemeleri yaptıysanız bu listeden sadece libncurses-dev, python-dev, git, patch, gperf ve bison’u kurmanız gerekecek. Hemen kuralım:
Kod:
> sudo apt-get install libncurses-dev
> sudo apt-get install python-dev
> sudo apt-get install patch
> sudo apt-get install gperf
> sudo apt-get install bison
> sudo apt-get install git

Evet artık linux kurulumumuz amigaos-cross-toolchain’i derlemeye hazır.

İlk önce kaynak kodu sabit diskimize git ile indiriyoruz (derleme böyle yapmamızı gerektiriyor).
Bir indirme konumu belirleyelim, (ben ~/Genel/AmigaDev tercih ettim):
Kod:
> cd ~/Genel
> mkdir AmigaDev
> cd AmigaDev
> git clone git://github.com/cahirwpz/amigaos-cross-toolchain.git
> cd amigaos-cross-toolchain

Evet…. Sonunda derleme aşamasına geldik. Önce /opt dizinimize (dilersek geçici olarak) kullanıcı değişiklik izni verelim:
Kod:
> sudo chmod a+w /opt

…ve derleyelim:
Kod:
> ./toolchain-m68k --prefix=/opt/m68k-amigaos build
…sonra ekranınız bilim kurgu filmlerdeki konsollar gibi olacak… …oldukça uzun süren bir dizi işlem… Tamamlanıncaya kadar bekliyoruz.

Bu tamamlandıktan sonra dilersek aşağıdaki eklentileri de kurabiliriz:
Kod:
> ./toolchain-m68k --prefix=/opt/m68k-amigaos install-sdk ahi cgx mui
(!) MUI geliştiricileri EK2’yi okusun!

Son olarak yeni derlenen gcc ve diğer araçları yola ekliyoruz:
Kod:
> export PATH=/opt/m68k-amigaos/bin:$PATH

Artık AmigaOS3 için derleme yapacağımızda m68k-amigaos-gcc komutunu kullanacağız. Deneyelim bakalım olmuş mu?
Kod:
> m68k-amigaos-gcc -v
…
Gcc version 2.95.3
…yazarsa her şey tamam demektir.

Şimdi son olarak bu yeni yolu .bashrc’ye ekleyelim ki terminali her açtığımızda bu yol erişilebilir olsun:
Kod:
> leafpad ~/.bashrc

Dosyanın en sonuna iniyoruz ve aşağıdaki girdiyi ekleyip, kaydediyoruz:
Kod:
# m68k AmigaOS gcc binaries
export PATH=/opt/m68k-amigaos/bin:$PATH

Evet arkadaşlar. Geçmiş olsun. Çapraz derleme ortamımız artık hazır. Güle güle güzel kodlarda kullanın.

EK :
AmigaOs3.9 NDK başlık dosyalarından birinde iki kez tanımlanma yapıldığı için derlemelerde uyarı iletisi veren gereksiz bir makro tanımlaması var. Bunu devre dışı bırakırsak derleme iletilerimiz daha temiz olabilir:
Kod:
> leafpad /opt/m68k-amigaos/m68k-amigaos/ndk/include/graphics/gfxmacros.h
…120’nci satıra atlayalım ve bu satırı /* ve */ arasına alarak devre dışı bırakalım:
Kod:
/* #define GetOutlinePen(rp) GetOPen(rp) */
…kaydedip çıkalım.

EK2:
amigaos-cross-toolchain ile gelen derleme betiği, gcc’nin ihtiyaç duyduğu mui lib dosyasını sadece libnix için kopyalıyor. Ancak derleyeceğimiz kaynak kodları nostdlib ile derliyor olabilir. Bu durumlarda:
Kod:
ld: cannot open -lmui: No such file or directory
…hatası alabilirsiniz.

Aşağıdaki satırı terminalden çalıştırarak bu eksiği giderebiliyoruz:
Kod:
> cp /opt/m68k-amigaos/m68k-amigaos/libnix/lib/libmui.a /opt/m68k-amigaos/lib/gcc-lib/m68k-amigaos/2.95.3/

…benzer sorun debug kütüphanesi için de karşımıza çıkabilir. Öyleyse hadi onu da kopyalayalım:
Kod:
> cp /opt/m68k-amigaos/m68k-amigaos/libnix/lib/libdebug.a /opt/m68k-amigaos/lib/gcc-lib/m68k-amigaos/2.95.3/

EK3:
Linux kurulumumuzda Amiga yazılımı derlemeyi hedeflediğimiz için Amiga dosya sıkıştırma standardı LHA’ya her an ihtiyaç duyabiliriz. Sistemimizde bulunsa iyi olur:
Kod:
> sudo apt-get install jlha-utils

EK4:
Bazı kaynak kodları build aşamasında Amiga’nın yeni standart catalog derleyicisi flexcat’i kullanıyor olabiliyor. Bunun kurulumunu da şimdiden yapsak iyi olur:
Kod:
> wget aminet.net/dev/misc/FlexCat-2.18.lha
> lha -e FlexCat-2.18.lha FlexCat/Linux-i386/flexcat
> chmod a+x FlexCat/Linux-i386/flexcat
> cp FlexCat/Linux-i386/flexcat /opt/m68k-amigaos/bin/
> rm -r FlexCat FlexCat-2.18.lha

Şimdi dilersek /opt dizinimize kullanıcı için verdiğimiz değişiklik yapma iznini kaldırabiliriz:
Kod:
> sudo chmod u-w /opt

NOT: Dökümanın yazıcı dostu sürümü ektedir.


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Alpyre üzerinde Kasım 05, 2016, 11:12:05 ÖÖ
Ubuntu 14.04 LTS kullananlar için:

Linux dağıtımları birlikte geldikleri C/C++, perl, python vs. derleyicilerine bağımlı oldukları için bu yazılımları ancak uyumlu oldukları en yüksek sürüme kadar güncelleyebiliyorlar (örneğin trusty depolarında gcc-5’i bulamazsınız). Ancak bunlara ihtiyacımız varsa bunları yan (alternative) kurulumlar olarak kurup ihtiyacımız olduğunda kullanmamız mümkün.
Aşağıdaki terminal yönergeleri bunu sağlamanıza yardımcı olacaktır.

-   İlk önce GCC sürümümüzü 5.x’e getiriyoruz :
Kod:
> sudo add-apt-repository ppa:ubuntu-toolchain-r/test
> sudo apt-get update
> sudo apt-get install gcc-5 g++-5
> sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 1 --slave /usr/bin/g++ g++ /usr/bin/g++-5

-   Şimdi make sürümümüzü yükseltelim :
Kod:
> mkdir ~/Genel/src ; cd ~/Genel/src
> wget [url]ftp://ftp.gnu.org/gnu/make/make4.2.tar.gz[/url]
> tar -xzf make4.2.tar.gz ; cd make4.2
> sudo make install
…tamamlandığında:
Kod:
> make -v
GNU make 4.2
…
…yazarsa yükseltme tamam demektir. Dilersek kaynak kodu silebiliriz.
Kod:
> cd ~
> rm -rf ~/Genel/src

-   Şimdi git’i kuralım:
Kod:
>sudo apt-get install git

-    Şimdi PerlBrew kuruyoruz:
Kod:
>sudo apt-get install perlbrew

perlbrew için kök dizini belirliyoruz (ben /opt/perlbrew tercih ettim)
Tabi önce bu konumun kullanıcı değişiklik yapma iznine sahip olması gerekiyor:
Kod:
> sudo chmod a+w /opt
...
Kod:
> export PERLBREW_ROOT=/opt/perlbrew
> source /opt/perlbrew/etc/bashrc
> leafpad ~/.bashrc

…aşağıdakileri dosyanın en altına ekleyip, kaydediyoruz:
Kod:
# PerlBrew Environment Variables
export PERLBREW_ROOT=/opt/perlbrew
source /opt/perlbrew/etc/bashrc

…şimdi perlbrew’i ilklendirmemiz gerekiyor :
Kod:
> perlbrew init

-    Şimdi ihtiyacımız olan perl sürümünü kuruyoruz:
Kod:
> perlbrew install perl-5.22.2

Yeni bir terminal penceresi açıyor ve şunu yazıyoruz:
Kod:
> tail -f /opt/perlbrew/build.perl-5.22.2.log

Eğer make aşamasında:
Kod:
error: invalid preprocessing directive # HAS_SCM_RIGHTS
…hatası verirse:
Kod:
> leafpad /opt/perlbrew/build/perl-5.22.2/config.h
Ara -> “HAS_SCM” yapalım ve bir sonrakini bulalım (CTRL+G)
…bakın burada #’den sonra define anahtar sözcüğü eksik. Eksiği tamamlayalım ve kaydedip çıkalım.

…şimdi tekrar derlemeyi deneyelim:
Kod:
> cd /opt/perlbrew/build/perl-5.22.2/
> make install

Derleme tamamlanınca:
Kod:
> perlbrew switch perl-5.22.2

…kurulum başarılı olmuş mu sınayalım:
Kod:
> perl -v
…
perl 5, version 22 subversion 2
…
…yazarsa işlem tamam demektir.

-   Şimdi Python sürümümüzü kontrol edelim. (Ubuntu 14.04 2.7 ile geliyor ki bu bizim için yeterli)
Kod:
> python --version
Python 2.7.6


Şimdi amigaos-cross-toolchain kurulumuna (http://www.commodore.gen.tr/forum/index.php?topic=13272.msg155626#msg155626) kaldığınız yerden devam edebilirsiniz.


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 11:22:33 ÖÖ
Ellerin dert görmesin, emeğine beynine sağlık abi. Benim işime yarayacak o kesin ;)


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Alpyre üzerinde Kasım 05, 2016, 11:34:37 ÖÖ
Ellerin dert görmesin, emeğine beynine sağlık abi. Benim işime yarayacak o kesin ;)

Öncelikle senin için hazırladım zaten kardeşim. Şimdiden başarılar.

Ha bir de çok ÖNEMLİ NOT:
EK4 kısmındaki wget komutundan sonraki [ URL ] [/ URL] şeyleri olmayacak. Forum kendi kendine koyuyor, kaldıramıyorum bir türlü.  :o


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Simon (Özay Turay) üzerinde Kasım 05, 2016, 11:34:50 ÖÖ
Eline sağlık. Güzel ve detaylı bir anlatım olmuş. :)

Benim ufak bir önerim var yalnız, EK2'de cp ile kopyalamak yerine ln ile sembolik link oluşturmak daha mantıklı olmaz mı? İleride toolchain güncellenirse ve bu kopyalamayı tekrarlamayı unutursan aynı kütüphanenin iki farklı sürümü oluşabilir ve baş ağrıtabilir. ;)


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Simon (Özay Turay) üzerinde Kasım 05, 2016, 11:42:16 ÖÖ
EK4 kısmındaki wget komutundan sonraki [ URL ] [/ URL] şeyleri olmayacak. Forum kendi kendine koyuyor, kaldıramıyorum bir türlü. :o
çözüm olarak http:// kısmını silebilirsin. wget her halükarda indirecektir dosyayı. ;)


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Alpyre üzerinde Kasım 05, 2016, 11:51:44 ÖÖ
Eline sağlık. Güzel ve detaylı bir anlatım olmuş. :)
Teşekkürler. :)

Benim ufak bir önerim var yalnız, EK2'de cp ile kopyalamak yerine ln ile sembolik link oluşturmak daha mantıklı olmaz mı? İleride toolchain güncellenirse ve bu kopyalamayı tekrarlamayı unutursan aynı kütüphanenin iki farklı sürümü oluşabilir ve baş ağrıtabilir. ;)
Çok mantıklı. Yalnız bu konuyla ilgili açılmış issue var. Kuvvetle muhtemel aynı kopyalama işlemini build betiğine ekleyerek çözecekler. O yüzden unutsanız da sorun olmaz diye düşünüyorum çünkü dosya zaten MUI3.9 bağlantıları için. Bu saatten sonra MUI3.9'da bir güncelleme olacağını hiç sanmam.  ;)

EK4 kısmındaki wget komutundan sonraki [ URL ] [/ URL] şeyleri olmayacak. Forum kendi kendine koyuyor, kaldıramıyorum bir türlü. :o
çözüm olarak http:// kısmını silebilirsin. wget her halükarda indirecektir dosyayı. ;)
Oh. Çok sağol ya! :-\


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Levent (Lvnt) üzerinde Kasım 05, 2016, 11:55:28 ÖÖ
Harika olmuş, elinize sağlık. Bu toolchain / linux distribution işlerini tutturmak ciddi sıkıntı, yol gösterici birşeyler kesinlikle olması gerekiyor yoksa deneyeyim yanılayım falan iş değil.


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Simon (Özay Turay) üzerinde Kasım 05, 2016, 11:56:30 ÖÖ
Dokümanı takip ederek kuruluma başladım bakalım.

İlk olarak kod bloklarında satır başındaki > karakterini kaldırsan kopyala yapıştır daha kolay olacak.

İkincisi çok önemli değil ama apt-get birden fazla programı aynı anda kurabiliyor. ;)

Kod:
sudo apt-get install libncurses-dev python-dev patch gperf bison git


Dakika bir gol bir. :D

./toolchain-m68k -–prefix=/opt/m68k-amigaos build komutunda prefix'in önünde tek tire değil iki tire olacak, onu düzelttim ama bu seferde şu hatayı alıyorum:

Kod:
root@server:~/AmigaDev/amigaos-cross-toolchain# ./toolchain-m68k -–prefix=/opt/m68k-amigaos build
usage: toolchain-m68k [-h] [--binutils {2.9.1,2.14}] [--gcc {2.95.3}] [-q]
                      [--prefix PREFIX]
                      {build,list-sdk,install-sdk,clean,test}
                      [ARGS [ARGS ...]]
toolchain-m68k: error: unrecognized arguments: -–prefix=/opt/m68k-amigaos


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Alpyre üzerinde Kasım 05, 2016, 12:30:08 ÖS
./toolchain-m68k -–prefix=/opt/m68k-amigaos build komutunda prefix'in önünde tek tire değil iki tire olacak,

Düzelttim.

Abi /opt dizinine yazma izni verdin değil mi?
Bir de hangi linux dağıtımındasın?


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Simon (Özay Turay) üzerinde Kasım 05, 2016, 12:44:00 ÖS
Hata çıktısına dikkat edersen root'um. 8)

Ama sorunu çözdüm, senin tek tirenin yanına bir tire daha koyuyordum, ikisini de silip elle yazınca düzeldi. Zaten bir üst mesajda alıntıda belli oluyor tirelerin birinin farklı olduğu. ;)


Tabi öncesinde github'dan bakarak 64 bit 16.04 ubuntu kullandığım için gcc-multilib ve 32 bit kütüphaneleri yükledim yine de çözülmeyince senin derleme satırını değil github'dakini kopyala yapıştır yaptım o zaman anladım karakter problemi olduğunu.

32 bit desteği için komutlar:

Kod:
sudo apt-get install gcc-multilib
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get dist-upgrade

Kaynak: https://www.unixmen.com/enable-32-bit-support-64-bit-ubuntu-13-10-greater/ (https://www.unixmen.com/enable-32-bit-support-64-bit-ubuntu-13-10-greater/)


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Alpyre üzerinde Kasım 05, 2016, 13:08:24 ÖS
32 bit desteği için komutlar:
Kod:
sudo apt-get install gcc-multilib
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get dist-upgrade

Harika. Abi gcc'nin 32bit sürümü gerekir yazmış cahirwpz ama... derlemede bir sorun olmadı mı?

Yoksa gcc-5'in 32bit'lik olanını mı kurdun sisteme?


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Simon (Özay Turay) üzerinde Kasım 05, 2016, 13:23:24 ÖS
Yok bu komutlardan başka birşey kullanmadım ve sorunsuz derlendi. Yalnız dikkat bu komutların 14.04 kullanıyorsanız 16.04'e yükseltme potansiyeli var. :D


Tipografi hatası buldum bu arada

Kod:
leafpad /opt/m68k-amigaos/m68k-amigaos/ndk/include/g raphics/gfxmacros.h

satırında fazladan bir boşluk kaçmış graphics kelimesinin içine.

Bir de tek satırı başına // koyarak comment'leyebilirsin. ;)

Kod:
/* #define GetOutlinePen(rp) GetOPen(rp) */

yerine

Kod:
// #define GetOutlinePen(rp) GetOPen(rp)


Son olarak da

Kod:
lha –e FlexCat-2.18.lha FlexCat/Linux-i386/flexcat

komutunda parametre -e değil sadece e olacak. ;)

Şimdi emarti'nin programlarından birini derlemeye çalışalım bakalım. :D


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Alpyre üzerinde Kasım 05, 2016, 13:29:11 ÖS
Yok abi, benim makinada nVidia FX5200 olduğu için 14.04'e mahkumum ben. Yükseltme yapmıyor.

EDIT: Haa pardon sudo apt-get dist-upgrade için dedin sen onu şimdi anladım. Mümkün. :)

Bu arada 64bit'lik Linux'da da çalışması harika olmuş. Akşam dökümana onu da ekleyeyim. Teşekkürler.


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Simon (Özay Turay) üzerinde Kasım 05, 2016, 13:37:37 ÖS
01-Window örneğindeki makefile'ı şu şekilde değiştirdim, koyu kısımlar tarafımdan eklendi:

#
# Target OS: Amiga OS3.X
# Compiler : GCC
#

PREFIX=m68k-amigaos-

objects = project.o
appname = Project
#option = -O3 -m68030
option = -O3 -m68030 -noixemul

project:        $(objects)
        $(PREFIX)gcc -o $(appname) $(objects) $(option)

project.o:      project.c project.h
        $(PREFIX)gcc -c project.c $(option)

clean:
        rm $(objects) $(appname)


Sonuç:

Kod:
root@server:~/AmigaDev/AmigaOS3.X-MUI-Examples/01_Window# make
m68k-amigaos-gcc -o Project project.o -O3 -m68030 -noixemul
project.o(.text+0x1b8): undefined reference to `__main'
collect2: ld returned 1 exit status
makefile:14: recipe for target 'project' failed
make: *** [project] Error 1

 :( :( :(


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Simon (Özay Turay) üzerinde Kasım 05, 2016, 13:43:02 ÖS
Kod:
root@server:~/AmigaDev/AmigaOS3.X-MUI-Examples/01_Window# m68k-amigaos-gcc -c project.c -O3 -m68030 -noixemul
project.c:15: unterminated macro call
project.c:63: unterminated macro call
project.c:63: unterminated macro call

Sanırım bu derleme ortamı emarti'nin kullandığı ile uyumlu değil. :-\


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 13:50:30 ÖS
Kod:
root@server:~/AmigaDev/AmigaOS3.X-MUI-Examples/01_Window# m68k-amigaos-gcc -c project.c -O3 -m68030 -noixemul
project.c:15: unterminated macro call
project.c:63: unterminated macro call
project.c:63: unterminated macro call

Sanırım bu derleme ortamı emarti'nin kullandığı ile uyumlu değil. :-\


Henüz denemedim kurmaya başlayayım meraktan çatlıyorum zaten. :)


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 13:51:22 ÖS
Ellerin dert görmesin, emeğine beynine sağlık abi. Benim işime yarayacak o kesin ;)

Öncelikle senin için hazırladım zaten kardeşim. Şimdiden başarılar.

Ha bir de çok ÖNEMLİ NOT:
EK4 kısmındaki wget komutundan sonraki [ URL ] [/ URL] şeyleri olmayacak. Forum kendi kendine koyuyor, kaldıramıyorum bir türlü.  :o

Bu lafın altına ne desem boş. Teşekkür ederim.


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Alpyre üzerinde Kasım 05, 2016, 14:03:29 ÖS
@Simon (Özay Turay) (http://www.commodore.gen.tr/forum/index.php?action=profile;u=1039)

Abi bir de şöyle dener misin:
Kod:
option = -O3 -m68030 -noixemul -lmui

EDIT: yok yok öyle de olmaz... şöyle dene:

Kod:
#
# Target OS: Amiga OS3.X
# Compiler : GCC
#

PREFIX=m68k-amigaos-

objects = project.o
appname = Project
#option = -O3 -m68030
option  = -O3 -m68030 -noixemul
libs    = -lmui

project:        $(objects)
        $(PREFIX)gcc -o $(appname) $(objects) $(option) $(libs)

project.o:      project.c project.h
        $(PREFIX)gcc -c project.c $(option)

clean:
        rm $(objects) $(appname)


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Simon (Özay Turay) üzerinde Kasım 05, 2016, 14:51:01 ÖS
Bu oldu sanırım undefined reference to `__main' sorunu çözüldü ama unterminated macro call sorunu hala devam ediyor.

Şöyle birşeyler buldum ama bilgilerim yetersiz kaldığından birşey anlamadım. :D

http://www.amiga.org/forums/showthread.php?t=41268 (http://www.amiga.org/forums/showthread.php?t=41268)
http://www.verycomputer.com/2_eba304c9dc6e9f80_1.htm (http://www.verycomputer.com/2_eba304c9dc6e9f80_1.htm)


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Alpyre üzerinde Kasım 05, 2016, 15:02:14 ÖS
Hmm... emarti (http://www.commodore.gen.tr/forum/index.php?action=profile;u=36862)'nin koduna baktım da eski MUI makrolarını kullanmış, açık fonksiyon adlarını kullanmamış.

Bu makrolar güncel MUI başlıklarında bulunmuyor demek ki.

Aminet'ten mui38-dev (http://aminet.net/dev/mui/mui38dev.lha)'i indirip, /opt/m68k-amigaos/ içindeki os-include dizinine el ile kurulum yapmak gerekebilir. :(


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 15:06:02 ÖS
Hmm... emarti (http://www.commodore.gen.tr/forum/index.php?action=profile;u=36862)'nin koduna baktım da eski MUI makrolarını kullanmış, açık fonksiyon adlarını kullanmamış.

Bu makrolar güncel MUI başlıklarında bulunmuyor demek ki.

Aminet'ten mui38-dev (http://aminet.net/dev/mui/mui38dev.lha)'i indirip, /opt/m68k-amigaos/ içindeki os-include dizinine el ile kurulum yapmak gerekebilir. :(

Benden önce yazmışsın abi evet mui38dev.lha dosyasında /MUI/Developer/C/include içindeki dosyaların hepsini /opt/m68k-amigaos/lib/gcc-lib/m68k-amigaos/2.95.3/include dizinine kopyaladığımız zaman sadece makefile dosyasında sadece gcc yerine m68k-amigaos-gcc yazmak derlemek için yeterli olacaktır.


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Simon (Özay Turay) üzerinde Kasım 05, 2016, 15:07:02 ÖS
Hmm... emarti (http://www.commodore.gen.tr/forum/index.php?action=profile;u=36862)'nin koduna baktım da eski MUI makrolarını kullanmış, açık fonksiyon adlarını kullanmamış.

Bu makrolar güncel MUI başlıklarında bulunmuyor demek ki.

Aminet'ten mui38-dev (http://aminet.net/dev/mui/mui38dev.lha)'i indirip, /opt/m68k-amigaos/ içindeki os-include dizinine el ile kurulum yapmak gerekebilir. :(
İkinci linkte de öyle diyor, hatta çözüm yolu da önermiş ama yemedi. :D

Alıntı
If you really want to use those MUI macros, you should define the
preprocessor symbol NO_INLINE_STDARG before #including
<proto/muimaster.h>. This is likely to fix the preprocessor problems,
you'll have to link with libmui.a, though.

01_Window projesindeki project.h dosyasında

Kod:
#include <proto/muimaster.h>

satırından önce

Kod:
#define NO_INLINE_STDARG

satırını ekleyince sonuç:

Kod:
root@server:~/AmigaDev/AmigaOS3.X-MUI-Examples/01_Window# make
m68k-amigaos-gcc -c project.c -O3 -m68030 -noixemul
project.c: In function `main':
project.c:27: excess elements in struct initializer
project.c:27: (near initialization for `_args')
project.c:27: invalid initializer
makefile:18: recipe for target 'project.o' failed
make: *** [project.o] Error 1


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 15:08:36 ÖS
Bir önceki mesajımı gözden kaçırma @Simon


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Simon (Özay Turay) üzerinde Kasım 05, 2016, 15:10:55 ÖS
Benden önce yazmışsın abi evet /MUI/Developer/C/include içindeki dosyaların hepsini /opt/m68k-amigaos/lib/gcc-lib/m68k-amigaos/2.95.3/include dizinine kopyaladığımız zaman sadece makefile dosyasında sadece gcc yerine m68k-amigaos-gcc yazmak derlemek için yeterli olacaktır.

Alacağın olsun bize eski stil kodlamayı öğretmişsin. :D

Şaka bir yana @Alpyre abi bize yeni stili göstersin de öğrenmiş olalım. :)


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 15:11:45 ÖS
Benden önce yazmışsın abi evet /MUI/Developer/C/include içindeki dosyaların hepsini /opt/m68k-amigaos/lib/gcc-lib/m68k-amigaos/2.95.3/include dizinine kopyaladığımız zaman sadece makefile dosyasında sadece gcc yerine m68k-amigaos-gcc yazmak derlemek için yeterli olacaktır.

Alacağın olsun bize eski stil kodlamayı öğretmişsin. :D

Şaka bir yana @Alpyre abi bize yeni stili göstersin de öğrenmiş olalım. :)

Retrocu olmak böyle olmuyor mu? :)


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Simon (Özay Turay) üzerinde Kasım 05, 2016, 15:15:59 ÖS
O da doğru, sen de haklısın. :D


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Simon (Özay Turay) üzerinde Kasım 05, 2016, 15:18:08 ÖS
Bu arada derlemeyi başardım, Amiga'dakine göre baya bir hızlı oldu, saniyenin onda biri gibi kısa bir sürede derledi. :D


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 15:21:19 ÖS
@Alpyre abi ADE ortamı da 2.95 sürümünü kullanıyor;bu ortamı kullanarak cross-platform derleme hariç ne gibi avantaja sahip olacağız?


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 15:23:39 ÖS
Bu arada derlemeyi başardım, Amiga'dakine göre baya bir hızlı oldu, saniyenin onda biri gibi kısa bir sürede derledi. :D

50 MHz'lik Amiga'da daha zevkli oluyor


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Alpyre üzerinde Kasım 05, 2016, 15:27:59 ÖS
Alacağın olsun bize eski stil kodlamayı öğretmişsin. :D

Şaka bir yana @Alpyre abi bize yeni stili göstersin de öğrenmiş olalım. :)
Şu sayfadaki gibi olması lazım:
http://krashan.ppa.pl/mph/hello-world-in-mui (http://krashan.ppa.pl/mph/hello-world-in-mui)

...yani ApplicationObject makrosu yerine, MUI_NewObject(MUIC_Application, ... ..., TAG_END) gibi


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Simon (Özay Turay) üzerinde Kasım 05, 2016, 15:31:01 ÖS
Hızı test etmek için şöyle bir script kullandım:

Kod:
#!/bin/bash

START=$(date +%s%3N)
# do something
# start your script work here

make

# your logic ends here
END=$(date +%s%3N)
DIFF=$(( $END - $START ))
echo "It took $DIFF milliseconds"

Sonuç:

Kod:
root@server:~/AmigaDev/AmigaOS3.X-MUI-Examples/01_Window# ./compile
m68k-amigaos-gcc -c project.c -O3 -m68030 -noixemul
m68k-amigaos-gcc -o Project project.o -O3 -m68030 -noixemul
It took 106 milliseconds
root@server:~/AmigaDev/AmigaOS3.X-MUI-Examples/01_Window#

Zaman hassasiyetim süpermiş doğrusu, ben 100 milisaniye demiştim 106 çıktı. :D



Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 15:35:52 ÖS
Hızı test etmek için şöyle bir script kullandım:

Kod:
#!/bin/bash

START=$(date +%s%3N)
# do something
# start your script work here

make

# your logic ends here
END=$(date +%s%3N)
DIFF=$(( $END - $START ))
echo "It took $DIFF milliseconds"

Sonuç:

Kod:
root@server:~/AmigaDev/AmigaOS3.X-MUI-Examples/01_Window# ./compile
m68k-amigaos-gcc -c project.c -O3 -m68030 -noixemul
m68k-amigaos-gcc -o Project project.o -O3 -m68030 -noixemul
It took 106 milliseconds
root@server:~/AmigaDev/AmigaOS3.X-MUI-Examples/01_Window#

Zaman hassasiyetim süpermiş doğrusu, ben 100 milisaniye demiştim 106 çıktı. :D



Bu işin nirvanası makine gibi olmak az kalmış abi :)


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Alpyre üzerinde Kasım 05, 2016, 15:36:58 ÖS
@Alpyre abi ADE ortamı da 2.95 sürümünü kullanıyor;bu ortamı kullanarak cross-platform derleme hariç ne gibi avantaja sahip olacağız?

GitHub'dan herhangi bir kaynak kodu indir ve ADE ile derlemeye çalış. Sonra bana teşekkür et. :)


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 15:38:15 ÖS
Alacağın olsun bize eski stil kodlamayı öğretmişsin. :D

Şaka bir yana @Alpyre abi bize yeni stili göstersin de öğrenmiş olalım. :)
Şu sayfadaki gibi olması lazım:
http://krashan.ppa.pl/mph/hello-world-in-mui (http://krashan.ppa.pl/mph/hello-world-in-mui)

...yani ApplicationObject makrosu yerine, MUI_NewObject(MUIC_Application, ... ..., TAG_END) gibi

Abi bunlar mui38dev içindeki header'larda tanımlı, haklısın.


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 15:39:13 ÖS
@Alpyre abi ADE ortamı da 2.95 sürümünü kullanıyor;bu ortamı kullanarak cross-platform derleme hariç ne gibi avantaja sahip olacağız?

GitHub'dan herhangi bir kaynak kodu indir ve ADE ile derlemeye çalış. Sonra bana teşekkür et. :)

Teşekkür etmiştim bu defa usta ellerinden öpüyorum abi.


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 15:45:21 ÖS
@Alpyre abi Ubuntu 64 bit üzerine kurulum yaparken hata aldım ama @Simonun 32bit desteği ilgili apt yüklemeleri sonrası sıkıntı olmadı. (Bilgi amaçlı)


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Simon (Özay Turay) üzerinde Kasım 05, 2016, 15:50:48 ÖS
@Alpyre abi ADE ortamı da 2.95 sürümünü kullanıyor;bu ortamı kullanarak cross-platform derleme hariç ne gibi avantaja sahip olacağız?

GitHub'dan herhangi bir kaynak kodu indir ve ADE ile derlemeye çalış. Sonra bana teşekkür et. :)

Teşekkür etmiştim bu defa usta ellerinden öpüyorum abi.

Bir de oluşan executable'lar daha küçük gördüğüm kadarıyla.


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 15:59:38 ÖS
9-10 KB daha az gibi görünüyor. Şöyle olursa uygulama dosyası 10 KB olmakta.
RZFLAGS ekleyerek.

Kod:
# 
# Target OS: Amiga OS3.X
# Compiler : GCC
#

objects = project.o
appname = Project
#option = -O3 -m68030
option = -O3 -m68030 -noixemul
RZFLAGS = -fstrength-reduce -msmall-code -Wimplicit \
          -Wstrict-prototypes -Wall -s


project: $(objects)
m68k-amigaos-gcc -o $(appname) $(objects) $(option) $(RZFLAGS)

project.o: project.c project.h
m68k-amigaos-gcc -c project.c $(option)

clean:
rm $(objects) $(appname)



Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 19:39:12 ÖS
@Alpyre ve @Simon biraz derli toplu birşey yapmak istedim kurulum kolay olsun diye.

https://github.com/emartisoft/m68K-AmigaOS-cross-compiler-setup-script

(https://github.com/emartisoft/m68K-AmigaOS-cross-compiler-setup-script/blob/master/screenshot_menu.png?raw=true)


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Simon (Özay Turay) üzerinde Kasım 05, 2016, 21:16:40 ÖS
Çok güzel olmuş, eline sağlık. Denemedim ama kaynak kodunu inceledim, bu whiptail güzel bir meretmiş. :)

Bir tavsiye bir de hata düzeltmesi yapayım hemen:

* mkdir'i -p parametresi ile kullanırsan $HOME altında Development klasörü olmasa bile otomatik oluşturulur, böylece script'i çalıştırmadan önce en baştaki değişkenleri kendilerine göre düzenlemeyenler için de sorunsuz çalışmış olur.

* lha'in extract parametresi -e değil e olmalı, bunu Alpyre de düzeltmedi sanırım daha dokümanında.



Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 21:23:56 ÖS
Çok güzel olmuş, eline sağlık. Denemedim ama kaynak kodunu inceledim, bu whiptail güzel bir meretmiş. :)

Bir tavsiye bir de hata düzeltmesi yapayım hemen:

* mkdir'i -p parametresi ile kullanırsan $HOME altında Development klasörü olmasa bile otomatik oluşturulur, böylece script'i çalıştırmadan önce en baştaki değişkenleri kendilerine göre düzenlemeyenler için de sorunsuz çalışmış olur.

* lha'in extract parametresi -e değil e olmalı, bunu Alpyre de düzeltmedi sanırım daha dokümanında.



Linux ta baktım da -e olacak gibi görünüyor yine bir bakayım.

Hemen dediklerini editleyeyim.

Bir de sorun şu:
Derlenmiş uygulama dosyasını Amiga'da çalıştırırken muimaster.library 37 sürümünü istiyor. Bu meseleyi çözemedim hala.


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Simon (Özay Turay) üzerinde Kasım 05, 2016, 21:35:14 ÖS
Elle yazınca ikisi de sorunsuz çalışıyor, sanırım yine forumdan kopyalanan - sorun çıkarmış bende. ::)

Kütüphane konusuna gelince sanırım executable boyutunun neden daha küçük olduğunu bulduk. :D


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 21:38:18 ÖS
Elle yazınca ikisi de sorunsuz çalışıyor, sanırım yine forumdan kopyalanan - sorun çıkarmış bende. ::)

Kütüphane konusuna gelince sanırım executable boyutunun neden daha küçük olduğunu bulduk. :D

Çözümün var mı @Simon? :)

@Alpyre Abiiii!!!!!! (Burada bağırıyorum) Yaktın bizi :)


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Alpyre üzerinde Kasım 05, 2016, 22:30:41 ÖS
Linux'taki LHA'da -e olmalı (Amiga'da yalnız e olacak, -e boş dizinleri de arşivler).

muimaster.library 37 mi? Çok saçma yav! Öyle bir kütüphane versiyonu yok ki?

OS4.1 MUI'si 20'dir, MorphOS MUI'si 21'dir. 37 ne? Hiç anlamadım...

Yeni programların Makefile'larında -D__amigaos3__ diye bir compiler argümanı var.

Bir de onunla denesenize!? Bilemedim. :(


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 22:36:40 ÖS
Linux'taki LHA'da -e olmalı (Amiga'da yalnız e olacak, -e boş dizinleri de arşivler).

muimaster.library 37 mi? Çok saçma yav! Öyle bir kütüphane versiyonu yok ki?

OS4.1 MUI'si 20'dir, MorphOS MUI'si 21'dir. 37 ne? Hiç anlamadım...

Yeni programların Makefile'larında -D__amigaos3__ diye bir compiler argümanı var.

Bir de onunla denesenize!? Bilemedim. :(

https://yadi.sk/i/JRw7DUUqy8iHM

ekran görüntüsü bu şekilde.
https://muidev.de/downloads adresinden
mui5 'in OS3 sürümünü yüklemeye çalıştım ama olmadı. Yükleme yapıyor ama sonuç aynı.


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 22:40:27 ÖS
Abi şu örnekte birşey yakaladım

https://github.com/cahirwpz/amigaos-cross-toolchain/blob/master/examples/hello-mui.c

/* Otherwise auto open will try version 37, and muimaster.library has version
 * 19.x for MUI 3.8 */
int __oslibversion = 0;

/* We don't use command line arguments. */
int __nocommandline = 1;


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Alpyre üzerinde Kasım 05, 2016, 22:44:53 ÖS
Hmm... Madem öyle sen kaynak kodundaki

Kod:
if ( !(MUIMasterBase=OpenLibrary(MUIMASTER_NAME,19)) )

...kısmına 19 değil de, 0 yazıp dene bakalım ne olacak? Ben hep 0 yazıyorum oraya. :)


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 22:46:41 ÖS
Kaynak kodu başına

/* Otherwise auto open will try version 37, and muimaster.library has version
 * 19.x for MUI 3.8 */
int __oslibversion = 0;

ekledim sorun çözüldü



Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 22:47:33 ÖS
Hmm... Madem öyle sen kaynak kodundaki

Kod:
if ( !(MUIMasterBase=OpenLibrary(MUIMASTER_NAME,19)) )

...kısmına 19 değil de, 0 yazıp dene bakalım ne olacak? Ben hep 0 yazıyorum oraya. :)

Bir de dediğini deneyeyim bakalım.


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Alpyre üzerinde Kasım 05, 2016, 22:55:41 ÖS
Bu arada: sudo apt-get dist-upgrade, 14.04'ü, 16.04'e yükseltmiyormuş.
Onu yapan komut : sudo do-release-upgrade imiş. Yani güvenle kullanılabilir.

"-" hatalarını düzelttim, bunu da dökümana ekledim.


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 22:58:05 ÖS
Abi 19'u 0 yaptım ama olmadı.

/* Otherwise auto open will try version 37, and muimaster.library has version
 * 19.x for MUI 3.8 */
int __oslibversion = 0;

project.h header'a ekleyince çalışıyor sadece.
 __oslibversion = 0; biraz incelemek gerek.



Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Alpyre üzerinde Kasım 05, 2016, 23:00:39 ÖS
Hmmm... Bu iş sarpa saracak. :)

Sanırım en iyisi kendi projelerimizde ADE, SAS/C veya StormC falan kullanmaya devam etmek...
...açık kaynak kodlu modern projeleri derlememiz gerektiğinde bunu kullanmak. :)


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 23:04:54 ÖS
Hmmm... Bu iş sarpa saracak. :)

Sanırım en iyisi kendi projelerimizde ADE, SAS/C veya StormC falan kullanmaya devam etmek...
...açık kaynak kodlu modern projeleri derlememiz gerektiğinde bunu kullanmak. :)

m68k-amigaos-gcc kullanırken kaynak kod içinde şu derleyici kullanırken bu satırı derle nasıl deriz bu m68k-amigaos-gcc için.


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 23:14:40 ÖS
Abi haksızlık ediyorsun bence sıkıntı çıkmaz. cahirwpz 'de böyle yapmış :)


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Alpyre üzerinde Kasım 05, 2016, 23:15:02 ÖS
m68k-amigaos-gcc kullanırken kaynak kod içinde şu derleyici kullanırken bu satırı derle nasıl deriz bu m68k-amigaos-gcc için.

Kod:
#if defined(__GNUC__)
...
#endif

Arasına koydukların sadece gcc kullanılırken derlenir.
Diğer derleyiciler için de şu makrolar var:
__VBCC__
__SASC
__STORM__
__MAXON__
_DCC


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 05, 2016, 23:45:07 ÖS
m68k-amigaos-gcc kullanırken kaynak kod içinde şu derleyici kullanırken bu satırı derle nasıl deriz bu m68k-amigaos-gcc için.

Kod:
#if defined(__GNUC__)
...
#endif

Arasına koydukların sadece gcc kullanılırken derlenir.
Diğer derleyiciler için de şu makrolar var:
__VBCC__
__SASC
__STORM__
__MAXON__
_DCC

ADE için ayırıcı bir şeçeneğimiz olamayacak görünüyor.


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 06, 2016, 00:12:57 ÖÖ
@Alpyre abi güncel tutmak istediğimizde (yeni bir güncelleme olmuş ise) (arada bir update etmek istersek kodları) git'ten klonlayarak aynı şekilde güncelleyebilir miyiz? Önceki hali hazırdaki dosyalara dokunmadan tabii ki. Mümkün müdür?


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 06, 2016, 01:10:02 ÖÖ
https://github.com/emartisoft/m68k-amigaos-gcc-setup

Derlemede mui38dev include dosyaları eksik olduğundan hata olmaması için script dosyasında ekleme yapıldı.

Ayrıca readme.md dosyasında mui ile olan derlemede kaynak dosyasına yapılacak kod eklemesi eklendi

(https://github.com/emartisoft/m68k-amigaos-gcc-setup/blob/master/screenshot.png?raw=true)


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Simon (Özay Turay) üzerinde Kasım 06, 2016, 01:18:39 ÖÖ
Kod:
/* We don't use command line arguments. */
int __nocommandline = 1;

Ya kullanıyorsak. :D

Şaka bir yana bu çözümün bir parçası değil sanırım. ;)


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 06, 2016, 01:30:54 ÖÖ
Kod:
/* We don't use command line arguments. */
int __nocommandline = 1;

Ya kullanıyorsak. :D

Şaka bir yana bu çözümün bir parçası değil sanırım. ;)

Olmadan da oluyor ama toolkit hazırlayan eleman examples olarak mui örneğinde eklemiş bu satırları


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: AmigaMan üzerinde Kasım 06, 2016, 01:34:57 ÖÖ
Vay ubuntu kullanıyorsunuz


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 06, 2016, 01:37:02 ÖÖ
Vay ubuntu kullanıyorsunuz

Abi neden şaşırdın ki?


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: AmigaMan üzerinde Kasım 06, 2016, 01:44:53 ÖÖ
Genelde Windows kullanırlarda o yüzden şaşırdım


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 06, 2016, 01:52:30 ÖÖ
Genelde Windows kullanırlarda o yüzden şaşırdım
Haklısın. Türkçe, ingilizce yada Almanca konuşmak önemsiz, önemli olan insan olmak ise platformun bir önemi yoktur. İstisnalar her daim vardır :)


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: AmigaMan üzerinde Kasım 06, 2016, 01:06:18 ÖÖ
Amiga'yı bilinçli öldürdüler, Windows işletim sistemine kurban ettiler. Linux kullanma kararı aldım. Herkese anlatmayı bir borç biliyorum.teşekkürler


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Alpyre üzerinde Kasım 06, 2016, 07:07:09 ÖÖ
@Alpyre abi güncel tutmak istediğimizde (yeni bir güncelleme olmuş ise) (arada bir update etmek istersek kodları) git'ten klonlayarak aynı şekilde güncelleyebilir miyiz? Önceki hali hazırdaki dosyalara dokunmadan tabii ki. Mümkün müdür?

Sen de tahmin edersin ki güncellemenin kapsamına göre değişebilir bu. Yalnız çok büyük ihtimalle bir sıkıntı olmayacaktır diye düşünüyorum.

NOT: NDK'da yaptığımız ufak değişiklik hariç. Muhtemelen o eski haline döner her yeniden derlemede.


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Alpyre üzerinde Kasım 06, 2016, 07:20:28 ÖÖ
Kod:
/* We don't use command line arguments. */
int __nocommandline = 1;
Ya kullanıyorsak. :D
Şaka bir yana bu çözümün bir parçası değil sanırım. ;)
Olmadan da oluyor ama toolkit hazırlayan eleman examples olarak mui örneğinde eklemiş bu satırları

Ben bu satırları pek sevmedim. Ayrıca indirdiğim kaynak kodlarının hiçbirinde de bulamadım böyle bir satır.

Yalnız gördüğüm kadarıyla hep Clib2 ile linklemişler. Tahiminimce Clib2 otomatik hallediyor o işi (ya da şu -D__amigaos3__ makro tanımlaması Clib2'yi durumdan haberdar ediyor). Tabi çalıştırılabilir dosyanın boyutunu çok arttıracaktır Clib2 ile linklemek. O bakımdan ufak projelerde bu şekilde kullanılabilir diye düşünüyorum.


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 06, 2016, 13:48:58 ÖS
Abi şu bahsettiğin makro tanımlamasını bulamadım bir türlü nerededir? [ -D__amigaos3__ ]


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Alpyre üzerinde Kasım 06, 2016, 20:36:33 ÖS
Abi şu bahsettiğin makro tanımlamasını bulamadım bir türlü nerededir? [ -D__amigaos3__ ]
Toolchain'in içinde ben de bulamadım. __amigaos4__ makrosu var ama, 3 hiç yok. Ama programların Makefile'larında görüyorum. Galiba kendi başlık dosyalarında kullandıkları bir makro.


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 06, 2016, 21:55:15 ÖS
Abi şu bahsettiğin makro tanımlamasını bulamadım bir türlü nerededir? [ -D__amigaos3__ ]
Toolchain'in içinde ben de bulamadım. __amigaos4__ makrosu var ama, 3 hiç yok. Ama programların Makefile'larında görüyorum. Galiba kendi başlık dosyalarında kullandıkları bir makro.

Makefile içinde kullanabilirsek bu şaka gibi kodları yazmaya gerek kalmaz mı acaba?


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Levent (Lvnt) üzerinde Kasım 06, 2016, 21:59:24 ÖS
C heryerde C. Aztec c 5.0a standart kurulum sonrası yanında gelen example'leri compile edemedi. Düşündüm de beklemiyordum zaten, sorunsuz çalışınca şaşırıyorum artık


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 06, 2016, 22:27:48 ÖS
C heryerde C. Aztec c 5.0a standart kurulum sonrası yanında gelen example'leri compile edemedi. Düşündüm de beklemiyordum zaten, sorunsuz çalışınca şaşırıyorum artık

Aztec ile uğraşma zaten. StormC yada GCC. Aslında burada Cross-platform derleyici kullanarak Amigada çalışacak C projelerini nasıl derlerize cevap arıyoruz aslında bulduk. Derleyicinin kendisini Amiga içinde yani olması gereken platformda kullandık mı sıkıntı yok. Linux üzerinde de bir sıkıntı yok fakat toolkiti hazırlayan eleman enteresan bir çözüm bulmuş MUI proje derlemelerin de anlamsız iki satır gibi görünse de  onlar olmadan gerçek Amiga yada emulatör üzerin de çalışmıyor.


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Levent (Lvnt) üzerinde Kasım 07, 2016, 08:42:52 ÖÖ
Aztec ile uğraşma zaten. StormC yada GCC.
Ya nebileyim kurulum az disketli fazla vakit almadan çalışsın da birşeyler compile edip bakayım dedim

Derleyicinin kendisini Amiga içinde yani olması gereken platformda kullandık mı sıkıntı yok.
gcc-2.95.3 değilmi? Onunla çok uğraştım, sonra ondan kurtulup tcc ile uğraştım ???. 486/66 16mb ram gibi makineler için yavaş kalıyor.

Linux üzerinde de bir sıkıntı yok fakat toolkiti hazırlayan eleman enteresan bir çözüm bulmuş MUI proje derlemelerin de anlamsız iki satır gibi görünse de  onlar olmadan gerçek Amiga yada emulatör üzerin de çalışmıyor.
Aslında konuşmayı takip ediyordum, baktığınız definition compiler içinde kontrol ediliyor olabilir, o yüzden include'lerde bulunmuyor olabilirler.

Sırası gelmişken toolkiti hazırlayan elemanın bilgisi ve sabrı da takdiri hak ediyor, uğraşmış yapmış sağolsun kullanıyoruz


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: Alpyre üzerinde Kasım 09, 2016, 12:29:22 ÖS
cahirwpz (https://github.com/cahirwpz) AmigaOS4-ppc için çapraz derleme ortamı için kaynak kodlarında bulunan hatayı gidermiş.
Artık eğer dilerseniz OS4 için gereken SDK ve derleyicileri de kurabilirsiniz:
Kod:
> cd ~/Genel/AmigaDev/amigaos-cross-toolchain

_________________________________________________________________________
Eğer m68k kurulumunu 9 Kasım 2016'dan önce yaptıysanız:
Kod:
> git pull master
_________________________________________________________________________

Kod:
> ./toolchain-ppc --prefix=/opt/ppc-amigaos build

Eğer kurulumun hemen başında gerekli arşivlerden isl-0.12.2.tar.bz2 indirilirken bir hata oluşur ve kurulum durursa – bu ileti hazırlanırken isl.gforge.inria.fr sunucusu erişilemez durumdaydı – bu dosyayı başka bir adresten indirip tekrar başlatabilirsiniz:
Kod:
> wget --directory-prefix=.build-ppc/archives ftp.vim.org/languages/gcc/infrastructure/isl-0.12.2.tar.bz2
> ./toolchain-ppc --prefix=/opt/ppc-amigaos build

Kurulum tamamlandığında:
Kod:
> leafpad ~/.bashrc
Dosyanın en sonuna aşağıdaki girdileri ekleyin:
Kod:
# ppc AmigaOS4 gcc binaries
export PATH=/opt/ppc-amigaos/bin:$PATH

Başarılar.

EDIT: /opt dizinine yazma iznini kaldırdıysanız, yeniden vermeyi unutmayın:
Kod:
> sudo chmod a+w /opt


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Kasım 09, 2016, 14:51:07 ÖS
@Alpyre abi sağol. OS4 için iyi haber :)


Konu Başlığı: Ynt: AmigaOS3(m68k) için en güncel çapraz derleme ortamı kurulumu
Gönderen: emarti üzerinde Ocak 15, 2017, 02:32:58 ÖÖ
Hortladı mı :)

@Alpyre abinin anlattığı kurulumu debian tabanlı herhangi bir linux dağıtımına hızlıca kurabilmeniz için yazdığım scriptteki bazı hataları giderdim. Yalnızca m68K için, OS4 için değil.

https://github.com/emartisoft/m68K-AmigaOS-cross-compiler-setup-script

(https://github.com/emartisoft/m68K-AmigaOS-cross-compiler-setup-script/blob/master/screenshot.png?raw=true)