Dueling Compiler Flags
It is important that the libraries and object files that go into creating an application be compatible. The RCB application defines the system flags and macros it knows are required by the SourcePro libraries it is building. More About System Requirements discusses how to find out what these were and how to use them.
When you look at the flags and macros defined by RCB, you should consider whether there are additional flags or macros you intend to define for your application. If there are, it is time for caution. It is possible that your definitions will conflict with those of RCB, which could lead to problems in your application.
The best solution to this problem is to re-build the SourcePro components with your additional flags and macros included. RCB makes it easy to re-use a buildspec after modifying it slightly. For this problem, you would:
1. Select Edit an existing buildspec on the RCB opening screen, being sure to first select the buildspec corresponding to the SourcePro libraries you intend to use.
RCB sets itself up to edit the selected buildspec, and takes you to the end of the question list.
2. Using the question list on the left of the screen, return to the User opts question set.
If you do not see User opts in the question list, it is because the RCB option to present advanced questions is turned off. To turn it on, click Options to display the Options dialog and click the Present advanced questions check box.
3. Enter your options either before or after any options RCB defines at compile time and library creation time. (There are places to enter options at executable creation time, but these apply only to examples.)
Where you place your options influences whether your options or RCB’s take precedence. Order of precedence is compiler-specific, so you will need to consult your compiler documentation to determine how it handles precedence.
4. Optionally, go to the Library naming scheme question set and define a user tag.
You can define a user tag under Library naming scheme. RCB then considers the buildspec to be new and stops worrying about differences with the original buildspec. RCB also performs the usual validity and consistency checks on the new buildspec, which provides some safety.
5. When done editing, click Done editing options. The session summary screen appears. After reviewing the screen, click Done editing buildspec to save the buildspec. Then submit the build from the Build Queue screen.
If your added options cause problems, this will be evident during the build of the SourcePro libraries. You should resolve any issues at this point.
Once the libraries build successfully, your options will appear in the makefiles and log files for the build. You can find them and apply them to your application command line as described in More About System Requirements with a good chance of avoiding any incompatibilities with the SourcePro libraries.
NOTE: Even if you follow this procedure, there is still some risk. Although a successful build of the SourcePro components is a good sign, there could still be subtle problems that might ultimately affect your application. By adding flags, you are essentially building the SourcePro components in an uncertified configuration.