Index
CBM User Guide Command Line Builds

Compiling for an Unsupported Environment

Rogue Wave is a cross-platform company and our products support a wide range of platforms and compilers. But in this diverse world you may find yourself wanting to compile for an environment that Rogue Wave has not explicitly supported.


Although it might sound like a contradiction, Rogue Wave is striving to improve support for unsupported platforms. For the latest information, visit Software Parts Manager support on our website: http://www.roguewave.com/support/spm.

The remainder of this topic discusses how to use a command line build for unsupported environments.

Modifications to the build script rwspm

The script rwspm is the main interface to the configuration and build model (CBM) for command line builds. Three arguments to rwspm facilitate the building of libraries in unsupported environments. These arguments are:

Procedure

Here is an example procedure for building a library for an unsupported environment. For details about the other arguments to rwspm, see the topic on command line builds. The directory paths use forward slashes. For Windows and OS/2 platforms, substitute back slashes.

  1. You can instruct CBM to add a custom suffix to the library name resulting from the build, which provides a means of identifying a custom build configuration in the library name. For example, by specifying the suffix "b" (for "Borland"), the library name tls0s.lib would become tls0sb.lib. To specify a custom suffix:

    Alternatively, you can also create a custom platform file containing the UNIQUE_LIB setting. The suffix is then added to any build that specified that platform file in the -f option of rwspm. For more information of custom platform files, see the discussion of the -f flag of rwspm in the command line build topic.

  2. Change your working directory to <spm_root>/scripts.

    You must be in this directory to invoke rwspm for a command line build.

  3. Invoke rwspm, using the -g and -fNULL arguments, and specifying a build type code in the -t argument that approximates the build configuration you need. For example:

    rwspm -t4 -g -fNULL -w<workspace_path> -p<source_path>
  4. Change to the directory containing the makefile (located in the buildloc directory of the workspace) and edit the generated makefile as needed. If multiple makefiles are present, review and edit these as well.

  5. Invoke make on the primary makefile.

    Note that you must invoke make from the directory containing the makefile or errors may occur.

  6. Again make <spm_root>/scripts your working directory, and reinvoke rwspm with the same arguments as before but with the -G argument in place of -g:

    rwspm -t4 -G -fNULL -w<workspace_path> -p<source_path>

CBM User Guide Command Line Builds
Index