diff options
Diffstat (limited to 'docs/ACE-subsets.html')
-rw-r--r-- | docs/ACE-subsets.html | 913 |
1 files changed, 0 insertions, 913 deletions
diff --git a/docs/ACE-subsets.html b/docs/ACE-subsets.html deleted file mode 100644 index df10f41cd59..00000000000 --- a/docs/ACE-subsets.html +++ /dev/null @@ -1,913 +0,0 @@ -<!-- $Id$ --> - -<html> - <head> - <title>ACE+TAO Subsetting</title> - <link rev=made href="mailto:ace-users@cs.wustl.edu"> - </head> - -<body text = "#000000" - link="#000fff" - vlink="#ff0f0f" - bgcolor="#ffffff"> - -<hr><p> -<H3>ACE+TAO Subsetting</H3> - -We are involved in ongoing activities to subset ACE+TAO to make them -more flexible and to reduce their memory footprint for embedded -systems. This document describes what we've done thus far, what we're -planning to do next, and how to leverage our efforts to minimize the -size of your ACE+TAO applications. <P> - -<HR><P> -<font size=+2><strong>Contents</strong></font> -<ol> - <li><a href="#Motivation">Motivation for Splitting ACE into Multiple - Libraries</a> - <li><a href="#Configuration Management">Configuration Management</a> - <li><a href="#Classes">Classes in Each ACE Library Subset</a> - <li><a href="#ACE Library Size Breakdown">ACE Library Size Breakdown</a> - <li><a href="#Building ACE Subsets">Building ACE Subsets</a> - <li><a href="#ACE_OS Adaptation Layer">ACE_OS Adaptation Layer</a> - <li><a href="#minimumTAO">Minimum TAO</a> - <li><a href="../apps/soreduce/README">The Shared Library Reduction (<CODE>soreduce</CODE>) tool</a> - <li><a href="#Status">ACE+TAO Subsetting Work in Progress</a> -</ol><p> - - -<hr><p> -<h3><a name="Motivation">Motivation for Splitting ACE into Multiple - Libraries</a></h3> - -This document describes how we are splitting ACE into multiple -libraries, each of which will contain a smaller subset of the overall -ACE functionality. The primary motivations for subsetting ACE are: - -<UL> -<LI><EM>Principle of parsimony</EM> -- <EM>i.e.</EM>, developers - should incur time/space overhead for components they use, rather - than for all the components in the ACE framework. <P> - -<LI><EM>Simplify the learning curve</EM> -- <EM>i.e.</EM>, developers - only need to learn how to program components that they actually - use. <P> -</UL> - -The main design goals of our approach are as follows: <P> - -<OL> -<LI>Support the original libACE as before. Thus, for users who -want to use the existing ACE library as is, there will be -no changes, i.e., just link with <CODE>libACE</CODE> as usual. <P> - -<LI>Allow ACE (and TAO) programmers to use smaller subsets of the -entire <CODE>libACE</CODE> library. These subsets will include the -following libraries: <P> - -<DL> -<DT> <img alt="o" -src="http://www.cs.wustl.edu/~schmidt/gifs/misc/redball.gif"> -<CODE>libACE_OS</CODE> -- This library contains the OS adaptation -layer and its supporting classes. All other ACE libraries will depend -on <CODE>libACE_OS</CODE> and it will depend on <EM>no</EM> other ACE -libraries. <P> - -<DT> <img alt="o" -src="http://www.cs.wustl.edu/~schmidt/gifs/misc/redball.gif"> -<CODE>libACE_Utils</CODE> -- This library contains the various ACE -container classes and other miscellaneous classes, such as Singleton, -auto_ptr, timers, etc. This library will depend only on -<CODE>libACE_OS</CODE>.<P> - -<DT> <img alt="o" -src="http://www.cs.wustl.edu/~schmidt/gifs/misc/redball.gif"> -<CODE>libACE_Logging</CODE> -- This library contains the various ACE -logging and tracing classes. This library will depend only on -<CODE>libACE_OS</CODE>. <P> - -<DT> <img alt="o" -src="http://www.cs.wustl.edu/~schmidt/gifs/misc/redball.gif"> -<CODE>libACE_Threads</CODE> -- This library contains the ACE -thread/process management and synchronization classes. This library -will depend only on <CODE>libACE_OS</CODE>. <P> - -<DT> <img alt="o" -src="http://www.cs.wustl.edu/~schmidt/gifs/misc/redball.gif"> -<CODE>libACE_Demux</CODE> -- This library contains the ACE Reactor and -Proactor classes. This library will depend on <CODE>libACE_OS</CODE> -and <CODE>libACE_Thread</CODE>. <P> - -<DT> <img alt="o" -src="http://www.cs.wustl.edu/~schmidt/gifs/misc/redball.gif"> -<CODE>libACE_Connection</CODE> -- This library contains the ACE -Connection components, i.e., Acceptor, Connector, and Svc_Handler. -This library will depend on <CODE>libACE_OS</CODE>, -<CODE>libACE_Thread</CODE>, and <CODE>libACE_Demux</CODE>. <P> - -<DT> <img alt="o" -src="http://www.cs.wustl.edu/~schmidt/gifs/misc/redball.gif"> -<CODE>libACE_Sockets</CODE> -- This library contains the ACE C++ -wrappers for sockets. This library will depend on -<CODE>libACE_OS</CODE>. <P> - -<DT> <img alt="o" -src="http://www.cs.wustl.edu/~schmidt/gifs/misc/redball.gif"> -<CODE>libACE_IPC</CODE> -- This library contains all the ACE C++ -wrappers for the other types of IPC and FILE I/O other than sockets. -This library will depend on <CODE>libACE_OS</CODE> and -<CODE>libACE_Sockets</CODE>. <P> - -<DT> <img alt="o" -src="http://www.cs.wustl.edu/~schmidt/gifs/misc/redball.gif"> -<CODE>libACE_Timer</CODE> -- This library contains the ACE C++ -wrappers for timer support. This library will depend on -<CODE>libACE_OS</CODE>. <P> - -<DT> <img alt="o" -src="http://www.cs.wustl.edu/~schmidt/gifs/misc/redball.gif"> -<CODE>libACE_Svcconf</CODE> -- This library contains the ACE C++ -wrappers for the Service Configurator. This library will depend on -<CODE>libACE_OS</CODE>, <CODE>libACE_Demux</CODE>, -<CODE>libACE_Thread</CODE>, and <CODE>libACE_Sockets</CODE>. <P> - -<DT> <img alt="o" src="http://www.cs.wustl.edu/~schmidt/gifs/misc/redball.gif"> -<CODE>libACE_Streams</CODE> -- This library contains the ACE Streams -classes. This library will depend on <CODE>libACE_OS</CODE>, -<CODE>libACE_Demux</CODE>, and <CODE>libACE_Thread</CODE>. <P> - -<DT> <img alt="o" -src="http://www.cs.wustl.edu/~schmidt/gifs/misc/redball.gif"> -<CODE>libACE_Memory</CODE> -- This library contains the ACE C++ -wrappers for shared memory and memory-mapped files. This library will -depend on <CODE>libACE_OS</CODE>.<P> - -<DT> <img alt="o" -src="http://www.cs.wustl.edu/~schmidt/gifs/misc/redball.gif"> -<CODE>libACE_Token</CODE> -- This library contains the ACE C++ -wrappers for token support. This library is not needed by -<a href="http://www.cs.wustl.edu/~schmidt/TAO.html">TAO</a>.<p> - -<DT> <img alt="o" -src="http://www.cs.wustl.edu/~schmidt/gifs/misc/redball.gif"> -<CODE>libACE_Other</CODE> -- This library contains miscellaneous code, -primarily including a CORBA interface and naming support. It is not -actively supported, and is not needed by <a -href="http://www.cs.wustl.edu/~schmidt/TAO.html">TAO</a>. Its -functionality is included in TAO.<P> - -</DL> -</OL> - -We are also planning to support the OMG's <A -HREF="http://www.omg.org/cgi-bin/doc?orbos/98-08-04.pdf">Minimum -CORBA</A> specification as part of a separate effort. Preliminary -results of prototypes for Minimum CORBA we've integrate to TAO have -been very promising, yielding a 40% reduction in ORB footprint. <P> - -Note that the ACE library subsets described above are intended as a -guideline, <EM>not</EM> a complete specification. The actual -partitioning of files in the final ACE library subsets may differ -somewhat to improve footprint and simplify common use-cases. <P> - -<hr><p> -<h3><a name="Configuration Management">Configuration Management</a></h3> - -Configuration management for the ACE library subsets described above -will be organized as follows: - -<OL> -<LI>A single source tree with a single "version" for the source - tree.<P> - -<LI>Releases of libACE and its "subsets" will be atomic, <EM>i.e.</EM>, - all or nothing.<P> -</OL> - - -<hr><p> -<h3><a name="Classes">Classes in Each ACE Library Subset</a></h3> - -Below, we describe the classes in each ACE library subset. - -<H4>libACE_OS</H4> - -This library contains the OS adaptation layer and its supporting -classes. The classes in this library should not depend on any other -ACE library subsets. All of the other libraries will depend on this -library. The following classes are included in this library. - -<PRE><CODE> - ARGV - Argv_Type_Converter - Basic_Types - Time_Value - OS - OS_Dirent - OS_Memory - OS_QoS - OS_String - OS_TLI - OS_Errno - Base_Thread_Adapter - OS_Thread_Adapter - OS_Log_Msg_Attributes - Thread_Hook - Sched_Params - Handle_Set - Copy_Disabled -</code></pre> - -<H4>libACE_Utils</H4> - -This library contains the following ACE container classes and other -miscellaneous classes. - -<PRE><CODE> - ACE - Active_Map_Manager - Arg_Shifter - Capabilities - Containers - Configuration - Configuration_Import_Export - Dirent - Dirent_Selector - Dynamic - Flag_Manip - Framework_Component - Functor - Get_Opt - Hash_Map_Manager - Connection_Recycling_Strategy - Hashable - Notification_Strategy - Recyclable - Refcountable - Handle_Ops - Init_ACE - Lib_Find - Message_Block - Method_Request - Object_Manager - Registry - String_Base_Const - SString - Stats - Sample_History -</code></pre> - -<H4>libACE_Logging</H4> - -This library contains the various ACE logging and tracing classes. - -<PRE><CODE> - Dump - Log_Msg - Log_Msg_Callback - Log_Msg_Backend - Log_Msg_IPC - Log_Msg_NT_Event_Log - Log_Msg_UNIX_Syslog - Log_Record - Logging_Strategy - Trace -</code></pre> - -<H4>libACE_Threads</H4> - -This library contains the ACE thread/process management and -synchronization classes. - -<PRE><CODE> - Activation_Queue - Process - Process_Manager - Synch - Synch_Options - Process_Semaphore - Process_Mutex - RW_Process_Mutex - File_Lock - Thread - Thread_Manager - Thread_Adapter - Thread_Exit - Thread_Control - Token -</code></pre> - -<H4>libACE_Demux</H4> - -This library contains the ACE Reactor and its associated classes, -including the ACE Connection components. - -<PRE><CODE> - Event_Handler - FlReactor - Msg_WFMO_Reactor - POSIX_Proactor - POSIX_CB_Proactor - WIN32_Proactor - Priority_Reactor - Proactor - Reactor - Select_Reactor - Select_Reactor_Base - SUN_Proactor - Dev_Poll_Reactor - TP_Reactor - TkReactor - WFMO_Reactor - XtReactor - QtReactor -</code></pre> - -<H4>libACE_Connection</H4> - -This library contains the ACE Connection components, i.e., Acceptor, -Connector, and Svc_Handler. - -<PRE><CODE> - Asynch_IO - Asynch_IO_Impl - Asynch_Pseudo_Task - POSIX_Asynch_IO - WIN32_Asynch_IO -</code></pre> - -<H4>libACE_Sockets</H4> - -This library contains the ACE C++ wrappers for sockets. - -<PRE><CODE> - Addr - INET_Addr - IPC_SAP - LSOCK - LSOCK_Acceptor - LSOCK_CODgram - LSOCK_Connector - LSOCK_Dgram - LSOCK_Stream - SOCK - SOCK_Acceptor - SOCK_CODgram - Sock_Connect - SOCK_Connector - SOCK_Dgram - SOCK_Dgram_Bcast - SOCK_Dgram_Mcast - SOCK_IO - SOCK_Stream -</code></pre> - -<H4>libACE_IPC</H4> - -This library contains all the ACE C++ wrappers for the other types of -IPC and FILE I/O other than sockets. This library will depend on the -<CODE>libACE_Socket</CODE> library. - -<PRE><CODE> - ATM_Addr - ATM_Acceptor - ATM_Connector - ATM_Params - ATM_QoS - ATM_Stream - XTI_ATM_Mcast - DEV - DEV_Addr - DEV_Connector - DEV_IO - FIFO - FIFO_Recv - FIFO_Recv_Msg - FIFO_Send - FIFO_Send_Msg - FILE_Addr - FILE - FILE_Connector - FILE_IO - IO_SAP - IOStream - Pipe - Signal - SPIPE_Addr - SPIPE - SPIPE_Acceptor - SPIPE_Connector - SPIPE_Stream - SV_Message - SV_Message_Queue - SV_Semaphore_Complex - SV_Semaphore_Simple - SV_Shared_Memory - TLI - TLI_Acceptor - TLI_Connector - TLI_Stream - TTY_IO - UNIX_Addr - UPIPE_Acceptor - UPIPE_Connector - UPIPE_Stream - MEM_Acceptor - MEM_Addr - MEM_Connector - MEM_IO - MEM_SAP - MEM_Stream -</code></pre> - -<H4>libACE_Svcconf</H4> - -This library contains the ACE C++ wrappers for the Service -Configurator component. - -<PRE><CODE> - DLL - DLL_Manager - Dynamic_Service_Base - Parse_Node - Service_Config - Service_Manager - Service_Object - Service_Repository - Service_Types - Service_Templates - Shared_Object - XML_Svc_Conf - Svc_Conf_l - Svc_Conf_y - Svc_Conf_Lexer_Guard -</code></pre> - -<H4>libACE_Streams</H4> - -This library contains the ACE Streams classes. - -<PRE><CODE> - CDR_Base - CDR_Stream - Codeset_IBM1047 - Message_Queue - Reactor_Notification_Strategy - Task -</code></pre> - -<H4>libACE_Memory</H4> - -This library contains the ACE C++ wrappers for shared memory and -memory-mapped files. - -<PRE><CODE> - Based_Pointer_Repository - Malloc - PI_Malloc - Malloc_Allocator - Malloc_Instantiations - Mem_Map - Memory_Pool - Obchunk - Obstack - Read_Buffer - Shared_Memory - Shared_Memory_MM - Shared_Memory_SV -</code></pre> - -<H4>libACE_Timer</H4> - -This componenty contains the ACE C++ wrappers for the ACE timer classes. - -<pre><code> - Basic_Stats - High_Res_Timer - Profile_Timer - System_Time - Time_Request_Reply - Timeprobe - Timer_Hash - Timer_Heap - Timer_List - Timer_Queue - Timer_Wheel -</code></pre> - -<H4>libACE_Token</H4> - -This componenty contains the ACE C++ wrappers for Token classes. - -<pre><code> - Local_Tokens - Remote_Tokens - Token_Collection - Token_Invariants - Token_Manager - Token_Request_Reply -</code></pre> - -<H4>libACE_Codec</H4> - -This component contains the ACE codec support: - -<pre><code> - Codecs -</code></pre> - -<H4>libACE_Other</H4> - -This component contains miscellaneous ACE C++ wrappers: - -<pre><code> - Local_Name_Space - Name_Proxy - Name_Request_Reply - Name_Space - Naming_Context - Registry_Name_Space - Remote_Name_Space -</code></pre> - -<hr><p> -<h3><a name="ACE Library Size Breakdown">ACE Library Size Breakdown</a></h3> - -Here is an example size breakdown, by ACE library component. It is -for the ACE 5.0 libACE.a, statically built with these <a -href="../ACE-INSTALL.html#flags">make -flags</a>: -<pre><code> - debug=0 optimize=1 static_libs_only=1 DEFFLAGS=-DACE_USE_RCSID=0 -</code></pre><p> - -These options translate into:<P> - -(a) No debugging,<BR> -(b) Optimization is set to -O2,<BR> -(c) Static ACE and TAO libraries, and<BR> -(d) Use of RCS Ids is turned off. <P> - -To build an ACE static library, if shared libraries are the default, use -<code>make static_libs_only=1</code>. If you're using recent versions -of GNU GCC, you can use the <A - HREF="../ACE-INSTALL.html#repo">-frepo</A> -option, which typically reduces the footprint by another 25 percent. <P> - -<center><table cellpadding=4 border=4> - <tr> - <th>Platform - <th>Component - <th>Total - <th>For TAO<br>subset - <th>OS - <th>Utils - <th>Logging - <th>Threads - <th>Demux - <th>Con-<br>nection - <th>Sockets - <th>IPC - <th>Svcconf - <th>Streams - <th>Memory - <th>Token - <th>Other - <tr> - <th rowspan=2>Linux (RedHat 6.0/Intel)<br>egcs 2.91.66 - <th>Size, bytes - <td align=center>648727 - <td align=center>515501 - <td align=center>10937 - <td align=center>118305 - <td align=center>13544 - <td align=center>59593 - <td align=center>74629 - <td align=center>49933 - <td align=center>16084 - <td align=center>34820 - <td align=center>92192 - <td align=center>18462 - <td align=center>27002 - <td align=center>71574 - <td align=center>61652 - <tr> - <th>Percentage of<br>total size - <td align=center>100 - <td align=center>79.46 - <td align=center>1.69 - <td align=center>18.24 - <td align=center>2.09 - <td align=center>9.19 - <td align=center>11.50 - <td align=center>7.70 - <td align=center>2.48 - <td align=center>5.37 - <td align=center>14.21 - <td align=center>2.85 - <td align=center>4.16 - <td align=center>11.03 - <td align=center>9.50 - - <tr> - <th rowspan=2>LynxOS 3.0.0<br>g++ 2.7-97r1 - <th>Size, bytes - <td align=center>582672 - <td align=center>475216 - <td align=center>25620 - <td align=center>97220 - <td align=center>11000 - <td align=center>44192 - <td align=center>71388 - <td align=center>58100 - <td align=center>13120 - <td align=center>31572 - <td align=center>77972 - <td align=center>21468 - <td align=center>23564 - <td align=center>60832 - <td align=center>46624 - <tr> - <th>Percentage of<br>total size - <td align=center>100 - <td align=center>81.56 - <td align=center>4.40 - <td align=center>16.69 - <td align=center>1.89 - <td align=center>7.58 - <td align=center>12.25 - <td align=center>9.97 - <td align=center>2.25 - <td align=center>5.42 - <td align=center>13.38 - <td align=center>3.68 - <td align=center>4.04 - <td align=center>10.44 - <td align=center>8.00 - - <tr> - <th rowspan=2>SunOS5.7<br>egcs 2.91.60 - <th>Size, bytes - <td align=center>709543 - <td align=center>570693 - <td align=center>11877 - <td align=center>115306 - <td align=center>13721 - <td align=center>63027 - <td align=center>87962 - <td align=center>68551 - <td align=center>16917 - <td align=center>42954 - <td align=center>99839 - <td align=center>21357 - <td align=center>29182 - <td align=center>75970 - <td align=center>62880 - <tr> - <th>Percentage of<br>total size - <td align=center>100 - <td align=center>80.43 - <td align=center>1.67 - <td align=center>16.25 - <td align=center>1.93 - <td align=center>8.88 - <td align=center>12.40 - <td align=center>9.66 - <td align=center>2.38 - <td align=center>6.05 - <td align=center>14.07 - <td align=center>3.01 - <td align=center>4.11 - <td align=center>10.71 - <td align=center>8.86 - - <tr> - <th rowspan=2>SunOS 5.7<br>GreenHills 1.8.9 - <th>Size, bytes - <td align=center>803651 - <td align=center>653787 - <td align=center>15800 - <td align=center>146633 - <td align=center>18544 - <td align=center>69172 - <td align=center>103584 - <td align=center>60580 - <td align=center>23084 - <td align=center>52986 - <td align=center>108200 - <td align=center>21528 - <td align=center>33676 - <td align=center>79324 - <td align=center>70540 - <tr> - <th>Percentage of<br>total size - <td align=center>100 - <td align=center>81.35 - <td align=center>1.97 - <td align=center>18.25 - <td align=center>2.31 - <td align=center>8.61 - <td align=center>12.89 - <td align=center>7.54 - <td align=center>2.87 - <td align=center>6.59 - <td align=center>13.46 - <td align=center>2.68 - <td align=center>4.19 - <td align=center>9.87 - <td align=center>8.78 - - <tr> - <th rowspan=2>SunOS 5.7<br>Sun C++ 4.2 - <th>Size, bytes - <td align=center>626824 - <td align=center>494501 - <td align=center>15502 - <td align=center>64929 - <td align=center>15605 - <td align=center>63364 - <td align=center>106841 - <td align=center>55013 - <td align=center>19945 - <td align=center>73584 - <td align=center>46434 - <td align=center>19685 - <td align=center>25952 - <td align=center>69843 - <td align=center>62480 - <tr> - <th>Percentage of<br>total size - <td align=center>100 - <td align=center>78.89 - <td align=center>2.47 - <td align=center>10.36 - <td align=center>2.49 - <td align=center>10.11 - <td align=center>17.04 - <td align=center>8.78 - <td align=center>3.18 - <td align=center>11.74 - <td align=center>7.41 - <td align=center>3.14 - <td align=center>4.14 - <td align=center>11.14 - <td align=center>9.97 - - <tr> - <th rowspan=2>VxWorks 5.3.1<br>GreenHills 1.8.8 - <th>Size, bytes - <td align=center>689564 - <td align=center>542628 - <td align=center>22252 - <td align=center>145036 - <td align=center>19664 - <td align=center>63640 - <td align=center>54296 - <td align=center>980 - <td align=center>22120 - <td align=center>47468 - <td align=center>117932 - <td align=center>23220 - <td align=center>27220 - <td align=center>78900 - <td align=center>68036 - <tr> - <th>Percentage of<br>total size - <td align=center>100 - <td align=center>78.69 - <td align=center>3.23 - <td align=center>21.03 - <td align=center>2.85 - <td align=center>9.23 - <td align=center>7.87 - <td align=center>0.14 - <td align=center>3.21 - <td align=center>6.88 - <td align=center>17.10 - <td align=center>3.37 - <td align=center>3.95 - <td align=center>11.44 - <td align=center>9.87 - - <tr> - <th rowspan=2>VxWorks 5.3.1<br>g++ cygnus-<br>2.7.2-960126<br> - (with implicit templates) - <th>Size, bytes - <td align=center>1051540 - <td align=center>888244 - <td align=center>36484 - <td align=center>140832 - <td align=center>14344 - <td align=center>66740 - <td align=center>266192 - <td align=center>14480 - <td align=center>15084 - <td align=center>106308 - <td align=center>142500 - <td align=center>55932 - <td align=center>29348 - <td align=center>88564 - <td align=center>74732 - <tr> - <th>Percentage of<br>total size - <td align=center>100 - <td align=center>84.47 - <td align=center>3.47 - <td align=center>13.39 - <td align=center>1.36 - <td align=center>6.35 - <td align=center>25.31 - <td align=center>1.38 - <td align=center>1.43 - <td align=center>10.11 - <td align=center>13.55 - <td align=center>5.32 - <td align=center>2.79 - <td align=center>8.42 - <td align=center>7.11 -</table></center><p> - -<blockquote>It has also been observed recently that using -xO3 -with -xspace on SUN CC 5.3 compiler gives a big footprint reduction of -the order of 40% </blockquote> - -<hr><p> -<h3><a name="Building ACE Subsets">Building ACE Subsets</a></h3> - -By default, the ACE library contains all of the components that ACE -currently supports. To reduce build time and library size, you can -exclude unused components. To do that, define an -<code>ACE_COMPONENTS</code> variable using this approach:<p> - -<ol> - <li>In your <code>$(ACE_ROOT)/include/makeinclude/platform_macros.GNU</code> - file, <em>e.g.</em>, add: - <pre><code>ACE_COMPONENTS = OS</code></pre>or<p> - - <li>On the make command line, <em>e.g.</em>, - <pre><code>make ACE_COMPONENTS=OS</code></pre>or<p> - - <li>Set (and export) the <code>ACE_COMPONENTS</code> environment variable - to contain the components that you want to build.<p> -</ol> - -Please see <code><a href="../ace/Makefile">../ace/Makefile</a></code> -for the default contents of <code>ACE_COMPONENTS</code>.<p> - -A special value of <code>ACE_COMPONENTS</code> can be used to -build an ACE library that supports -<a href="http://www.cs.wustl.edu/~schmidt/TAO.html">TAO</a>. The -special value is <code>FOR_TAO</code>. So, for example, you can -add this to your -<code>$(ACE_ROOT)/include/makeinclude/platform_macros.GNU</code> -to restrict ACE support to just that which is needed for TAO: -<pre><code> -ACE_COMPONENTS = FOR_TAO -</code></pre><p> - -Please note the current limitations:<p> - -<ol> - <li>We currently don't check for interdependencies between components. - For example, if you build any component beside <code>OS</code>, you - must explicitly include <code>OS</code> in your - <code>ACE_COMPONENTS</code>.<br><br></li> - - <li>We currently don't check this macro in other ACE or TAO Makefiles, or - in their tests. We'll add those checks as time allows.<br><br></li> - - <li>This is only supported by the gmake Makefiles. For example, the MSVC - projects on Win32 do not support the specification of components.<br><br></li> -</ol> - -<hr><p> -<h3><a name="ACE_OS Adaptation Layer">ACE_OS Adaptation Layer</a></h3> - -The lowest-level component, <code>OS</code>, is also called the -<em>ACE_OS adaption layer</em>. It provides the ACE interface to -the underlying operating system, but little else. It can be used -standalone.<p> - -To create the ACE_OS adaptation layer, build your <code>libACE</code> -with <code>ACE_COMPONENTS</code> set to <code>OS</code>. In addition, -add <code>#include "ace/config-minimal.h"</code> to your -<code>ACE_wrappers/ace/config.h</code> file.<p> - -When using the ACE_OS adaptation layer, you'll be limited to the -the <code>ACE_OS</code> member functions, ACE's -<a href="../ace/Basic_Types.h">Basic_Types</a> and -<a href="../ace/Sched_Params.h">Sched_Params</a>, and macros defined in -<a href="../ace/OS.h"><code>ace/OS.h</code></a>. See ACE's -<a href="../tests/Basic_Types_Test.cpp">Basic_Types_Test.cpp</a> -for an example of usage.<p> - -<a name="minimumTAO"><!--#include virtual="minimumTAO.html" --></a> - -<P><HR><P> -Back to the <A HREF="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE</A> -home page.<BR> -Back to <A HREF="index.html">ACE Documentation Home</A>. - -<!--#include virtual="/~schmidt/cgi-sig.html" --> -</BODY> -</HTML> |