The ACE framework and the TAO ORB have been ported to many OS platforms. Porting ACE and TAO to new platforms is fairly easy. The following document describes the step-by-step process to use when porting the various components and layers in ACE to a new OS platform. Once ACE is ported, it is straightforward to port TAO, as well.
config.h
Header File for the Target OS Platformconfig-*.h
header file exists in $ACE_ROOT/ace
for each platform to which ACE has been ported. This file contains
the portability macros for each particular configuration of ACE. A
complete description of the existent macros can be found in the $ACE_ROOT/ace/README
file.
Currently, you must edit this file by hand to port it to new OS
platforms. It's a good idea to use the config-*.h
files
for platforms with similar characteristics as examples. Ultimately,
we plan to auto
configure these files.
ACE_OS
ClassACE_OS
class encapsulates most of variation between
the different OS implementations, e.g., UNIX, Win32, and various
real-time operating systems. It is the core class of the ACE OS
abstraction layer. Most work required to port ACE to a new OS
platform resides in this class. There are many examples of
how ACE has been ported to other operating systems in the
ACE_OS
class in the
$ACE_ROOT/ace/OS.{h,i,cpp}
files.
ACE_OS
class, the next step is to port
all of the ACE C++ wrapper components, such as sockets, threads,
synchronization mechanisms. A full list of the categories and classes
can be found in the $ACE_ROOT/ACE-categories
file. It is easiest to concentrate on porting one category at the
time. The ACE release contain a one-button
test suite in the $ACE_ROOT/tests/
directory. These tests can be used to validate the correctness of the
various ACE C++ wrappers as they are ported.
ACE_HAS_EXCEPTIONS
is defined.
ACE_HAS_ANSI_CASTS
is
enabled, then the various ACE_*_cast
macros will
utilize these casts. Otherwise, the macros will default to
"C-style" casts.
ACE_HAS_BROKEN_NAMESPACES
is not enabled.
Back to the ACE installation page.