ODMA: Open Document Management API

Q050901 ODMA FAQtip
ActiveODMA C/C++ Compiler


0.27 2007-09-16 -21:21 -0700

In order to have independent verification and confirmation of the construction of ActiveODMA components such as ODMref 1.0, there is careful management of the choice and configuration of compilers for construction of deliverables.  The release notes for each deliverable identify the software that was used in its construction and that is usable for its verification. 

This document reports the selection of C/C++ Compilers for ActiveODMA development. 

1. Requirements for Software Verification
2. Choosing Compilers
3. Supported Compilers
4. Further Information

see also:
Q050901b: Recommended C/C++ Compiler for ActiveODMA Work
Q050902: C/C++ Compiler Setup
Q050903: C/C++ Programming Resources
ODMA> repaving> 2008-04-25 rededication>

ODMA.info Is Being Repaved.

Migration to a new server introduced a number of problems that need to be repaired.  Older pages also need to be modified and reorganized for consistency across the entire ODMA site.  While the site is being repaved to accomplish both kinds of improvements, you may notice discrepancies and problems with links to site content.

Check the Site Repaving Project pages for additional details on the known defects and the approach to correction and upgrade.  Contact the ODMA Technical Coordinator with questions and to report any defects that you notice.


NOTE: In early 1996 the Visual C++ Toolkit 2003 was no longer available for download and Visual C++ 2005 Express Edition became the chosen tool for ActiveODMA development.  These pages will be updated to reflect that as part of the overall repaving.

1. Requirements for Software Verification

1.1 To make it possible for others to easily duplicate and verify the construction of ActiveODMA components on their own systems, the software is delivered in packages that provide everything needed for rebuilding and testing of the component using a comparable configuration of tools and their installation. The configurations are managed carefully to ensure that the conditions of construction are stable and reproducible.

1.2 So that others may verify the work and inspect the software at minimum cost and without requiring extensive software-development training, the development software is chosen to satisfy the following requirements:

1.3 For activities requiring specialized skills and greater experience, the same tools are usable.  Use of advanced tools for development and analysis is optional.  The basic configurations serve as foundations on which advanced skills can be exercised and developed.  

1.4 Basic working knowledge of a Microsoft Windows PC (Windows 2000 and later) is assumed.  Confidence at working with files and folders and moving between accounts is presupposed.  Minimal administrator-account operations are required.

2. Choosing Compilers

2.1 Although ODMref 1.0 and other ActiveODMA Reference implementations are intended for adaptation by experienced software developers, they are also meant to be operational and usable.   To serve this range of purposes and to maximize the opportunity for participation in ActiveODMA efforts, the software is created using widely-used, readily-available, well-documented tools that deliver production-quality software to the intended Microsoft platforms.

2.2 It is desirable to have all delivered software be instructive for study as reference implementations and as demonstrations of TROSTing applied to ActiveODMA.

2.3 The chosen C/C++ compilers satisfy these requirements.  Generally, only one is used at any point in time, and for as long as possible until it becomes unavailable or obsolescent for use on the commonly-available platforms.  When the availability of C/C++ compilers changes, the roster of supported compilers will be updated and still-supported software versions will be rebuilt and re-verified when necessary for maintenance purposes.

2.4 It is the new stable distributions that are always built using the designated tools.  The same compiler (and other resources) must be used when verifying the exact construction of one of those distributions. 

2.5 Developers of ODMA and ActiveODMA components are free to employ different C/C++ compilers and supporting tools in their contributions so long as the interfaces between components and supporting libraries are preserved.  Any contributed source code to ActiveODMA projects will be recompiled using the preferred compiler as part of achieving a stable release.

3. Supported Compilers

3.1 Effective March 3, 2005 the C/C++ Compiler used for ActiveODMA deliverables is the command-line compiler provided in the Microsoft Visual C++ Toolkit 2003 1.01.

4. Further Information

see also:
Q050902: C/C++ Compiler Setup
Q050903: C/C++ Programming Resources

     2005-09-09: Dennis Hamilton developed this note to support confirmation of experiments and construction that are part of the ODMdev setup for ODMref 1.0 development and further ActiveODMA components.
Revision History:
0.27 2007-09-16-21:20 Indicate Replacement by VC++ 2005 Express Edition
Add a marker that repaving applies here and that VC++ 2005 Express Edition is now the favored product.
0.26 2005-10-03-14:21 Move to faq/2005/09 canonical location as part of FAQ Refresh
This move provides for the material being at a predictable location, always, and being situated elsewhere as include pages.
0.25 2005-09-11-11:34 Provide more on prerequisites and Windows knowledge
0.20 2005-09-10-14:58 Specify Conditions that led to Selection and Use of Visual C++ Toolkit 2003 1.01
Link to the detailed materials that provide instruction for obtaining the recommended toolkit.
0.00 2005-09-07-22:36 create  bootstrap placeholder to morph into the necessary material
Incorporate job jar and use it to drive the completion of essential items here, providing an initial skeleton for more content.  This page is a customization of the FAQtip Bootstrap Template 0.10 template.  A version from FAQtip Bootstrap 0.10 Material was used.

Construction Zone (Hard Hat Area)

You are navigating the
ODMA Interoperability Exchange.

created 2005-09-07-22:22 -0700 (pdt) by orcmid
$$Author: Orcmid $
$$Date: 08-04-26 11:09 $
$$Revision: 76 $