Installing and Building Your SourcePro® C++ Products : Chapter 3 Buildspec Details : General Buildspec Questions : Select Buildspace
Select Buildspace
A buildspace is the location where SourcePro components are installed and buildspecs are stored. RCB provides two buildspace options: local and export. This section explains local and export buildspaces. Additional information on buildspaces is in Chapter 4.
In RCB, you must specify the Local buildspace, the directory that contains all the Rogue Wave components used in the creation of the buildspec. The results of executed buildspecs are also placed here unless otherwise stated. Optionally, you can select an Export Buildspace, a separate location where you want the executed buildspecs to be stored.
NOTE >> RCB does not support symbolic links. If you use symbolic links, you are likely to see this error message when you submit a buildspec: “Unable to verify Buildspace is properly homed.” This means RCB cannot verify that the buildspec being processed is correctly located in the buildspace it specifies, a consequence of RCB being unable to follow the symbolic link. RCB then aborts the build.
Local Buildspace
The local buildspace must be a directory into which the installation scripts have installed Rogue Wave components. RCB will not accept other selections.
The choice you make determines
where the buildspec will be stored.
the components you can build (only those that have been installed into the designated buildspace).
the target for build results, if you did not check the Export the build box.
Copying Buildspecs
Running the RCB GUI across a network can be slow. Also, certain combinations of Java Virtual Machine implementations and display environments do not seam together well, sometimes yielding bugs in the GUI rendering process.
RCB allows a buildspec file to be created on one RCB installation and then executed on another. This allows you to work around the GUI rendering problems.
You can copy a local build or an export build. An example of each is listed below. For the purposes of the example, two definitions must be defined:
Local Installation: The on site installation of RCB, preferably displayed on the same machine it is being run on.
Remote Installation: The installation of RCB in which builds need to be executed.
Copying Local Buildspecs
This example assumes that you are working on a Windows platform.
Install RCB and SourcePro C++ components in both the local and remote installations. Both installations must have the same products installed.
Create a new buildspec in the local RCB installation.
On the Select Buildspace screen, use the local buildspace value that is appropriate for the local installation.
On the Select Operating System screen, specify the operating system that is appropriate for the remote environment where the buildspec will be executed.
On the Select Compiler screen, specify the compiler that is appropriate for the remote environment where the buildspec will be executed.
On the Select Naming Convention screen, add a user-tag to help identify the buildspec. This makes it easier to handle the buildspec files directly.
On the Build Queue screen, create all required buildspecs, then exit RCB. These buildspecs will automatically be added to the Build Queue screen. Do not launch the builds locally.
Copy the newly created buildspec files (recognized by the .bsf extension) from <buildspace_of_local_installation>\records\specs\ to a location accessible by the remote system.
Execute the copied buildspec files on the remote machine via a command line build.
For this copy attempt to work, the buildspace value in the buildspec must be appropriate for the machine it will build on. To make the buildspace value appropriate, it must be changed or overridden. Rogue Wave recommends using the existing RCB command line option (-S) to override the buildspace value at build time:
 
rcb build -b <desired_buildspec> -S <buildspace_of_remote_installation>
NOTE >> Note that this does not replace the buildspace value in the buildspec file itself. For more help on the override options available in RCB, type:
rcb build -help
Copying Export Buildspecs
This example assumes that you are working on a Windows platform.
Install RCB and SourcePro C++ components in both the local and remote installations. Both installations must have the same products installed.
Create a new buildspec in the local RCB installation.
On the Select Buildspace screen, use the local buildspace value that is appropriate for the local installation.
On the Select Operating System screen, specify the operating system that is appropriate for the remote environment where the buildspec will be executed.
On the Select Compiler screen, specify the compiler that is appropriate for the remote environment where the buildspec will be executed.
On the Select Naming Convention screen, add a user-tag to help identify the buildspec. This makes it easier to handle the buildspec files directly.
On the Build Queue screen, create all required buildspecs, then exit RCB. These buildspecs will automatically be added to the Build Queue screen. Do not launch the builds locally.
Copy the newly created buildspec files (recognized by the .bsf extension) from <export_buildspace_of_local_installation>\records\specs\ to a location accessible by the remote system.
Execute the copied buildspec files on the remote machine via a command line build.
For this copy attempt to work, the buildspace value in the buildspec must be appropriate for the machine it will build on. To make the buildspace value appropriate, it must be changed or overridden. Rogue Wave recommends using the existing RCB command line option (-S) and (-E) to override the buildspace value at build time:
 
rcb build -b <desired_spec> -S <local_buildspace_of_remote_installation>
-E <export_buildspace_of_remote_installation>
 
Note that this does not replace the buildspace value in the buildspec file itself. For more help on the override options available in RCB, type:
 
rcb build -help
NOTE >> When transferring export buildspecs, ensure that all specs transferred into a given export_buildspace_of_remote_installation have consistent settings for the “which files to copy” setting (headers vs. headers and source).
Export Buildspace
To place the build results in a buildspace different than the local buildspace, click Export the build and specify a path in Export buildspace field. This is the buildspace where buildspec results will be placed from now on.
If you choose to export the build, all of the resources needed for the build — buildspec, source code, component data — are still taken from the local buildspace, but the build results — compiled components, object files and makefiles — are placed in the specified export buildspace. By default, RCB also copies the header files to the export buildspace. If you select Headers and source from the Copy these files pulldown menu, the source code is copied as well.
If you select a preexisting location as the export buildspace, and that location already contains Rogue Wave source code, RCB forces Headers and Source to be selected in the Copy these files pulldown menu. This requirement prevents a situation where the source code in a buildspace is not the same code used to create the built components in that buildspace. Likewise, you cannot export into an existing export buildspace that was created from a different source buildspace.