Am Die, 2002-05-07 um 14.56 schrieb René Matthäi:
Hi,
wenn ich z. B. von pacman.... was runtergeladen habe und es z. B. für meinen Duron optimiert kompilieren möchte, wie gehe ich dann am einfachsten vor? Du hast es schon herausgefunden ;)
Ein rpm --rebuild --target athlon hat nur bewirkt, dass das RPM ein Byte größer (kleiner?) und unter /usr/src/packages/RPMS/athlon zu finden ist. Die gcc-Kommandos optimieren immer noch -march=pentiumpro -mcpu=pentiumpro Hatte ich auch vermutet, nachdem ich mir per rpm2cpio das spec-file angeschaut habe, aber man kann's ja mal versuchen...
Wie entpack rpm -U bla.src.rpm
und wiederverpack ich also so ein SRPM am einfachsten rpm --rebuild bla.src.rpm
und richtig? rpm -ba bla.spec
(sprich: mit welchen Optionen macht Ihr das so?) Wenn es um gcc-Optimierung von rpms geht, wäre rpm --target schon richtig.
Diese werden von diversen rpm-Konfigurationsdateien (/usr/lib/rpmrc,/usr/lib/rpm/*, /usr/lib/rpm/*/macros). in entsprechene RPM_OPT_FLAGS u.ä umgesetzt und können (Wenn es im rpm.spec vorgesehen ist und das zu konfigurierende Paket auch verarbeiten kann) in entsprechende CFLAGS u.ä. beim Übersetzen von RPMs verwendet werden. Ohne mir die Details jetzt näher angesehen zu haben, ist es gut möglich, dass SuSE's rpm so konfiguriert ist, dass "athlon" identisch mit i686/pentiumpro ist, da der gcc-2.95.3 keine Athlon-spezifische Optimierung kennt (k6 kennt gcc-2.95.3 allerdings, ob's was bringt, darüber scheiden sich die Geister.). Davon mal abgesehen, sagt die Grösse eines kompilierten Programmes (und damit die Grösse des RPMS) nichts über den Inhalt aus. Der Inhalt kann sich ganz erheblich unterscheiden. Ralf