Use of the Porting Assistant

»

Porting Assistant

Site information

» Send us your comments

Product information

» Products
» Technical information
» Ordering information
» Download software

Related links

» Related web sites
 

[Setup] [Locating] [Understanding] [Making Changes]

Porting your existing application to a new platform is a cyclic process in which you repeat a series of logical steps:

  1. Setup: Make the source code available on the new platform and then select a part of your application as a starting point for investigation.
  2. Locate Problems: Run this part of your application through the software build process on the new platform to see what problems occur.
  3. Understand: Investigate the problems that arise and decide what remedial actions to take.
  4. Change: Make any necessary changes.

You repeat this series of steps on the remaining parts of your application. The cycle finishes when you can deploy or begin enhancing the application.

The remaining sections briefly describe how the Porting Assistant supports this process. Click on the title of the section or the linked topics under the previous Cycle graphic for more detail. To see a screen shot of the tools used in the steps, click on the Porting Assistant icons to the left of the section titles.

» Setup

Click to view a larger image of the Setup screen

The Porting Assistant needs to know which source files you intend to port and where they are located on your Tru64 UNIX workstation or server.

You can make the files accessible in different ways, such as mounting a remote disk using NFS or copying the files via FTP. Anticipate that you will be making some source changes and producing object files. Determine how you want to manage these changes with respect to the other platforms where your application runs.

You tell the Porting Assistant which source files you want to port either by providing a makefile that builds the application or by manually describing the source files (wildcard syntax is valid) and the compilation options.

» Locating the changes

Click to view a larger image

Changes that you need to make to your application typically result from parts of your application not compiling, linking, running, or running poorly.

The Porting Assistant concentrates on getting your application to compile and link. It does this by running a sequence of checks on your source files to build a list of possible problems for you to investigate. This process is made easier thanks to the Porting Assistant's ability to display the source code associated with specific problems in an editor. You can also get additional information about the problems and suggested solutions by using the HyperHelp, which is directly linked to specific diagnostic messages.

The issue at link time is frequently undefined symbols. The Porting Assistant includes a browser that will help you find a routine on Tru64 UNIX whether it is in an alternate library or has a different name.

For debugging and tuning, HP sells other products including  FUSE. FUSE and the Porting Assistant are very similar in design; in fact, they share common tools.

» Understanding the changes

Click to view a larger image

Once you've located a potential problem, you need to decide how to deal with it. The Porting Assistant helps you to understand the problems by providing detailed descriptions and suggested solutions to each construct it flags. It also provides general discussions of porting issues such as endianism and data alignment. This information is all available using an online HyperHelp system that is directly linked to the Porting Assistant interface, including to specific diagnostic messages.

» Making the changes

Click to view a larger image

After you investigate specific problems, you typically have two results:

  • No change is necessary.
  • You need to modify your code.

To deal with the first case, the Porting Assistant lets you filter out individual or classes of diagnostic messages to make subsequent checking easier to understand. In the second case, you can use the editors integrated with the Porting Assistant or its global search and replace facility to help with the changes.