Building and Organising a Multi-Platform Development Code Base

By Jim Hague

There must be few codebases that don’t face some sort of cross-platform or multi-platform challenge. The size of the challenge varies. At its simplest it might be just to get your system working on a limited number of different releases of the same operating system running on the same processor architecture. Or perhaps you’ve been asked to make your Linux application run on AIX - a job filled with snake Dpits to trap the unwary, as anyone who’s crossed swords with AIX will know. And at the extreme, you may be faced with cross-compiling from a variety of host operating systems to target multiple very different operating systems, GUIs, processor architectures and toolchains.

Judging by some of the open source libraries I’ve been working with recently, this isn’t an area that’s commonly done well.

This aim of this session is to share techniques and experiences of organising and building multi-platform and cross-platform code. I’ll be looking at the common approaches to multi-platform and cross-platform coding and how some build tools I’ve experienced deal with it. There will also be a bit of a rant about GNU Autotools and the perils of system introspection.

But mainly I want this to be a highly interactive session. I want to hear from you, and your experiences meeting the same challenge - what are the tools and techniques you use, what are their good and bad points? Let’s improve our portability together.





Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED


By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED



Settings can be changed at any time from the Cookie Policy page.