Pagina 1 di 1

Compilazione qt tramite Slackbuild di PAT

Inviato: gio 12 ott 2006, 19:17
da Harp
Ciao, sto compilando KDE 3.5.5 adattando lo slackbuild di PAT relativo a KDE 3.5.4.
I messaggi a video relativi alla compilazione di qt, mi hanno fatto notare che non vengono utilizzate le FLAGS impostate in KDE.options.

Come posso fare?

Lo slackbuild imposta quanto segue:

Codice: Seleziona tutto

if [ -r ./KDE.options ]; then
  . ./KDE.options
fi

if [ -d qt ]; then
  ( cd qt
    ./qt.SlackBuild
    installpkg /tmp/qt-*.tgz
  )
  . /etc/profile.d/qt.sh
fi
E lo slackbuild di qt cambia le FLAGS in questo modo:
if [ $ARCH = "i486" ]; then
zcat $CWD/qt.x86.cflags.diff.gz | patch -p1 || exit 1
fi
Inoltre il file qt.x86.cflags.diff.gz è il seguente:

Codice: Seleziona tutto

--- ./mkspecs/linux-g++/qmake.conf.orig	Fri Apr 26 00:48:00 2002
+++ ./mkspecs/linux-g++/qmake.conf	Tue May  7 12:05:04 2002
@@ -18,7 +18,7 @@
 QMAKE_CFLAGS_DEPS	= -M
 QMAKE_CFLAGS_WARN_ON	= -Wall -W
 QMAKE_CFLAGS_WARN_OFF	= -w
-QMAKE_CFLAGS_RELEASE	= -O2
+QMAKE_CFLAGS_RELEASE	= -O2 -march=i486 -mtune=i686
 QMAKE_CFLAGS_DEBUG	= -g
 QMAKE_CFLAGS_SHLIB	= -fPIC
 QMAKE_CFLAGS_YACC	= -Wno-unused -Wno-parentheses
Tutto questo deve restare tale o posso utilizzare le mie FLAGS per Athlon?
Se si come devo fare, per utilizzare le seguenti?

-march=athlon-xp -O2 -pipe -fomit-frame-pointer -ffast-math -mmmx -m3dnow -msse -mfpmath=sse,387


P.S. ho tolto -mcpu=athlon-xp in quanto ricevevo continui warning che dicevano mcpu=athlon-xp is deprecated. Use march or mtune instead.
Va bene il -march che ho messo oppure devo aggiungere anche mtune=athlon-xp?


Ciao e grazie a tutti.

Inviato: gio 12 ott 2006, 19:44
da gohanz
Puoi usare anche un sed nello SlackBuild

sed -i "s|-O2|-march=athlon-xp -O2 -pipe -fomit-frame-pointer -ffast-math -mmmx -m3dnow -msse -mfpmath=sse,387|g" qmake.conf

-mtune non serve visto che hai già dichiarato con -march

In pratica -march crea un eseguibile non compatibile con altre architetture, quindi più performante, -mtune serve a creare un eseguibile compatibile

Inviato: gio 12 ott 2006, 21:04
da Harp
gohanz ha scritto:Puoi usare anche un sed nello SlackBuild

sed -i "s|-O2|-march=athlon-xp -O2 -pipe -fomit-frame-pointer -ffast-math -mmmx -m3dnow -msse -mfpmath=sse,387|g" qmake.conf

-mtune non serve visto che hai già dichiarato con -march

In pratica -march crea un eseguibile non compatibile con altre architetture, quindi più performante, -mtune serve a creare un eseguibile compatibile
Grazie Gohanz per la risposta.
Mi potresti spiegare meglio come fare in modo che vengano utilizzate le flags?
Non ho capito l'utilizzo di sed

Inviato: gio 12 ott 2006, 21:13
da gohanz
Quella riga di sed dovrebbe cambiare -O2 in qmake.conf con

-march=athlon-xp -O2 -pipe -fomit-frame-pointer -ffast-math -mmmx -
m3dnow -msse -mfpmath=sse,387

i tuoi CFLAGS

Inviato: gio 12 ott 2006, 23:55
da Harp
Sinceramente non mi è chiaro questo procedimento.

Qualcuno mi potrebbe indicare il modo di lasciare le mie FLAGS senza fare danni?

KDE.Slackbuild richiama qt.slackbuild che a sua volta ha questa istruzione:
zcat $CWD/qt.x86.cflags.diff.gz | patch -p1 || exit 1

Questa patch, che è la seguente, mi cambia le mie belle CFLAGS impostate in KDE.options:
--- ./mkspecs/linux-g++/qmake.conf.orig Fri Apr 26 00:48:00 2002
+++ ./mkspecs/linux-g++/qmake.conf Tue May 7 12:05:04 2002
@@ -18,7 +18,7 @@
QMAKE_CFLAGS_DEPS = -M
QMAKE_CFLAGS_WARN_ON = -Wall -W
QMAKE_CFLAGS_WARN_OFF = -w
-QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_RELEASE = -O2 -march=i486 -mtune=i686
QMAKE_CFLAGS_DEBUG = -g
QMAKE_CFLAGS_SHLIB = -fPIC
QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses

Io vorrei lasciare le mie CFLAGS senza fare danni.
Posso togliere zcat $CWD/qt.x86.cflags.diff.gz | patch -p1 || exit 1
da qt.slackbuild?
Mi conviene modificare il file qt.x86.cflags.diff.gz?
In questo caso, come?