Thu, 23 Sep 1999 09:42:44 -0400
Roger, see reply in context below. Rush
> -----Original Message-----
> From: Roger Racine [SMTP:[log in to unmask]]
> Sent: Friday, September 10, 1999 4:31 PM
> To: [log in to unmask]
> Subject: Re: c2ada
<extraneous prior dialog snipped>
> In my case we have a number of projects that have created many programs
> and program architectures written in C. Typically the Ada to C interface
> would be very localized, but creating the record types corresponding to
> the C
> structures is a big pain.
> The best thing for users would be to have one tool licensed by all the Ada
> vendors. This would make sure that the tool was available no matter what
> platform or compiler was being used for a given project. This might be a
> bit wasteful for projects that use multiple compilers (host and cross
> compilers, for example), but presumably the cost for this tool would not
> be terribly high, especially if it were sold on a per-seat basis. Of
> course it would be even better if it were free, but I understand that
> programmers need to eat, and therefore need to get paid.
> In any event, I have my answer to my original questions (c2ada is the only
> thing out there that anyone wants to talk about; it can be made to work to
> some extent; no one is supporting it).
There are three other alternatives that I'm aware of: CBIND, BINDCOM, &
CPPTOADA. What platform are you working on?
CBIND is available at "ftp://ftp.cdrom.com/pub/ada/swtools/cbind" It's an
older tool, but may be easier to build and get running than Intermetric's
C2Ada. A while back there were a group of people working sporadically as a
"net team" to get it running. I think some of them may have succeeded on
Solaris or Linux, but not Windows.
David Botton [[log in to unmask]] has a tool BindCOM which uses a WinTel type
library file (.tlb) or a COM object (.dll, .ocx, .exe) with an embedded type
library to build an Ada interface specification package. The tool is
available at http://www.adapower.com/com
John Walker [[log in to unmask]] has a toolset (CPPToAda) which
generates Ada bindings from a C++ specification. The front-end BuildST
reads in the C/C++ headers and generates a symbol table. The back-end"
GenAda generates the Ada binding from the symbol table. There is also a
"symbol table browser" called STViewer. STViewer includes DACTool which
generates an Ada package which can be used as the basis for deriving an Ada
"class" from a C++ base class declared in the binding.
The front-end BuildST is not available as a product at the moment because it
is difficult to use and not guaranteed beyond the products he has generated
(Win32Ada, Ada Foundation Class, WinAPI and ETS). GenAda and STViewer are
available as part of Aonix ObjectAda OpenPack. Upgrades have been made
available to those customers on his web site.
The symbol table is then used by his second tool AdaGen to produce an Ada
binding. His tools have been used to generate a Win32 & WinAPI Ada bindings
and keep them up-to-date as Microsoft changes. His C++ to Ada toolset is
not available as a product at the moment because it is difficult to use and
not guaranteed beyond the products he have generated.
Software Systems Engineer
AdaSoft at Johns Hopkins Applied Physics Lab.
email: [log in to unmask]
phone: (240) 228-3030 (live M-F 9:30am-4:30pm, voicemail anytime)
fax: (240) 228-6779