27 Mart 2013 Çarşamba

Opera ve Kget


Operanın indirme yöneticisi genel kullanımda oldukça pratiktir ama tarayıcıyı kapatmak istediğiniz gibi bazı durumlarda sıkıntı verebilir, örn. büyük bir .iso veya .zip dosyası gibi durumlardır bu veya daha özellikli bir indirme yöneticiside kullanmak isteyebilirsiniz. ...
Kde'nin Kget'i bu konuda hiçte fena değildir.
Bu çalışmada Kde'nin indirme yöneticisi Kget'i Operaya entegre etmeye çalışacağız.
Tabii başka indirme yöneticileride entegre edilebilir, tercih sizindir.


İlk önce Ayarlar > Tercihler > Gelişmiş > Araç çubukları 'na gelip altaki Menü ayarları bölümde Opera Standart'a gelip sağdan Çoğalt diyoruz.(Daha önce çoğaltıysanız gerek yok)
Yeni oluşan Kopyası Opera Standart 'ta gelip Tamam diyoruz.

Ardından ~/.opera/menu/standard_menu_1.ini dosyasını açıyoruz.

[Link Popup Menu]
Bu başlığı bulup bu satırı ekliyoruz.
Item, "Kget ile indir"=Execute Program, "kget", "%l"

Operayı kapatıp açtığımzıda sağ tık menüsüne "Kget ile indir" seçeneği gelmesi lazım.

Normalde bu ayar bile Kget'i kullanmak için yeterli aslında, linkin üzerine gelip "Kget ile indir" dediğinizde Kget devreye girecektir.

---
Diğer bir seçenekte bir indirme linkine direk tık'ladığımızda açılan popup menüsünde otomatik olarak Kget'i çalıştırmaktır.
Bu yol biraz daha uzundur ama kısa sürede kendinize özel bir yapılandırma yapabilirsiniz.

Ayarlar > Tercihler > Gelişmiş > İndirmeler bölümüne gelin.

Şimdi burada her türlü dosya/arşiv çeşitleri bulunmaktadır, tar, zip, bzip, iso, swt vb.leri gibi.
Örn. biz .iso uzantısını Kget ile indirmeye ayarlayalım, artık gerek duyduklarınızı sizde bu şablona göre ayarlayabilirsiniz.

NOT:
Başka bir yazılım ile aç kısmında ki /usr/local/kde4/bin/kget yolu dağıtımdan dağıtıma fark edebilir, onu değiştirmeniz gerekebilir, artık Kget neredeyse ona göre verirsiniz.

Bu çalışma FreeBSD ile yapılmıştır.

Devamını Oku

23 Mart 2013 Cumartesi

Make.conf'u ayarlamak (GCC veya Clang)


BSD altında derleme yaparken /etc/make.conf dosyasını ayarlamak iyi fikirdir.
Bu noktada GCC veya Clang derleme yöntemlerinden birini isteğinize göre seçebilirsiniz.
FreeBSD 9.X sürümlerinden itibaren Clang yöntemi isteğe göre seçilebiliyor, 10.x sürümünden itibarende varsayılan olarak Clang'ın kullanılacakmış. ...
Clang'ı kontrol etmek için.
clang -v

FreeBSD clang version 3.2 (tags/RELEASE_32/final 170710) 20121221
Target: x86_64-unknown-freebsd9.1
Thread model: posix

Tabii Clang şart değil, GCC ilede devam edebilirsiniz.

".....GCC
GCC de işlemcinizin marka/model bilgilerini iyi bilmeniz gerekir, dmesg çıktıları işinize yarayacaktır.
dmesg | grep -e CPU: -e Features
CPU: AMD Turion(tm) 64 X2 Mobile Technology TL-52 (1600.25-MHz K8-class CPU)

Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT>
Features2=0x2001<SSE3,CX16>
AMD Features=0xea500800<SYSCALL,NX,MMX+,FFXSR,RDTSCP,LM,3DNow!+,3DNow!>
AMD Features2=0x1f<LAHF,CMP,SVM,ExtAPIC,CR8>

Burada bizi en çok ilgilendiren K8 kısmıdır, tabii bu sizde başka işlemci varsa daha değişik olacaktır, ona dikkat ederek, burayı [1] özellikle kontrol ederek, make.conf dosyanıza ilgili parametreleri en üste girmenizdir.

Benim üstte verdiğim çıktıya göre bir örneği görebilirsiniz.
CPUTYPE=k8
CHOST=x86_64-pc-linux-gnu
CFLAGS=-march=k8 -msse3 -O2 -pipe
CXXFLAGS=${CFLAGS}

DİKKAT:
Gentoo wiki'sinde önce işlemcinizin marka ve modeline göre arayın, tam eşleşmesine dikkat edin, eğer işlemciniz listede yoksa en yakın olan işlemciye göre parametre seçimini yapın.

"....Clang
Clang'ta olay biraz daha farklı Gentto wiki'sine gerek yok, /usr/src/contrib/llvm/lib/Support/Host.cpp dosyasında işlemcinizin modülünü bulup, make.conf'a girebilirsiniz.

Örn.
dmesg | grep -e CPU: -e Features
CPU: AMD Turion(tm) 64 X2 Mobile Technology TL-52 (1600.25-MHz K8-class CPU)

Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT>
Features2=0x2001<SSE3,CX16>
AMD Features=0xea500800<SYSCALL,NX,MMX+,FFXSR,RDTSCP,LM,3DNow!+,3DNow!>
AMD Features2=0x1f<LAHF,CMP,SVM,ExtAPIC,CR8>

make.conf girilecek parametre.
CPUTYPE?=k8-sse3
CC=clang
CXX=clang++
CPP=clang-cpp

NO_WERROR=
WERROR=

İşlemci tanımlamaları (flagları) aşağı yukarı böyledir.

---
Bu noktada ilginç durumlarda yok değil hani, örn. benim diğer makinenin işlemci modülü K8 gösterirken, AMD nin sitesinden araştırdığımında bunun K10 modülü olduğunu gördüm.
CPU: AMD Athlon(tm) II Dual-Core M320 (2099.31-MHz K8-class CPU)

Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT>
Features2=0x802009<SSE3,MON,CX16,POPCNT>
AMD Features=0xee500800<SYSCALL,NX,MMX+,FFXSR,Page1GB,RDTSCP,LM,3DNow!+,3DNow!>
AMD Features2=0x377f<LAHF,CMP,SVM,ExtAPIC,CR8,ABM,SSE4A,Prefetch,OSVW,IBS,SKINIT,WDT>

Görüldüğü gibi diğer K8 den daha fazla özelliğe sahip, dolayısıyla bende AMD sitesine göre (K10) düzenledim make.conf'u
K10 modülü Host.cpp dosyasında amdfam10 olarak geçiyor.
CPUTYPE?=amdfam10
CC=clang
CXX=clang++
CPP=clang-cpp
NO_WERROR=
WERROR=


"...Ortak Parametreler
Make.conf dosyasına gerek GCC gereksede Clang kullanın fark etmez bazı öntanımlı derleme parametrelerinide girebilirsiniz.
KERNCONF=GENERIC
WITHOUT_DEBUG=yes
NO_PROFILE=yes
BUILD_STATIC=yes
WITH_LCD_FILTERING=yes
WITHOUT_NOUVEAU=yes
WITHOUT_PULSEAUDIO=yes
NO_SENDMAIL=yes
KDE4_PREFIC=yes
WITH_NLS=yes
WITH_X11=yes

WITH ilgili parametreyi kabul eder.
WITHOUT da ret etmek için kullanılır.

Birde parallel ports denilen bir özellik var, bu da işlemcinizin gücüne göre daha fazla işlem yapması anlamına geliyor, çoğu portlar parallel port derlemesini destekliyor ama bazı java, icedtea-web gibi uygulamalar bunu desteklemiyor.
Dolayısıyla bu özelliği kullanmak için altaki parametreyi kullanabilirsiniz.
#DISABLE_MAKE_JOBS=true
FORCE_MAKE_JOBS=yes
MAKE_JOBS_NUMBER=4

Eğer ki derlemede sorun çıktıysa bu büyük ihtimal MAKE_JOBS desteğini kapatmanız gerekecektir o zamanda satırı böyle yapınız.
DISABLE_MAKE_JOBS=true
#FORCE_MAKE_JOBS=yes
#MAKE_JOBS_NUMBER=4

Derleme yaparken top -CHIP ile işlemci hareketlerini gözlemyebilirsiniz.

[1]
İşlemciye Özel CFLAGS Değerleri Türkçe (eski)
Processor Specific CFLAGS Orjinal (güncel)

Kaynaklar:
https://wiki.freebsd.org/BuildingFreeBSDWithClang
https://wiki.freebsd.org/PortsAndClang
http://forums.freebsd.org/showthread.php?t=19469
http://www.freebsd.org/cgi/man.cgi?query=make.conf&sektion=5
http://networking.ringofsaturn.com/Unix/freebsdmakeconf.php
http://blog.up-link.ro/freebsd-optimizations-etc-make-conf/
http://basicuse.net/articles/os/bsd/freebsd/optimization_by_make_conf_in_freebsd
Devamını Oku