text: Below find some general details about ports of Comeau C++.
  Our normal goal is to establish custom ports with similar "out of the box" functionality as our normal generally available ports.
  Note that even if you just want to use another C compiler with Comeau C++, you will need a custom port from Comeau.
  Not only are some ports difficult, there is always the real concern of the drudgery of lots of specifics. This is where our experience and porting savvy come into play.
  Often there are scores of small changes which need to occur, some in the compiler proper itself, which must be done by Comeau.
  It's also significant to appreciate that when a port gets complex, and they all do, that "we've seen it all" and so we already have that savvy, which you gain from us then as we do the port. You may want to look at for our immense experience.
  Time-wise, a typical port take about a month. So, for instance, if we started today, it would not be unreasonable to expect to have a beta of the port completed by 3 weeks or so for you to test out.
  Price-wise, a typical port runs from $5-$50K with around $20K being average, depending upon the precise details and needs. This usually provides a minimal C++ (maybe or maybe not with templates, exception handling, rtti, and namespaces depending upon details) with the range from $5K to $50+K depending upon the details.
  Below is a general discussion, and questions, for us to continue with. It will help us better to understand your need and goals, and hence from which directions and solutions to advise you, if you consider these issues. Of course, you should specifically address these points, and your own concerns, if you correspond with us about a custom port.
  There are may steps to compilation. As to one aspect of compilation, Comeau C++ generates C as its object code.
  However, the generated C code is not generic or general.
  Therefore, it alone is insufficient, because, among other things, of differences between the host and target. As one example, the compiler itself needs to be changed for some platform specific things, like the sizes and alignments of the builtin types such as int and float, in order to be appropriate for your target (the front-end must know this and dozens and dozens of other things about the target). Similarly, when using say exception handling, then there is some "compiler helper routines" that we will also need to port so it can be available in your target's object code form. And so on.
  In other words, there will need to be a number of modifications and tailorings necessary. And only upon those modifications will it be ok with your C compiler (not just in compiling but in obtaining 'valid' object code that will compile, link, and also run properly with the specific chip) and the Comeau translation phases, task coordination, analysis, semantics, symbol information, etc.
  The main C++ technical issues on the table include:
  Of course, each of these bullet items has hundreds of considerations, implications, and hours of meticulous work behind them. In order to talk about anything in detail, we should consider this list (5-8 are given's though).
  Furthermore, when considering ports, we often like to find out about the following generic/non-technical list.
  Some of this may not apply to you but we need to ask anyway to get the right perspective, so please answer all below even if to say it doesn't apply.
  Also, the above is not intended to be the only questions possible. Therefore, you should also include issues such as:
  This may all no doubt seem quite overbearing, but that's often only a momentary thing. Every project we do ends up being unique in many ways, so it's important to establish a list of what is going to be what. Therefore it's important to get through the items and see what we are left with. Not only will this process bring forth better understand of each's needs et al, but it will also boil up to the top what's going to be important. It's only from that which we can work with you in terms of covering the issues, and of course the cost.
  /* the end */
  [
  Comeau C++ Documentation |
  C++ Committee |
  C++ Resources
  ]