On Sun, 9 Oct 2011 12:32:55 +0300 Gökçen Eraslan <[email protected]> wrote:
> On Wed, 05 Oct 2011 15:32:45 +0300 > Gökcen Eraslan <[email protected]> wrote: > > > On Wed, 5 Oct 2011 14:50:40 +0300, Mehmet Emre Atasever > > <[email protected]> wrote: > > > On Wed, 05 Oct 2011 12:32:14 +0300 > > > Fatih Aşıcı <[email protected]> wrote: > > > > > >> On Tue, 27 Sep 2011 16:25:38 +0300, Gökcen Eraslan > > >> <[email protected]> > > >> wrote: > > >> > Selam, > > >> > > >> Selam, > > >> > > >> > Daha önce teknik listede de konuştuğumuz gibi pisi ile clang > > >> > kullanmak için öncelikle pisi kodundaki hard-coded gcc ve g+ > > >> > + değerlerini pisi.conf'a taşımak gerekiyor. Bunun için > > >> > ekteki yamayı yaptım. Yama, pisi.conf'ta şu değerleri > > >> > tanımlayabilmemizi sağlıyor: > > >> > > > >> > cc = clang > > >> > cxx = clang++ > > >> > ld = ld.gold > > >> > > > >> > bu değerler pisi.conf'ta tanımlı olmadığında: > > >> > > > >> > cc = gcc > > >> > cxx = g++ > > >> > ld = ld > > >> > > > >> > gibi davranılıyor. Daha sonra öntanımlı derleyici > > >> > değiştirilise sadece configfile.py'den bu değerlerin > > >> > değiştirilmesi yetecek. > > >> > > > >> > * Yamayı yaparken çıkan ilk sorun, clang'ın host önekli > > >> > binarylere > > >> (misal > > >> > x86_64-pc-linux-gnu-gcc) sahip **olmaması** oldu. Bunu > > >> > kurtarmak için şöyle yaptım; eğer pisi.conf'ta tanımlanan > > >> > cc/cxx/ld'nin host önekli olanları varsa öncelikli olarak > > >> > onlar tercih edilecek eğer yoksa doğrudan pisi.conf'a > > >> > yazılanlar kullanılacak/export edilecek. > > >> > > >> pisi kodu host önekiyle vs. uğraşmasın. pisi.conf'a açık açık > > >> önekiyle beraber yazalım. Kullanıcı öneksiz > > >> halini de kullanmak isteyebilir. Pisi zorla eklemesin. > > >> Gerekirse strip, ar, vs için de option koyabiliriz. > > > > > > +1. strip ve ar için arm tarafında pis workaround lar yapmak > > > zorunda kalmıştım. > > > > Tamam, yamayı bunlara göre yenileyip yeniden atacağım yarın. > > > > Ekteki yama nasıl? Binutils uygulamalarının başına HOST ekleyen > bölümleri sildim. Fakat bu işlem get modülünde önceden de yapıldığı > için orda da değişiklik gerekti. Sadece bu işi yapan > getBinutilsInfo fonksiyonu vardı, onu da sildim. Kullananı olabilir > ihtimaliyle bırakabiliriz isterseniz. Önemli olan NM() LD() gibi > fonksiyonlarda bunu kullanmamak nasılsa. > Benim sorunumu çözer bu ancak util.py'de şu kısım eksik: 554 def run_strip(f, flags=""): 555 p = os.popen("strip %s %s" %(flags, f)) 556 ret = p.close() 557 if ret: 558 ctx.ui.warning(_("strip command failed for file '%s'!") % f) strip için şöyle bir workaround kullandım ben (trunk/playground/memre/pisi/pisi/util.py): 583 def run_strip(f, flags=""): 584 strip_cmd = "strip" if not ctx.config.values.build.crosscompiling else "%s-strip" ctx.config.values.build.host 585 p = os.popen("%s %s %s" % (strip_cmd, flags, f)) 586 ret = p.close() 587 if ret: 588 ctx.ui.warning(_("strip command failed for file '%s'!") % f) İnşaya başlamadan önce STRIP değişkenini export ederek bu işi çözdüm ama daha temiz bir çözüm bulunabilir tabii ki. PS: arm için strip işlemini arm cross-compiler'ı içerisinde bulunan arm-pardus-linux-gnueabi-strip ile yapmaktayım. > Bu arada, bu yamayı içeren pisiyi depoya aldığımız zaman, pisi > paketiyle gelen pisi.conf'ların içine host önekli toolchain > adlarını yazalım diyorum (mesela gcc=x86_64-pc-linux-gnu-gcc gibi). > Bu sayede her ihtimalde hostlu olanları kullanmaya devam etmiş > oluruz. Tabi isteyen yine pisi.conf'tan bunu ezebilir. > Aslında conf içerisinde ${host}-gcc gibi ifadeler kullanabilsek ne güzel olur dimi :) > > -- > > Gökcen Eraslan > > > -- > Gökçen Eraslan -- ~ @memre <Mehmet Emre Atasever> __EOM
pgp9ePjGlZ4CI.pgp
Description: PGP signature
_______________________________________________ Gelistirici mailing list [email protected] http://liste.pardus.org.tr/mailman/listinfo/gelistirici
