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

Attachment: pgp9ePjGlZ4CI.pgp
Description: PGP signature

_______________________________________________
Gelistirici mailing list
[email protected]
http://liste.pardus.org.tr/mailman/listinfo/gelistirici

Cevap