Software Archive
Read-only legacy content

Rebuilds

Intel_C_Intel
Employee
353 Views
I am just trying to follow Caroline Davidson's suggestions in the last newsletter on how to avoid unnecessary rebuild operatiion during compile time. Here are my questions:

When you say, "copy all of the modules generated via the static library build into a common-module location", what do you mean by that.

I am also unsure whether I completely understand the rest of the instructions either. I do not have any problem finding my way around the developer studio, so I know what dialog boxes you are talking about, but still the whole operation seems a bit vague to me.

Could you please just provide one simple example for the entire operation. It would be great if I can actually open a simple project "*.dsw", ... and inspect different dialog boxes to see how it is done.

Regards;

Ali Asi
Enginia Research Inc.
0 Kudos
8 Replies
Steven_L_Intel1
Employee
353 Views
Hmm. I'm not sure if I would approach this the same way Caroline did. I create a Fortran Static Library project and make it a dependent of the main project. I move the MODULE source files into the subproject. So far, this matches what Caroline says. (Note when I say "move", I mean that they are removed from the main project.)

Now the only other thing you need to do is, in Fortran..Preprocessor, add to the INCLUDE/USE path the folder where the subproject puts its .mod files.

The rest of her suggestions, including the post-build step, seem unnecessary to me.

Steve
0 Kudos
Steven_L_Intel1
Employee
353 Views
Caroline pointed out to me that I missed an important part of her advice. You need to remove from the main project all traces of the modules that are moved to the subproject, especially any .mod files. You can either use a post-build step to copy the .mod files to the main project, as Caroline suggests, or add the subproject's .mod output path to the main project's include/use path. With a post-build step (Project..Settings..Post-Build step), you would add a COPY command to copy the files appropriately.

Sorry for the confusion.

Steve
0 Kudos
Intel_C_Intel
Employee
353 Views
Thanx Steve for your invaluable comments. After some trial and error, I simply ignored the instruction for Postbuild movement of MOD files. You see, our project is being downloaded from SourceSafe and over there, we only store *.F90 files. So, if I start from fresh (no MOD files), all the MOD files are going to be created at the right location and therefore there would be no need for postbuild macro to move any files.

My only delimma at the moment is:
I get zillions of warning messages that all the mod files are not found the very first time the build command is executed. To me, the compiler should have been smart enough to know that since the main project has a Fortran static library as a sub project, it shouldn't even bother looking for "MOD" files before actually creating the "*.lib" file generated by the Fortran Static Library. Anyways, till the time that this flaw is cured, I was looking for a compiler option that turns off all these needless warning messages at the begining of a fresh build. I was looking for something like "Suppress Preprocessor messages/banner ...", but couldn't find anything. Do you have any idea how I can turn off these warnings. I don't want to switch the entire compiler to no warning, because I still need to be warned of other important mistakes that I make.

Thanx for your help.

Ali Asi
Enginia Research Inc.
0 Kudos
Steven_L_Intel1
Employee
353 Views
I think that doing a Build..Update dependencies should take care of this. I haven't seen the problem otherwise.

Steve
0 Kudos
Intel_C_Intel
Employee
353 Views
Steve;
I am afraid it is not the case. If you do an "Update All Dependencies" on a fresh project (the first time is being built), you will get a whole bunch of warning message such as this:

Build : warning : failed to (or don't know how to) build 'D:WorkV52B3DINTELFortran_ModulesDebugGLOBAL_SETTINGS.mod'
Build : warning : failed to (or don't know how to) build 'D:WorkV52B3DINTELFortran_ModulesDebugGEOMETRY_DATA.mod'
Build : warning : failed to (or don't know how to) build 'D:WorkV52B3DINTELFortran_ModulesDebugPHYSICS_VOLUME.mod'
Build : warning : failed to (or don't know how to) build 'D:WorkV52B3DINTELFortran_ModulesDebugBEM_INFO_GLOBAL.mod'
...
And the list goes on ....

I thought this may well be a flaw in compiler (developer studio) logic. But, for now I was wondering if I can get rid of this annoying message.

Ali Asi
0 Kudos
Steven_L_Intel1
Employee
353 Views
Without seeing your project, I can't figure out why you get these messages. Please send a ZIP file of your project to us at vf-support@compaq.com, along with details of the problem.

Steve
0 Kudos
Intel_C_Intel
Employee
353 Views
Thanx a lot Steve for your prompt replies. It is much appreciated. Unfortuantely, our project is more than 200MB in size of properietary information that I am not allowed to release. I am confident that you can regenrate the same behavior by setting up a small sample session yourself. If you remember having such a sample project was my very first request. By creating that, you will have a good example of what Caroline's article was all about and at the same time you could fix problems that users like me have encountered. I guess this is as far as I can take this thread. Once again, thank you.

Ali Asi
Enginia Research Inc.
0 Kudos
Steven_L_Intel1
Employee
353 Views
Dr. Asi,

I probably don't need to see your source. Please just send me the .DSP, .DSW and .PLG files from your project folder. I doubt I can recreate your problem without understanding exactly what it is you have done - I have built large applications with hundreds of modules and have never seen this symptom before.

Steve
0 Kudos
Reply