|
Boy! You have your work cut out for you.
No simple answer comes to mind, but some pointers that may be worth checking out.....
The short answer is that I've yet to come across a universal build process that works easily on a new platform. You may wish to have a look at the approach used with gnu packages (eg gnu make, gcc, etc). Essentially, they run a configure script that detects system settings and then produces necessary make files. The problems I see with that approach is that the configure scripts seem to require hand-crafting for every target system, and also seem to require pretty intimate knowledge of the application being built. As you require some contributing libraries (boost, ACE, etc) such a script will also need to work out how to build those on each target platform; while most of those libraries are designed with portability in mind, there is variation between packages and even between versions of particular packages.
You might be able to simplify things by distributing the complete development environment (e.g. if you're happy to go with gnu, a particular version of gnu make, gcc, etc) with your application. The catch with that is that the build times of such packages will make for a pretty significant installation process for someone who wants to work with your application in source form (and you'll need to release your package under the licence associated with the packages you select --- and not all licences will suit [eg the gnu licence is seen as onerous by some]). The advantage is that you get to benefit from all the work that has gone into making those development tools ostensibly portable.
|