Issues in multiple platform development

Several issues arise in an environment where developers create and maintain several platform-specific variants of an application.

The following issues in multiple platform development are:

  • Different source code is required for different variants. Different UNIX and Linux operating systems might use different functions to implement the same task (for example, strchr(3) or index(3)). Additionally, it might be necessary to include different header files for different variants (for example, string.h and strings.h).
  • Different variants and various platforms might have different requirements. The differences might involve such particulars as compiler locations, compiler options, and libraries.
  • Builds for different variants must be kept separate. Because there is one source tree, care must be taken to ensure that the object modules and executables for one architecture are not confused with those for other architectures. For example, the link editor must not try to create an executable using an object module that was built for another architecture.

Additional issues must be addressed if HCL VersionVault does not run on one of the target platforms. For more information about one such issue, see Setting up a build on a non-VersionVault host.