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,
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@xxxxxxxxxxxxxxxxxxx>
Sent by: cdt-dev-admin@xxxxxxxxxxx

12/03/2004 02:17 PM

Please respond to
cdt-dev

To
cdt-dev@xxxxxxxxxxx
cc
Subject
[cdt-dev] CDT Build - What does "Updating Project..." actually do?





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