Now that gnatmake supports -j0, it's possible to speed up the build of
gnattools during GNAT build by using gnatmake -j0 instead of gnatmake.

This is useful since gnattools is the only target which isn't parallelized
in the Makefile before this change.

Tested on x86_64-linux-gnu, committed on trunk.

2011-09-06  Arnaud Charlet  <char...@adacore.com>
        
        * gcc-interface/Makefile.in (common-tools, gnatmake-re,                 
        gnatlink-re): Speed up by using -j0.

--
Index: gcc-interface/Makefile.in
===================================================================
--- gcc-interface/Makefile.in   (revision 178566)
+++ gcc-interface/Makefile.in   (working copy)
@@ -2336,7 +2336,7 @@
 endif
 
 common-tools:
-       $(GNATMAKE) -c -b $(ADA_INCLUDES) \
+       $(GNATMAKE) -j0 -c -b $(ADA_INCLUDES) \
          --GNATBIND="$(GNATBIND)" --GCC="$(CC) $(ALL_ADAFLAGS)" \
          gnatchop gnatcmd gnatkr gnatls gnatprep gnatxref gnatfind gnatname \
          gnatclean -bargs $(ADA_INCLUDES) $(GNATBIND_FLAGS)
@@ -2375,16 +2375,18 @@
        $(GNATLINK) -v vxaddr2line -o $@ --GCC="$(GCC_LINK)" targext.o $(CLIB)
 
 gnatmake-re:  link.o targext.o
-       $(GNATMAKE) $(ADA_INCLUDES) -u sdefault --GCC="$(CC) $(MOST_ADA_FLAGS)"
-       $(GNATMAKE) -c $(ADA_INCLUDES) gnatmake --GCC="$(CC) $(ALL_ADAFLAGS)"
+       $(GNATMAKE) -j0 $(ADA_INCLUDES) -u sdefault --GCC="$(CC) 
$(MOST_ADA_FLAGS)"
+       $(GNATMAKE) -j0 -c $(ADA_INCLUDES) gnatmake --GCC="$(CC) 
$(ALL_ADAFLAGS)"
        $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatmake
        $(GNATLINK) -v gnatmake -o ../../gnatmake$(exeext) \
                --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
 
 # Note the use of the "mv" command in order to allow gnatlink to be linked with
 # with the former version of gnatlink itself which cannot override itself.
-gnatlink-re:  link.o targext.o
-       $(GNATMAKE) -c $(ADA_INCLUDES) gnatlink --GCC="$(CC) $(ALL_ADAFLAGS)"
+# gnatlink-re cannot be run at the same time as gnatmake-re, hence the
+# dependency
+gnatlink-re: link.o targext.o gnatmake-re
+       $(GNATMAKE) -j0 -c $(ADA_INCLUDES) gnatlink --GCC="$(CC) 
$(ALL_ADAFLAGS)"
        $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatlink
        $(GNATLINK) -v gnatlink -o ../../gnatlinknew$(exeext) \
                    --GCC="$(GCC_LINK)" $(TOOLS_LIBS)

Reply via email to