[pooma-dev] POOMA CVS log messages
Julian C. Cummings
cummings at linkline.com
Sat Apr 7 00:57:59 UTC 2001
RE: [pooma-dev] POOMA CVS log messagesHi Jim,
Yeah, you're right. The files in the "Header files" folder are
completely ignored, as far as I can tell. The only ones that
matter are "Source files" and "External Dependencies". I
noticed that the Pooma project has one file in "External
Dependencies": src/IO/CTTI.h. So I guess something did
some dependency analysis at some point and put this file
here. But clearly the dependency analysis fails early on.
It shouldn't really have anything at all to do with templates,
right? All you do is preprocess and see what files get included.
How hard can it be? <sigh>
-- Julian
-----Original Message-----
From: James Crotinger [mailto:JimC at proximation.com]
Sent: Friday, April 06, 2001 4:04 PM
To: 'cummings at linkline.com'
Cc: 'pooma-dev at pooma.codesourcery.com'
Subject: RE: [pooma-dev] POOMA CVS log messages
You can
add source files to a project manually using the menu item
Project/Add to Project/Files, but this is tedious. Welcome to
the fun world of VC++!
I tried adding the header file in question to the Headers list, modifying
it, and rebuilding, and it still didnt rebuild. I just checked I added
DynamicArrays.h to the Headers folder of my DynamicArray/DynamicArrayTest5
project. Built the test, made a modification to DynamicArrays.h, and hit
rebuild. Nothing happened.
I think this is actually a problem with templates. Ive become a heavy
user of VC++ over the past 8 months (with Microsofts compiler) and Ive
occasionally seen a dependency screw-up, but mostly it works correctly. It
appears to do a proper dependency analysis. For instance, have a Proximation
test code (which uses not complicated templates, though there are some
traits classes and template functions here and there) with the following
projects:
CSum
CSumProxy
CsumStub
ProxLib
TestCreateInstance
These are all in the same workspace and TestCreateInstance depends on the
first four projects. Furthermore, the first three projects have files that
depend on a header file ISum.h, as does the main program in
TestCreateInstance. ProxLib does not depend on this file. If I modify ISum.h
and hit the rebuild button, it rebuilds CSum.dll, CSumProxy.dll,
CSumStub.dll, and finally the TestCreateInstance object and executable (but
not anything in ProxLib). This happens in spite of the fact that ISum.h is
not in any of the Headers folders in these various projects. There is a
folder that is automatically created by Visual Studio called External
Dependencies and ISum.h shows up there.
VC++ does this correctly with and without the VTune C++ compiler selected.
Unfortunately, I cant test Pooma with VC++ sans VTune, so I dont know if
the dependency analysis breaks because of something Pooma is doing (like
file-naming conventions?), something VTune is doing, or if it is just a bug
in VC++ when using templates. Hmmm. Indeed, there is NO External
Dependencies folder in the DynamicArrayTest5 project, which indicates that,
for whatever reason, it is completely blowing its dependency analysis. Im
guessing that the templates are confusing it. All I know is that it is a
major pain in the butt.
Jim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sourcerytools.com/pipermail/pooma-dev/attachments/20010406/e3b99624/attachment.html>
More information about the pooma-dev
mailing list