On Mon, 10 Oct 2011 09:20:12 +0300, Gökcen Eraslan <[email protected]> wrote:
On Sun, 9 Oct 2011 23:25:52 +0300, Mehmet Emre Atasever <[email protected]> wrote:
On Sun, 9 Oct 2011 12:32:55 +0300
Gökçen Eraslan <[email protected]> wrote:
...
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.


strip ve objcopy'yi de pisi.conf'tan alacak şekilde değiştirdim yamayı.

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 :)

Bu özellik zaten ConfigParser modülünde ne zamandır varmış. Interpolation diye geçiyor, misal:

cc = %(host)s-gcc
cxx = %(host)s-g++
host = x86_64-pc-linux-gnu

yazılabiliyor. Pisi paketinden gelen öntanımlı pisi.conf'larda bu şekilde kullanabiliriz belki.

Hatta cflags ve cxxflags'deki her flagi de 2 kere yazmamak için:

commonflags = -mtune=generic -march=x86-64 -O2 -pipe -fomit-frame-pointer -fstack-protector -D_FORTIFY_SOURCE=2 -ggdb3 -funwind-tables -fasynchronous-unwind-tables
cflags = %(commonflags)s
cxxflags = %(commonflags)s

şeklinde yazsak nasıl olur? Flagleri değiştirirken, birine yazıp öbürüne yazmama ihtimalini ortadan kaldırır.

--
Gökcen Eraslan
_______________________________________________
Gelistirici mailing list
[email protected]
http://liste.pardus.org.tr/mailman/listinfo/gelistirici

Cevap