@seife: Parallel build für binutils

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

@seife: Parallel build für binutils

Beitrag von rhabarber1848 »

Hi,

ich habe auch schon mit make -j experimentiert, für binutils ist das erforderlich:

Code: Alles auswählen

--- ../compile2/cdk/make/bootstrap.mk   2008-10-05 14:48:06.000000000 +0200
+++ ./cdk/make/bootstrap.mk     2008-10-05 15:44:30.000000000 +0200
@@ -97,7 +97,9 @@
                        --disable-nls \
                        --disable-werror \
                        --without-fp && \
-               $(MAKE) all all-gprof && \
+               $(MAKE) configure-host && \
+               $(MAKE) -j $(J) all && \
+               $(MAKE) -j $(J) all-gprof && \
                @INSTALL_binutils@
        @CLEANUP_binutils@
        touch $@
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: @seife: Parallel build für binutils

Beitrag von seife »

Ok. Ich habe nur gemerkt, dass es nicht funktioniert, da habe ich es erst mal weggelassen ;-)
dwilx

Re: @seife: Parallel build für binutils

Beitrag von dwilx »

Interessant! Bedeutet das, dass mehrere Bauvorgänge gleichzeitig ablaufen können oder wie darf man das jetzt verstehen? Würde mir das direkt etwas bringen? Kann das jemand bitte kurz erläutern?
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: @seife: Parallel build für binutils

Beitrag von rhabarber1848 »

dixidix hat geschrieben:Bedeutet das, dass mehrere Bauvorgänge gleichzeitig ablaufen können oder wie darf man das jetzt verstehen
Innerhalb eines builds (binutils, gcc, glibc u.ä.) können mehrere Objekte, die keine Abhängigkeiten
untereinander haben, gleichzeitig kompiliert werden. Damit wird der build-Prozess beschleunigt.
Bei gewissen Programmen kann das parallele Kompilieren allerdings zu Problemen führen, wenn die
Makefiles des Programms nicht darauf vorbereitet sind.
dwilx

Re: @seife: Parallel build für binutils

Beitrag von dwilx »

Aha, und ist das jetzt nur optional oder anders gesagt, wie bringt man das Ganze dazu, dass so zu machen? Ist da eine Extra configure Option drin?
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: @seife: Parallel build für binutils

Beitrag von rhabarber1848 »

Es ist optional, Anleitung gibt es in der CVS-Mailingliste:
http://cvs.tuxbox-cvs.sourceforge.net/l ... 00006.html
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: @seife: Parallel build für binutils

Beitrag von rhabarber1848 »

@seife: Folgende Libs habe ich positiv für make -j X getestet:

curl
freetype
png
z

Wann planst Du, den uClibc-Patch einzuchecken? (duck und weg... ;))
dwilx

Re: @seife: Parallel build für binutils

Beitrag von dwilx »

Also beim Targetaufruf make -j 3 [target]?
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: @seife: Parallel build für binutils

Beitrag von rhabarber1848 »

Enable with "make J=3" for 3 parallel jobs.
Also:

Code: Alles auswählen

make J=3 [target]
dwilx

Re: @seife: Parallel build für binutils

Beitrag von dwilx »

Ok, danke, muss ich mal probieren! :wink:
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: @seife: Parallel build für binutils

Beitrag von seife »

rhabarber1848 hat geschrieben:@seife: Folgende Libs habe ich positiv für make -j X getestet:

curl
freetype
png
z
libs habe ich schon fast alle drin, sorgt auf einem core 2 duo T7200 für Bauzeiten unter einer halben Stunde vom CVS checkout bis zu "make flash-neutrino-squashfs-all" (mit "J=3")
Wann planst Du, den uClibc-Patch einzuchecken? (duck und weg... ;))
Eigentlich schon den ganzen Tag, allerdings hatte ich ein kleines Problem mit den libmpegtools (O_LARGEFILE war nicht defined), was ich zuerst l (darum auch die newmake.files Korrektur), von dem ich erst sicher sein musste, dass es nicht am uclibc Patch liegt.
Wegen den häufigen Bauversuchen habe ich dann auch das mit dem Parallelbauen eingecheckt ;)

Dann war ich erst mal ein Bier trinken.

Langer Post, kurzer Sinn: ich hab's grad eingecheckt.