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?


Chad,
You are right; the '.d' files are purely a MBS artifact. It may be the auto-discovery mechanism kicking in, trying to reconcile the include and defines for the project with what is currently known. Have you tried disabling that feature (assuming your settings are stable and correct)?

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



<cebarne2@xxxxxxxxxxxxxxxxxxx>
Sent by: cdt-dev-admin@xxxxxxxxxxx

12/03/2004 02:47 PM

Please respond to
cdt-dev

To
cdt-dev@xxxxxxxxxxx
cc
Subject
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


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


Back to the top