Porting to UNIX and Linux

With its unrivaled software porting experience, Mainsoft's Professional Services team understands the most common and most problematic challenges of complex porting projects. Mainsoft has developed a proven, systematic porting methodology, with Mainsoft for UNIX® and Linux®, which ensures projects are completed on time and on budget.
"If your shop is working in C++/MFC and needs to port to UNIX, consider Mainsoft as a primary option."
John R. Rymer,
Vice President,
Forrester

Requirement analysis

Mainsoft first performs a technical review with the developer to define the success criteria of the project:
  • The scope of functionality needed to be ported.
  • Dependency analysis of application modules including third party components.
  • UNIX/Linux platform requirements.
  • Application testing requirements.
At the end of the requirement analysis phase, we set up a reference Windows® build of the application to be ported and the test suites to be passed. This Windows build will be used as a reference during the porting process to duplicate the Windows state on UNIX or Linux.

Detailed project plan

Our cross-platform experts perform two types of analyses in order to determine a detailed project plan:
  • Perform a binary analysis of the Windows application in order to determine the APIs and technologies used by your application.
  • Analyze your existing source code. Here we uncover any potential data binary representation and C++ compiler incompatibilities.
The Professional Services team details its findings along with an estimate of the time required to successfully complete the porting project. Based on this information and your requirements for time-to-market and costs, the Professional Services team produces a detailed project plan that includes scheduling, milestones, resource allocation, and a fixed cost for the project.

Implementation phase

The end result of this phase is an application that is up and running on the targeted platform. It includes the following steps:
  • Build on the targeted UNIX or Linux platforms.
  • Implementation of non-portable code and C++ resolutions.
  • Resolution of runtime issues and integration with third-party libraries/applications.
  • Test suite validation.

On-site project delivery

Mainsoft Professional Services will provide training and education with the turnover of the resulting application, to ensure you can successfully deploy and maintain your application without third-party dependencies.