Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] CDT Build - What does "Updating Project..." actually do?

Thanks Sean,

That provides some insight for the MBS side.  But, these are Standard Make
projects.  Our makefile does manage .d files, but I can;t imaging the
standard make project processes them, or even knows about them!  Is it
doing something different in the standard make project case?

-Chad


                                                                           
             Sean Evoy                                                     
             <sevoy@xxxxxxxxxx                                             
             >                                                          To 
             Sent by:                  cdt-dev@xxxxxxxxxxx                 
             cdt-dev-admin@ecl                                          cc 
             ipse.org                                                      
                                                                   Subject 
                                       Re: [cdt-dev] CDT Build - What does 
             12/03/2004 01:38          "Updating Project..." actually do?  
             PM                                                            
                                                                           
                                                                           
             Please respond to                                             
             cdt-dev@eclipse.o                                             
                    rg                                                     
                                                                           
                                                                           





Chad,
Assuming MBS and the GCC toolchain, the build is post-processing the
source-level dependency files (.d files that are generated at build-time
for make). In order to support the 2.X GCC compilers which did not have a
full set of dependency-generating flags, the makefile generator has to go
over the generated '.d' files and make sure that all dependencies on header
files are also specified as targets with no pre-reqs. For example:

foo.o: foo.c ../includes/foo.h /usr/include/stdio.h ...

../includes/foo.h:
/usr/include/stdio.h:
...

If this is not done, the make will fail the next time it is run and a
header file is not where it is supposed to be. If you are running the GCC
3.0 or above, it actually has flags that generate these dummy targets for
the header files automatically. I can walk you through the process of
changing the makefile generator to take advantage of them. The
post-processing step becomes a NOP at that point.

Sean Evoy
Rational Software - IBM Software Group
Ottawa, Ontario, Canada


                                                                           
 <cebarne2@rockwellcollins                                                 
 .com>                                                                     
 Sent by:                                                               To 
 cdt-dev-admin@xxxxxxxxxxx              cdt-dev@xxxxxxxxxxx                
                                                                        cc 
                                                                           
 12/03/2004 02:17 PM                                               Subject 
                                        [cdt-dev] CDT Build - What does    
                                        "Updating Project..." actually do? 
     Please respond to                                                     
          cdt-dev                                                          
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           





All,

Some of our users of the CDT are complaining about poor performance.  Well,
there are many contributors to this, but one in particular is a post-build
delay. After the makefile has been built, the build continues to run for a
while with the "Updating Project..." message.  What is it doing?  With some
of our projects, even if trivial builds, this can take 30 seconds or longer
(granted, there are a lot of files in the project).

For this particular project, there may be 500 C/C++ files, but only a
handful are used for the build.  There are likely thousands of files total.
These files are coming from a linked resource.  It is a standard make
project.

If I can determine what is occuring at this time, I can begin to eliminate
bottlenecks (is it the network, the CM system, etc?).

Thanks,

Chad Barnes
Rockwell Collins, Inc.

_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/cdt-dev




Back to the top