summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-01-30 21:19:04 +0000
committernobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-01-30 21:19:04 +0000
commit9669965c5833dc91cd44be74ca0fe29d5665a528 (patch)
treea4322b4cc1ff7cf6956a9f6b82d9afb1337054fb
parenta6504c0487187199e855ae95f3b1eb87ee72f581 (diff)
downloadATCD-9669965c5833dc91cd44be74ca0fe29d5665a528.tar.gz
This commit was manufactured by cvs2svn to create branch 'ace_subset_0'.
-rw-r--r--ACEXML/ACEXML.dsw59
-rw-r--r--ACEXML/Makefile20
-rw-r--r--ACEXML/Makefile.bor9
-rw-r--r--ACEXML/README17
-rw-r--r--ACEXML/common/ACEXML_Export.h53
-rw-r--r--ACEXML/common/Attributes.h116
-rw-r--r--ACEXML/common/AttributesImpl.cpp285
-rw-r--r--ACEXML/common/AttributesImpl.h293
-rw-r--r--ACEXML/common/AttributesImpl.i151
-rw-r--r--ACEXML/common/Attributes_Def_Builder.cpp25
-rw-r--r--ACEXML/common/Attributes_Def_Builder.h152
-rw-r--r--ACEXML/common/CharStream.cpp7
-rw-r--r--ACEXML/common/CharStream.h66
-rw-r--r--ACEXML/common/ContentHandler.h138
-rw-r--r--ACEXML/common/DTDHandler.h71
-rw-r--r--ACEXML/common/DTD_Manager.cpp8
-rw-r--r--ACEXML/common/DTD_Manager.h75
-rw-r--r--ACEXML/common/DefaultHandler.cpp176
-rw-r--r--ACEXML/common/DefaultHandler.h217
-rw-r--r--ACEXML/common/DefaultHandler.i1
-rw-r--r--ACEXML/common/Element_Def_Builder.cpp17
-rw-r--r--ACEXML/common/Element_Def_Builder.h132
-rw-r--r--ACEXML/common/EntityResolver.h49
-rw-r--r--ACEXML/common/Env.cpp22
-rw-r--r--ACEXML/common/Env.h67
-rw-r--r--ACEXML/common/Env.i26
-rw-r--r--ACEXML/common/ErrorHandler.h68
-rw-r--r--ACEXML/common/Exception.cpp69
-rw-r--r--ACEXML/common/Exception.h69
-rw-r--r--ACEXML/common/Exception.i7
-rw-r--r--ACEXML/common/FileCharStream.cpp81
-rw-r--r--ACEXML/common/FileCharStream.h76
-rw-r--r--ACEXML/common/InputSource.cpp100
-rw-r--r--ACEXML/common/InputSource.h120
-rw-r--r--ACEXML/common/Locator.h66
-rw-r--r--ACEXML/common/LocatorImpl.cpp53
-rw-r--r--ACEXML/common/LocatorImpl.h124
-rw-r--r--ACEXML/common/LocatorImpl.i29
-rw-r--r--ACEXML/common/Makefile54
-rw-r--r--ACEXML/common/Makefile.bor33
-rw-r--r--ACEXML/common/NamespaceSupport.cpp277
-rw-r--r--ACEXML/common/NamespaceSupport.h228
-rw-r--r--ACEXML/common/NamespaceSupport.i16
-rw-r--r--ACEXML/common/SAXExceptions.cpp269
-rw-r--r--ACEXML/common/SAXExceptions.h168
-rw-r--r--ACEXML/common/SAXExceptions.i33
-rw-r--r--ACEXML/common/Transcode.cpp83
-rw-r--r--ACEXML/common/Transcode.h165
-rw-r--r--ACEXML/common/Transcode.i234
-rw-r--r--ACEXML/common/Validator.cpp8
-rw-r--r--ACEXML/common/Validator.h57
-rw-r--r--ACEXML/common/XMLFilter.h46
-rw-r--r--ACEXML/common/XMLFilterImpl.cpp380
-rw-r--r--ACEXML/common/XMLFilterImpl.h333
-rw-r--r--ACEXML/common/XMLFilterImpl.i14
-rw-r--r--ACEXML/common/XMLReader.h136
-rw-r--r--ACEXML/common/XML_Common.dsp283
-rw-r--r--ACEXML/common/XML_Types.h71
-rw-r--r--ACEXML/docs/TODO.txt40
-rw-r--r--ACEXML/docs/bugs.txt25
-rw-r--r--ACEXML/docs/guidelines.txt33
-rw-r--r--ACEXML/docs/parser_features.txt21
-rw-r--r--ACEXML/docs/readme.txt36
-rw-r--r--ACEXML/examples/Makefile17
-rw-r--r--ACEXML/examples/SAXPrint/Makefile49
-rw-r--r--ACEXML/examples/SAXPrint/Print_Handler.cpp253
-rw-r--r--ACEXML/examples/SAXPrint/Print_Handler.h197
-rw-r--r--ACEXML/examples/SAXPrint/Print_Handler.i1
-rw-r--r--ACEXML/examples/SAXPrint/SAXPrint.dsp130
-rw-r--r--ACEXML/examples/SAXPrint/SAXPrint.dsw29
-rw-r--r--ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp238
-rw-r--r--ACEXML/examples/SAXPrint/SAXPrint_Handler.h208
-rw-r--r--ACEXML/examples/SAXPrint/SAXPrint_Handler.i13
-rw-r--r--ACEXML/examples/SAXPrint/main.cpp56
-rw-r--r--ACEXML/examples/SAXPrint/ns.svc.conf.xml46
-rw-r--r--ACEXML/examples/SAXPrint/svc.conf.xml66
-rw-r--r--ACEXML/examples/test_docs/svcconf.dtd65
-rw-r--r--ACEXML/parser/Makefile17
-rw-r--r--ACEXML/parser/Makefile.bor9
-rw-r--r--ACEXML/parser/debug_validator/Debug_Attributes_Builder.cpp218
-rw-r--r--ACEXML/parser/debug_validator/Debug_Attributes_Builder.h170
-rw-r--r--ACEXML/parser/debug_validator/Debug_DTD_Manager.cpp77
-rw-r--r--ACEXML/parser/debug_validator/Debug_DTD_Manager.h71
-rw-r--r--ACEXML/parser/debug_validator/Debug_DTD_Manager_Export.h38
-rw-r--r--ACEXML/parser/debug_validator/Debug_Element_Builder.cpp154
-rw-r--r--ACEXML/parser/debug_validator/Debug_Element_Builder.h123
-rw-r--r--ACEXML/parser/debug_validator/Debug_Validator.dsp143
-rw-r--r--ACEXML/parser/debug_validator/Element_Tree.cpp72
-rw-r--r--ACEXML/parser/debug_validator/Element_Tree.h151
-rw-r--r--ACEXML/parser/debug_validator/Element_Tree.i92
-rw-r--r--ACEXML/parser/debug_validator/Makefile.bor22
-rw-r--r--ACEXML/parser/parser/Entity_Manager.cpp48
-rw-r--r--ACEXML/parser/parser/Entity_Manager.h71
-rw-r--r--ACEXML/parser/parser/Entity_Manager.i21
-rw-r--r--ACEXML/parser/parser/Makefile40
-rw-r--r--ACEXML/parser/parser/Makefile.bor20
-rw-r--r--ACEXML/parser/parser/Parser.cpp2094
-rw-r--r--ACEXML/parser/parser/Parser.dsp123
-rw-r--r--ACEXML/parser/parser/Parser.dsw28
-rw-r--r--ACEXML/parser/parser/Parser.h469
-rw-r--r--ACEXML/parser/parser/Parser.i144
-rw-r--r--ACEXML/parser/parser/Parser_export.h47
-rw-r--r--ACEXML/tests/Makefile47
-rw-r--r--ACEXML/tests/Makefile.bor23
-rw-r--r--ACEXML/tests/NamespaceSupport_Test.cpp144
-rw-r--r--ACEXML/tests/NamespaceSupport_Test.dsp102
-rw-r--r--ACEXML/tests/Tests.dsw41
-rw-r--r--ACEXML/tests/Transcoder_Test.cpp69
-rw-r--r--ACEXML/tests/Transcoder_Test.dsp102
-rw-r--r--ChangeLog1022
-rw-r--r--ChangeLogs/ChangeLog-02a1022
-rw-r--r--ChangeLogs/ChangeLog-03a1022
-rw-r--r--Makefile243
-rw-r--r--Makefile.bor13
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a4579
-rw-r--r--TAO/Makefile.bor54
-rw-r--r--TAO/TAOACE.dsw1115
-rw-r--r--TAO/TAOACE_Static.dsw686
-rw-r--r--TAO/rules.tao.GNU244
-rw-r--r--THANKS1454
-rw-r--r--apps/JAWS2/JAWS/Assoc_Array.h102
-rw-r--r--apps/JAWS2/JAWS/Hash_Bucket_T.h206
-rw-r--r--apps/gperf/ChangeLog1990
-rw-r--r--apps/gperf/tests/Makefile277
-rw-r--r--bin/auto_run_tests.lst185
-rwxr-xr-xbin/fuzz.pl817
-rwxr-xr-xbin/g++dep112
-rwxr-xr-xbin/generate_doxygen.pl219
-rwxr-xr-xbin/make_release817
-rwxr-xr-xbin/msvc_auto_compile.pl353
-rw-r--r--bin/nightlybuilds/builds.lst236
-rwxr-xr-xbin/performance_stats.sh127
-rwxr-xr-xbin/subst_env.pl71
-rw-r--r--docs/exceptions.html657
-rw-r--r--docs/index.html88
-rw-r--r--etc/ace.doxygen193
-rw-r--r--etc/ace_man.doxygen193
-rw-r--r--etc/ace_qos.doxygen193
-rw-r--r--etc/ace_rmcast.doxygen193
-rw-r--r--etc/ace_ssl.doxygen193
-rw-r--r--etc/acexml.doxygen193
-rw-r--r--etc/tao.doxygen193
-rw-r--r--etc/tao_av.doxygen198
-rw-r--r--etc/tao_cosevent.doxygen199
-rw-r--r--etc/tao_cosnotification.doxygen202
-rw-r--r--etc/tao_dynamicany.doxygen193
-rw-r--r--etc/tao_dynamicinterface.doxygen193
-rw-r--r--etc/tao_esf.doxygen195
-rw-r--r--etc/tao_implrepo.doxygen196
-rw-r--r--etc/tao_iormanip.doxygen194
-rw-r--r--etc/tao_iortable.doxygen194
-rw-r--r--etc/tao_portableserver.doxygen194
-rw-r--r--etc/tao_rtcorba.doxygen194
-rw-r--r--etc/tao_rtevent.doxygen204
-rw-r--r--etc/tao_rtportableserver.doxygen194
-rw-r--r--etc/tao_security.doxygen200
-rw-r--r--etc/tao_smartproxies.doxygen193
-rw-r--r--etc/tao_ssliop.doxygen201
-rw-r--r--etc/tao_strategies.doxygen193
-rw-r--r--examples/Connection/misc/Connection_Handler.cpp245
-rw-r--r--examples/NT_Service/main.cpp258
-rw-r--r--examples/NT_Service/ntsvc.cpp111
-rw-r--r--examples/Service_Configurator/IPC-tests/server/Server.dsp299
-rw-r--r--include/makeinclude/ace_flags.bor132
-rw-r--r--include/makeinclude/platform_linux.GNU135
-rw-r--r--include/makeinclude/platform_sunos5_sunc++.GNU223
-rw-r--r--include/makeinclude/wrapper_macros.GNU701
-rw-r--r--tests/Framework_Component_Test.cpp116
-rw-r--r--tests/Framework_Component_Test.dsp162
-rw-r--r--tests/Get_Opt_Test.icc15
-rw-r--r--tests/INET_Addr_Test.icc15
-rw-r--r--tests/Makefile12996
-rw-r--r--tests/Makefile.bor133
-rw-r--r--tests/Process_Manager_Test.cpp314
-rw-r--r--tests/Vector_Test.cpp82
-rw-r--r--tests/Vector_Test.dsp162
-rw-r--r--tests/run_test.lst119
-rw-r--r--tests/tests.dsw1259
-rw-r--r--tests/tests.icp528
179 files changed, 52919 insertions, 0 deletions
diff --git a/ACEXML/ACEXML.dsw b/ACEXML/ACEXML.dsw
new file mode 100644
index 00000000000..9fcc6aabba2
--- /dev/null
+++ b/ACEXML/ACEXML.dsw
@@ -0,0 +1,59 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ACEXML_Parser"=.\parser\parser\Parser.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name XML_Common
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Debug_Validator"=.\PARSER\DEBUG_VALIDATOR\Debug_Validator.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "XML_Common"=.\COMMON\XML_Common.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name Debug_Validator
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/ACEXML/Makefile b/ACEXML/Makefile
new file mode 100644
index 00000000000..e355ff86344
--- /dev/null
+++ b/ACEXML/Makefile
@@ -0,0 +1,20 @@
+#----------------------------------------------------------------------------
+# $Id$
+#
+# Makefile for the client programs that test the ACE network services
+#----------------------------------------------------------------------------
+
+DIRS = common \
+ parser \
+ tests \
+ examples
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nolocal.GNU
diff --git a/ACEXML/Makefile.bor b/ACEXML/Makefile.bor
new file mode 100644
index 00000000000..0e25ede588e
--- /dev/null
+++ b/ACEXML/Makefile.bor
@@ -0,0 +1,9 @@
+#
+# Makefile for building the ACE XML Library
+#
+
+DIRS = \
+ common \
+ parser
+
+!include <$(ACE_ROOT)\include\makeinclude\recurse.bor>
diff --git a/ACEXML/README b/ACEXML/README
new file mode 100644
index 00000000000..1e65588029e
--- /dev/null
+++ b/ACEXML/README
@@ -0,0 +1,17 @@
+$Id$
+
+ACE XML PARSER Framework README file
+
+* Character set
+
+ACE XML only deal with pure unicode encoding. I.e., ACE XML
+does not care about language specific encoding information.
+
+* SAX - The Simple API for XML
+
+ACE XML Parser interfaces follows the the design of SAX 2.0, which is
+a public domain specification for Java. The major difference between
+ACE XML Parser interfaces and SAX is that we added an reference of
+ACEXML_Env to every SAX method to accomodate platforms/compilers that
+don't support C++ exceptions. SAX is defined by David Megginson
+<david@megginson.com>
diff --git a/ACEXML/common/ACEXML_Export.h b/ACEXML/common/ACEXML_Export.h
new file mode 100644
index 00000000000..85ade891148
--- /dev/null
+++ b/ACEXML/common/ACEXML_Export.h
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file ACEXML_Export.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl
+// ------------------------------
+#ifndef ACEXML_EXPORT_H
+#define ACEXML_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (ACEXML_HAS_DLL)
+# define ACEXML_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ACEXML_HAS_DLL */
+
+#if defined (ACE_HAS_DLL)
+# if !defined (ACEXML_HAS_DLL)
+# define ACEXML_HAS_DLL 1
+# endif /* ! ACEXML_HAS_DLL */
+#else
+# if !defined (ACEXML_HAS_DLL)
+# define ACEXML_HAS_DLL 0
+# endif /* ! ACEXML_HAS_DLL */
+#endif
+
+#if defined (ACEXML_HAS_DLL) && (ACEXML_HAS_DLL == 1)
+# if defined (ACEXML_BUILD_DLL)
+# define ACEXML_Export ACE_Proper_Export_Flag
+# define ACEXML_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ACEXML_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* ACEXML_BUILD_DLL */
+# define ACEXML_Export ACE_Proper_Import_Flag
+# define ACEXML_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ACEXML_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ACEXML_BUILD_DLL */
+#else /* ACEXML_HAS_DLL == 1 */
+# define ACEXML_Export
+# define ACEXML_SINGLETON_DECLARATION(T)
+# define ACEXML_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ACEXML_HAS_DLL == 1 */
+
+#endif /* ACEXML_EXPORT_H */
+
+// End of auto generated file.
diff --git a/ACEXML/common/Attributes.h b/ACEXML/common/Attributes.h
new file mode 100644
index 00000000000..1684d940872
--- /dev/null
+++ b/ACEXML/common/Attributes.h
@@ -0,0 +1,116 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Attributes.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef _ACEXML_ATTRIBUTES_H_
+#define _ACEXML_ATTRIBUTES_H_
+
+#include "common/XML_Types.h"
+
+/**
+ * @class ACEXML_Attributes Attributes.h "common/Attributes.h"
+ *
+ * @brief ACEXML_Attributes defines a collection of attributes of an XML element.
+ *
+ * This is an abstract class (interface in Java) that defines
+ * the API for accessing attributes of an XML entity.
+ *
+ * This interface allows access to a list of attributes in three different ways:
+ *
+ * - by attribute index;
+ * - by Namespace-qualified name; or
+ * - by qualified (prefixed) name.
+ *
+ * The list will not contain attributes that were declared #IMPLIED
+ * but not specified in the start tag. It will also not contain
+ * attributes used as Namespace declarations (xmlns*) unless the
+ * http://xml.org/sax/features/namespace-prefixes feature is set to
+ * true (it is false by default).
+ *
+ * If the namespace-prefixes feature (see above) is false, access by
+ * qualified name may not be available; if the
+ * http://xml.org/sax/features/namespaces feature is false, access by
+ * Namespace-qualified names may not be available.
+ *
+ * This interface replaces the now-deprecated SAX1 AttributeList
+ * interface, which does not contain Namespace support. In addition to
+ * Namespace support, it adds the getIndex methods (below).
+ *
+ * The order of attributes in the list is unspecified, and will vary
+ * from implementation to implementation.
+ */
+class ACEXML_Export ACEXML_Attributes
+{
+public:
+ /**
+ * Look up the index of an attribute by XML 1.0 qualified name.
+ */
+ virtual int getIndex (const ACEXML_Char *qName) = 0;
+
+ /**
+ * Look up the index of an attribute by Namespace name.
+ */
+ virtual int getIndex (const ACEXML_Char *uri,
+ const ACEXML_Char *localPart) = 0;
+
+ /**
+ * Return the number of attributes in the list.
+ */
+ virtual size_t getLength (void) = 0;
+
+ /**
+ * Look up an attribute's local name by index.
+ */
+ virtual const ACEXML_Char *getLocalName (size_t index) = 0;
+
+ /**
+ * Look up an attribute's XML 1.0 qualified name by index.
+ */
+ virtual const ACEXML_Char *getQName (size_t index) = 0;
+
+ /**
+ * Look up an attribute's type by index.
+ */
+ virtual const ACEXML_Char *getType (size_t index) = 0;
+
+ /**
+ * Look up an attribute's type by XML 1.0 qualified name.
+ */
+ virtual const ACEXML_Char *getType (const ACEXML_Char *qName) = 0;
+
+ /**
+ * Look up an attribute's type by Namespace name.
+ */
+ virtual const ACEXML_Char *getType (const ACEXML_Char *uri,
+ const ACEXML_Char *localPart) = 0;
+
+ /**
+ * Look up an attribute's Namespace URI by index.
+ */
+ virtual const ACEXML_Char *getURI (size_t index) = 0;
+
+ /**
+ * Look up an attribute's value by index.
+ */
+ virtual const ACEXML_Char *getValue (size_t index) = 0;
+
+ /**
+ * Look up an attribute's value by XML 1.0 qualified name.
+ */
+ virtual const ACEXML_Char *getValue (const ACEXML_Char *qName) = 0;
+
+ /**
+ * Look up an attribute's value by Namespace name.
+ */
+ virtual const ACEXML_Char *getValue (const ACEXML_Char *uri,
+ const ACEXML_Char *localPart) = 0;
+};
+#endif /* _ACEXML_ ATTRIBUTES_H_ */
diff --git a/ACEXML/common/AttributesImpl.cpp b/ACEXML/common/AttributesImpl.cpp
new file mode 100644
index 00000000000..f4d86486d19
--- /dev/null
+++ b/ACEXML/common/AttributesImpl.cpp
@@ -0,0 +1,285 @@
+// -*- C++ -*- $Id$
+
+#include "common/AttributesImpl.h"
+
+#if !defined (__ACEXML_INLINE__)
+# include "common/AttributesImpl.i"
+#endif /* __ACEXML_INLINE__ */
+
+ACEXML_AttributesImpl::ACEXML_AttributesImpl (int size)
+ : attrs_ (size)
+{
+ this->attrs_.size (0); // attrs array contains nothing
+}
+
+ACEXML_AttributesImpl::ACEXML_AttributesImpl (const
+ ACEXML_AttributesImpl &attrs)
+ : ACEXML_Attributes (attrs),
+ attrs_ (attrs.attrs_.size ())
+{
+ for (size_t i = 0; i < attrs.attrs_.size (); i++)
+ this->attrs_[i] = attrs.attrs_[i];
+}
+
+ACEXML_AttributesImpl::~ACEXML_AttributesImpl (void)
+{
+}
+
+int
+ACEXML_AttributesImpl::addAttribute (const ACEXML_Char *uri,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ const ACEXML_Char *type,
+ const ACEXML_Char *value)
+{
+ // @@ How do I check for the name here? Which name should
+ // I use to check for duplication?
+
+ int length = this->attrs_.size ();
+
+ this->attrs_.size (length+1);
+ this->setAttribute (length,
+ uri,
+ localName,
+ qName,
+ type,
+ value);
+ return length;
+}
+
+int
+ACEXML_AttributesImpl::addAttribute (const ACEXML_Attribute &att)
+{
+ // @@ How do I check for the name here? Which name should
+ // I use to check for duplication?
+
+ int length = this->attrs_.size ();
+
+ this->attrs_.size (length+1);
+ this->attrs_[length] = att;
+ return length;
+}
+
+int
+ACEXML_AttributesImpl::removeAttribute (size_t index)
+{
+ size_t length = this->attrs_.size ();
+
+ if (index >= length)
+ return -1;
+
+ this->attrs_[index] = this->attrs_[length - 1];
+ this->attrs_.size (length - 1);
+
+ return 0;
+}
+
+
+int
+ACEXML_AttributesImpl::getIndex (const ACEXML_Char *qName)
+{
+ for (size_t i = 0; i < this->attrs_.size (); i++)
+ if (ACE_OS::strcmp (qName, this->attrs_[i].qName ()) == 0)
+ return i;
+
+ return -1;
+}
+
+int
+ACEXML_AttributesImpl::getIndex (const ACEXML_Char *uri,
+ const ACEXML_Char *localPart)
+{
+ for (size_t i = 0; i < this->attrs_.size (); i++)
+ if (ACE_OS::strcmp (uri, this->attrs_[i].uri ()) == 0 &&
+ ACE_OS::strcmp (localPart, this->attrs_[i].localName ()) == 0)
+ return i;
+
+ return -1;
+}
+
+size_t
+ACEXML_AttributesImpl::getLength (void)
+{
+ return this->attrs_.size ();
+}
+
+const ACEXML_Char *
+ACEXML_AttributesImpl::getLocalName (size_t index)
+{
+ if (index < this->attrs_.size ())
+ return this->attrs_[index].localName ();
+ return 0;
+}
+
+
+const ACEXML_Char *
+ACEXML_AttributesImpl::getQName (size_t index)
+{
+ if (index < this->attrs_.size ())
+ return this->attrs_[index].qName ();
+ return 0;
+}
+
+const ACEXML_Char *
+ACEXML_AttributesImpl::getType (size_t index)
+{
+ if (index < this->attrs_.size ())
+ return this->attrs_[index].type ();
+ return 0;
+}
+
+
+const ACEXML_Char *
+ACEXML_AttributesImpl::getType (const ACEXML_Char *qName)
+{
+ for (size_t i = 0; i < this->attrs_.size (); i++)
+ if (ACE_OS::strcmp (qName, this->attrs_[i].qName ()) == 0)
+ return this->attrs_[i].type ();
+
+ return 0;
+}
+
+const ACEXML_Char *
+ACEXML_AttributesImpl::getType (const ACEXML_Char *uri,
+ const ACEXML_Char *localPart)
+{
+ for (size_t i = 0; i < this->attrs_.size (); i++)
+ if (ACE_OS::strcmp (uri, this->attrs_[i].uri ()) == 0 &&
+ ACE_OS::strcmp (localPart, this->attrs_[i].localName ()) == 0)
+ return this->attrs_[i].type ();
+
+ return 0;
+}
+
+
+const ACEXML_Char *
+ACEXML_AttributesImpl::getURI (size_t index)
+{
+ if (index < this->attrs_.size ())
+ return this->attrs_[index].uri ();
+ return 0;
+}
+
+
+const ACEXML_Char *
+ACEXML_AttributesImpl::getValue (size_t index)
+{
+ if (index < this->attrs_.size ())
+ return this->attrs_[index].value ();
+ return 0;
+}
+
+const ACEXML_Char *
+ACEXML_AttributesImpl::getValue (const ACEXML_Char *qName)
+{
+ for (size_t i = 0; i < this->attrs_.size (); i++)
+ if (ACE_OS::strcmp (qName, this->attrs_[i].qName ()) == 0)
+ return this->attrs_[i].value ();
+
+ return 0;
+}
+
+const ACEXML_Char *
+ACEXML_AttributesImpl::getValue (const ACEXML_Char *uri,
+ const ACEXML_Char *localPart)
+{
+ for (size_t i = 0; i < this->attrs_.size (); i++)
+ if (ACE_OS::strcmp (uri, this->attrs_[i].uri ()) == 0 &&
+ ACE_OS::strcmp (localPart, this->attrs_[i].localName ()) == 0)
+ return this->attrs_[i].value ();
+
+ return 0;
+}
+
+int
+ACEXML_AttributesImpl::setAttribute (size_t index,
+ const ACEXML_Char *uri,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ const ACEXML_Char *type,
+ const ACEXML_Char *value)
+{
+ if (index < this->attrs_.size ())
+ {
+ this->attrs_[index].setAttribute (uri,
+ localName,
+ qName,
+ type,
+ value);
+ return 0;
+ }
+
+ return -1;
+}
+
+
+int
+ACEXML_AttributesImpl::setLocalName (size_t index,
+ const ACEXML_Char *localName)
+{
+ if (index < this->attrs_.size ())
+ {
+ this->attrs_[index].localName (localName);
+ return 0;
+ }
+ return -1;
+}
+
+int
+ACEXML_AttributesImpl::setQName (size_t index,
+ const ACEXML_Char *qName)
+{
+ if (index < this->attrs_.size ())
+ {
+ this->attrs_[index].qName (qName);
+ return 0;
+ }
+ return -1;
+}
+
+
+int
+ACEXML_AttributesImpl::setURI (size_t index,
+ const ACEXML_Char *uri)
+{
+ if (index < this->attrs_.size ())
+ {
+ this->attrs_[index].uri (uri);
+ return 0;
+ }
+ return -1;
+}
+
+int
+ACEXML_AttributesImpl::setType (size_t index,
+ const ACEXML_Char *type)
+{
+ if (index < this->attrs_.size ())
+ {
+ this->attrs_[index].type (type);
+ return 0;
+ }
+ return -1;
+}
+
+int
+ACEXML_AttributesImpl::setValue (size_t index,
+ const ACEXML_Char *value)
+{
+ if (index < this->attrs_.size ())
+ {
+ this->attrs_[index].value (value);
+ return 0;
+ }
+ return -1;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Array_Base<ACEXML_Attribute>;
+template class ACE_Array<ACEXML_Attribute>;
+template class ACE_Array_Iterator<ACEXML_Attribute>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Array_Base<ACEXML_Attribute>
+#pragma instantiate ACE_Array<ACEXML_Attribute>
+#pragma instantiate ACE_Array_Iterator<ACEXML_Attribute>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/ACEXML/common/AttributesImpl.h b/ACEXML/common/AttributesImpl.h
new file mode 100644
index 00000000000..4f69b9a307d
--- /dev/null
+++ b/ACEXML/common/AttributesImpl.h
@@ -0,0 +1,293 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file AttributesImpl.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+
+#ifndef ACEXML_ATTRIBUTESIMPL_H
+#define ACEXML_ATTRIBUTESIMPL_H
+
+#include "common/Attributes.h"
+#include "ace/Containers_T.h"
+
+#if !defined ACEXML_AttributesImpl_Default_Size
+#define ACEXML_AttributesImpl_Default_Size 20
+#endif /* ACEXML_AttributesImpl_Default_Size */
+
+class ACEXML_AttributesImpl;
+
+/**
+ * @class ACEXML_Attribute AttributesImpl.h "common/AttributesImpl.h"
+ *
+ * @brief ACEXML_Attribute defines the data structure of an attribute
+ *
+ * @sa ACEXML_AttributesImpl
+ */
+class ACEXML_Export ACEXML_Attribute
+{
+public:
+ friend class ACEXML_AttributesImpl;
+
+ /// Default constructor.
+ ACEXML_Attribute (void);
+
+ /// Copy constructor.
+ ACEXML_Attribute (const ACEXML_Attribute &attr);
+
+ /// Initialize all constructor.
+ ACEXML_Attribute (const ACEXML_Char *uri,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ const ACEXML_Char *type,
+ const ACEXML_Char *value);
+
+ /// Destructor.
+ ~ACEXML_Attribute (void);
+
+ /// Set all members.
+ void setAttribute (const ACEXML_Char *uri,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ const ACEXML_Char *type,
+ const ACEXML_Char *value);
+
+ /// Set \a uri_.
+ const ACEXML_Char *uri (void) const;
+
+ /// Get \a uri_.
+ void uri (const ACEXML_Char *uri);
+
+ /// Set \a localName_.
+ const ACEXML_Char *localName (void) const;
+
+ /// Get \a localName_.
+ void localName (const ACEXML_Char *localName);
+
+ /// Set \a qName_.
+ const ACEXML_Char *qName (void) const;
+
+ /// Get \a qName_.
+ void qName (const ACEXML_Char *qName);
+
+ /// Set \a type_.
+ const ACEXML_Char *type (void) const;
+
+ /// Get \a type_.
+ void type (const ACEXML_Char *type);
+
+ /// Set \a value_.
+ const ACEXML_Char *value (void) const;
+
+ /// Get \a value_.
+ void value (const ACEXML_Char *value);
+
+ /// Assignment operator.
+ ACEXML_Attribute &operator= (const ACEXML_Attribute &rhs);
+
+ /// Comparison operator.
+ int operator!= (const ACEXML_Attribute&rhs) const;
+
+private:
+ /// @var uri_ Namespace URI of an attribute
+ ACEXML_Char *uri_;
+
+ /// @var localName_
+ ACEXML_Char *localName_;
+ ACEXML_Char *qName_;
+ ACEXML_Char *type_;
+ ACEXML_Char *value_;
+};
+
+/**
+ * @typedef ACE_Array<ACEXML_Attribute> ACEXML_Attribute_Array
+ */
+typedef ACE_Array<ACEXML_Attribute> ACEXML_Attribute_Array;
+
+/**
+ * @class ACEXML_AttributesImpl AttributesImpl.h "common/AttributesImpl.h"
+ *
+ * @brief ACEXML_AttributesImpl provides the default implementation
+ * of interface ACEXML_Attributes.
+ *
+ * This class provides a default implementation of the SAX2 Attributes
+ * interface, with the addition of manipulators so that the list can
+ * be modified or reused.
+ *
+ * There are two typical uses of this class:
+ *
+ * - to take a persistent snapshot of an Attributes object in a startElement event; or
+ * - to construct or modify an Attributes object in a SAX2 driver or filter.
+ *
+ * This class replaces the now-deprecated SAX1 AttributeListImpl
+ * class; in addition to supporting the updated Attributes interface
+ * rather than the deprecated AttributeList interface, it also
+ * includes a much more efficient implementation using a single array
+ * rather than a set of Vectors.
+ *
+ * @sa ACEXML_Attributes
+ */
+class ACEXML_Export ACEXML_AttributesImpl
+ : public ACEXML_Attributes
+{
+public:
+ /**
+ * Initialize an AttributesImpl that holds <size> attributes.
+ */
+ ACEXML_AttributesImpl (int size = ACEXML_AttributesImpl_Default_Size);
+ ACEXML_AttributesImpl (const ACEXML_AttributesImpl &attrs);
+ virtual ~ACEXML_AttributesImpl (void);
+
+ /**
+ * Add a new attribute using the argument(s) supplied.
+ * Return -1 if an attribute with the same name already exists.
+ */
+ virtual int addAttribute (const ACEXML_Char *uri,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ const ACEXML_Char *type,
+ const ACEXML_Char *value);
+ virtual int addAttribute (const ACEXML_Attribute &att);
+
+ /**
+ * Remove an attribute from the array. Notice that this
+ * operation can invalidate previously acquired <index>
+ * value. (It will repack the array.)
+ */
+ virtual int removeAttribute (size_t index);
+
+
+ /**
+ * Look up the index of an attribute by XML 1.0 qualified name.
+ * Return -1 if we fail to find a match.
+ */
+ virtual int getIndex (const ACEXML_Char *qName);
+
+ /**
+ * Look up the index of an attribute by Namespace name.
+ * Return -1 if we fail to find a match.
+ */
+ virtual int getIndex (const ACEXML_Char *uri,
+ const ACEXML_Char *localPart);
+
+ /**
+ * Return the number of attributes in the list.
+ */
+ virtual size_t getLength (void);
+
+ /**
+ * Look up an attribute's local name by index.
+ * Return 0 if index is out of range.
+ */
+ virtual const ACEXML_Char *getLocalName (size_t index);
+
+ /**
+ * Look up an attribute's XML 1.0 qualified name by index.
+ * Return 0 if index is out of range.
+ */
+ virtual const ACEXML_Char *getQName (size_t index);
+
+ /**
+ * Look up an attribute's type by index.
+ * Return 0 if index is out of range.
+ */
+ virtual const ACEXML_Char *getType (size_t index);
+
+ /**
+ * Look up an attribute's type by XML 1.0 qualified name.
+ * Return 0 if we fail to find a match.
+ */
+ virtual const ACEXML_Char *getType (const ACEXML_Char *qName);
+
+ /**
+ * Look up an attribute's type by Namespace name.
+ * Return 0 if we fail to find a match.
+ */
+ virtual const ACEXML_Char *getType (const ACEXML_Char *uri,
+ const ACEXML_Char *localPart);
+
+ /**
+ * Look up an attribute's Namespace URI by index.
+ * Return 0 if index is out of range.
+ */
+ virtual const ACEXML_Char *getURI (size_t index);
+
+ /**
+ * Look up an attribute's value by index.
+ * Return 0 if index is out of range.
+ */
+ virtual const ACEXML_Char *getValue (size_t index);
+
+ /**
+ * Look up an attribute's value by XML 1.0 qualified name.
+ * Return 0 if we fail to find a match.
+ */
+ virtual const ACEXML_Char *getValue (const ACEXML_Char *qName);
+
+ /**
+ * Look up an attribute's value by Namespace name.
+ * Return 0 if we fail to find a match.
+ */
+ virtual const ACEXML_Char *getValue (const ACEXML_Char *uri,
+ const ACEXML_Char *localPart);
+
+ /**
+ * Set an attribute at index. Return -1 if index is out of
+ * range.
+ */
+ virtual int setAttribute (size_t index,
+ const ACEXML_Char *uri,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ const ACEXML_Char *type,
+ const ACEXML_Char *value);
+
+ /**
+ * Set the localName of the attribute at <index>.
+ * return -1 if <index> is out of range.
+ */
+ virtual int setLocalName (size_t index,
+ const ACEXML_Char *localName);
+
+ /**
+ * Set the qName of the attribute at <index>.
+ * return -1 if <index> is out of range.
+ */
+ virtual int setQName (size_t index,
+ const ACEXML_Char *qName);
+
+ /**
+ * Set the URI of the attribute at <index>.
+ * return -1 if <index> is out of range.
+ */
+ virtual int setURI (size_t index,
+ const ACEXML_Char *uri);
+
+ /**
+ * Set the type of the attribute at <index>.
+ * return -1 if <index> is out of range.
+ */
+ virtual int setType (size_t index,
+ const ACEXML_Char *type);
+
+ /**
+ * Set the value of the attribute at <index>.
+ * return -1 if <index> is out of range.
+ */
+ virtual int setValue (size_t index,
+ const ACEXML_Char *value);
+private:
+ /// Container for all attributes.
+ ACEXML_Attribute_Array attrs_;
+};
+
+#if defined (__ACEXML_INLINE__)
+# include "common/AttributesImpl.i"
+#endif /* __ACEXML_INLINE__ */
+#endif /* ACEXML_ATTRIBUTESIMPL_H */
diff --git a/ACEXML/common/AttributesImpl.i b/ACEXML/common/AttributesImpl.i
new file mode 100644
index 00000000000..7800398bc66
--- /dev/null
+++ b/ACEXML/common/AttributesImpl.i
@@ -0,0 +1,151 @@
+// -*- C++ -*- $Id$
+
+#include "ace/ACE.h"
+
+ACEXML_INLINE
+ACEXML_Attribute::ACEXML_Attribute (void)
+ : uri_ (0),
+ localName_ (0),
+ qName_ (0),
+ type_ (0),
+ value_ (0)
+{
+}
+
+ACEXML_INLINE
+ACEXML_Attribute::ACEXML_Attribute (const ACEXML_Attribute &attr)
+ : uri_ (ACE::strnew (attr.uri_)),
+ localName_ (ACE::strnew (attr.localName_)),
+ qName_ (ACE::strnew (attr.qName_)),
+ type_ (ACE::strnew (attr.type_)),
+ value_ (ACE::strnew (attr.value_))
+{
+}
+
+ACEXML_INLINE
+ACEXML_Attribute::ACEXML_Attribute (const ACEXML_Char *uri,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ const ACEXML_Char *type,
+ const ACEXML_Char *value)
+ : uri_ (ACE::strnew (uri)),
+ localName_ (ACE::strnew (localName)),
+ qName_ (ACE::strnew (qName)),
+ type_ (ACE::strnew (type)),
+ value_ (ACE::strnew (value))
+{
+}
+
+ACEXML_INLINE
+ACEXML_Attribute::~ACEXML_Attribute (void)
+{
+ delete this->uri_;
+ delete this->localName_;
+ delete this->qName_;
+ delete this->type_;
+ delete this->value_;
+}
+
+ACEXML_INLINE const ACEXML_Char *
+ACEXML_Attribute::uri (void) const
+{
+ return this->uri_;
+}
+
+ACEXML_INLINE void
+ACEXML_Attribute::uri (const ACEXML_Char *uri)
+{
+ delete this->uri_;
+ this->uri_ = ACE::strnew (uri);
+}
+
+ACEXML_INLINE const ACEXML_Char *
+ACEXML_Attribute::localName (void) const
+{
+ return this->localName_;
+}
+
+ACEXML_INLINE void
+ACEXML_Attribute::localName (const ACEXML_Char *localName)
+{
+ delete this->localName_;
+ this->localName_ = ACE::strnew (localName);
+}
+
+ACEXML_INLINE const ACEXML_Char *
+ACEXML_Attribute::qName (void) const
+{
+ return this->qName_;
+}
+
+ACEXML_INLINE void
+ACEXML_Attribute::qName (const ACEXML_Char *qName)
+{
+ delete this->qName_;
+ this->qName_ = ACE::strnew (qName);
+}
+
+ACEXML_INLINE const ACEXML_Char *
+ACEXML_Attribute::type (void) const
+{
+ return this->type_;
+}
+
+ACEXML_INLINE void
+ACEXML_Attribute::type (const ACEXML_Char *type)
+{
+ delete this->type_;
+ this->type_ = ACE::strnew (type);
+}
+
+ACEXML_INLINE const ACEXML_Char *
+ACEXML_Attribute::value (void) const
+{
+ return this->value_;
+}
+
+ACEXML_INLINE void
+ACEXML_Attribute::value (const ACEXML_Char *value)
+{
+ delete this->value_;
+ this->value_ = ACE::strnew (value);
+}
+
+ACEXML_INLINE void
+ACEXML_Attribute::setAttribute (const ACEXML_Char *uri,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ const ACEXML_Char *type,
+ const ACEXML_Char *value)
+{
+ this->uri (uri);
+ this->qName (qName);
+ this->localName (localName);
+ this->type (type);
+ this->value (value);
+}
+
+ACEXML_INLINE ACEXML_Attribute &
+ACEXML_Attribute::operator= (const ACEXML_Attribute &rhs)
+{
+ if (this != &rhs) // Check for self assignment
+ {
+ this->uri (rhs.uri ());
+ this->qName (rhs.qName ());
+ this->localName (rhs.localName ());
+ this->type (rhs.type ());
+ this->value (rhs.value ());
+ }
+ return *this;
+}
+
+ACEXML_INLINE int
+ACEXML_Attribute::operator!= (const ACEXML_Attribute &rhs) const
+{
+ return (ACE_OS::strcmp (this->uri_, rhs.uri ()) == 0 &&
+ ACE_OS::strcmp (this->localName_, rhs.localName ()) == 0 &&
+ ACE_OS::strcmp (this->qName_, rhs .qName ()) == 0 &&
+ ACE_OS::strcmp (this->type_, rhs.type ()) == 0 &&
+ ACE_OS::strcmp (this->value_, rhs.value ()) == 0 ? 0 : 1);
+
+}
diff --git a/ACEXML/common/Attributes_Def_Builder.cpp b/ACEXML/common/Attributes_Def_Builder.cpp
new file mode 100644
index 00000000000..7ee53696985
--- /dev/null
+++ b/ACEXML/common/Attributes_Def_Builder.cpp
@@ -0,0 +1,25 @@
+// $Id$
+
+#include "common/Attributes_Def_Builder.h"
+
+ACEXML_Attribute_Def_Builder::~ACEXML_Attribute_Def_Builder ()
+{
+
+}
+
+ACEXML_Attributes_Def_Builder::~ACEXML_Attributes_Def_Builder ()
+{
+
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class auto_ptr<ACEXML_Attribute_Def_Builder>;
+template class auto_ptr<ACEXML_Attributes_Def_Builder>;
+template class ACE_Auto_Basic_Ptr<ACEXML_Attribute_Def_Builder>;
+template class ACE_Auto_Basic_Ptr<ACEXML_Attributes_Def_Builder>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate auto_ptr<ACEXML_Attribute_Def_Builder>
+#pragma instantiate auto_ptr<ACEXML_Attributes_Def_Builder>
+#pragma instantiate ACE_Auto_Basic_Ptr<ACEXML_Attribute_Def_Builder>
+#pragma instantiate ACE_Auto_Basic_Ptr<ACEXML_Attributes_Def_Builder>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/ACEXML/common/Attributes_Def_Builder.h b/ACEXML/common/Attributes_Def_Builder.h
new file mode 100644
index 00000000000..960eb879b89
--- /dev/null
+++ b/ACEXML/common/Attributes_Def_Builder.h
@@ -0,0 +1,152 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Attributes_Def_Builder.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+#ifndef _ACEXML_ATTRIBUTES_DEF_BUILDER_H_
+#define _ACEXML_ATTRIBUTES_DEF_BUILDER_H_
+
+#include "common/XML_Types.h"
+#include "common/Env.h"
+#include "ace/Auto_Ptr.h"
+
+/**
+ * @ class ACEXML_Attribute_Def_Builder Attributes_Def_Builder.h "common/Attributes_Def_Builder.h"
+ *
+ * @ brief An abstract virtual class defining an interface
+ * for building an attribute definition from DTD.
+ *
+ * This class should be invisible to application programmers and
+ * is only used for validator implementors.
+ */
+class ACEXML_Export ACEXML_Attribute_Def_Builder
+{
+public:
+
+ typedef auto_ptr<ACEXML_Attribute_Def_Builder> VAR;
+
+ typedef enum {
+ CDATA,
+ ID,
+ IDREF,
+ IDREFS,
+ ENTITY,
+ ENTITIES,
+ NMTOKEN,
+ NMTOKENS,
+ NOTATION,
+ ENUMERATION,
+ ERROR_TYPE
+ } ATT_TYPE;
+
+ typedef enum {
+ REQUIRED,
+ IMPLIED,
+ FIXED,
+ INVALID
+ } DEFAULT_DECL;
+
+ virtual ~ACEXML_Attribute_Def_Builder () = 0;
+
+ /**
+ * Specify the name of the attribute.
+ */
+ virtual int setName (const ACEXML_Char *n) = 0;
+
+ /**
+ * Get the name of the attribute.
+ */
+ virtual const ACEXML_Char *getName (void) = 0;
+
+ /**
+ * Set the attribute type.
+ */
+ virtual int setAttType (const ATT_TYPE type,
+ ACEXML_Env &xmlenv)
+ // ACE_THORW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Insert an element for NOTATION or ENUMERATION type attribute.
+ */
+ virtual int insertList (const ACEXML_Char *Name,
+ ACEXML_Env &xmlenv)
+ // ACE_THORW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Set default attribute declaration.
+ */
+ virtual int setDefault (const DEFAULT_DECL def,
+ const ACEXML_Char *value,
+ ACEXML_Env &xmlenv)
+ // ACE_THORW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Check validity of the current attribute definition being built.
+ *
+ * @retval 0 if the attribute is not a valid combo.
+ */
+ virtual int validAttr (void) = 0;
+
+ /**
+ * Dump the content of the attribute definition.
+ */
+ virtual void dump (void) = 0;
+};
+
+/**
+ * @ class ACEXML_Attributes_Def_Builder Attributes_Def_Builder.h "common/Attributes_Def_Builder.h"
+ *
+ * @ brief An abstract virtual class defining an interface
+ * for building attribute definitions from DTD.
+ *
+ * This class should be invisible to application programmers and
+ * is only used for validator implementors.
+ */
+class ACEXML_Export ACEXML_Attributes_Def_Builder
+{
+public:
+
+ typedef auto_ptr<ACEXML_Attributes_Def_Builder> VAR;
+
+ virtual ~ACEXML_Attributes_Def_Builder () = 0;
+
+ /**
+ * Set the element name that the attribute builder applies.
+ *
+ * @retval 0 if valid, -1 otherwise.
+ */
+ virtual int setElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Acquire an Attribute_Builder.
+ */
+ virtual ACEXML_Attribute_Def_Builder *getAttribute_Def_Builder () = 0;
+
+ /**
+ * Add a definition for one attribute.
+ */
+ virtual int insertAttribute (ACEXML_Attribute_Def_Builder *def,
+ ACEXML_Env &xmlenv) = 0;
+
+
+ /**
+ * Dump the content of the attribute definition.
+ */
+ virtual void dump (void) = 0;
+};
+
+#endif /* _ACEXML_ATTRIBUTES_DEF_BUILDER_H_ */
diff --git a/ACEXML/common/CharStream.cpp b/ACEXML/common/CharStream.cpp
new file mode 100644
index 00000000000..ada6573be40
--- /dev/null
+++ b/ACEXML/common/CharStream.cpp
@@ -0,0 +1,7 @@
+// -*- C++ -*- $Id$
+
+#include "common/CharStream.h"
+
+ACEXML_CharStream::~ACEXML_CharStream (void)
+{
+}
diff --git a/ACEXML/common/CharStream.h b/ACEXML/common/CharStream.h
new file mode 100644
index 00000000000..94d44645025
--- /dev/null
+++ b/ACEXML/common/CharStream.h
@@ -0,0 +1,66 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file CharStream.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef _ACEXML_CHARSTREAM_H_
+#define _ACEXML_CHARSTREAM_H_
+
+#include "common/XML_Types.h"
+
+/**
+ * @class ACEXML_CharStream CharStream.h "common/CharStream.h"
+ *
+ * ACEXML_CharStream is an abstract class (interface) which defines
+ * the basic opertions a parser could use to retrieve XML charater
+ * sequence. The sequence can be read from a file or a character
+ * buffer.
+ */
+class ACEXML_Export ACEXML_CharStream
+{
+public:
+
+ /**
+ * Virtual destructor, must have.
+ */
+ virtual ~ACEXML_CharStream () = 0;
+
+ /**
+ * Returns the available ACEXML_Char in the buffer. -1
+ * if the object is not initialized properly.
+ */
+ virtual int available (void) = 0;
+
+ /**
+ * Close this stream and release all resources used by it.
+ */
+ virtual int close (void) = 0;
+
+ /**
+ * Read the next ACEXML_Char. Return -1 if we are not able to
+ * return an ACEXML_Char, 0 if EOS is reached, or 1 if succeed.
+ */
+ virtual int get (ACEXML_Char& ch) = 0;
+
+ /**
+ * Read the next batch of ACEXML_Char strings
+ */
+ virtual int read (ACEXML_Char *str,
+ size_t len) = 0;
+
+ /**
+ * Peek the next ACEXML_Char in the CharStream. Return the
+ * character if succeess, -1 if EOS is reached.
+ */
+ virtual int peek (void) = 0;
+
+};
+
+#endif /* _ACEXML_CHARSTREAM_H_ */
diff --git a/ACEXML/common/ContentHandler.h b/ACEXML/common/ContentHandler.h
new file mode 100644
index 00000000000..d680a9261c1
--- /dev/null
+++ b/ACEXML/common/ContentHandler.h
@@ -0,0 +1,138 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file ContentHandler.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+#ifndef _ACEXML_CONTENTHANDLER_H_
+#define _ACEXML_CONTENTHANDLER_H_
+
+#include "common/Env.h"
+#include "common/SAXExceptions.h"
+#include "common/Locator.h"
+#include "common/Attributes.h"
+
+/**
+ * @class ACEXML_ContentHandler ContentHandler.h "common/ContentHandler.h"
+ *
+ * @brief ACEXML_ContentHandler
+ *
+ * This is the main interface that most SAX applications implement: if
+ * the application needs to be informed of basic parsing events, it
+ * implements this interface and registers an instance with the SAX
+ * parser using the setContentHandler method. The parser uses the
+ * instance to report basic document-related events like the start and
+ * end of elements and character data.
+ *
+ * The order of events in this interface is very important, and
+ * mirrors the order of information in the document itself. For
+ * example, all of an element's content (character data, processing
+ * instructions, and/or subelements) will appear, in order, between
+ * the startElement event and the corresponding endElement event.
+
+ */
+class ACEXML_Export ACEXML_ContentHandler
+{
+public:
+ /**
+ * Receive notification of character data.
+ */
+ virtual void characters (const ACEXML_Char *ch,
+ int start,
+ int length,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Receive notification of the end of a document.
+ */
+ virtual void endDocument (ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Receive notification of the end of an element.
+ */
+ virtual void endElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * End the scope of a prefix-URI mapping.
+ */
+ virtual void endPrefixMapping (const ACEXML_Char *prefix,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Receive notification of ignorable whitespace in element content.
+ */
+ virtual void ignorableWhitespace (const ACEXML_Char *ch,
+ int start,
+ int length,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Receive notification of a processing instruction.
+ */
+ virtual void processingInstruction (const ACEXML_Char *target,
+ const ACEXML_Char *data,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Receive an object for locating the origin of SAX document events.
+ */
+ virtual void setDocumentLocator (ACEXML_Locator *locator,
+ ACEXML_Env &xmlenv) = 0;
+
+ /**
+ * Receive notification of a skipped entity.
+ */
+ virtual void skippedEntity (const ACEXML_Char *name,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Receive notification of the beginning of a document.
+ */
+ virtual void startDocument (ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Receive notification of the beginning of an element.
+ */
+ virtual void startElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Attributes *atts,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Begin the scope of a prefix-URI Namespace mapping.
+ */
+ virtual void startPrefixMapping (const ACEXML_Char *prefix,
+ const ACEXML_Char *uri,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+};
+
+#endif /* _ACEXML_CONTENTHANDLER_H_ */
diff --git a/ACEXML/common/DTDHandler.h b/ACEXML/common/DTDHandler.h
new file mode 100644
index 00000000000..c8cb7a1f8d2
--- /dev/null
+++ b/ACEXML/common/DTDHandler.h
@@ -0,0 +1,71 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file DTDHandler.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+#ifndef _ACEXML_DTDHANDLER_H_
+#define _ACEXML_DTDHANDLER_H_
+
+#include "common/Env.h"
+#include "common/SAXExceptions.h"
+
+/**
+ * @class ACEXML_DTDHandler DTDHandler.h "common/DTDHandler.h"
+ *
+ * @brief ACEXML_DTDHandler
+ *
+ * If a SAX application needs information about notations and unparsed
+ * entities, then the application implements this interface and
+ * registers an instance with the SAX parser using the parser's
+ * setDTDHandler method. The parser uses the instance to report
+ * notation and unparsed entity declarations to the application.
+ *
+ * Note that this interface includes only those DTD events that the
+ * XML recommendation requires processors to report: notation and
+ * unparsed entity declarations.
+ *
+ * The SAX parser may report these events in any order, regardless of
+ * the order in which the notations and unparsed entities were
+ * declared; however, all DTD events must be reported after the
+ * document handler's startDocument event, and before the first
+ * startElement event.
+ *
+ * It is up to the application to store the information for future use
+ * (perhaps in a hash table or object tree). If the application
+ * encounters attributes of type "NOTATION", "ENTITY", or "ENTITIES",
+ * it can use the information that it obtained through this interface
+ * to find the entity and/or notation corresponding with the attribute
+ * value.
+ */
+class ACEXML_Export ACEXML_DTDHandler
+{
+public:
+ /**
+ * Receive notification of a notation declaration event.
+ */
+ virtual void notationDecl (const ACEXML_Char *name,
+ const ACEXML_Char *publicId,
+ const ACEXML_Char *systemId,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Receive notification of an unparsed entity declaration event.
+ */
+ virtual void unparsedEntityDecl (const ACEXML_Char *name,
+ const ACEXML_Char *publicId,
+ const ACEXML_Char *systemId,
+ const ACEXML_Char *notationName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+};
+
+#endif /* _ACEXML_DTDHANDLER_H_ */
diff --git a/ACEXML/common/DTD_Manager.cpp b/ACEXML/common/DTD_Manager.cpp
new file mode 100644
index 00000000000..bacf4c91f24
--- /dev/null
+++ b/ACEXML/common/DTD_Manager.cpp
@@ -0,0 +1,8 @@
+// $Id$
+
+#include "common/DTD_Manager.h"
+
+ACEXML_DTD_Manager::~ACEXML_DTD_Manager ()
+{
+
+}
diff --git a/ACEXML/common/DTD_Manager.h b/ACEXML/common/DTD_Manager.h
new file mode 100644
index 00000000000..3bc81aef694
--- /dev/null
+++ b/ACEXML/common/DTD_Manager.h
@@ -0,0 +1,75 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file DTD_Manager.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+#ifndef _ACEXML_DTD_Manager_H_
+#define _ACEXML_DTD_Manager_H_
+
+#include "common/Attributes_Def_Builder.h"
+#include "common/Element_Def_Builder.h"
+#include "common/Validator.h"
+
+/**
+ * @ class ACEXML_DTD_Manager DTD_Manager.h "common/DTD_Manager.h"
+ *
+ * @ todo Fill in the blank.
+ */
+class ACEXML_Export ACEXML_DTD_Manager
+{
+public:
+ virtual ~ACEXML_DTD_Manager () = 0;
+
+ /**
+ * Acquire a pointer to an element definition builder.
+ * The XML parser use this interface to acquire the
+ * definition builder and use the builder to create
+ * the DTD element definition. The resulting builder
+ * is then registered with the DTD Manager or destroyed
+ * if error occured when the builder encountered errors.
+ *
+ * @retval 0 if error occurs creating the builder.
+ */
+ virtual ACEXML_Element_Def_Builder *getElement_Def_Builder () = 0;
+
+ /**
+ * Insert a new element definition into the DTD Manager.
+ *
+ * @retval 0 if success, -1 if error.
+ */
+ virtual int insertElement_Definition (ACEXML_Element_Def_Builder *def,
+ ACEXML_Env &xmlenv) = 0;
+
+ /**
+ * Acquire a pointer to an attributes definition builder.
+ *
+ */
+ virtual ACEXML_Attributes_Def_Builder *getAttribute_Def_Builder () = 0;
+
+ /**
+ * Insert a new attributes definition into the DTD Manager.
+ *
+ * @retval 0 if success, -1 otherwise.
+ */
+ virtual int insertAttributes_Definition (ACEXML_Attributes_Def_Builder *def,
+ ACEXML_Env &xmlenv) = 0;
+
+ /**
+ * Acquire an element validator to validate an XML element.
+ *
+ * @todo I haven't figured out what memory management scheme
+ * we should use for the acquired validator.
+ */
+ virtual ACEXML_Validator *getValidator (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv) = 0;
+};
+
+#endif /* _ACEXML_DTD_Manager_H_ */
diff --git a/ACEXML/common/DefaultHandler.cpp b/ACEXML/common/DefaultHandler.cpp
new file mode 100644
index 00000000000..3ebff8f7ac2
--- /dev/null
+++ b/ACEXML/common/DefaultHandler.cpp
@@ -0,0 +1,176 @@
+// -*- C++ -*- $Id$
+
+#include "common/DefaultHandler.h"
+#if !defined (__ACEXML_INLINE__)
+# include "common/DefaultHandler.i"
+#endif /* __ACEXML_INLINE__ */
+
+ACEXML_DefaultHandler::ACEXML_DefaultHandler (void)
+{
+ // no-op
+}
+
+ACEXML_DefaultHandler::~ACEXML_DefaultHandler (void)
+{
+ // no-op
+}
+
+void
+ACEXML_DefaultHandler::characters (const ACEXML_Char *,
+ int,
+ int,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+void
+ACEXML_DefaultHandler::endDocument (ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+void
+ACEXML_DefaultHandler::endElement (const ACEXML_Char *,
+ const ACEXML_Char *,
+ const ACEXML_Char *,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+void
+ACEXML_DefaultHandler::endPrefixMapping (const ACEXML_Char *,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+void
+ACEXML_DefaultHandler::ignorableWhitespace (const ACEXML_Char *,
+ int,
+ int,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+void
+ACEXML_DefaultHandler::processingInstruction (const ACEXML_Char *,
+ const ACEXML_Char *,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+void
+ACEXML_DefaultHandler::setDocumentLocator (ACEXML_Locator *,
+ ACEXML_Env &)
+{
+ // No-op.
+}
+
+void
+ACEXML_DefaultHandler::skippedEntity (const ACEXML_Char *,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+void
+ACEXML_DefaultHandler::startDocument (ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+void
+ACEXML_DefaultHandler::startElement (const ACEXML_Char *,
+ const ACEXML_Char *,
+ const ACEXML_Char *,
+ ACEXML_Attributes *,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+void
+ACEXML_DefaultHandler::startPrefixMapping (const ACEXML_Char *,
+ const ACEXML_Char *,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+ // *** Methods inherit from ACEXML_DTDHandler.
+
+void
+ACEXML_DefaultHandler::notationDecl (const ACEXML_Char *,
+ const ACEXML_Char *,
+ const ACEXML_Char *,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+void
+ACEXML_DefaultHandler::unparsedEntityDecl (const ACEXML_Char *,
+ const ACEXML_Char *,
+ const ACEXML_Char *,
+ const ACEXML_Char *,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+ // Methods inherit from ACEXML_EnitityResolver.
+
+ACEXML_InputSource *
+ACEXML_DefaultHandler::resolveEntity (const ACEXML_Char *,
+ const ACEXML_Char *,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+ return 0;
+}
+
+ // Methods inherit from ACEXML_ErrorHandler.
+
+ /*
+ * Receive notification of a recoverable error.
+ */
+void
+ACEXML_DefaultHandler::error (ACEXML_SAXParseException &,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+void
+ACEXML_DefaultHandler::fatalError (ACEXML_SAXParseException &,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+void
+ACEXML_DefaultHandler::warning (ACEXML_SAXParseException &,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
diff --git a/ACEXML/common/DefaultHandler.h b/ACEXML/common/DefaultHandler.h
new file mode 100644
index 00000000000..c746550c72b
--- /dev/null
+++ b/ACEXML/common/DefaultHandler.h
@@ -0,0 +1,217 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file DefaultHandler.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+#ifndef ACEXML_DEFAULTHANDLER_H
+#define ACEXML_DEFAULTHANDLER_H
+
+#include "common/ContentHandler.h"
+#include "common/DTDHandler.h"
+#include "common/EntityResolver.h"
+#include "common/ErrorHandler.h"
+
+/**
+ * @class ACEXML_DefaultHandler DefaultHandler.h "common/DefaultHandler.h"
+ *
+ * @brief ACEXML_DefaultHandler
+ *
+ * This class is available as a convenience base class for SAX2
+ * applications: it provides default implementations for all of the
+ * callbacks in the four core SAX2 handler classes:
+ *
+ * - EntityResolver
+ * - DTDHandler
+ * - ContentHandler
+ * - ErrorHandler
+ *
+ * Application writers can extend this class when they need to
+ * implement only part of an interface; parser writers can instantiate
+ * this class to provide default handlers when the application has not
+ * supplied its own.
+ */
+class ACEXML_Export ACEXML_DefaultHandler
+ : public ACEXML_ContentHandler,
+ public ACEXML_DTDHandler,
+ public ACEXML_EntityResolver,
+ public ACEXML_ErrorHandler
+{
+public:
+ /**
+ * Default constructor.
+ */
+ ACEXML_DefaultHandler (void);
+
+ /**
+ * destructor.
+ */
+ virtual ~ACEXML_DefaultHandler (void);
+
+ // Methods inherit from ACEXML_ContentHandler.
+
+ /*
+ * Receive notification of character data.
+ */
+ virtual void characters (const ACEXML_Char *ch,
+ int start,
+ int length,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of the end of a document.
+ */
+ virtual void endDocument (ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of the end of an element.
+ */
+ virtual void endElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * End the scope of a prefix-URI mapping.
+ */
+ virtual void endPrefixMapping (const ACEXML_Char *prefix,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of ignorable whitespace in element content.
+ */
+ virtual void ignorableWhitespace (const ACEXML_Char *ch,
+ int start,
+ int length,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of a processing instruction.
+ */
+ virtual void processingInstruction (const ACEXML_Char *target,
+ const ACEXML_Char *data,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive an object for locating the origin of SAX document events.
+ */
+ virtual void setDocumentLocator (ACEXML_Locator *locator,
+ ACEXML_Env &xmlenv) ;
+
+ /*
+ * Receive notification of a skipped entity.
+ */
+ virtual void skippedEntity (const ACEXML_Char *name,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of the beginning of a document.
+ */
+ virtual void startDocument (ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of the beginning of an element.
+ */
+ virtual void startElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Attributes *atts,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Begin the scope of a prefix-URI Namespace mapping.
+ */
+ virtual void startPrefixMapping (const ACEXML_Char *prefix,
+ const ACEXML_Char *uri,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ // *** Methods inherit from ACEXML_DTDHandler.
+
+ /*
+ * Receive notification of a notation declaration event.
+ */
+ virtual void notationDecl (const ACEXML_Char *name,
+ const ACEXML_Char *publicId,
+ const ACEXML_Char *systemId,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of an unparsed entity declaration event.
+ */
+ virtual void unparsedEntityDecl (const ACEXML_Char *name,
+ const ACEXML_Char *publicId,
+ const ACEXML_Char *systemId,
+ const ACEXML_Char *notationName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ // Methods inherit from ACEXML_EnitityResolver.
+
+ /*
+ * Allow the application to resolve external entities.
+ */
+ virtual ACEXML_InputSource *resolveEntity (const ACEXML_Char *publicId,
+ const ACEXML_Char *systemId,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ // Methods inherit from ACEXML_ErrorHandler.
+
+ /*
+ * Receive notification of a recoverable error.
+ */
+ virtual void error (ACEXML_SAXParseException &exception,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of a non-recoverable error.
+ */
+ virtual void fatalError (ACEXML_SAXParseException &exception,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of a warning.
+ */
+ virtual void warning (ACEXML_SAXParseException &exception,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+};
+
+#if defined (__ACEXML_INLINE__)
+# include "common/DefaultHandler.i"
+#endif /* __ACEXML_INLINE__ */
+#endif /* ACEXML_DEFAULTHANDLER_H */
diff --git a/ACEXML/common/DefaultHandler.i b/ACEXML/common/DefaultHandler.i
new file mode 100644
index 00000000000..77b4466a3cb
--- /dev/null
+++ b/ACEXML/common/DefaultHandler.i
@@ -0,0 +1 @@
+// -*- C++ -*- $Id$
diff --git a/ACEXML/common/Element_Def_Builder.cpp b/ACEXML/common/Element_Def_Builder.cpp
new file mode 100644
index 00000000000..0063954c9e6
--- /dev/null
+++ b/ACEXML/common/Element_Def_Builder.cpp
@@ -0,0 +1,17 @@
+// $Id$
+
+#include "common/Element_Def_Builder.h"
+
+ACEXML_Element_Def_Builder::~ACEXML_Element_Def_Builder ()
+{
+
+}
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class auto_ptr<ACEXML_Element_Def_Builder>;
+template class ACE_Auto_Basic_Ptr<ACEXML_Element_Def_Builder>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate auto_ptr<ACEXML_Element_Def_Builder>
+#pragma instantiate ACE_Auto_Basic_Ptr<ACEXML_Element_Def_Builder>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/ACEXML/common/Element_Def_Builder.h b/ACEXML/common/Element_Def_Builder.h
new file mode 100644
index 00000000000..187ab283423
--- /dev/null
+++ b/ACEXML/common/Element_Def_Builder.h
@@ -0,0 +1,132 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Element_Def_Builder.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+#ifndef _ACEXML_ELEMENT_DEF_BUILDER_H_
+#define _ACEXML_ELEMENT_DEF_BUILDER_H_
+
+#include "ace/Auto_Ptr.h"
+#include "common/XML_Types.h"
+#include "common/Env.h"
+
+/**
+ * @ class ACEXML_Element_Def_Builder Element_Def_Builder.h "common/Element_Def_Builder.h"
+ *
+ * @ brief An abstract virtual class that defines the interface
+ * to define an element definition.
+ *
+ * This class defines how to define an element definition after
+ * parsing a DTD.
+ */
+class ACEXML_Export ACEXML_Element_Def_Builder
+{
+public:
+
+ typedef auto_ptr<ACEXML_Element_Def_Builder> VAR;
+
+ typedef enum {
+ EMPTY,
+ ANY,
+ MIXED,
+ CHILDREN,
+ UNDEFINED
+ } CONTENT_TYPE;
+
+ typedef enum {
+ ONE,
+ ZERO_OR_MORE,
+ ONE_OR_MORE,
+ ONE_OR_ZERO
+ } CARDINALITY;
+
+ virtual ~ACEXML_Element_Def_Builder () = 0;
+
+ /**
+ * Define the name of the element.
+ *
+ * @retval 0 if valid, -1 otherwise.
+ */
+ virtual int setElementName (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Define the content type of the element.
+ *
+ * @retval 0 if valid, -1 otherwise.
+ */
+ virtual int setContentType (CONTENT_TYPE type,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Insert one more element into Mixed definition.
+ */
+ virtual int insertMixedElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Start a new group of children.
+ */
+ virtual int startChildGroup () = 0;
+
+ /**
+ * End a new group of children.
+ *
+ * @retval 0 on success.
+ */
+ virtual int endChildGroup (CARDINALITY card,
+ ACEXML_Env &xmlenv) = 0;
+
+ /**
+ * Set the type of current child group to Choice.
+ *
+ * @retval 0 on success, -1 if the type of the child group has
+ * already been set and this action conflicts with the previous
+ * setting.
+ */
+ virtual int setChoice () = 0;
+
+ /**
+ * Set the type of current child group to Sequence.
+ *
+ * @retval 0 on success, -1 if the type of the child group has
+ * already been set and this action conflicts with the previous
+ * setting.
+ */
+ virtual int setSequence () = 0;
+
+ /**
+ * Insert an new element into the current child group.
+ *
+ * @retval 0 on success, -1 otherwise.
+ */
+ virtual int insertElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Dump the content of the attribute definition.
+ */
+ virtual void dump (void) = 0;
+};
+
+#endif /* _ACEXML_ELEMENT_DEF_BUILDER_H_ */
diff --git a/ACEXML/common/EntityResolver.h b/ACEXML/common/EntityResolver.h
new file mode 100644
index 00000000000..913228e2ca0
--- /dev/null
+++ b/ACEXML/common/EntityResolver.h
@@ -0,0 +1,49 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file EntityResolver.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+#ifndef _ACEXML_ENTITYHANDLER_H_
+#define _ACEXML_ENTITYHANDLER_H_
+
+#include "common/Env.h"
+#include "common/InputSource.h"
+
+/**
+ * @class ACEXML_EntityResolver EntityResolver.h "common/EntityResolver.h"
+ *
+ * @brief ACEXML_EntityResolver
+ *
+ * If a SAX application needs to implement customized handling for
+ * external entities, it must implement this interface and register an
+ * instance with the SAX driver using the setEntityResolver method.
+ *
+ * The XML reader will then allow the application to intercept any
+ * external entities (including the external DTD subset and external
+ * parameter entities, if any) before including them.
+ *
+ * Many SAX applications will not need to implement this interface,
+ * but it will be especially useful for applications that build XML
+ * documents from databases or other specialised input sources, or for
+ * applications that use URI types other than URLs.
+ */
+class ACEXML_Export ACEXML_EntityResolver
+{
+public:
+ /**
+ * Allow the application to resolve external entities.
+ */
+ virtual ACEXML_InputSource *resolveEntity (const ACEXML_Char *publicId,
+ const ACEXML_Char *systemId,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+};
+
+#endif /* _ACEXML_ENTITYHANDLER_H_ */
diff --git a/ACEXML/common/Env.cpp b/ACEXML/common/Env.cpp
new file mode 100644
index 00000000000..412996d8bef
--- /dev/null
+++ b/ACEXML/common/Env.cpp
@@ -0,0 +1,22 @@
+// -*- C++ -*- $Id$
+
+#include "common/Env.h"
+
+#if !defined (__ACEXML_INLINE__)
+# include "common/Env.i"
+#endif /* __ACEXML_INLINE__ */
+
+ACEXML_Env::ACEXML_Env (void)
+ : exception_ (0)
+{
+}
+
+ACEXML_Env::ACEXML_Env (const ACEXML_Env &ev)
+ : exception_ (ev.exception_->duplicate ())
+{
+}
+
+ACEXML_Env::~ACEXML_Env (void)
+{
+ delete this->exception_;
+}
diff --git a/ACEXML/common/Env.h b/ACEXML/common/Env.h
new file mode 100644
index 00000000000..23d1aae4474
--- /dev/null
+++ b/ACEXML/common/Env.h
@@ -0,0 +1,67 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Env.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef _ACEXML_ENV_H_
+#define _ACEXML_ENV_H_
+#include "common/Exception.h"
+
+/**
+ * @class ACEXML_Env Env.h "common/Env.h"
+ *
+ * @brief ACEXML_Env
+ *
+ * ACEXML_Env is modeled after CORBA_Environment class. It provides
+ * a place holder for callees to propagate exceptions back to
+ * callers. ACEXML does not support native exceptions at this
+ * moement.
+ *
+ * @sa ACEXML_Exception
+ */
+class ACEXML_Export ACEXML_Env
+{
+public:
+ /// Default constructor.
+ ACEXML_Env ();
+
+ /// Copy constructor.
+ ACEXML_Env (const ACEXML_Env &ev);
+
+ /// Destructor.
+ ~ACEXML_Env (void);
+
+ /// Check if exception has occured.
+ int exception_occured (void) const;
+
+ /// Clear the exception and reset the evnrionment.
+ void reset (void);
+
+ /// Return the underlying exception for examination
+ ACEXML_Exception *exception (void) const;
+
+ /// Set the underlying exception. ACEXML_Env assumes
+ /// ownership of the exception.
+ void exception (ACEXML_Exception *exception);
+
+private:
+ /// Place holder for exception (if one occurs.)
+ ACEXML_Exception *exception_;
+};
+
+// = These macros are used to speed up programming. I hope to
+// merge them with ACE_CHECK macros someday.
+#define ACEXML_CHECK if (xmlenv.exception ()) return;
+#define ACEXML_CHECK_RETURN(VAL) if (xmlenv.exception ()) return VAL;
+
+#if defined (__ACEXML_INLINE__)
+# include "common/Env.i"
+#endif /* __ACEXML_INLINE__ */
+#endif /* _ACEXML_ENV_H_ */
diff --git a/ACEXML/common/Env.i b/ACEXML/common/Env.i
new file mode 100644
index 00000000000..748f1c1d4f4
--- /dev/null
+++ b/ACEXML/common/Env.i
@@ -0,0 +1,26 @@
+// -*- C++ -*- $Id$
+
+ACEXML_INLINE int
+ACEXML_Env::exception_occured (void) const
+{
+ return this->exception_ != 0;
+}
+
+ACEXML_INLINE ACEXML_Exception *
+ACEXML_Env::exception (void) const
+{
+ return this->exception_;
+}
+
+ACEXML_INLINE void
+ACEXML_Env::exception (ACEXML_Exception *ex)
+{
+ delete this->exception_;
+ this->exception_ = ex;
+}
+
+ACEXML_INLINE void
+ACEXML_Env::reset (void)
+{
+ this->exception (0);
+}
diff --git a/ACEXML/common/ErrorHandler.h b/ACEXML/common/ErrorHandler.h
new file mode 100644
index 00000000000..06ddd8408e9
--- /dev/null
+++ b/ACEXML/common/ErrorHandler.h
@@ -0,0 +1,68 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file ErrorHandler.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+#ifndef _ACEXML_ERRORHANDLER_H_
+#define _ACEXML_ERRORHANDLER_H_
+
+#include "common/Env.h"
+#include "common/SAXExceptions.h"
+
+/**
+ * @class ACEXML_ErrorHandler ErrorHandler.h "common/ErrorHandler.h"
+ *
+ * @brief ACEXML_ErrorHandler
+ *
+ * If a SAX application needs to implement customized error handling,
+ * it must implement this interface and then register an instance with
+ * the XML reader using the setErrorHandler method. The parser will
+ * then report all errors and warnings through this interface.
+ *
+ * @b WARNING: If an application does not register an ErrorHandler,
+ * XML parsing errors will go unreported and bizarre behaviour may
+ * result.
+ *
+ * For XML processing errors, a SAX driver must use this interface
+ * instead of throwing an exception: it is up to the application to
+ * decide whether to throw an exception for different types of errors
+ * and warnings. Note, however, that there is no requirement that the
+ * parser continue to provide useful information after a call to
+ * fatalError (in other words, a SAX driver class could catch an
+ * exception and report a fatalError).
+ */
+class ACEXML_Export ACEXML_ErrorHandler
+{
+public:
+ /**
+ * Receive notification of a recoverable error.
+ */
+ virtual void error (ACEXML_SAXParseException &exception,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Receive notification of a non-recoverable error.
+ */
+ virtual void fatalError (ACEXML_SAXParseException &exception,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Receive notification of a warning.
+ */
+ virtual void warning (ACEXML_SAXParseException &exception,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+};
+
+#endif /* _ACEXML_ERRORHANDLER_H_ */
diff --git a/ACEXML/common/Exception.cpp b/ACEXML/common/Exception.cpp
new file mode 100644
index 00000000000..ee64ef44e1d
--- /dev/null
+++ b/ACEXML/common/Exception.cpp
@@ -0,0 +1,69 @@
+// -*- C++ -*- $Id$
+
+#include "common/Exception.h"
+#include "ace/Log_Msg.h"
+#include "ace/ACE.h"
+
+static const ACEXML_Char ACEXML_Exception_name[] = {
+ 'A', 'C', 'E', 'X', 'M', 'L',
+ '_', 'E', 'x', 'c', 'e', 'p',
+ 't', 'i', 'o', 'n', 0};
+const ACEXML_Char *ACEXML_Exception::exception_name_ = ACEXML_Exception_name;
+
+static const ACEXML_Char ACEXML_Exception_null [] = {0};
+const ACEXML_Char *ACEXML_Exception::null_ = ACEXML_Exception_null;
+
+#if !defined (__ACEXML_INLINE__)
+# include "common/Exception.i"
+#endif /* __ACEXML_INLINE__ */
+
+ACEXML_Exception::ACEXML_Exception (void)
+{
+}
+
+ACEXML_Exception::ACEXML_Exception (const ACEXML_Exception &)
+{
+}
+
+
+ACEXML_Exception::~ACEXML_Exception (void)
+{
+}
+
+const ACEXML_Char *
+ACEXML_Exception::id (void)
+{
+ return ACEXML_Exception::exception_name_;
+}
+
+// @@ An example of how duplicate should be implemented.
+
+// ACEXML_Exception *
+// ACEXML_Exception::duplicate (void)
+// {
+// ACEXML_Exception *tmp;
+// ACE_NEW_RETURN (tmp,
+// ACEXML_Exception (*this),
+// // Replace ACEXML_Exception with appropriate type.
+// 0);
+// }
+
+int
+ACEXML_Exception::is_a (const ACEXML_Char *name)
+{
+ if (name == ACEXML_Exception::exception_name_
+ || ACE_OS::strcmp (ACEXML_Exception::exception_name_,
+ name) == 0)
+ return 1;
+
+ return 0;
+}
+
+void
+ACEXML_Exception::print (void)
+{
+ // @@ Nanbor, I don't know how to handle the case
+ // when we define ACEXML_UTF16 as ACEXML_Char
+ ACE_DEBUG ((LM_DEBUG,
+ "Exception: ACEXML_Exception\n"));
+}
diff --git a/ACEXML/common/Exception.h b/ACEXML/common/Exception.h
new file mode 100644
index 00000000000..7f285ff3688
--- /dev/null
+++ b/ACEXML/common/Exception.h
@@ -0,0 +1,69 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Exception.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef _ACEXML_EXCEPTION_H_
+#define _ACEXML_EXCEPTION_H_
+
+#include "common/XML_Types.h"
+
+/**
+ * @class ACEXML_Exception Exception.h "common/Exception.h"
+ *
+ * @brief ACEXML_Exception
+ *
+ * ACEXML_Exception is the base class for all ACEXML related exceptions.
+ * Since ACEXML currently does not support native exceptions, all
+ * exceptions should be thrown thru ACEXML_Env.
+ *
+ * @sa ACEXML_Env
+ */
+class ACEXML_Export ACEXML_Exception
+{
+public:
+ /// Default contructor.
+ ACEXML_Exception (void);
+
+ /// Copu constructor.
+ ACEXML_Exception (const ACEXML_Exception &ex);
+
+ /// Destructor.
+ virtual ~ACEXML_Exception (void);
+
+ /// Accessor for the exception name.
+ static const ACEXML_Char *name (void);
+
+ /// Return the exception type. (for safe downcast.)
+ virtual const ACEXML_Char *id (void);
+
+ /// Dynamically create a copy of this exception.
+ virtual ACEXML_Exception *duplicate (void) = 0;
+
+ /// Check whether this is an exception of type specify by
+ /// <name>.
+ virtual int is_a (const ACEXML_Char *name) = 0;
+
+ /// Print out exception using ACE_DEBUG.
+ virtual void print (void) = 0;
+
+protected:
+ /// All exceptions have names. This name is used to identify the
+ /// type of an exception.
+ static const ACEXML_Char *exception_name_;
+
+ /// A null string that we return when there's no exception occurred.
+ static const ACEXML_Char *null_;
+};
+
+#if defined (__ACEXML_INLINE__)
+# include "common/Exception.i"
+#endif /* __ACEXML_INLINE__ */
+#endif /* _ACEXML_EXCEPTION_H_ */
diff --git a/ACEXML/common/Exception.i b/ACEXML/common/Exception.i
new file mode 100644
index 00000000000..5e5438921b6
--- /dev/null
+++ b/ACEXML/common/Exception.i
@@ -0,0 +1,7 @@
+// -*- C++ -*- $Id$
+
+ACEXML_INLINE const ACEXML_Char *
+ACEXML_Exception::name (void)
+{
+ return ACEXML_Exception::exception_name_;
+}
diff --git a/ACEXML/common/FileCharStream.cpp b/ACEXML/common/FileCharStream.cpp
new file mode 100644
index 00000000000..fb431271d85
--- /dev/null
+++ b/ACEXML/common/FileCharStream.cpp
@@ -0,0 +1,81 @@
+// $Id$
+
+#include "common/FileCharStream.h"
+#include "ace/ACE.h"
+
+ACEXML_FileCharStream::ACEXML_FileCharStream (void)
+ : filename_ (0),
+ infile_ (NULL)
+{
+}
+
+ACEXML_FileCharStream::ACEXML_FileCharStream (const ACEXML_Char *name)
+ : filename_ (),
+ infile_ (NULL)
+{
+ this->open (name);
+}
+
+
+ACEXML_FileCharStream::~ACEXML_FileCharStream (void)
+{
+ if (this->infile_ != NULL)
+ ACE_OS::fclose (this->infile_);
+ delete this->filename_;
+}
+
+int
+ACEXML_FileCharStream::open (const ACEXML_Char *name)
+{
+ delete this->filename_;
+ this->filename_ = 0;
+
+ this->infile_ = ACE_OS::fopen (name, ACE_LIB_TEXT ("r"));
+ if (this->infile_ == NULL)
+ return -1;
+
+ this->filename_ = ACE::strnew (name);
+ return 0;
+}
+
+int
+ACEXML_FileCharStream::available (void)
+{
+ // @@ how?
+
+ return -1;
+}
+
+int
+ACEXML_FileCharStream::close (void)
+{
+ delete this->filename_;
+ this->filename_ = 0;
+ ACE_OS::fclose (this->infile_);
+ this->infile_ = NULL;
+ return 0;
+}
+
+int
+ACEXML_FileCharStream::get (ACEXML_Char& ch)
+{
+ // @@ Error checking?
+ ch = fgetc (this->infile_);
+
+ return (ch == EOF ? -1 :0);
+}
+
+int
+ACEXML_FileCharStream::read (ACEXML_Char *str,
+ size_t len)
+{
+ return ACE_OS::fread (str, len, 1, this->infile_);
+}
+
+int
+ACEXML_FileCharStream::peek (void)
+{
+ ACEXML_Char ch = ::fgetc (this->infile_);
+ ::ungetc (ch, this->infile_);
+ return ch;
+}
diff --git a/ACEXML/common/FileCharStream.h b/ACEXML/common/FileCharStream.h
new file mode 100644
index 00000000000..e9edfa1b33d
--- /dev/null
+++ b/ACEXML/common/FileCharStream.h
@@ -0,0 +1,76 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file FileCharStream.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef _ACEXML_FILECHARSTREAM_H_
+#define _ACEXML_FILECHARSTREAM_H_
+
+#include "common/CharStream.h"
+#include "ace/streams.h"
+
+/**
+ * @class ACEXML_FileCharStream FileCharStream.h "common/FileCharStream.h"
+ *
+ * An implementation of ACEXML_CharStream for reading
+ * input from a file.
+ */
+class ACEXML_Export ACEXML_FileCharStream : public ACEXML_CharStream
+{
+public:
+ /// Default constructor.
+ ACEXML_FileCharStream (void);
+
+ /// Construct and opening a file.
+ ACEXML_FileCharStream (const ACEXML_Char *name);
+
+ /// Destructor
+ virtual ~ACEXML_FileCharStream (void);
+
+ /// Open a file.
+ int open (const ACEXML_Char *name);
+
+ /**
+ * Returns the available ACEXML_Char in the buffer. -1
+ * if the object is not initialized properly.
+ */
+ virtual int available (void);
+
+ /**
+ * Close this stream and release all resources used by it.
+ */
+ virtual int close (void);
+
+ /**
+ * Read the next ACEXML_Char. Return -1 if we are not able to
+ * return an ACEXML_Char, 0 if EOS is reached, or 1 if succeed.
+ */
+ virtual int get (ACEXML_Char& ch);
+
+ /**
+ * Read the next batch of ACEXML_Char strings
+ */
+ virtual int read (ACEXML_Char *str,
+ size_t len);
+
+ /**
+ * Peek the next ACEXML_Char in the CharStream. Return the
+ * character if succeess, -1 if EOS is reached.
+ */
+ virtual int peek (void);
+
+private:
+ ACEXML_Char *filename_;
+
+ FILE *infile_;
+
+};
+
+#endif /* _ACEXML_FILECHARSTREAM_H_ */
diff --git a/ACEXML/common/InputSource.cpp b/ACEXML/common/InputSource.cpp
new file mode 100644
index 00000000000..1d7035a3f2c
--- /dev/null
+++ b/ACEXML/common/InputSource.cpp
@@ -0,0 +1,100 @@
+// -*- C++ -*- $Id$
+
+#include "common/InputSource.h"
+#include "ace/ACE.h"
+
+ACEXML_InputSource::ACEXML_InputSource (void)
+ : publicId_ (0),
+ systemId_ (0),
+ charStream_ (0),
+ encoding_ (0)
+{
+}
+
+ACEXML_InputSource::ACEXML_InputSource (ACEXML_CharStream *stm)
+ : publicId_ (0),
+ systemId_ (0),
+ charStream_ (stm),
+ encoding_ (0)
+{
+}
+
+ /*
+ * Create a new input source with a character stream.
+ * /
+ InputSource (Reader);
+ */
+
+ACEXML_InputSource::ACEXML_InputSource (const ACEXML_Char *systemId)
+ : systemId_ (ACE::strnew (systemId))
+{
+}
+
+ACEXML_InputSource::~ACEXML_InputSource (void)
+{
+ delete this->publicId_;
+ delete this->systemId_;
+ delete this->charStream_;
+ delete this->encoding_;
+}
+
+ACEXML_CharStream *
+ACEXML_InputSource::getCharStream (void)
+{
+ return this->charStream_;
+}
+
+ /*
+ * Get the character stream for this input source.
+ * /
+ virtual Reader *getCharacterStream (void);
+ */
+
+const ACEXML_Char *
+ACEXML_InputSource::getEncoding (void)
+{
+ return this->encoding_;
+}
+
+const ACEXML_Char *
+ACEXML_InputSource::getPublicId (void)
+{
+ return this->publicId_;
+}
+
+const ACEXML_Char *
+ACEXML_InputSource::getSystemId (void)
+{
+ return this->systemId_;
+}
+
+void
+ACEXML_InputSource::setCharStream (ACEXML_CharStream *stm)
+{
+ delete this->charStream_;
+ this->charStream_ = stm;
+}
+
+ /*
+ * Set the character stream for this input source.
+ * /
+ virtual void setCharacterStream (Reader *characterStream);
+ */
+
+void
+ACEXML_InputSource::setEncoding (const ACEXML_Char *encoding)
+{
+ this->encoding_ = ACE::strnew (encoding);
+}
+
+void
+ACEXML_InputSource::setPublicId (const ACEXML_Char *publicId)
+{
+ this->publicId_ = ACE::strnew (publicId);
+}
+
+void
+ACEXML_InputSource::setSystemId (const ACEXML_Char *systemId)
+{
+ this->systemId_ = ACE::strnew (systemId);
+}
diff --git a/ACEXML/common/InputSource.h b/ACEXML/common/InputSource.h
new file mode 100644
index 00000000000..62ab76c6854
--- /dev/null
+++ b/ACEXML/common/InputSource.h
@@ -0,0 +1,120 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file InputSource.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef _ACEXML_INPUTSOURCE_H_
+#define _ACEXML_INPUTSOURCE_H_
+
+#include "common/CharStream.h"
+
+/**
+ * @class ACEXML_InputSource InputSource.h "common/InputSource.h"
+ *
+ * @brief ACEXML_InputSource encapsulates the actual input stream with some
+ * added information.
+ *
+ * This class allows a SAX application to encapsulate information
+ * about an input source in a single object, which may include a
+ * public identifier, a system identifier, a byte stream (possibly
+ * with a specified encoding), and/or a character stream.
+ *
+ * There are two places that the application will deliver this input
+ * source to the parser: as the argument to the Parser.parse method,
+ * or as the return value of the EntityResolver.resolveEntity method.
+ *
+ * The SAX parser will use the InputSource object to determine how to
+ * read XML input. If there is a character stream available, the
+ * parser will read that stream directly; if not, the parser will use
+ * a byte stream, if available; if neither a character stream nor a
+ * byte stream is available, the parser will attempt to open a URI
+ * connection to the resource identified by the system identifier.
+ *
+ * An InputSource object belongs to the application: the SAX parser
+ * shall never modify it in any way (it may modify a copy if
+ * necessary).
+ *
+ * @sa ACEXML_CharStream
+ */
+class ACEXML_Export ACEXML_InputSource
+{
+public:
+ /*
+ * Default constructor.
+ */
+ ACEXML_InputSource (void);
+
+ /*
+ * Create a new input source with a ACEXML_Char stream.
+ * Notice that ACEXML_InputSource assumes the ownership
+ * of <stream>
+ */
+ ACEXML_InputSource (ACEXML_CharStream *stream);
+
+ /*
+ * Create a new input source with a system identifier.
+ */
+ ACEXML_InputSource (const ACEXML_Char *systemId);
+
+ /*
+ * Default destructor.
+ */
+ virtual ~ACEXML_InputSource (void);
+
+ /*
+ * Get the ACEXML_Char stream for this input source.
+ */
+ virtual ACEXML_CharStream *getCharStream (void);
+
+ /*
+ * Get the character encoding for a byte stream or URI.
+ */
+ virtual const ACEXML_Char *getEncoding (void);
+
+ /*
+ * Get the public identifier for this input source.
+ */
+ virtual const ACEXML_Char *getPublicId (void);
+
+ /*
+ * Get the system identifier for this input source.
+ */
+ virtual const ACEXML_Char *getSystemId (void);
+
+ /*
+ * Set the ACEXML_Char stream for this input source.
+ * Notice that ACEXML_InputSource assumes the ownership
+ * of <stream>
+ */
+ virtual void setCharStream (ACEXML_CharStream *charStream);
+
+ /*
+ * Set the character encoding, if known.
+ */
+ virtual void setEncoding (const ACEXML_Char *encoding);
+
+ /*
+ * Set the public identifier for this input source.
+ */
+ virtual void setPublicId (const ACEXML_Char *publicId);
+
+ /*
+ * Set the public identifier for this input source.
+ */
+ virtual void setSystemId (const ACEXML_Char *systemId);
+
+private:
+ ACEXML_Char *publicId_;
+ ACEXML_Char *systemId_;
+ ACEXML_CharStream *charStream_;
+ ACEXML_Char *encoding_;
+};
+
+#endif /* _ACEXML_INPUTSOURCE_H_ */
diff --git a/ACEXML/common/Locator.h b/ACEXML/common/Locator.h
new file mode 100644
index 00000000000..91dd7ef29c6
--- /dev/null
+++ b/ACEXML/common/Locator.h
@@ -0,0 +1,66 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Locator.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef _ACEXML_LOCATOR_H_
+#define _ACEXML_LOCATOR_H_
+
+#include "common/XML_Types.h"
+
+/**
+ * @class ACEXML_Locator Locator.h "common/Locator.h"
+ *
+ * @brief ACEXML_Locator defines operations that an XML locator should support.
+ *
+ * If a SAX parser provides location information to the SAX
+ * application, it does so by implementing this interface and then
+ * passing an instance to the application using the content handler's
+ * setDocumentLocator method. The application can use the object to
+ * obtain the location of any other content handler event in the XML
+ * source document.
+ *
+ * Note that the results returned by the object will be valid only
+ * during the scope of each content handler method: the application
+ * will receive unpredictable results if it attempts to use the
+ * locator at any other time.
+ *
+ * SAX parsers are not required to supply a locator, but they are very
+ * strongly encouraged to do so. If the parser supplies a locator, it
+ * must do so before reporting any other document events. If no
+ * locator has been set by the time the application receives the
+ * startDocument event, the application should assume that a locator
+ * is not available.
+ */
+class ACEXML_Export ACEXML_Locator
+{
+public:
+ /*
+ * Return the column number where the current document event ends.
+ */
+ virtual int getColumnNumber (void) const = 0;
+
+ /*
+ * Return the line number where the current document event ends.
+ */
+ virtual int getLineNumber (void) const = 0;
+
+ /*
+ * Return the public identifier for the current document event.
+ */
+ virtual const ACEXML_Char *getPublicId (void) const = 0;
+
+ /*
+ * Return the system identifier for the current document event.
+ */
+ virtual const ACEXML_Char *getSystemId (void) const = 0;
+};
+
+#endif /* _ACEXML_LOCATOR_H_ */
diff --git a/ACEXML/common/LocatorImpl.cpp b/ACEXML/common/LocatorImpl.cpp
new file mode 100644
index 00000000000..de715a44a0d
--- /dev/null
+++ b/ACEXML/common/LocatorImpl.cpp
@@ -0,0 +1,53 @@
+// -*- C++ -*- $Id$
+
+#include "common/LocatorImpl.h"
+
+#if !defined (__ACEXML_INLINE__)
+# include "common/LocatorImpl.i"
+#endif /* __ACEXML_INLINE__ */
+
+ACEXML_LocatorImpl::ACEXML_LocatorImpl (void)
+ : publicId_ (0),
+ systemId_ (0),
+ lineNumber_ (0),
+ columnNumber_ (0)
+{
+}
+
+ACEXML_LocatorImpl::ACEXML_LocatorImpl (const ACEXML_Locator *locator)
+ : publicId_ (ACE::strnew (locator->getPublicId ())),
+ systemId_ (ACE::strnew (locator->getSystemId ())),
+ lineNumber_ (locator->getLineNumber ()),
+ columnNumber_ (locator->getColumnNumber ())
+{
+}
+
+ACEXML_LocatorImpl::~ACEXML_LocatorImpl (void)
+{
+ delete this->publicId_;
+ delete this->systemId_;
+}
+
+int
+ACEXML_LocatorImpl::getColumnNumber (void) const
+{
+ return this->columnNumber_;
+}
+
+int
+ACEXML_LocatorImpl::getLineNumber (void) const
+{
+ return this->lineNumber_;
+}
+
+const ACEXML_Char *
+ACEXML_LocatorImpl::getPublicId (void) const
+{
+ return this->publicId_;
+}
+
+const ACEXML_Char *
+ACEXML_LocatorImpl::getSystemId (void) const
+{
+ return this->systemId_;
+}
diff --git a/ACEXML/common/LocatorImpl.h b/ACEXML/common/LocatorImpl.h
new file mode 100644
index 00000000000..404457ffaeb
--- /dev/null
+++ b/ACEXML/common/LocatorImpl.h
@@ -0,0 +1,124 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file LocatorImpl.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef ACEXML_LOCALTORIMPL_H
+#define ACEXML_LOCALTORIMPL_H
+
+#include "common/Locator.h"
+
+/**
+ * @class ACEXML_LocatorImpl LocatorImpl.h "common/LocatorImpl.h"
+ *
+ * @brief ACEXML_LocatorImpl is an implementation of ACEXML_Locator.
+ *
+ * This class is available mainly for application writers, who can
+ * use it to make a persistent snapshot of a locator at any point
+ * during a document parse:
+ *
+ * @code
+ * ACEXML_Locator locator;
+ * ACEXML_Locator startloc;
+ *
+ * public void setLocator (ACEXML_Locator locator)
+ * {
+ * // note the locator
+ * this.locator = locator;
+ * }
+ *
+ * public void startDocument ()
+ * {
+ * // save the location of the start of the document
+ * // for future use.
+ * ACEXML_Locator startloc = new ACEXML_LocatorImpl(locator);
+ * }
+ * @endcode
+ *
+ * Normally, parser writers will not use this class, since it is more
+ * efficient to provide location information only when requested,
+ * rather than constantly updating a Locator object.
+ *
+ * @todo ACEXML parser doesn't support the use of Locator yet.
+ *
+ * @sa ACEXML_Locator
+ */
+class ACEXML_Export ACEXML_LocatorImpl : public ACEXML_Locator
+{
+public:
+ /*
+ * Default constructor.
+ */
+ ACEXML_LocatorImpl (void);
+
+ /*
+ * Copy constructor. Create a persistent copy of the current state
+ * of a locator. When the original locator changes, this copy will
+ * still keep the original values (and it can be used outside the
+ * scope of DocumentHandler methods).
+ */
+ ACEXML_LocatorImpl (const ACEXML_Locator *locator);
+
+ /*
+ * Destructor.
+ */
+ virtual ~ACEXML_LocatorImpl (void);
+
+ /*
+ * Return the column number where the current document event ends.
+ */
+ virtual int getColumnNumber (void) const;
+
+ /*
+ * Return the line number where the current document event ends.
+ */
+ virtual int getLineNumber (void) const;
+
+ /*
+ * Return the public identifier for the current document event.
+ */
+ virtual const ACEXML_Char *getPublicId (void) const;
+
+ /*
+ * Return the system identifier for the current document event.
+ */
+ virtual const ACEXML_Char *getSystemId (void) const;
+
+ /*
+ * Set the column number of this locator.
+ */
+ void setColumnNumber (int cn);
+
+ /*
+ * Set the line number of this locator.
+ */
+ void setLineNumber (int ln);
+
+ /*
+ * Set the public identifier of this locator.
+ */
+ void setPublicId (const ACEXML_Char *id);
+
+ /*
+ * Set the system identifier of this locator.
+ */
+ void setSystemId (const ACEXML_Char *id);
+
+private:
+ ACEXML_Char *publicId_;
+ ACEXML_Char *systemId_;
+ int lineNumber_;
+ int columnNumber_;
+};
+
+#if defined (__ACEXML_INLINE__)
+# include "common/LocatorImpl.i"
+#endif /* __ACEXML_INLINE__ */
+#endif /* ACEXML_LOCALTORIMPL_H */
diff --git a/ACEXML/common/LocatorImpl.i b/ACEXML/common/LocatorImpl.i
new file mode 100644
index 00000000000..13871d0707d
--- /dev/null
+++ b/ACEXML/common/LocatorImpl.i
@@ -0,0 +1,29 @@
+// -*- C++ -*- $Id$
+
+#include "ace/ACE.h"
+
+ACEXML_INLINE void
+ACEXML_LocatorImpl::setColumnNumber (int cn)
+{
+ this->columnNumber_ = cn;
+}
+
+ACEXML_INLINE void
+ACEXML_LocatorImpl::setLineNumber (int ln)
+{
+ this->lineNumber_ = ln;
+}
+
+ACEXML_INLINE void
+ACEXML_LocatorImpl::setPublicId (const ACEXML_Char *id)
+{
+ delete this->publicId_;
+ this->publicId_ = ACE::strnew (id);
+}
+
+ACEXML_INLINE void
+ACEXML_LocatorImpl::setSystemId (const ACEXML_Char *id)
+{
+ delete this->systemId_;
+ this->systemId_ = ACE::strnew (id);
+}
diff --git a/ACEXML/common/Makefile b/ACEXML/common/Makefile
new file mode 100644
index 00000000000..a116af1c4d5
--- /dev/null
+++ b/ACEXML/common/Makefile
@@ -0,0 +1,54 @@
+#----------------------------------------------------------------------------
+# $Id$
+#
+# Makefile for the server-side ACE network services
+#----------------------------------------------------------------------------
+
+LIB = libACEXML.a
+SHLIB = libACEXML.$(SOEXT)
+
+FILES = Attributes_Def_Builder \
+ AttributesImpl \
+ CharStream \
+ DefaultHandler \
+ DTD_Manager \
+ Element_Def_Builder \
+ Env \
+ Exception \
+ FileCharStream \
+ InputSource \
+ LocatorImpl \
+ NamespaceSupport \
+ SAXExceptions \
+ Transcode \
+ Validator \
+ XMLFilterImpl
+
+DEFS = $(addsuffix .h,$(FILES))
+LSRC = $(addsuffix .cpp,$(FILES))
+
+LIBS += $(ACELIB)
+CCFLAGS += -I..
+
+BUILD = $(VLIB) $(VSHLIB)
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
diff --git a/ACEXML/common/Makefile.bor b/ACEXML/common/Makefile.bor
new file mode 100644
index 00000000000..30be682e3b0
--- /dev/null
+++ b/ACEXML/common/Makefile.bor
@@ -0,0 +1,33 @@
+# Makefile for building the XML library
+
+NAME = ACEXML
+
+OBJFILES = \
+ $(OBJDIR)\Attributes_Def_Builder.obj \
+ $(OBJDIR)\AttributesImpl.obj \
+ $(OBJDIR)\CharStream.obj \
+ $(OBJDIR)\DefaultHandler.obj \
+ $(OBJDIR)\DTD_Manager.obj \
+ $(OBJDIR)\Element_Def_Builder.obj \
+ $(OBJDIR)\Env.obj \
+ $(OBJDIR)\Exception.obj \
+ $(OBJDIR)\FileCharStream.obj \
+ $(OBJDIR)\InputSource.obj \
+ $(OBJDIR)\LocatorImpl.obj \
+ $(OBJDIR)\NamespaceSupport.obj \
+ $(OBJDIR)\SAXExceptions.obj \
+ $(OBJDIR)\Transcode.obj \
+ $(OBJDIR)\Validator.obj \
+ $(OBJDIR)\XMLFilterImpl.obj
+
+CFLAGS = \
+ $(ACE_CFLAGS) \
+ $(ACE_XML_CFLAGS) \
+ -DACEXML_BUILD_DLL
+
+CPPDIR = .;..
+
+LIBFILES = \
+ $(ACE_LIB)
+
+!include <$(ACE_ROOT)\include\makeinclude\build_core_library.bor>
diff --git a/ACEXML/common/NamespaceSupport.cpp b/ACEXML/common/NamespaceSupport.cpp
new file mode 100644
index 00000000000..a1961829987
--- /dev/null
+++ b/ACEXML/common/NamespaceSupport.cpp
@@ -0,0 +1,277 @@
+// -*- C++ -*- $Id$
+
+#include "common/NamespaceSupport.h"
+
+static const ACEXML_Char ACEXML_XMLNS_PREFIX_name[] = {'x', 'm', 'l', 'n', 's', 0};
+const ACEXML_Char *ACEXML_NamespaceSupport::XMLNS_PREFIX = ACEXML_XMLNS_PREFIX_name;
+
+static const ACEXML_Char ACEXML_DEFAULT_NS_PREFIX[] = {0};
+
+// Currently unused.
+// static const ACEXML_Char ACEXML_NS_SEPARATOR[] = {':', 0};
+
+static const ACEXML_Char ACEXML_TABOO_NS_PREFIX[] = {'x', 'm', 'l', 0};
+
+static const ACEXML_Char ACEXML_XMLNS_URI_name[] = {
+ 'h', 't', 't', 'p', ':', '/', '/',
+ 'w', 'w', 'w', '.', 'w', '3', '.', 'o', 'r', 'g', '/',
+ 'X', 'M', 'L', '/', '1', '9', '9', '8', '/',
+ 'n', 'a', 'm', 'e', 's', 'p', 'a', 'c', 'e', 0};
+const ACEXML_Char *ACEXML_NamespaceSupport::XMLNS = ACEXML_XMLNS_URI_name;
+
+#if !defined (__ACEXML_INLINE__)
+# include "common/NamespaceSupport.i"
+#endif /* __ACEXML_INLINE__ */
+
+ACEXML_Namespace_Context_Stack::ACEXML_Namespace_Context_Stack (void)
+ : head_ (0)
+{
+}
+
+ACEXML_Namespace_Context_Stack::~ACEXML_Namespace_Context_Stack (void)
+{
+ // Clean up stuff.
+}
+
+int
+ACEXML_Namespace_Context_Stack::push (ACEXML_NS_CONTEXT *nsc)
+{
+ struct NS_Node_T *temp = 0;
+ ACE_NEW_RETURN (temp, struct NS_Node_T, -1);
+
+ temp->item_ = nsc;
+ temp->next_ = this->head_;
+
+ this->head_ = temp;
+ return 0;
+}
+
+ACEXML_NS_CONTEXT *
+ACEXML_Namespace_Context_Stack::pop (void)
+{
+ if (this->head_ != 0)
+ {
+ struct NS_Node_T *temp = this->head_;
+ this->head_ = temp->next_;
+
+ ACEXML_NS_CONTEXT* retv = temp->item_;
+ delete temp;
+ return retv;
+ }
+ return 0;
+}
+
+
+ACEXML_NamespaceSupport::ACEXML_NamespaceSupport (void)
+ : ns_stack_ (),
+ effective_context_ (0)
+{
+ // @@ No way to tell if the new fails.
+ ACE_NEW (effective_context_,
+ ACEXML_NS_CONTEXT ());
+
+ ACEXML_String prefix (ACEXML_TABOO_NS_PREFIX, 0, 0);
+ ACEXML_String uri (ACEXML_XMLNS_URI_name, 0, 0);
+ this->effective_context_->bind (prefix, uri);
+}
+
+ACEXML_NamespaceSupport::~ACEXML_NamespaceSupport (void)
+{
+ while (this->popContext () == 0)
+ ;
+}
+
+int
+ACEXML_NamespaceSupport::declarePrefix (const ACEXML_Char *prefix,
+ const ACEXML_Char *uri)
+{
+ // Unless predefined by w3.org(?) NS prefix can never start with
+ // "xml".
+ if (ACE_OS_String::strcmp (ACEXML_TABOO_NS_PREFIX, prefix) == 0)
+ return -1;
+
+ // @@ No way to check new failure.
+ ACEXML_String ns_prefix (prefix, 0, 0);
+ ACEXML_String ns_uri (uri, 0, 0);
+
+ return this->effective_context_->bind (ns_prefix,
+ ns_uri);
+}
+
+int
+ACEXML_NamespaceSupport::getDeclaredPrefixes (ACEXML_STR_LIST &prefixes) const
+{
+ ACEXML_NS_CONTEXT_ENTRY *entry;
+
+ // The prefix for default namespace (empty string) is included in
+ // the return list.
+ for (ACEXML_NS_CONTEXT_ITER iter (*this->effective_context_);
+ iter.next (entry) != 0;
+ iter.advance ())
+ prefixes.enqueue_tail (entry->ext_id_.c_str ());
+
+ return 0;
+}
+
+const ACEXML_Char *
+ACEXML_NamespaceSupport::getPrefix (const ACEXML_Char *uri) const
+{
+ ACEXML_NS_CONTEXT_ENTRY *entry;
+
+ for (ACEXML_NS_CONTEXT_ITER iter (*this->effective_context_);
+ iter.next (entry) != 0;
+ iter.advance ())
+ if (entry->int_id_ == ACEXML_String (uri, 0, 0) &&
+ entry->ext_id_ != ACEXML_String (ACEXML_DEFAULT_NS_PREFIX, 0, 0))
+ return entry->ext_id_.c_str ();
+
+ return 0; // Nothing found.
+}
+
+int
+ACEXML_NamespaceSupport::getPrefixes (ACEXML_STR_LIST &prefixes) const
+{
+ ACEXML_NS_CONTEXT_ENTRY *entry;
+
+ // The prefix for default namespace (empty string) is not included
+ // in the return list.
+ for (ACEXML_NS_CONTEXT_ITER iter (*this->effective_context_);
+ iter.next (entry) != 0;
+ iter.advance ())
+ if (entry->ext_id_ != ACEXML_String(ACEXML_DEFAULT_NS_PREFIX, 0, 0))
+ prefixes.enqueue_tail (entry->ext_id_.c_str ());
+ else
+ continue;
+
+ return 0;
+}
+
+int
+ACEXML_NamespaceSupport::getPrefixes (const ACEXML_Char *uri,
+ ACEXML_STR_LIST &prefixes) const
+{
+ ACEXML_NS_CONTEXT_ENTRY *entry;
+
+ for (ACEXML_NS_CONTEXT_ITER iter (*this->effective_context_);
+ iter.next (entry) != 0;
+ iter.advance ())
+ if (entry->int_id_ == ACEXML_String (uri, 0, 0) &&
+ entry->ext_id_ != ACEXML_String (ACEXML_DEFAULT_NS_PREFIX, 0, 0))
+ prefixes.enqueue_tail (entry->ext_id_.c_str ());
+ else
+ continue;
+
+ return 0; // Nothing found.
+}
+
+const ACEXML_Char *
+ACEXML_NamespaceSupport::getURI (const ACEXML_Char *prefix) const
+{
+ ACEXML_NS_CONTEXT_ENTRY *entry;
+
+ if (this->effective_context_->find (ACEXML_String (prefix, 0, 0),
+ entry) == 0)
+ return entry->int_id_.c_str ();
+ return 0;
+}
+
+int
+ACEXML_NamespaceSupport::popContext (void)
+{
+ delete this->effective_context_;
+
+ if ((this->effective_context_ = this->ns_stack_.pop ()) == 0)
+ return -1;
+ return 0;
+}
+
+int
+ACEXML_NamespaceSupport::pushContext (void)
+{
+ ACEXML_NS_CONTEXT *temp = this->effective_context_;
+ this->ns_stack_.push (temp);
+ ACE_NEW_RETURN (this->effective_context_,
+ ACEXML_NS_CONTEXT (),
+ -1);
+
+ // @@ Copy everything from the old context the the new one.
+ ACEXML_NS_CONTEXT_ENTRY *entry;
+
+ for (ACEXML_NS_CONTEXT_ITER iter (*temp);
+ iter.next (entry) != 0;
+ iter.advance ())
+ this->effective_context_->bind (entry->ext_id_,
+ entry->int_id_);
+
+ return 0;
+}
+
+
+int
+ACEXML_NamespaceSupport::processName (const ACEXML_Char *qName,
+ const ACEXML_Char *&uri,
+ const ACEXML_Char *&name,
+ int is_attribute) const
+{
+ // @@ Need to use different rules to resolve attributes.
+ ACE_UNUSED_ARG (is_attribute);
+
+ int qlen = ACE_OS_String::strlen (qName);
+ int len = -1;
+ for (int i = 0; i < qlen; ++i)
+ if (qName [i] == ':')
+ {
+ len = i;
+ break;
+ }
+
+ ACEXML_String prefix;
+
+ if (len == -1)
+ {
+ name = qName;
+ }
+ else
+ {
+ prefix.set (qName, len, 1);
+ name = qName + len + 1;
+ }
+ ACEXML_NS_CONTEXT_ENTRY *entry;
+
+ if (this->effective_context_->find (prefix, entry) == 0)
+ uri = entry->int_id_.c_str ();
+ else
+ {
+ uri = ACEXML_DEFAULT_NS_PREFIX;
+ return -1;
+ }
+
+ return 0;
+}
+
+int
+ACEXML_NamespaceSupport::reset (void)
+{
+ // Not implemented.
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Hash_Map_Entry<ACEXML_String, ACEXML_String>;
+template class ACE_Hash_Map_Manager_Ex<ACEXML_String, ACEXML_String, ACE_Hash<ACEXML_String>, ACE_Equal_To<ACEXML_String>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Iterator_Base_Ex<ACEXML_String, ACEXML_String, ACE_Hash<ACEXML_String>, ACE_Equal_To<ACEXML_String>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Iterator_Ex<ACEXML_String, ACEXML_String, ACE_Hash<ACEXML_String>, ACE_Equal_To<ACEXML_String>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Reverse_Iterator_Ex<ACEXML_String, ACEXML_String, ACE_Hash<ACEXML_String>, ACE_Equal_To<ACEXML_String>, ACE_Null_Mutex>;
+template class ACE_Unbounded_Queue<const ACEXML_Char *>;
+template class ACE_Unbounded_Queue_Iterator<const ACEXML_Char *>;
+template class ACE_Node<const ACEXML_Char *>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Hash_Map_Entry<ACEXML_String, ACEXML_String>
+#pragma instantiate ACE_Hash_Map_Manager_Ex<ACEXML_String, ACEXML_String, ACE_Hash<ACEXML_String>, ACE_Equal_To<ACEXML_String>, ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<ACEXML_String, ACEXML_String, ACE_Hash<ACEXML_String>, ACE_Equal_To<ACEXML_String>, ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Iterator_Ex<ACEXML_String, ACEXML_String, ACE_Hash<ACEXML_String>, ACE_Equal_To<ACEXML_String>, ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<ACEXML_String, ACEXML_String, ACE_Hash<ACEXML_String>, ACE_Equal_To<ACEXML_String>, ACE_Null_Mutex>
+#pragma instantiate ACE_Unbounded_Queue<const ACEXML_Char *>
+#pragma instantiate ACE_Unbounded_Queue_Iterator<const ACEXML_Char *>
+#pragma instantiate ACE_Node<const ACEXML_Char *>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/ACEXML/common/NamespaceSupport.h b/ACEXML/common/NamespaceSupport.h
new file mode 100644
index 00000000000..b712b063c94
--- /dev/null
+++ b/ACEXML/common/NamespaceSupport.h
@@ -0,0 +1,228 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file NamespaceSupport.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef ACEXML_NAMESPACESUPPORT_H
+#define ACEXML_NAMESPACESUPPORT_H
+
+#include "common/XML_Types.h"
+#include "ace/Functor.h"
+#include "ace/Hash_Map_Manager.h"
+#include "ace/Containers_T.h"
+
+typedef ACE_Hash_Map_Entry<ACEXML_String,
+ ACEXML_String> ACEXML_NS_CONTEXT_ENTRY;
+
+typedef ACE_Hash_Map_Manager_Ex<ACEXML_String,
+ ACEXML_String,
+ ACE_Hash<ACEXML_String>,
+ ACE_Equal_To<ACEXML_String>,
+ ACE_Null_Mutex> ACEXML_NS_CONTEXT;
+
+typedef ACE_Hash_Map_Iterator_Ex<ACEXML_String,
+ ACEXML_String,
+ ACE_Hash<ACEXML_String>,
+ ACE_Equal_To<ACEXML_String>,
+ ACE_Null_Mutex> ACEXML_NS_CONTEXT_ITER;
+
+typedef ACE_Hash_Map_Reverse_Iterator_Ex<ACEXML_String,
+ ACEXML_String,
+ ACE_Hash<ACEXML_String>,
+ ACE_Equal_To<ACEXML_String>,
+ ACE_Null_Mutex> ACEXML_NS_CONTEXT_REVERSE_ITER;
+
+typedef ACE_Unbounded_Queue<const ACEXML_Char *> ACEXML_STR_LIST;
+
+/**
+ * @class ACEXML_Namespace_Context_Stack NamespaceSupport.h "common/NamespaceSupport.h"
+ *
+ * @brief ACEXML_Namespace_Context_Stack implements a simple stack
+ * that ACEXML_NamespaceSupport uses to keep track of namespace scopes.
+ *
+ * @sa ACEXML_NamespaceSupport
+ */
+class ACEXML_Export ACEXML_Namespace_Context_Stack
+{
+public:
+ /// Default constructor.
+ ACEXML_Namespace_Context_Stack (void);
+
+ /// Destructor.
+ ~ACEXML_Namespace_Context_Stack (void);
+
+ /// Push the old namespace before entering into a new namespace scope.
+ int push (ACEXML_NS_CONTEXT * old);
+
+ /// Pop the old namespace when exiting a namespace scope.
+ ACEXML_NS_CONTEXT *pop (void);
+
+private:
+ /// Internal stack structure to hold namespace context.
+ struct NS_Node_T {
+ ACEXML_NS_CONTEXT *item_;
+ struct NS_Node_T *next_;
+ };
+
+ /// Anchor point for head of stack.
+ NS_Node_T *head_;
+};
+
+/**
+ * @class ACEXML_NamespaceSupport NamespaceSupport.h "common/NamespaceSupport.h"
+ *
+ * @brief ACEXML_NamespaceSupport provides namespace management
+ * operation for an XML parser.
+ *
+ * This class encapsulates the logic of Namespace processing: it
+ * tracks the declarations currently in force for each context and
+ * automatically processes qualified XML 1.0 names into their
+ * Namespace parts; it can also be used in reverse for generating XML
+ * 1.0 from Namespaces.
+ *
+ * Namespace support objects are reusable, but the reset method must
+ * be invoked between each session.
+ *
+ * Here is a simple session (in Java :-p):
+ * @code
+ * String parts[] = new String[3];
+ * NamespaceSupport support = new NamespaceSupport();
+ *
+ * support.pushContext();
+ * support.declarePrefix("", "http://www.w3.org/1999/xhtml");
+ * support.declarePrefix("dc", "http://www.purl.org/dc#");
+ *
+ * String parts[] = support.processName("p", parts, false);
+ * System.out.println("Namespace URI: " + parts[0]);
+ * System.out.println("Local name: " + parts[1]);
+ * System.out.println("Raw name: " + parts[2]);
+ *
+ * String parts[] = support.processName("dc:title", parts, false);
+ * System.out.println("Namespace URI: " + parts[0]);
+ * System.out.println("Local name: " + parts[1]);
+ * System.out.println("Raw name: " + parts[2]);
+ *
+ * support.popContext();
+ * @endcode
+ *
+ * Note that this class is optimized for the use case where most
+ * elements do not contain Namespace declarations: if the same
+ * prefix/URI mapping is repeated for each context (for example), this
+ * class will be somewhat less efficient.
+ *
+ * @sa ACEXML_Exception
+ */
+class ACEXML_Export ACEXML_NamespaceSupport
+{
+public:
+ /**
+ * Default constructor.
+ */
+ ACEXML_NamespaceSupport (void);
+
+ /**
+ * Default destructor.
+ */
+ ~ACEXML_NamespaceSupport (void);
+
+ /**
+ * XMLNS default prefix and URI strings.
+ */
+ static const ACEXML_Char *XMLNS_PREFIX;
+ static const ACEXML_Char *XMLNS;
+
+ /**
+ * Declare a Namespace prefix. Return -1 if the prefix was illegal
+ * or an internal error occured. Return 0 if the prefix gets declared
+ * successfully, 1 if the prefix replaces an existing prefix definition.
+ */
+ int declarePrefix (const ACEXML_Char *prefix,
+ const ACEXML_Char *uri);
+
+ /**
+ * Return all prefixes declared in current context in
+ * the user-supplied list @a prefixes. It is user's reponsibility
+ * to ensure the list was empty originally.
+ */
+ int getDeclaredPrefixes (ACEXML_STR_LIST &prefixes) const;
+
+ /**
+ * Return one of the prefixes mapped to a Namespace URI.
+ */
+ const ACEXML_Char *getPrefix (const ACEXML_Char *uri) const;
+
+ /**
+ * Return all prefixes currently declared in the user-supplied list.
+ * @@ Known bug: This function should only return user-defined prefixes.
+ */
+ int getPrefixes (ACEXML_STR_LIST &prefixes) const;
+
+ /**
+ * Return all prefixes currently declared for a URI in the
+ * user-supplied list.
+ */
+ int getPrefixes (const ACEXML_Char *uri,
+ ACEXML_STR_LIST &prefixes) const;
+
+ /**
+ * Look up a prefix and get the currently-mapped Namespace URI.
+ */
+ const ACEXML_Char *getURI (const ACEXML_Char *prefix) const;
+
+ /**
+ * Revert to the previous namespace context.
+ */
+ int popContext (void);
+
+ /**
+ * Process a raw XML 1.0 name.
+ * @a qName is the raw XML name we want to parse,
+ * @a uri contains the URI string of the raw name. It points to a null
+ * string if the namespace is not valid or there's no namespace defined.
+ * @a name contains the original name without the prefix.
+ * @a is_attribute specifies whether the name is an attribute or not.
+ * Attributes have different scoping rules from elements.
+ */
+ int processName (const ACEXML_Char *qName,
+ const ACEXML_Char *&uri,
+ const ACEXML_Char *&name,
+ int is_attribute) const;
+
+ /**
+ * Start a new Namespace context. Prefixes defined in previous
+ * context are copied over to the new context.
+ */
+ int pushContext (void);
+
+ /**
+ * Reset this Namespace support object for reuse.
+ * @todo Not implemented.
+ */
+ int reset (void);
+
+private:
+ /**
+ * Namespace Context stack. When we entering a new namespace
+ * context, the old context is duplicated and pushed into
+ * this stack.
+ */
+ ACEXML_Namespace_Context_Stack ns_stack_;
+
+ /**
+ * The effective namespace context.
+ */
+ ACEXML_NS_CONTEXT *effective_context_;
+};
+
+
+#if defined (__ACEXML_INLINE__)
+# include "common/NamespaceSupport.i"
+#endif /* __ACEXML_INLINE__ */
+#endif /* ACEXML_NAMESPACESUPPORT_H */
diff --git a/ACEXML/common/NamespaceSupport.i b/ACEXML/common/NamespaceSupport.i
new file mode 100644
index 00000000000..9ae7aa1cb3a
--- /dev/null
+++ b/ACEXML/common/NamespaceSupport.i
@@ -0,0 +1,16 @@
+// -*- C++ -*- $Id$
+
+ACE_TEMPLATE_SPECIALIZATION
+ACEXML_INLINE int
+ACE_Equal_To<ACEXML_String>::operator () (const ACEXML_String &lhs,
+ const ACEXML_String &rhs) const
+{
+ return lhs == rhs;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+ACE_INLINE u_long
+ACE_Hash<ACEXML_String>::operator () (const ACEXML_String &t) const
+{
+ return ACE::hash_pjw (t.c_str ());
+}
diff --git a/ACEXML/common/SAXExceptions.cpp b/ACEXML/common/SAXExceptions.cpp
new file mode 100644
index 00000000000..3a7c3f72a47
--- /dev/null
+++ b/ACEXML/common/SAXExceptions.cpp
@@ -0,0 +1,269 @@
+// -*- C++ -*- $Id$
+
+#include "common/SAXExceptions.h"
+#include "ace/Log_Msg.h"
+#include "ace/ACE.h"
+
+static const ACEXML_Char ACEXML_SAXException_name[] = {
+ 'A', 'C', 'E', 'X', 'M', 'L',
+ 'S', 'A', 'X',
+ '_', 'E', 'x', 'c', 'e', 'p', 't', 'i', 'o', 'n', 0};
+const ACEXML_Char *ACEXML_SAXException::exception_name_ = ACEXML_SAXException_name;
+
+static const ACEXML_Char ACEXML_SAXNotSupportedException_name[] = {
+ 'A', 'C', 'E', 'X', 'M', 'L',
+ 'S', 'A', 'X',
+ 'N', 'o', 't',
+ 'S', 'u', 'p', 'p', 'o', 'r', 't', 'e', 'd',
+ '_', 'E', 'x', 'c', 'e', 'p', 't', 'i', 'o', 'n', 0};
+const ACEXML_Char *ACEXML_SAXNotSupportedException::exception_name_ = ACEXML_SAXNotSupportedException_name;
+
+static const ACEXML_Char ACEXML_SAXNotRecognizedException_name[] = {
+ 'A', 'C', 'E', 'X', 'M', 'L',
+ 'S', 'A', 'X',
+ 'N', 'o', 't',
+ 'R', 'e', 'c', 'o', 'g', 'n', 'i', 'z', 'e', 'd',
+ '_', 'E', 'x', 'c', 'e', 'p', 't', 'i', 'o', 'n', 0};
+const ACEXML_Char *ACEXML_SAXNotRecognizedException::exception_name_ = ACEXML_SAXNotRecognizedException_name;
+
+static const ACEXML_Char ACEXML_SAXParseException_name[] = {
+ 'A', 'C', 'E', 'X', 'M', 'L',
+ 'S', 'A', 'X',
+ 'P', 'a', 'r', 's', 'e',
+ '_', 'E', 'x', 'c', 'e', 'p', 't', 'i', 'o', 'n', 0};
+const ACEXML_Char *ACEXML_SAXParseException::exception_name_ = ACEXML_SAXParseException_name;
+
+#if !defined (__ACEXML_INLINE__)
+# include "common/SAXExceptions.i"
+#endif /* __ACEXML_INLINE__ */
+
+ACEXML_SAXException::ACEXML_SAXException (void)
+ : message_ (0)
+{
+}
+
+ACEXML_SAXException::ACEXML_SAXException (const ACEXML_Char *msg)
+ : message_ (ACE::strnew (msg))
+{
+}
+
+ACEXML_SAXException::ACEXML_SAXException (const ACEXML_SAXException &ex)
+ : ACEXML_Exception (ex),
+ message_ (ACE::strnew (ex.message_))
+
+{
+}
+
+
+ACEXML_SAXException::~ACEXML_SAXException (void)
+{
+ delete this->message_;
+}
+
+const ACEXML_Char *
+ACEXML_SAXException::id (void)
+{
+ return ACEXML_SAXException::exception_name_;
+}
+
+ACEXML_Exception *
+ACEXML_SAXException::duplicate (void)
+{
+ ACEXML_Exception *tmp;
+ ACE_NEW_RETURN (tmp,
+ ACEXML_SAXException (*this),
+ // Replace ACEXML_Exception with appropriate type.
+ 0);
+ return tmp;
+}
+
+int
+ACEXML_SAXException::is_a (const ACEXML_Char *name)
+{
+ if (name == ACEXML_SAXException::exception_name_
+ || ACE_OS::strcmp (ACEXML_Exception::exception_name_,
+ name) == 0)
+ return 1;
+ else
+ return this->ACEXML_Exception::is_a (name);
+
+ ACE_NOTREACHED (return 0;)
+}
+
+void
+ACEXML_SAXException::print (void)
+{
+ // @@ Nanbor, I don't know how to handle the case
+ // when we define ACEXML_UTF16 as ACEXML_Char
+ ACE_DEBUG ((LM_DEBUG,
+ "Exception: ACEXML_SAXException -- %s\n",
+ this->message_));
+}
+
+ACEXML_SAXNotSupportedException::ACEXML_SAXNotSupportedException (void)
+{
+}
+
+ACEXML_SAXNotSupportedException::ACEXML_SAXNotSupportedException (const ACEXML_SAXNotSupportedException &ex)
+ : ACEXML_SAXException (ex)
+{
+}
+
+
+ACEXML_SAXNotSupportedException::~ACEXML_SAXNotSupportedException (void)
+{
+ delete this->message_;
+}
+
+const ACEXML_Char *
+ACEXML_SAXNotSupportedException::id (void)
+{
+ return ACEXML_SAXNotSupportedException::exception_name_;
+}
+
+ACEXML_Exception *
+ACEXML_SAXNotSupportedException::duplicate (void)
+{
+ ACEXML_Exception *tmp;
+ ACE_NEW_RETURN (tmp,
+ ACEXML_SAXNotSupportedException (*this),
+ // Replace ACEXML_Exception with appropriate type.
+ 0);
+ return tmp;
+}
+
+int
+ACEXML_SAXNotSupportedException::is_a (const ACEXML_Char *name)
+{
+ if (name == ACEXML_SAXNotSupportedException::exception_name_
+ || ACE_OS::strcmp (ACEXML_Exception::exception_name_,
+ name) == 0)
+ return 1;
+ else
+ return this->ACEXML_SAXException::is_a (name);
+
+ ACE_NOTREACHED (return 0;)
+}
+
+void
+ACEXML_SAXNotSupportedException::print (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "Exception: ACEXML_SAXNotSupportedException -- %s\n",
+ this->message_));
+}
+
+ACEXML_SAXNotRecognizedException::ACEXML_SAXNotRecognizedException (void)
+{
+}
+
+ACEXML_SAXNotRecognizedException::ACEXML_SAXNotRecognizedException (const ACEXML_Char *msg)
+ : ACEXML_SAXException (msg)
+{
+}
+
+ACEXML_SAXNotRecognizedException::ACEXML_SAXNotRecognizedException (const ACEXML_SAXNotRecognizedException &ex)
+ : ACEXML_SAXException (ex)
+{
+}
+
+
+ACEXML_SAXNotRecognizedException::~ACEXML_SAXNotRecognizedException (void)
+{
+ delete this->message_;
+}
+
+const ACEXML_Char *
+ACEXML_SAXNotRecognizedException::id (void)
+{
+ return ACEXML_SAXNotRecognizedException::exception_name_;
+}
+
+ACEXML_Exception *
+ACEXML_SAXNotRecognizedException::duplicate (void)
+{
+ ACEXML_Exception *tmp;
+ ACE_NEW_RETURN (tmp,
+ ACEXML_SAXNotRecognizedException (*this),
+ // Replace ACEXML_Exception with appropriate type.
+ 0);
+ return tmp;
+}
+
+int
+ACEXML_SAXNotRecognizedException::is_a (const ACEXML_Char *name)
+{
+ if (name == ACEXML_SAXNotRecognizedException::exception_name_
+ || ACE_OS::strcmp (ACEXML_Exception::exception_name_,
+ name) == 0)
+ return 1;
+ else
+ return this->ACEXML_SAXException::is_a (name);
+
+ ACE_NOTREACHED (return 0;)
+}
+
+void
+ACEXML_SAXNotRecognizedException::print (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "Exception: ACEXML_SAXNotRecognizedException -- %s\n",
+ this->message_));
+}
+
+ACEXML_SAXParseException::ACEXML_SAXParseException (void)
+{
+}
+
+ACEXML_SAXParseException::ACEXML_SAXParseException (const ACEXML_Char *msg)
+ : ACEXML_SAXException (msg)
+{
+}
+
+ACEXML_SAXParseException::ACEXML_SAXParseException (const ACEXML_SAXParseException &ex)
+ : ACEXML_SAXException (ex)
+{
+}
+
+
+ACEXML_SAXParseException::~ACEXML_SAXParseException (void)
+{
+}
+
+const ACEXML_Char *
+ACEXML_SAXParseException::id (void)
+{
+ return ACEXML_SAXParseException::exception_name_;
+}
+
+ACEXML_Exception *
+ACEXML_SAXParseException::duplicate (void)
+{
+ ACEXML_Exception *tmp;
+ ACE_NEW_RETURN (tmp,
+ ACEXML_SAXParseException (*this),
+ // Replace ACEXML_Exception with appropriate type.
+ 0);
+ return tmp;
+}
+
+int
+ACEXML_SAXParseException::is_a (const ACEXML_Char *name)
+{
+ if (name == ACEXML_SAXParseException::exception_name_
+ || ACE_OS::strcmp (ACEXML_Exception::exception_name_,
+ name) == 0)
+ return 1;
+ else
+ return this->ACEXML_SAXException::is_a (name);
+
+ ACE_NOTREACHED (return 0;)
+}
+
+void
+ACEXML_SAXParseException::print (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "Exception: ACEXML_SAXParseException -- %s\n",
+ this->message_));
+}
diff --git a/ACEXML/common/SAXExceptions.h b/ACEXML/common/SAXExceptions.h
new file mode 100644
index 00000000000..8cf909befda
--- /dev/null
+++ b/ACEXML/common/SAXExceptions.h
@@ -0,0 +1,168 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file SAXExceptions.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef _ACEXML_SAXEXCEPTIONS_H_
+#define _ACEXML_SAXEXCEPTIONS_H_
+
+#include "common/Exception.h"
+
+/**
+ * @class ACEXML_SAXException SAXExceptions.h "common/SAXExceptions.h"
+ *
+ * @brief ACEXML_SAXException
+ *
+ * ACEXML_SAXException is the mother of all SAX related exceptions.
+ */
+class ACEXML_Export ACEXML_SAXException : public ACEXML_Exception
+{
+public:
+ /// Default constructor.
+ ACEXML_SAXException (void);
+
+ /// Constructor initializing the exception message.
+ ACEXML_SAXException (const ACEXML_Char *msg);
+
+ /// Copy constructor.
+ ACEXML_SAXException (const ACEXML_SAXException &ex);
+
+ /// Destructor.
+ virtual ~ACEXML_SAXException (void);
+
+ static const ACEXML_Char *name (void);
+
+ virtual const ACEXML_Char *id (void);
+
+ /// Return the extra message accompanying the exception.
+ const ACEXML_Char *message (void);
+
+ virtual ACEXML_Exception *duplicate (void);
+
+ virtual int is_a (const ACEXML_Char *name);
+
+ virtual void print (void);
+
+protected:
+ static const ACEXML_Char *exception_name_;
+
+ /// A message providing more information about the exception being thrown.
+ ACEXML_Char *message_;
+};
+
+/**
+ * @class ACEXML_SAXNotSupportedException SAXExceptions.h "common/SAXExceptions.h"
+ *
+ * @brief ACEXML_SAXNotSupportedException
+ */
+class ACEXML_Export ACEXML_SAXNotSupportedException
+ : public ACEXML_SAXException
+{
+public:
+ /// Default constructor.
+ ACEXML_SAXNotSupportedException (void);
+
+ /// Copy constructor.
+ ACEXML_SAXNotSupportedException (const ACEXML_SAXNotSupportedException &ex);
+
+ /// Destructor.
+ virtual ~ACEXML_SAXNotSupportedException (void);
+
+ static const ACEXML_Char *name (void);
+
+ virtual const ACEXML_Char *id (void);
+
+ virtual ACEXML_Exception *duplicate (void);
+
+ virtual int is_a (const ACEXML_Char *name);
+
+ virtual void print (void);
+
+protected:
+ static const ACEXML_Char *exception_name_;
+};
+
+/**
+ * @class ACEXML_SAXNotRecognizedException SAXExceptions.h "common/SAXExceptions.h"
+ *
+ * @brief ACEXML_SAXNotRecognizedException
+ */
+class ACEXML_Export ACEXML_SAXNotRecognizedException
+ : public ACEXML_SAXException
+{
+public:
+ /// Default constructor.
+ ACEXML_SAXNotRecognizedException (void);
+
+ /// Constructor with an initializing exception message.
+ ACEXML_SAXNotRecognizedException (const ACEXML_Char *msg);
+
+ /// Copy constructor.
+ ACEXML_SAXNotRecognizedException (const ACEXML_SAXNotRecognizedException &ex);
+
+ /// Destructor.
+ virtual ~ACEXML_SAXNotRecognizedException (void);
+
+ static const ACEXML_Char *name (void);
+
+ virtual const ACEXML_Char *id (void);
+
+ virtual ACEXML_Exception *duplicate (void);
+
+ virtual int is_a (const ACEXML_Char *name);
+
+ virtual void print (void);
+
+protected:
+ static const ACEXML_Char *exception_name_;
+};
+
+/**
+ * @class ACEXML_SAXParseException SAXExceptions.h "common/SAXExceptions.h"
+ *
+ * @brief ACEXML_SAXParseException
+ *
+ * @todo This exception needs to provide error location information to behave like
+ * the real SAXParseException defined in SAX2 spec.
+ */
+class ACEXML_Export ACEXML_SAXParseException
+ : public ACEXML_SAXException
+{
+public:
+ /// Default constructor.
+ ACEXML_SAXParseException (void);
+
+ /// Constructor with an initializing exception message.
+ ACEXML_SAXParseException (const ACEXML_Char *msg);
+
+ /// Copy constructor.
+ ACEXML_SAXParseException (const ACEXML_SAXParseException &ex);
+
+ /// Destructor.
+ virtual ~ACEXML_SAXParseException (void);
+
+ static const ACEXML_Char *name (void);
+
+ virtual const ACEXML_Char *id (void);
+
+ virtual ACEXML_Exception *duplicate (void);
+
+ virtual int is_a (const ACEXML_Char *name);
+
+ virtual void print (void);
+
+protected:
+ static const ACEXML_Char *exception_name_;
+};
+
+#if defined (__ACEXML_INLINE__)
+# include "common/SAXExceptions.i"
+#endif /* __ACEXML_INLINE__ */
+#endif /* _ACEXML_SAXEXCEPTIONS_H_ */
diff --git a/ACEXML/common/SAXExceptions.i b/ACEXML/common/SAXExceptions.i
new file mode 100644
index 00000000000..fc1514c2f12
--- /dev/null
+++ b/ACEXML/common/SAXExceptions.i
@@ -0,0 +1,33 @@
+// -*- C++ -*- $Id$
+
+ACEXML_INLINE const ACEXML_Char *
+ACEXML_SAXException::message (void)
+{
+ return (this->message_ == 0 ?
+ ACEXML_Exception::null_ :
+ this->message_);
+}
+
+ACEXML_INLINE const ACEXML_Char *
+ACEXML_SAXException::name (void)
+{
+ return ACEXML_SAXException::exception_name_;
+}
+
+ACEXML_INLINE const ACEXML_Char *
+ACEXML_SAXNotSupportedException::name (void)
+{
+ return ACEXML_SAXNotSupportedException::exception_name_;
+}
+
+ACEXML_INLINE const ACEXML_Char *
+ACEXML_SAXNotRecognizedException::name (void)
+{
+ return ACEXML_SAXNotRecognizedException::exception_name_;
+}
+
+ACEXML_INLINE const ACEXML_Char *
+ACEXML_SAXParseException::name (void)
+{
+ return ACEXML_SAXParseException::exception_name_;
+}
diff --git a/ACEXML/common/Transcode.cpp b/ACEXML/common/Transcode.cpp
new file mode 100644
index 00000000000..8d767eb9e3d
--- /dev/null
+++ b/ACEXML/common/Transcode.cpp
@@ -0,0 +1,83 @@
+// -*- C++ -*- $Id$
+
+#include "common/Transcode.h"
+
+#if !defined (__ACEXML_INLINE__)
+# include "common/Transcode.i"
+#endif /* __ACEXML_INLINE__ */
+
+int
+ACEXML_Transcoder::utf8s2utf16s (const ACEXML_UTF8 *src,
+ ACEXML_UTF16 *dst,
+ size_t len)
+{
+ if (src == 0 || dst == 0)
+ return INVALID_ARGS;
+
+ size_t src_len = ACE_OS::strlen (src) + 1;
+
+ size_t total_len = 0;
+ int forward;
+ ACEXML_UCS4 temp;
+
+ while (src_len > 0)
+ {
+ if ((forward = ACEXML_Transcoder::utf82ucs4 (src,
+ src_len,
+ temp)) <= 0)
+ return forward;
+
+ src += forward;
+ src_len -= forward;
+
+ if ((forward = ACEXML_Transcoder::ucs42utf16 (temp,
+ dst,
+ len)) <= 0)
+ return forward;
+
+ total_len += forward;
+ dst += forward;
+ len -= forward;
+ }
+
+ return total_len;
+}
+
+int
+ACEXML_Transcoder::utf16s2utf8s (const ACEXML_UTF16 *src,
+ ACEXML_UTF8 *dst,
+ size_t len)
+{
+ if (src == 0 || dst == 0)
+ return INVALID_ARGS;
+
+ size_t src_len = 1;
+ for (const ACEXML_UTF16 *p = src; *p++ != 0; ++src_len)
+ ;
+
+ size_t total_len = 0;
+ int forward;
+ ACEXML_UCS4 temp;
+
+ while (src_len > 0)
+ {
+ if ((forward = ACEXML_Transcoder::utf162ucs4 (src,
+ src_len,
+ temp)) <= 0)
+ return forward;
+
+ src += forward;
+ src_len -= forward;
+
+ if ((forward = ACEXML_Transcoder::ucs42utf8 (temp,
+ dst,
+ len)) <= 0)
+ return forward;
+
+ total_len += forward;
+ dst += forward;
+ len -= forward;
+ }
+
+ return total_len;
+}
diff --git a/ACEXML/common/Transcode.h b/ACEXML/common/Transcode.h
new file mode 100644
index 00000000000..cbbd34abb23
--- /dev/null
+++ b/ACEXML/common/Transcode.h
@@ -0,0 +1,165 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Transcode.h
+ *
+ * This file declares functions to convert char string among different
+ * unicode encoding (utf8, utf16, utf32)
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef _ACEXML_TRANSCODE_H_
+#define _ACEXML_TRANSCODE_H_
+#include "common/XML_Types.h"
+
+/**
+ * @class ACEXML_Transcoder Transcode.h "common/Transcode.h"
+ *
+ * @brief ACEXML_Transcoder
+ *
+ * Wrapper class for performing transcoding among different UNICODE
+ * encoding.
+ */
+class ACEXML_Export ACEXML_Transcoder
+{
+public:
+ /*
+ * Status of the conversion function.
+ */
+ enum
+ {
+ SUCCESS = 0,
+ DESTINATION_TOO_SHORT = -1,
+ END_OF_SOURCE = -2,
+ INVALID_ARGS = -3,
+ IS_SURROGATE = -4,
+ NON_UNICODE = -5
+ } STATUS;
+
+
+ // The following functions translate a unicode characters
+ // into different encoding. Return number of characters put into
+ // destination or consumed from src if success without
+ // error, otherwise, return corresponding error code.
+ /*
+ * Convert a UTF-16 character into a string in UTF-8 encoding.
+ *
+ * @retval number of characters the function uses to store the
+ * converted string if succeeds or one of the error STATUS
+ * otherwise.
+ */
+ static int utf162utf8 (ACEXML_UTF16 src,
+ ACEXML_UTF8 *dst,
+ size_t len);
+
+ /*
+ * Convert a UCS-4 character into a string in UTF-8 encoding.
+ *
+ * @retval number of characters the function uses to store the
+ * converted string if succeeds or one of the error STATUS
+ * otherwise.
+ */
+ static int ucs42utf8 (ACEXML_UCS4 src,
+ ACEXML_UTF8 *dst,
+ size_t len);
+
+ /*
+ * Convert a UCS-4 character into a string in UTF-16 encoding.
+ *
+ * @retval number of characters the function uses to store the
+ * converted string if succeeds or one of the error STATUS
+ * otherwise.
+ */
+ static int ucs42utf16 (ACEXML_UCS4 src,
+ ACEXML_UTF16 *dst,
+ size_t len);
+
+ /*
+ * Convert a UTF-16 surrogate character pair into a string in UTF-8 encoding.
+ *
+ * @retval number of characters the function uses to store the
+ * converted string if succeeds or one of the error STATUS
+ * otherwise.
+ */
+ static int surrogate2utf8 (ACEXML_UTF16 high,
+ ACEXML_UTF16 low,
+ ACEXML_UTF8 *dst,
+ size_t len);
+
+ /*
+ * Convert a UTF-16 surrogate character pair into a UCS-4 character.
+ *
+ * @retval SUCCESS if succeeds or one of the error STATUS
+ * otherwise.
+ */
+ static int surrogate2ucs4 (ACEXML_UTF16 high,
+ ACEXML_UTF16 low,
+ ACEXML_UCS4 &dst);
+
+ /*
+ * Convert the first UNICODE character in a UTF-8 character string
+ * into a UCS-4 character.
+ *
+ * @retval number of characters the function consumed from the
+ * UTF-8 string if succeeds or one of the error STATUS
+ * otherwise.
+ */
+ static int utf82ucs4 (const ACEXML_UTF8 *src,
+ size_t len,
+ ACEXML_UCS4 &dst);
+
+ /*
+ * Convert the first UNICODE character in a UTF-16 character string
+ * into a UCS-4 character.
+ *
+ * @retval number of characters the function consumed from the
+ * UTF-16 string if succeeds or one of the error STATUS
+ * otherwise.
+ */
+ static int utf162ucs4 (const ACEXML_UTF16 *src,
+ size_t len,
+ ACEXML_UCS4 &dst);
+
+// static int utf82utf16 (const ACEXML_UTF8 *src,
+// size_t len,
+// ACEXML_UTF16 &dst);
+ // This function does not handle surrogates.
+
+ // = The following functions are non-inlined:
+
+ /*
+ * Convert a UTF-8 string into a UTF-16 string.
+ *
+ * @param len The length of @a dst string.
+ *
+ * @retval number of characters the function consumed from the
+ * UTF-8 string if succeeds or one of the error STATUS
+ * otherwise.
+ */
+ static int utf8s2utf16s (const ACEXML_UTF8 *src,
+ ACEXML_UTF16 *dst,
+ size_t len);
+
+ /*
+ * Convert a UTF-16 string into a UTF-8 string.
+ *
+ * @param len The length of @a dst string.
+ *
+ * @retval number of characters the function uses in
+ * UTF-8 string if succeeds or one of the error STATUS
+ * otherwise.
+ */
+ static int utf16s2utf8s (const ACEXML_UTF16 *src,
+ ACEXML_UTF8 *dst,
+ size_t len);
+};
+
+#if defined (__ACEXML_INLINE__)
+# include "common/Transcode.i"
+#endif /* __ACEXML_INLINE__ */
+#endif /* _ACEXML_TRANSCODE_H_ */
diff --git a/ACEXML/common/Transcode.i b/ACEXML/common/Transcode.i
new file mode 100644
index 00000000000..e9ec3936e80
--- /dev/null
+++ b/ACEXML/common/Transcode.i
@@ -0,0 +1,234 @@
+// -*- C++ -*- $Id$
+
+ACEXML_INLINE int
+ACEXML_Transcoder::utf162utf8 (ACEXML_UTF16 src,
+ ACEXML_UTF8 *dst,
+ size_t len)
+{
+ // Check for valid argument first...
+
+ if (dst == 0)
+ return INVALID_ARGS;
+
+ if (src < 0x80)
+ {
+ if (len < 1)
+ return DESTINATION_TOO_SHORT;
+
+ *dst = ACE_static_cast (ACEXML_UTF8, src);
+ return 1;
+ }
+ else if (src < 0x800)
+ {
+ if (len < 2)
+ return DESTINATION_TOO_SHORT;
+
+ *dst = 0xc0 | (src / 0x40);
+ *(dst+1) = 0x80 | (src % 0x40);
+ return 2;
+ }
+ else
+ {
+ if (len < 3)
+ return DESTINATION_TOO_SHORT;
+
+ // Surrogates (0xD800 - 0xDFFF) are not valid unicode values
+ if (src >= 0xD800 && src < 0xE000)
+ return IS_SURROGATE;
+
+ *dst = 0xe0 | (src / 0x1000);
+ *(dst+1) = 0x80 | ((src % 0x1000) / 0x40);
+ *(dst+2) = 0x80 | (src % 0x40);
+ return 3;
+ }
+ ACE_NOTREACHED (return NON_UNICODE;)
+}
+
+ACEXML_INLINE int
+ACEXML_Transcoder::ucs42utf8 (ACEXML_UCS4 src,
+ ACEXML_UTF8 *dst,
+ size_t len)
+{
+ if (src < 0x10000)
+ {
+ int retv = ACEXML_Transcoder::utf162utf8
+ (ACE_static_cast (ACEXML_UTF16, src),
+ dst, len);
+ return (retv == IS_SURROGATE ? NON_UNICODE : retv);
+ }
+ else if (src >= 0x100000 && src < 0x110000)
+ {
+ if (len < 4)
+ return DESTINATION_TOO_SHORT;
+
+ if (dst == 0)
+ return INVALID_ARGS;
+
+ *dst = 0xf0 | (src / 0x40000);
+ *(dst+1) = 0x80 | ((src % 0x40000) / 0x1000);
+ *(dst+2) = 0x80 | ((src % 0x1000) / 0x40);
+ *(dst+3) = 0x80 | (src % 0x40);
+ return 4;
+ }
+ return NON_UNICODE;
+}
+
+
+ACEXML_INLINE int
+ACEXML_Transcoder::ucs42utf16 (ACEXML_UCS4 src,
+ ACEXML_UTF16 *dst,
+ size_t len)
+{
+ if (dst == 0)
+ return INVALID_ARGS;
+
+ if (src < 0x10000)
+ {
+ if (len < 1)
+ return DESTINATION_TOO_SHORT;
+
+ if (src >= 0xD800 && src < 0xE000)
+ return NON_UNICODE; // Surrogates are not valid unicode value
+
+ *dst = ACE_static_cast (ACEXML_UTF16, src);
+ return 1;
+ }
+ else if (src >= 0x100000 && src < 0x110000)
+ // Scalar values are encoded into surrogates
+ {
+ if (len < 2)
+ return DESTINATION_TOO_SHORT;
+
+ *dst = 0xD800 | (src / 0x400);
+ *(dst+1) = 0xDC00 | (src % 0x400);
+ return 2;
+ }
+
+ return NON_UNICODE;
+}
+
+ACEXML_INLINE int
+ACEXML_Transcoder::surrogate2utf8 (ACEXML_UTF16 high,
+ ACEXML_UTF16 low,
+ ACEXML_UTF8 *dst,
+ size_t len)
+{
+ if (len < 3)
+ return DESTINATION_TOO_SHORT;
+
+ if (dst == 0 ||
+ (high >= 0xD800 && high < 0xDC00) ||
+ (low >= 0xDC00 && low < 0xE000))
+ return INVALID_ARGS;
+
+ ACEXML_UCS4 src = (high - 0xD800) * 0x400 + (low - 0xDC00) + 0x10000;
+ *dst = 0xD800 | (src / 0x400);
+ *(dst+1) = 0xDC00 | (src % 0x400);
+ return 2;
+}
+
+ACEXML_INLINE int
+ACEXML_Transcoder::surrogate2ucs4 (ACEXML_UTF16 high,
+ ACEXML_UTF16 low,
+ ACEXML_UCS4 &dst)
+{
+ if ((high >= 0xD800 && high < 0xDC00) ||
+ (low >= 0xDC00 && low < 0xE000))
+ return INVALID_ARGS;
+
+ dst = (high - 0xD800) * 0x400 + (low - 0xDC00) + 0x10000;
+ return SUCCESS;
+}
+
+ACEXML_INLINE int
+ACEXML_Transcoder::utf82ucs4 (const ACEXML_UTF8 *the_src,
+ size_t len,
+ ACEXML_UCS4 &dst)
+{
+ if (the_src == 0)
+ return INVALID_ARGS;
+
+ const unsigned char *src = ACE_reinterpret_cast (const unsigned char *,
+ the_src);
+
+ size_t forward = 1;
+
+ if (forward > len)
+ return END_OF_SOURCE;
+
+ if (ACE_static_cast (unsigned char, *src) < 0x80)
+ dst = *src;
+ else if ((*src & 0xE0) == 0xC0)
+ {
+ dst = (*(src++) & 0x1f) * 0x40;
+ if (++forward > len)
+ return END_OF_SOURCE;
+ if ((*src & 0xC0) != 0x80)
+ return NON_UNICODE; // Error transcoding unicode scalar
+ dst += *src & 0x3f;
+ }
+ else if ((*src & 0xF0) == 0xE0)
+ {
+ dst = (*src++ & 0x0f) * 0x40;
+ if (++forward > len)
+ return END_OF_SOURCE;
+ if ((*src & 0xC0) != 0x80)
+ return NON_UNICODE;
+ dst = (dst + (*src++ & 0x3f)) * 0x40;
+ if (++forward > len)
+ return END_OF_SOURCE;
+ if ((*src & 0xC0) != 0x80)
+ return NON_UNICODE;
+ dst += *src & 0x3f;
+ }
+ else if ((*src & 0xF8) == 0xF0)
+ {
+ dst = (*src++ & 0x0f) * 0x40;
+ if (++forward > len)
+ return END_OF_SOURCE;
+ if ((*src & 0xC0) != 0x80)
+ return NON_UNICODE;
+ dst = (dst + (*src++ & 0x3f)) * 0x40;
+ if (++forward > len)
+ return END_OF_SOURCE;
+ if ((*src & 0xC0) != 0x80)
+ return NON_UNICODE;
+ dst = (dst + (*src++ & 0x3f)) * 0x40;
+ if (++forward > len)
+ return END_OF_SOURCE;
+ if ((*src & 0xC0) != 0x80)
+ return NON_UNICODE;
+ dst += *src & 0x3f;
+ }
+ else
+ return NON_UNICODE;
+
+ return forward;
+}
+
+ACEXML_INLINE int
+ACEXML_Transcoder::utf162ucs4 (const ACEXML_UTF16 *src,
+ size_t len,
+ ACEXML_UCS4 &dst)
+{
+ if (src == 0)
+ return INVALID_ARGS;
+
+ size_t forward = 1;
+ if (*src >= 0xDC00 && *src < 0xE000)
+ {
+ if (len < 2)
+ return END_OF_SOURCE;
+ return ACEXML_Transcoder::surrogate2ucs4 (*src,
+ *(src+1),
+ dst);
+ }
+ else
+ {
+ if (len < 1)
+ return END_OF_SOURCE;
+ dst = *src;
+ }
+
+ return forward;
+}
diff --git a/ACEXML/common/Validator.cpp b/ACEXML/common/Validator.cpp
new file mode 100644
index 00000000000..7e6d4c1e847
--- /dev/null
+++ b/ACEXML/common/Validator.cpp
@@ -0,0 +1,8 @@
+// $Id$
+
+#include "common/Validator.h"
+
+ACEXML_Validator::~ACEXML_Validator ()
+{
+
+}
diff --git a/ACEXML/common/Validator.h b/ACEXML/common/Validator.h
new file mode 100644
index 00000000000..6e65043f8a4
--- /dev/null
+++ b/ACEXML/common/Validator.h
@@ -0,0 +1,57 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Validator.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+#ifndef _ACEXML_VALIDATOR_H_
+#define _ACEXML_VALIDATOR_H_
+
+#include "common/Attributes.h"
+#include "common/Env.h"
+
+/**
+ * @ class ACEXML_Validator Validator.h "common/Validator.h"
+ *
+ * @ brief An abstract virtual class defining validator interface.
+ *
+ * An validator provides validation service for one XML element.
+ * ACEXML_Validators are stateful object. Implementations should
+ * remember the current element encountered and determine if
+ * it's a valid sequence of child elements. A parser fishes
+ * out a validator of certain
+ */
+class ACEXML_Export ACEXML_Validator
+{
+public:
+ virtual ~ACEXML_Validator () = 0;
+
+ /**
+ * Validate attributes of an element.
+ *
+ * @retval 0 if valid, -1 otherwise.
+ */
+ virtual int startElement (ACEXML_Attributes *atts,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Validate the next child element.
+ *
+ * @retval 0 if valid, -1 otherwise.
+ */
+ virtual int nextElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+};
+
+#endif /* _ACEXML_VALIDATOR_H_ */
diff --git a/ACEXML/common/XMLFilter.h b/ACEXML/common/XMLFilter.h
new file mode 100644
index 00000000000..da09fa723ac
--- /dev/null
+++ b/ACEXML/common/XMLFilter.h
@@ -0,0 +1,46 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file XMLFilter.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+#ifndef _ACEXML_XMLFILTER_H_
+#define _ACEXML_XMLFILTER_H_
+
+#include "common/XMLReader.h"
+
+/**
+ * @class ACEXML_XMLFilter XMLFilter.h "common/XMLFilter.h"
+ *
+ * @brief ACEXML_XMLFilter
+ *
+ * An XML filter is like an XML reader, except
+ * that it obtains its events from another XML reader rather than a
+ * primary source like an XML document or database. Filters can modify
+ * a stream of events as they pass on to the final application.
+ *
+ * The XMLFilterImpl helper class provides a convenient base for
+ * creating SAX2 filters, by passing on all ACEXML_EntityResolver,
+ * ACEXML_DTDHandler, ACEXML_ContentHandler and ACEXML_ErrorHandler
+ * events automatically.
+ */
+class ACEXML_Export ACEXML_XMLFilter : public ACEXML_XMLReader
+{
+public:
+ /**
+ * Get the parent reader.
+ */
+ virtual ACEXML_XMLReader *getParent (void) const = 0;
+
+ /**
+ * Set the parent reader.
+ */
+ virtual void setParent (ACEXML_XMLReader *parent) = 0;
+};
+
+#endif /* _ACEXML_XMLFILTER_H_ */
diff --git a/ACEXML/common/XMLFilterImpl.cpp b/ACEXML/common/XMLFilterImpl.cpp
new file mode 100644
index 00000000000..e577ee748ce
--- /dev/null
+++ b/ACEXML/common/XMLFilterImpl.cpp
@@ -0,0 +1,380 @@
+// -*- C++ -*- $Id$
+
+#include "common/XMLFilterImpl.h"
+
+#if !defined (__ACEXML_INLINE__)
+# include "common/XMLFilterImpl.i"
+#endif /* __ACEXML_INLINE__ */
+
+ACEXML_XMLFilterImpl::ACEXML_XMLFilterImpl (void)
+ : parent_ (0),
+ locator_ (0),
+ entityResolver_ (0),
+ dtdHandler_ (0),
+ contentHandler_ (0),
+ errorHandler_ (0)
+{
+}
+
+ACEXML_XMLFilterImpl::ACEXML_XMLFilterImpl (ACEXML_XMLReader *parent)
+ : parent_ (parent),
+ locator_ (0),
+ entityResolver_ (0),
+ dtdHandler_ (0),
+ contentHandler_ (0),
+ errorHandler_ (0)
+{
+}
+
+ACEXML_XMLFilterImpl::~ACEXML_XMLFilterImpl (void)
+{
+ // @@ How are all the object lifecycles managed?
+}
+
+void
+ACEXML_XMLFilterImpl::parse (ACEXML_InputSource *input,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (this->setupParser () < 0)
+ {
+ xmlenv.exception (new ACEXML_SAXException (ACE_LIB_TEXT ("No Parent available")));
+ return;
+ }
+ this->parent_->parse (input, xmlenv);
+ return;
+}
+
+void
+ACEXML_XMLFilterImpl::parse (const ACEXML_Char *systemId,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (this->setupParser () < 0)
+ {
+ xmlenv.exception (new ACEXML_SAXException (ACE_LIB_TEXT ("No Parent available")));
+ return;
+ }
+
+ this->parent_->parse (new ACEXML_InputSource (systemId),
+ xmlenv);
+ return;
+}
+
+int
+ACEXML_XMLFilterImpl::getFeature (const ACEXML_Char *name,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
+ // ACEXML_SAXNotSupportedException))
+{
+ if (this->parent_ != 0)
+ return this->parent_->getFeature (name,
+ xmlenv);
+
+ xmlenv.exception (new ACEXML_SAXNotRecognizedException (name));
+ return 0;
+}
+
+void *
+ACEXML_XMLFilterImpl::getProperty (const ACEXML_Char *name,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
+ // ACEXML_SAXNotSupportedException))
+{
+ if (this->parent_ != 0)
+ return this->parent_->getProperty (name,
+ xmlenv);
+
+ xmlenv.exception (new ACEXML_SAXNotRecognizedException (name));
+ return 0;
+}
+
+void
+ACEXML_XMLFilterImpl::setFeature (const ACEXML_Char *name,
+ int boolean_value,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
+ // ACEXML_SAXNotSupportedException))
+{
+ if (this->parent_ != 0)
+ {
+ this->parent_->setFeature (name,
+ boolean_value,
+ xmlenv);
+ return;
+ }
+
+ xmlenv.exception (new ACEXML_SAXNotRecognizedException (name));
+}
+
+void
+ACEXML_XMLFilterImpl::setProperty (const ACEXML_Char *name,
+ void *value,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
+ // ACEXML_SAXNotSupportedException))
+{
+ if (this->parent_ != 0)
+ {
+ this->parent_->setProperty (name,
+ value,
+ xmlenv);
+ return;
+ }
+
+ xmlenv.exception (new ACEXML_SAXNotRecognizedException (name));
+}
+
+ACEXML_XMLReader *
+ACEXML_XMLFilterImpl::getParent (void) const
+{
+ return this->parent_;
+}
+
+void
+ACEXML_XMLFilterImpl::setParent (ACEXML_XMLReader *parent)
+{
+ this->parent_ = parent;
+}
+
+void
+ACEXML_XMLFilterImpl::characters (const ACEXML_Char *ch,
+ int start,
+ int length,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (this->contentHandler_ != 0)
+ this->contentHandler_->characters (ch, start, length, xmlenv);
+}
+
+void
+ACEXML_XMLFilterImpl::endDocument (ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (this->contentHandler_ != 0)
+ this->contentHandler_->endDocument (xmlenv);
+}
+
+void
+ACEXML_XMLFilterImpl::endElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (this->contentHandler_ != 0)
+ this->contentHandler_->endElement (namespaceURI,
+ localName,
+ qName,
+ xmlenv);
+}
+
+void
+ACEXML_XMLFilterImpl::endPrefixMapping (const ACEXML_Char *prefix,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (this->contentHandler_ != 0)
+ this->contentHandler_->endPrefixMapping (prefix, xmlenv);
+}
+
+void
+ACEXML_XMLFilterImpl::ignorableWhitespace (const ACEXML_Char *ch,
+ int start,
+ int length,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (this->contentHandler_ != 0)
+ this->contentHandler_->ignorableWhitespace (ch,
+ start,
+ length,
+ xmlenv);
+}
+
+void
+ACEXML_XMLFilterImpl::processingInstruction (const ACEXML_Char *target,
+ const ACEXML_Char *data,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (this->contentHandler_ != 0)
+ this->contentHandler_->processingInstruction (target,
+ data,
+ xmlenv);
+}
+
+void
+ACEXML_XMLFilterImpl::setDocumentLocator (ACEXML_Locator *locator,
+ ACEXML_Env &xmlenv)
+{
+ if (this->contentHandler_ != 0)
+ this->contentHandler_->setDocumentLocator (locator, xmlenv);
+}
+
+void
+ACEXML_XMLFilterImpl::skippedEntity (const ACEXML_Char *name,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (this->contentHandler_ != 0)
+ this->contentHandler_->skippedEntity (name, xmlenv);
+}
+
+void
+ACEXML_XMLFilterImpl::startDocument (ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (this->contentHandler_ != 0)
+ this->contentHandler_->startDocument (xmlenv);
+}
+
+void
+ACEXML_XMLFilterImpl::startElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Attributes *atts,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (this->contentHandler_ != 0)
+ this->contentHandler_->startElement (namespaceURI,
+ localName,
+ qName,
+ atts,
+ xmlenv);
+}
+
+void
+ACEXML_XMLFilterImpl::startPrefixMapping (const ACEXML_Char *prefix,
+ const ACEXML_Char *uri,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (this->contentHandler_ != 0)
+ this->contentHandler_->startPrefixMapping (prefix,
+ uri,
+ xmlenv);
+}
+
+void
+ACEXML_XMLFilterImpl::notationDecl (const ACEXML_Char *name,
+ const ACEXML_Char *publicId,
+ const ACEXML_Char *systemId,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (this->dtdHandler_ != 0)
+ this->dtdHandler_->notationDecl (name,
+ publicId,
+ systemId,
+ xmlenv);
+}
+
+void
+ACEXML_XMLFilterImpl::unparsedEntityDecl (const ACEXML_Char *name,
+ const ACEXML_Char *publicId,
+ const ACEXML_Char *systemId,
+ const ACEXML_Char *notationName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (this->dtdHandler_ != 0)
+ this->dtdHandler_->unparsedEntityDecl (name,
+ publicId,
+ systemId,
+ notationName,
+ xmlenv);
+}
+
+ACEXML_InputSource *
+ACEXML_XMLFilterImpl::resolveEntity (const ACEXML_Char *publicId,
+ const ACEXML_Char *systemId,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (this->entityResolver_ != 0)
+ return this->entityResolver_->resolveEntity (publicId,
+ systemId,
+ xmlenv);
+ return 0;
+}
+
+void
+ACEXML_XMLFilterImpl::error (ACEXML_SAXParseException &exception,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (this->errorHandler_ != 0)
+ this->errorHandler_->error (exception,
+ xmlenv);
+}
+
+void
+ACEXML_XMLFilterImpl::fatalError (ACEXML_SAXParseException &exception,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (this->errorHandler_ != 0)
+ this->errorHandler_->fatalError (exception,
+ xmlenv);
+}
+
+void
+ACEXML_XMLFilterImpl::warning (ACEXML_SAXParseException &exception,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (this->errorHandler_ != 0)
+ this->errorHandler_->warning (exception,
+ xmlenv);
+}
+
+ACEXML_DTDHandler *
+ACEXML_XMLFilterImpl::getDTDHandler (void) const
+{
+ return this->dtdHandler_;
+}
+
+ACEXML_ContentHandler *
+ACEXML_XMLFilterImpl::getContentHandler (void) const
+{
+ return this->contentHandler_;
+}
+
+ACEXML_EntityResolver *
+ACEXML_XMLFilterImpl::getEntityResolver (void) const
+{
+ return this->entityResolver_;
+}
+
+ACEXML_ErrorHandler *
+ACEXML_XMLFilterImpl::getErrorHandler (void) const
+{
+ return this->errorHandler_;
+}
+
+void
+ACEXML_XMLFilterImpl::setDTDHandler (ACEXML_DTDHandler *handler)
+{
+ this->dtdHandler_ = handler;
+}
+
+void
+ACEXML_XMLFilterImpl::setContentHandler (ACEXML_ContentHandler *handler)
+{
+ this->contentHandler_ = handler;
+}
+
+void
+ACEXML_XMLFilterImpl::setEntityResolver (ACEXML_EntityResolver *handler)
+{
+ this->entityResolver_ = handler;
+}
+
+void
+ACEXML_XMLFilterImpl::setErrorHandler (ACEXML_ErrorHandler *handler)
+{
+ this->errorHandler_ = handler;
+}
diff --git a/ACEXML/common/XMLFilterImpl.h b/ACEXML/common/XMLFilterImpl.h
new file mode 100644
index 00000000000..16429e51146
--- /dev/null
+++ b/ACEXML/common/XMLFilterImpl.h
@@ -0,0 +1,333 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file XMLFilterImpl.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+#ifndef ACEXML_XMLFILTERIMPL_H
+#define ACEXML_XMLFILTERIMPL_H
+
+#include "common/XMLFilter.h"
+#include "common/XMLReader.h"
+#include "common/Locator.h"
+#include "common/ContentHandler.h"
+#include "common/DTDHandler.h"
+#include "common/EntityResolver.h"
+#include "common/ErrorHandler.h"
+
+/**
+ * @class ACEXML_XMLFilterImpl XMLFilterImpl.h "common/XMLFilterImpl.h"
+ *
+ * @brief ACEXML_XMLFilterImpl
+ *
+ * This class is designed to sit between an XMLReader and the client
+ * application's event handlers. By default, it does nothing but pass
+ * requests up to the reader and events on to the handlers unmodified,
+ * but subclasses can override specific methods to modify the event
+ * stream or the configuration requests as they pass through.
+ */
+class ACEXML_Export ACEXML_XMLFilterImpl
+ : public ACEXML_XMLFilter,
+ public ACEXML_ContentHandler,
+ public ACEXML_DTDHandler,
+ public ACEXML_EntityResolver,
+ public ACEXML_ErrorHandler
+{
+public:
+ /**
+ * Default constructor. Create with no parent.
+ */
+ ACEXML_XMLFilterImpl (void);
+
+ /**
+ * Construct an XML filter with the specified parent.
+ */
+ ACEXML_XMLFilterImpl (ACEXML_XMLReader *parent);
+
+ /**
+ * Destructor.
+ */
+ virtual ~ACEXML_XMLFilterImpl (void);
+
+ /*
+ * Look up the value of a feature.
+ */
+ virtual int getFeature (const ACEXML_Char *name,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
+ // ACEXML_SAXNotSupportedException))
+ ;
+
+ /*
+ * Look up the value of a property.
+ */
+ virtual void * getProperty (const ACEXML_Char *name,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
+ // ACEXML_SAXNotSupportedException))
+ ;
+
+ /*
+ * Parse an XML document.
+ */
+ virtual void parse (ACEXML_InputSource *input,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Parse an XML document from a system identifier (URI).
+ */
+ virtual void parse (const ACEXML_Char *systemId,
+ ACEXML_Env &xmlenv)
+ // @@ throw IOException???
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Set the state of a feature.
+ */
+ virtual void setFeature (const ACEXML_Char *name,
+ int boolean_value,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
+ // ACEXML_SAXNotSupportedException))
+ ;
+
+ /*
+ * Set the value of a property.
+ */
+ virtual void setProperty (const ACEXML_Char *name,
+ void *value,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
+ // ACEXML_SAXNotSupportedException))
+ ;
+
+ /*
+ * Get the parent reader.
+ */
+ virtual ACEXML_XMLReader *getParent (void) const;
+
+ /*
+ * Set the parent reader.
+ */
+ virtual void setParent (ACEXML_XMLReader *parent);
+
+ /*
+ * Get the current DTD event handler.
+ */
+ virtual ACEXML_DTDHandler *getDTDHandler (void) const;
+
+ /*
+ * Get the current content event handler.
+ */
+ virtual ACEXML_ContentHandler *getContentHandler (void) const;
+
+ /*
+ * Get the current entity resolver.
+ */
+ virtual ACEXML_EntityResolver *getEntityResolver (void) const;
+
+ /*
+ * Get the current error event handler.
+ */
+ virtual ACEXML_ErrorHandler *getErrorHandler (void) const;
+
+ /*
+ * Set the DTD event handler.
+ */
+ virtual void setDTDHandler (ACEXML_DTDHandler *handler);
+
+ /*
+ * Set the content event handler.
+ */
+ virtual void setContentHandler (ACEXML_ContentHandler *handler);
+
+ /*
+ * Set the entity resolver.
+ */
+ virtual void setEntityResolver (ACEXML_EntityResolver *handler);
+
+ /*
+ * Set the error event handler.
+ */
+ virtual void setErrorHandler (ACEXML_ErrorHandler *handler);
+
+ /*
+ * Receive notification of character data.
+ */
+ virtual void characters (const ACEXML_Char *ch,
+ int start,
+ int length,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of the end of a document.
+ */
+ virtual void endDocument (ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of the end of an element.
+ */
+ virtual void endElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * End the scope of a prefix-URI mapping.
+ */
+ virtual void endPrefixMapping (const ACEXML_Char *prefix,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of ignorable whitespace in element content.
+ */
+ virtual void ignorableWhitespace (const ACEXML_Char *ch,
+ int start,
+ int length,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of a processing instruction.
+ */
+ virtual void processingInstruction (const ACEXML_Char *target,
+ const ACEXML_Char *data,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive an object for locating the origin of SAX document events.
+ */
+ virtual void setDocumentLocator (ACEXML_Locator *locator,
+ ACEXML_Env &xmlenv) ;
+
+ /*
+ * Receive notification of a skipped entity.
+ */
+ virtual void skippedEntity (const ACEXML_Char *name,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of the beginning of a document.
+ */
+ virtual void startDocument (ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of the beginning of an element.
+ */
+ virtual void startElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Attributes *atts,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Begin the scope of a prefix-URI Namespace mapping.
+ */
+ virtual void startPrefixMapping (const ACEXML_Char *prefix,
+ const ACEXML_Char *uri,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ // *** Methods inherit from ACEXML_DTDHandler.
+
+ /*
+ * Receive notification of a notation declaration event.
+ */
+ virtual void notationDecl (const ACEXML_Char *name,
+ const ACEXML_Char *publicId,
+ const ACEXML_Char *systemId,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of an unparsed entity declaration event.
+ */
+ virtual void unparsedEntityDecl (const ACEXML_Char *name,
+ const ACEXML_Char *publicId,
+ const ACEXML_Char *systemId,
+ const ACEXML_Char *notationName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ // Methods inherit from ACEXML_EnitityResolver.
+
+ /*
+ * Allow the application to resolve external entities.
+ */
+ virtual ACEXML_InputSource *resolveEntity (const ACEXML_Char *publicId,
+ const ACEXML_Char *systemId,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ // Methods inherit from ACEXML_ErrorHandler.
+
+ /*
+ * Receive notification of a recoverable error.
+ */
+ virtual void error (ACEXML_SAXParseException &exception,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of a non-recoverable error.
+ */
+ virtual void fatalError (ACEXML_SAXParseException &exception,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of a warning.
+ */
+ virtual void warning (ACEXML_SAXParseException &exception,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+protected:
+ int setupParser (void);
+ // Set up the event handlers of parent parser to this.
+ // Returns -1 if no valid parent is set.
+
+private:
+ ACEXML_XMLReader *parent_;
+ ACEXML_Locator *locator_;
+ ACEXML_EntityResolver *entityResolver_;
+ ACEXML_DTDHandler *dtdHandler_;
+ ACEXML_ContentHandler *contentHandler_;
+ ACEXML_ErrorHandler *errorHandler_;
+};
+
+#if defined (__ACEXML_INLINE__)
+# include "common/XMLFilterImpl.i"
+#endif /* __ACEXML_INLINE__ */
+#endif /* ACEXML_XMLFILTERIMPL_H */
diff --git a/ACEXML/common/XMLFilterImpl.i b/ACEXML/common/XMLFilterImpl.i
new file mode 100644
index 00000000000..4be2ceeceea
--- /dev/null
+++ b/ACEXML/common/XMLFilterImpl.i
@@ -0,0 +1,14 @@
+// -*- C++ -*- $Id$
+
+ACEXML_INLINE int
+ACEXML_XMLFilterImpl::setupParser (void)
+{
+ if (this->parent_ == 0)
+ return -1;
+
+ this->parent_->setEntityResolver (this);
+ this->parent_->setDTDHandler (this);
+ this->parent_->setContentHandler (this);
+ this->parent_->setErrorHandler (this);
+ return 0;
+}
diff --git a/ACEXML/common/XMLReader.h b/ACEXML/common/XMLReader.h
new file mode 100644
index 00000000000..9586c9a3484
--- /dev/null
+++ b/ACEXML/common/XMLReader.h
@@ -0,0 +1,136 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file XMLReader.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+#ifndef _ACEXML_XMLREADER_H_
+#define _ACEXML_XMLREADER_H_
+
+#include "common/ContentHandler.h"
+#include "common/DTDHandler.h"
+#include "common/EntityResolver.h"
+#include "common/ErrorHandler.h"
+
+/**
+ * @class ACEXML_XMLReader XMLReader.h "common/XMLReader.h"
+ *
+ * @brief ACEXML_XMLReader
+ *
+ * XMLReader is the interface that an XML parser's SAX2 driver must
+ * implement. This interface allows an application to set and query
+ * features and properties in the parser, to register event handlers
+ * for document processing, and to initiate a document parse.
+ *
+ * All SAX interfaces are assumed to be synchronous: the parse methods
+ * must not return until parsing is complete, and readers must wait
+ * for an event-handler callback to return before reporting the next
+ * event.
+ */
+class ACEXML_Export ACEXML_XMLReader
+{
+public:
+ /**
+ * Return the current content handler.
+ */
+ virtual ACEXML_ContentHandler *getContentHandler (void) const = 0;
+
+ /**
+ * Return the current DTD handler.
+ */
+ virtual ACEXML_DTDHandler *getDTDHandler (void) const = 0;
+
+ /**
+ * Return the current entity resolver.
+ */
+ virtual ACEXML_EntityResolver *getEntityResolver (void) const = 0;
+
+ /**
+ * Return the current error handler.
+ */
+ virtual ACEXML_ErrorHandler *getErrorHandler (void) const = 0;
+
+ /**
+ * Look up the value of a feature. This method allows
+ * programmers to check whether a specific feature has been
+ * activated in the parser.
+ */
+ virtual int getFeature (const ACEXML_Char *name,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
+ // ACEXML_SAXNotSupportedException))
+ = 0;
+
+ /**
+ * Look up the value of a property.
+ */
+ virtual void * getProperty (const ACEXML_Char *name,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
+ // ACEXML_SAXNotSupportedException))
+ = 0;
+
+ /**
+ * Parse an XML document.
+ */
+ virtual void parse (ACEXML_InputSource *input,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Parse an XML document from a system identifier (URI).
+ */
+ virtual void parse (const ACEXML_Char *systemId,
+ ACEXML_Env &xmlenv)
+ // @@ throw IOException???
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ = 0;
+
+ /**
+ * Allow an application to register a content event handler.
+ */
+ virtual void setContentHandler (ACEXML_ContentHandler *handler) = 0;
+
+ /**
+ * Allow an application to register a DTD event handler.
+ */
+ virtual void setDTDHandler (ACEXML_DTDHandler *handler) = 0;
+
+ /**
+ * Allow an application to register an entity resolver.
+ */
+ virtual void setEntityResolver (ACEXML_EntityResolver *resolver) = 0;
+
+ /**
+ * Allow an application to register an error event handler.
+ */
+ virtual void setErrorHandler (ACEXML_ErrorHandler *handler) = 0;
+
+ /**
+ * Activating or deactivating a feature.
+ */
+ virtual void setFeature (const ACEXML_Char *name,
+ int boolean_value,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
+ // ACEXML_SAXNotSupportedException))
+ = 0;
+
+ /**
+ * Set the value of a property.
+ */
+ virtual void setProperty (const ACEXML_Char *name,
+ void *value,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
+ // ACEXML_SAXNotSupportedException))
+ = 0;
+};
+
+#endif /* _ACEXML_XMLREADER_H_ */
diff --git a/ACEXML/common/XML_Common.dsp b/ACEXML/common/XML_Common.dsp
new file mode 100644
index 00000000000..29c6a947fbb
--- /dev/null
+++ b/ACEXML/common/XML_Common.dsp
@@ -0,0 +1,283 @@
+# Microsoft Developer Studio Project File - Name="XML_Common" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=XML_Common - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "XML_Common.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "XML_Common.mak" CFG="XML_Common - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "XML_Common - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "XML_Common - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "XML_Common - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XML_COMMON_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../.." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "ACEXML_BUILD_DLL" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 ace.lib /nologo /dll /machine:I386 /out:"../../bin/ACEXML.dll" /libpath:"w:\ace_wrappers\ace"
+
+!ELSEIF "$(CFG)" == "XML_Common - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "XML_Common___Win32_Debug"
+# PROP BASE Intermediate_Dir "XML_Common___Win32_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XML_COMMON_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../.." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D ACEXML_HAS_DLL=1 /D "ACEXML_BUILD_DLL" /YX /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib /nologo /dll /debug /machine:I386 /out:"../../bin/ACEXMLD.dll" /pdbtype:sept /libpath:"w:\ace_wrappers\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "XML_Common - Win32 Release"
+# Name "XML_Common - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\Attributes_Def_Builder.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\AttributesImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CharStream.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\DefaultHandler.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\DTD_Manager.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Element_Def_Builder.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Env.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Exception.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\FileCharStream.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\InputSource.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\LocatorImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\NamespaceSupport.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\SAXExceptions.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Transcode.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Validator.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\XMLFilterImpl.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\ACEXML_Export.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Attributes.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Attributes_Def_Builder.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\AttributesImpl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\CharStream.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ContentHandler.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\DefaultHandler.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\DTD_Manager.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\DTDHandler.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Element_Def_Builder.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\EntityResolver.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Env.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ErrorHandler.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Exception.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\FileCharStream.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\InputSource.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Locator.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\LocatorImpl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\NamespaceSupport.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\SAXExceptions.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Transcode.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Validator.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\XML_Types.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\XMLFilter.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\XMLFilterImpl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\XMLReader.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i"
+# Begin Source File
+
+SOURCE=.\Env.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Exception.i
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/ACEXML/common/XML_Types.h b/ACEXML/common/XML_Types.h
new file mode 100644
index 00000000000..bcb5edc6e21
--- /dev/null
+++ b/ACEXML/common/XML_Types.h
@@ -0,0 +1,71 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file XML_Types.h
+ *
+ * This file collects the type definitions for data types
+ * used in ACE XML parser.
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef _ACEXML_XML_TYPES_H_
+# define _ACEXML_XML_TYPES_H_
+# include "ace/OS.h"
+# include "ace/SString.h"
+# include "common/ACEXML_Export.h"
+
+# if defined (ACE_HAS_WCHAR) && (ACE_SIZEOF_WCHAR == 2)
+typedef wchar_t ACEXML_UTF16;
+# else
+typedef ACE_USHORT16 ACEXML_UTF16;
+# endif /* ACE_HAS_WCHAR && ACE_SIZEOF_WCHAR == 2 */
+
+# if defined (ACE_HAS_WCHAR) && (ACE_SIZEOF_WCHAR == 4)
+typedef wchar_t ACEXML_UCS4;
+# else
+typedef ACE_UINT32 ACEXML_UCS4;
+# endif /* ACE_HAS_WCHAR && ACE_SIZEOF_WCHAR == 4 */
+
+typedef char ACEXML_UTF8;
+
+/**
+ * @typedef ACEXML_Char
+ * ACEXML_Char only maps to ACEXML_UTF16 when ACE_USES_WCHAR is defined.
+ * Here we assume sizeof (wchar_t) is always 2 bytes.
+ *
+ * Defulat XML strings will use UTF-8 encoding. We would like to use
+ * the string classes in standard C++ Library here. But they are not
+ * very portable yet (as far as I know,) and I'll just use ACE_CString
+ * for now, unless UNICODE support is turned on. Notice that you
+ * should never convert strings between ACE_CString and ACE_WString
+ * using the built-in conversion functions as they only perform simple
+ * copy without any encoding conversion.
+ */
+# if defined (ACE_USES_WCHAR)
+typedef ACEXML_UTF16 ACEXML_Char;
+typedef ACE_WString ACEXML_String;
+# else
+typedef ACEXML_UTF8 ACEXML_Char;
+typedef ACE_CString ACEXML_String;
+# endif /* ACE_USES_WCHAR */
+
+# if (!defined (ACEXML_HAS_INLINE) && defined (__ACE_INLINE__)) || (ACEXML_HAS_INLINE == 1)
+# define __ACEXML_INLINE__ inline
+# else
+# if defined (__ACEXML_INLINE__)
+# undefine __ACEXML_INLINE__
+# endif /* __ACEXML_INLINE__ */
+# endif /* (!ACEXML_HAS_INLINE) && (__ACE_INLINE__) || (ACEXML_HAS_INLINE == 1) */
+
+# if defined (__ACEXML_INLINE__)
+# define ACEXML_INLINE inline
+# else
+# define ACEXML_INLINE
+# endif /* __ACEXML_INLINE */
+
+#endif /* _ACEXML_XML_TYPE_H_ */
diff --git a/ACEXML/docs/TODO.txt b/ACEXML/docs/TODO.txt
new file mode 100644
index 00000000000..022c75c4fc7
--- /dev/null
+++ b/ACEXML/docs/TODO.txt
@@ -0,0 +1,40 @@
+/**
+@page acexml_todo ACEXML TO-DO List
+
+<ul>
+
+ <li>Make the parser dynamically loadable
+
+ <li>Decouple ACE_Svc_Configurator from ACE Library. Allow users to
+ load in different configurator/parsers.
+
+ <li>Add Namespace support. The basic supporting mechanisms are
+ already in place. The parser itself, however, does not take
+ advantage of them to differentiate the different namespace.
+
+ <li>Add Schema paring ability. It is not clear to me, however, how
+ to specify which schema a document is associated with.
+
+ <li>Add support for resolving external entities, such as a
+ schema/namespace definition located on the web. There should be
+ a factory object to create various kinds of @ref CharStream
+ based on the URN or <i>PEReference</i> being parsed.
+
+ <li>Add parameterized entity management class. See above.
+
+ <li>A char stream should be able to differentiate the file encoding
+ and perform the correct transcoding automatically.
+
+ <li>Add a new FileCharStream class that understand UTF-16 encoded files.
+
+ <li>Add a class to determine the encoding of an XML file automatically.
+
+ <li>Need to support ACEXML_Locator in the parser. There's currently
+ no way to tell the location where the parser is parsing or where
+ an error occurred.
+
+ <li>Define validator building/calling interfaces.
+
+</ul>
+
+*/ \ No newline at end of file
diff --git a/ACEXML/docs/bugs.txt b/ACEXML/docs/bugs.txt
new file mode 100644
index 00000000000..11baef88416
--- /dev/null
+++ b/ACEXML/docs/bugs.txt
@@ -0,0 +1,25 @@
+/**
+@page acexml_bugs ACEXML Known Bugs
+
+<ul>
+ <li>ACEXML currently do not validate an XML files.
+
+ <li>Exception handling is not implemented. Maybe we should not try
+ to use the environment variables/exceptions scheme again.
+ Considering changing to a simpler error reporting method.
+
+ <li>Need to verify predefined entities are working correctly. Check
+ out the SAXPrint example.
+
+ <li>Currently, replacement of parameterized reference (PEReference) is
+ not working.
+
+ <li>Although most namespace supporting features/interfaces are
+ there, the parser currently does not interpret namespace.
+
+ <li>I'm sure this list will grow. :)
+
+</ul>
+
+
+*/ \ No newline at end of file
diff --git a/ACEXML/docs/guidelines.txt b/ACEXML/docs/guidelines.txt
new file mode 100644
index 00000000000..eb14f5af560
--- /dev/null
+++ b/ACEXML/docs/guidelines.txt
@@ -0,0 +1,33 @@
+// -*- HTML-Helper -*- $Id$
+
+/**
+@page acexml_guides ACEXML Programming Guidelines
+
+<ul>
+ <li>Character encoding: The default character encoding for ACEXML
+ can be set at compile time. ACEXML uses UTF-8 encoding in most
+ platforms where <code>ACEXML_Char</code> maps to
+ <code>char</code> in this case. When ACE is configured to use
+ <CODE>wchar</CODE> and <CODE>UNICODE</CODE>, ACEXML uses UTF-16
+ encoding and <code>ACEXML_Char</code> maps to
+ <code>wchar_t</code>. Notice that ACEXML assume
+ <code>sizeof (wchar_t)</code> is of 2-byte long. For platforms
+ using 4-byte <code>wchar_t</code>, ACEXML will not work
+ correctly but it should be trivial to fix.<p>
+
+ <li>Currently, there's only an example showing how to use the parser
+ under @c $(ACE_ROOT)/XML/examples/SAXPrint/.
+
+ <li>To develop a new validator, one must create a DLL implementing
+ @c ACEXML_Attributes_Def_Builder, @c
+ ACEXML_Attribute_Def_Builder, @c ACEXML_Element_Def_Builder,
+ @c ACEXML_Validator, and @c ACEXML_DTD_Manager. The DLL should
+ also export a traditional C function called @c
+ create_dtd_manager. The XML parser itself should also be
+ modified to support and dynamically link with the new validator.
+ See @c $(ACE_ROOT)/XML/parser/debug_validator/ for an example.
+
+</ul>
+
+
+*/ \ No newline at end of file
diff --git a/ACEXML/docs/parser_features.txt b/ACEXML/docs/parser_features.txt
new file mode 100644
index 00000000000..164ecbe55bd
--- /dev/null
+++ b/ACEXML/docs/parser_features.txt
@@ -0,0 +1,21 @@
+/** -*- HTML-Helper -*- $Id$
+@defgroup acexml_parser_features Configurable Special Features of ACEXML Parser
+@{
+
+There are special features in ACEXML Parser that can be
+activated/deactivated thru @c setFeature. Likewise, whether a feature
+has been activated or not can be queried using @c getFeature.
+
+@sa ACEXML_XMLReader::setFeature
+@sa ACEXML_XMLReader::getFeature
+
+Here is a list of supported features:
+
+<OL>
+ <li> None so far. We are integrating a dummy debug validator into
+ the parser which will use the string "Dummy Debug Validator" to turn
+ the feature on/off.
+</OL>
+
+@}
+*/ \ No newline at end of file
diff --git a/ACEXML/docs/readme.txt b/ACEXML/docs/readme.txt
new file mode 100644
index 00000000000..f0de833b526
--- /dev/null
+++ b/ACEXML/docs/readme.txt
@@ -0,0 +1,36 @@
+/** -*- HTML-Helper -*- $Id$
+@mainpage ACEXML - A Small and Portable XML Parser
+
+@section acexml_synopsis Synopsis
+ACEXML is a small footprint and portable framework for integrating XML
+parsing ability into user applications. The framework is based on the
+ <a href="http://www.saxproject.org/"> Simple API for XML
+(SAX 2.0) </A> by David Megginson. A simple non-conformant XML parser
+is also included in the framework. Since our original motivation was
+to use the parser for specifying software composition and
+configuration descriptors, at the current stage, the parser does not
+fully support all the features specified in the XML specification.
+
+We do, however, plan to add more features to the parser and will
+either release a more versatile parser or allow the current parser to
+dynamically load in the extra features in the future.
+
+@section acexml_features Features of ACEXML
+<ul>
+ <li> ACEXML only recognize UNICODE documents, although they can be
+ in various different encoding, such as UTF-8, UTF-16, or UCS-4.
+ Therefore, it might be a problem to handle document containing
+ multi-byte charatersets. They can, however, be translated into
+ UNICODE before being parsed by ACEXML parser.
+</ul>
+
+
+@section acexml_others Other Topics
+<ol>
+ <li>@ref acexml_parser_features
+ <li>@ref acexml_guides
+ <li>@ref acexml_bugs
+ <li>@ref acexml_todo
+</ol>
+
+*/
diff --git a/ACEXML/examples/Makefile b/ACEXML/examples/Makefile
new file mode 100644
index 00000000000..a508ee1d096
--- /dev/null
+++ b/ACEXML/examples/Makefile
@@ -0,0 +1,17 @@
+#----------------------------------------------------------------------------
+# $Id$
+#
+# Makefile for the client programs that test the ACE network services
+#----------------------------------------------------------------------------
+
+DIRS = SAXPrint
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nolocal.GNU
diff --git a/ACEXML/examples/SAXPrint/Makefile b/ACEXML/examples/SAXPrint/Makefile
new file mode 100644
index 00000000000..0d7fbe4ebb3
--- /dev/null
+++ b/ACEXML/examples/SAXPrint/Makefile
@@ -0,0 +1,49 @@
+#----------------------------------------------------------------------------
+# $Id$
+#
+# Makefile for repeating token client application
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+LDLIBS = -lACEXML_Parser -lACEXML
+FILES = Print_Handler \
+ SAXPrint_Handler
+
+SRC = $(addsuffix .cpp,$(FILES))
+OBJ = $(LSRC:%.cpp=$(VDIR)%.o)
+CCFLAGS += -I../..
+
+BIN = main
+
+BUILD = $(VBIN)
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/ACEXML/examples/SAXPrint/Print_Handler.cpp b/ACEXML/examples/SAXPrint/Print_Handler.cpp
new file mode 100644
index 00000000000..bfb95a39c05
--- /dev/null
+++ b/ACEXML/examples/SAXPrint/Print_Handler.cpp
@@ -0,0 +1,253 @@
+// -*- C++ -*- $Id$
+
+#include "Print_Handler.h"
+#include "ace/ACE.h"
+#include "ace/Log_Msg.h"
+
+#if !defined (__ACEXML_INLINE__)
+# include "Print_Handler.i"
+#endif /* __ACEXML_INLINE__ */
+
+ACEXML_Print_Handler::ACEXML_Print_Handler (void)
+{
+ // no-op
+}
+
+ACEXML_Print_Handler::~ACEXML_Print_Handler (void)
+{
+ // no-op
+}
+
+void
+ACEXML_Print_Handler::characters (const ACEXML_Char *cdata,
+ int start,
+ int end,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_UNUSED_ARG (xmlenv);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("* Event characters () ** start: %d end: %d ***************\n%s\n- End event characters () ---------------\n"),
+ start, end, cdata));
+}
+
+void
+ACEXML_Print_Handler::endDocument (ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_UNUSED_ARG (xmlenv);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("* Event endDocument () ***************\n")));
+}
+
+void
+ACEXML_Print_Handler::endElement (const ACEXML_Char *uri,
+ const ACEXML_Char *name,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_UNUSED_ARG (xmlenv);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("* Event endElement (%s, %s, ) ***************\n"),
+ uri, name, qName));
+}
+
+void
+ACEXML_Print_Handler::endPrefixMapping (const ACEXML_Char *prefix,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_UNUSED_ARG (xmlenv);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("* Event endPrefixMapping (%s) ***************\n"),
+ prefix));
+}
+
+void
+ACEXML_Print_Handler::ignorableWhitespace (const ACEXML_Char *,
+ int,
+ int,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_UNUSED_ARG (xmlenv);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("* Event ignorableWhitespace () ***************\n")));
+}
+
+void
+ACEXML_Print_Handler::processingInstruction (const ACEXML_Char *target,
+ const ACEXML_Char *data,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_UNUSED_ARG (xmlenv);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("* Event processingInstruction (%s, %s) ***************\n"),
+ target, data));
+}
+
+void
+ACEXML_Print_Handler::setDocumentLocator (ACEXML_Locator *,
+ ACEXML_Env &xmlenv)
+{
+ ACE_UNUSED_ARG (xmlenv);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("* Event setDocumentLocator () ***************\n")));
+}
+
+void
+ACEXML_Print_Handler::skippedEntity (const ACEXML_Char *name,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_UNUSED_ARG (xmlenv);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("* Event skippedEntity (%s) ***************\n"),
+ name));
+}
+
+void
+ACEXML_Print_Handler::startDocument (ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_UNUSED_ARG (xmlenv);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("* Event startDocument () ***************\n")));
+}
+
+void
+ACEXML_Print_Handler::startElement (const ACEXML_Char *uri,
+ const ACEXML_Char *name,
+ const ACEXML_Char *qName,
+ ACEXML_Attributes *alist,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_UNUSED_ARG (xmlenv);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("* Event startElement (%s, %s, %s) ***************\n"),
+ uri, name, qName));
+
+ if (alist != 0)
+ for (size_t i = 0; i < alist->getLength (); ++i)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT (" %s = \"%s\"\n"),
+ alist->getQName (i), alist->getValue (i)));
+ }
+}
+
+void
+ACEXML_Print_Handler::startPrefixMapping (const ACEXML_Char *,
+ const ACEXML_Char *,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+// *** Methods inherit from ACEXML_DTDHandler.
+
+void
+ACEXML_Print_Handler::notationDecl (const ACEXML_Char *name,
+ const ACEXML_Char *publicID,
+ const ACEXML_Char *systemID,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("* Event notationDecl: (%s) "),
+ name));
+
+ if (publicID == 0)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("SYSTEM %s\n"),
+ systemID));
+ else if (systemID == 0)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("PUBLIC %s\n"),
+ publicID));
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("PUBLIC %s %s\n"),
+ publicID, systemID));
+}
+
+void
+ACEXML_Print_Handler::unparsedEntityDecl (const ACEXML_Char *name,
+ const ACEXML_Char *publicID,
+ const ACEXML_Char *systemID,
+ const ACEXML_Char *notationName,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("* Unparsed Entity: %s"),
+ name));
+
+ if (publicID == 0)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT (" SYSTEM %s"),
+ systemID));
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT (" PUBLIC %s %s"),
+ publicID, systemID));
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT (" NDATA %s\n"),
+ notationName));
+}
+
+// Methods inherit from ACEXML_EnitityResolver.
+
+ACEXML_InputSource *
+ACEXML_Print_Handler::resolveEntity (const ACEXML_Char *,
+ const ACEXML_Char *,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+ return 0;
+}
+
+// Methods inherit from ACEXML_ErrorHandler.
+
+ /*
+ * Receive notification of a recoverable error.
+ */
+void
+ACEXML_Print_Handler::error (ACEXML_SAXParseException &,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+void
+ACEXML_Print_Handler::fatalError (ACEXML_SAXParseException &,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+void
+ACEXML_Print_Handler::warning (ACEXML_SAXParseException &,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
diff --git a/ACEXML/examples/SAXPrint/Print_Handler.h b/ACEXML/examples/SAXPrint/Print_Handler.h
new file mode 100644
index 00000000000..a9608c6b322
--- /dev/null
+++ b/ACEXML/examples/SAXPrint/Print_Handler.h
@@ -0,0 +1,197 @@
+// $Id$
+
+//=============================================================================
+/**
+ * @file Print_Handler.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef ACEXML_PRINT_HANDLER_H
+#define ACEXML_PRINT_HANDLER_H
+
+#include "common/DefaultHandler.h"
+
+/**
+ * @class ACEXML_Print_Handler
+ *
+ * @brief ACEXML_Print_Handler is an example SAX event handler.
+ *
+ * This SAX event handler prints out a detailed event report
+ * on every event it received.
+ */
+class ACEXML_Print_Handler : public ACEXML_DefaultHandler
+{
+public:
+ /*
+ * Default constructor.
+ */
+ ACEXML_Print_Handler (void);
+
+ /*
+ * Default destructor.
+ */
+ virtual ~ACEXML_Print_Handler (void);
+
+ // Methods inherit from ACEXML_ContentHandler.
+
+ /*
+ * Receive notification of character data.
+ */
+ virtual void characters (const ACEXML_Char *ch,
+ int start,
+ int length,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of the end of a document.
+ */
+ virtual void endDocument (ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of the end of an element.
+ */
+ virtual void endElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * End the scope of a prefix-URI mapping.
+ */
+ virtual void endPrefixMapping (const ACEXML_Char *prefix,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of ignorable whitespace in element content.
+ */
+ virtual void ignorableWhitespace (const ACEXML_Char *ch,
+ int start,
+ int length,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of a processing instruction.
+ */
+ virtual void processingInstruction (const ACEXML_Char *target,
+ const ACEXML_Char *data,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive an object for locating the origin of SAX document events.
+ */
+ virtual void setDocumentLocator (ACEXML_Locator *locator,
+ ACEXML_Env &xmlenv) ;
+
+ /*
+ * Receive notification of a skipped entity.
+ */
+ virtual void skippedEntity (const ACEXML_Char *name,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of the beginning of a document.
+ */
+ virtual void startDocument (ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of the beginning of an element.
+ */
+ virtual void startElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Attributes *atts,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Begin the scope of a prefix-URI Namespace mapping.
+ */
+ virtual void startPrefixMapping (const ACEXML_Char *prefix,
+ const ACEXML_Char *uri,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ // *** Methods inherit from ACEXML_DTDHandler.
+
+ /*
+ * Receive notification of a notation declaration event.
+ */
+ virtual void notationDecl (const ACEXML_Char *name,
+ const ACEXML_Char *publicId,
+ const ACEXML_Char *systemId,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of an unparsed entity declaration event.
+ */
+ virtual void unparsedEntityDecl (const ACEXML_Char *name,
+ const ACEXML_Char *publicId,
+ const ACEXML_Char *systemId,
+ const ACEXML_Char *notationName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ // Methods inherit from ACEXML_EnitityResolver.
+
+ /*
+ * Allow the application to resolve external entities.
+ */
+ virtual ACEXML_InputSource *resolveEntity (const ACEXML_Char *publicId,
+ const ACEXML_Char *systemId,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ // Methods inherit from ACEXML_ErrorHandler.
+
+ /*
+ * Receive notification of a recoverable error.
+ */
+ virtual void error (ACEXML_SAXParseException &exception,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of a non-recoverable error.
+ */
+ virtual void fatalError (ACEXML_SAXParseException &exception,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of a warning.
+ */
+ virtual void warning (ACEXML_SAXParseException &exception,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+};
+
+#endif /* ACEXML_PRINT_HANDLER_H */
diff --git a/ACEXML/examples/SAXPrint/Print_Handler.i b/ACEXML/examples/SAXPrint/Print_Handler.i
new file mode 100644
index 00000000000..77b4466a3cb
--- /dev/null
+++ b/ACEXML/examples/SAXPrint/Print_Handler.i
@@ -0,0 +1 @@
+// -*- C++ -*- $Id$
diff --git a/ACEXML/examples/SAXPrint/SAXPrint.dsp b/ACEXML/examples/SAXPrint/SAXPrint.dsp
new file mode 100644
index 00000000000..06c3cc09b48
--- /dev/null
+++ b/ACEXML/examples/SAXPrint/SAXPrint.dsp
@@ -0,0 +1,130 @@
+# Microsoft Developer Studio Project File - Name="SAXPrint" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=SAXPrint - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "SAXPrint.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "SAXPrint.mak" CFG="SAXPrint - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "SAXPrint - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "SAXPrint - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "SAXPrint - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../.." /I "..\.." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib ACEXML.lib ACEXML_Parser.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\ace" /libpath:"..\..\Common" /libpath:"..\..\parser\parser"
+
+!ELSEIF "$(CFG)" == "SAXPrint - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../.." /I "..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib ACEXMLd.lib ACEXML_Parserd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\ace" /libpath:"..\..\Common" /libpath:"..\..\parser\parser"
+
+!ENDIF
+
+# Begin Target
+
+# Name "SAXPrint - Win32 Release"
+# Name "SAXPrint - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\main.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Print_Handler.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\SAXPrint_Handler.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\Print_Handler.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\SAXPrint_Handler.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i"
+# Begin Source File
+
+SOURCE=.\Print_Handler.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\SAXPrint_Handler.i
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/ACEXML/examples/SAXPrint/SAXPrint.dsw b/ACEXML/examples/SAXPrint/SAXPrint.dsw
new file mode 100644
index 00000000000..3ec5cb65624
--- /dev/null
+++ b/ACEXML/examples/SAXPrint/SAXPrint.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "SAXPrint"=.\SAXPrint.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp b/ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp
new file mode 100644
index 00000000000..9d6395b620d
--- /dev/null
+++ b/ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp
@@ -0,0 +1,238 @@
+// -*- C++ -*- $Id$
+
+#include "SAXPrint_Handler.h"
+#include "ace/ACE.h"
+#include "ace/Log_Msg.h"
+
+#if !defined (__ACEXML_INLINE__)
+# include "SAXPrint_Handler.i"
+#endif /* __ACEXML_INLINE__ */
+
+ACEXML_SAXPrint_Handler::ACEXML_SAXPrint_Handler (void)
+ : indent_ (0)
+{
+ // no-op
+}
+
+ACEXML_SAXPrint_Handler::~ACEXML_SAXPrint_Handler (void)
+{
+ // no-op
+}
+
+void
+ACEXML_SAXPrint_Handler::characters (const ACEXML_Char *cdata,
+ int start,
+ int end,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_UNUSED_ARG (xmlenv);
+ ACE_UNUSED_ARG (start);
+ ACE_UNUSED_ARG (end);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("%s"),
+ cdata));
+}
+
+void
+ACEXML_SAXPrint_Handler::endDocument (ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_UNUSED_ARG (xmlenv);
+
+ ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("\n")));
+}
+
+void
+ACEXML_SAXPrint_Handler::endElement (const ACEXML_Char *,
+ const ACEXML_Char *,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_UNUSED_ARG (xmlenv);
+
+ this->dec_indent ();
+ this->print_indent ();
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("</%s>"),
+ qName));
+}
+
+void
+ACEXML_SAXPrint_Handler::endPrefixMapping (const ACEXML_Char *prefix,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_UNUSED_ARG (xmlenv);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("* Event endPrefixMapping (%s) ***************\n"),
+ prefix));
+}
+
+void
+ACEXML_SAXPrint_Handler::ignorableWhitespace (const ACEXML_Char *,
+ int,
+ int,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_UNUSED_ARG (xmlenv);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("* Event ignorableWhitespace () ***************\n")));
+}
+
+void
+ACEXML_SAXPrint_Handler::processingInstruction (const ACEXML_Char *target,
+ const ACEXML_Char *data,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_UNUSED_ARG (xmlenv);
+
+ this->print_indent ();
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("<?%s %s>\n"),
+ target, data));
+}
+
+void
+ACEXML_SAXPrint_Handler::setDocumentLocator (ACEXML_Locator *,
+ ACEXML_Env &xmlenv)
+{
+ ACE_UNUSED_ARG (xmlenv);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("* Event setDocumentLocator () ***************\n")));
+}
+
+void
+ACEXML_SAXPrint_Handler::skippedEntity (const ACEXML_Char *name,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_UNUSED_ARG (xmlenv);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("* Event skippedEntity (%s) ***************\n"),
+ name));
+}
+
+void
+ACEXML_SAXPrint_Handler::startDocument (ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_UNUSED_ARG (xmlenv);
+
+// ACE_DEBUG ((LM_DEBUG,
+// ACE_LIB_TEXT ("* Event startDocument () ***************\n")));
+}
+
+void
+ACEXML_SAXPrint_Handler::startElement (const ACEXML_Char *,
+ const ACEXML_Char *,
+ const ACEXML_Char *qName,
+ ACEXML_Attributes *alist,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_UNUSED_ARG (xmlenv);
+
+ this->print_indent ();
+
+ ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("<%s"),
+ qName));
+ if (alist != 0)
+ for (size_t i = 0; i < alist->getLength (); ++i)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT (" %s = \"%s\""),
+ alist->getQName (i), alist->getValue (i)));
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT (">")));
+ this->inc_indent ();
+}
+
+void
+ACEXML_SAXPrint_Handler::startPrefixMapping (const ACEXML_Char *,
+ const ACEXML_Char *,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+// *** Methods inherit from ACEXML_DTDHandler.
+
+void
+ACEXML_SAXPrint_Handler::notationDecl (const ACEXML_Char *,
+ const ACEXML_Char *,
+ const ACEXML_Char *,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+void
+ACEXML_SAXPrint_Handler::unparsedEntityDecl (const ACEXML_Char *,
+ const ACEXML_Char *,
+ const ACEXML_Char *,
+ const ACEXML_Char *,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+// Methods inherit from ACEXML_EnitityResolver.
+
+ACEXML_InputSource *
+ACEXML_SAXPrint_Handler::resolveEntity (const ACEXML_Char *,
+ const ACEXML_Char *,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+ return 0;
+}
+
+// Methods inherit from ACEXML_ErrorHandler.
+
+ /*
+ * Receive notification of a recoverable error.
+ */
+void
+ACEXML_SAXPrint_Handler::error (ACEXML_SAXParseException &,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+void
+ACEXML_SAXPrint_Handler::fatalError (ACEXML_SAXParseException &,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+void
+ACEXML_SAXPrint_Handler::warning (ACEXML_SAXParseException &,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // No-op.
+}
+
+void
+ACEXML_SAXPrint_Handler::print_indent (void)
+{
+ ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("\n")));
+ for (size_t i = 0; i < this->indent_; ++i)
+ ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT (" ")));
+}
diff --git a/ACEXML/examples/SAXPrint/SAXPrint_Handler.h b/ACEXML/examples/SAXPrint/SAXPrint_Handler.h
new file mode 100644
index 00000000000..90fd8e9f113
--- /dev/null
+++ b/ACEXML/examples/SAXPrint/SAXPrint_Handler.h
@@ -0,0 +1,208 @@
+// $Id$
+
+//=============================================================================
+/**
+ * @file SAXPrint_Handler.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef ACEXML_SAXPRINT_HANDLER_H
+#define ACEXML_SAXPRINT_HANDLER_H
+
+#include "common/DefaultHandler.h"
+
+/**
+ * @class ACEXML_SAXPrint_Handler
+ *
+ * @brief ACEXML_SAXPrint_Handler is an example SAX event handler.
+ *
+ * This SAX event handler try to regenerate the XML document it
+ * reads with correct indentation.
+ */
+class ACEXML_SAXPrint_Handler : public ACEXML_DefaultHandler
+{
+public:
+ /*
+ * Default constructor.
+ */
+ ACEXML_SAXPrint_Handler (void);
+
+ /*
+ * Default destructor.
+ */
+ virtual ~ACEXML_SAXPrint_Handler (void);
+
+ // Methods inherit from ACEXML_ContentHandler.
+
+ /*
+ * Receive notification of character data.
+ */
+ virtual void characters (const ACEXML_Char *ch,
+ int start,
+ int length,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of the end of a document.
+ */
+ virtual void endDocument (ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of the end of an element.
+ */
+ virtual void endElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * End the scope of a prefix-URI mapping.
+ */
+ virtual void endPrefixMapping (const ACEXML_Char *prefix,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of ignorable whitespace in element content.
+ */
+ virtual void ignorableWhitespace (const ACEXML_Char *ch,
+ int start,
+ int length,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of a processing instruction.
+ */
+ virtual void processingInstruction (const ACEXML_Char *target,
+ const ACEXML_Char *data,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive an object for locating the origin of SAX document events.
+ */
+ virtual void setDocumentLocator (ACEXML_Locator *locator,
+ ACEXML_Env &xmlenv) ;
+
+ /*
+ * Receive notification of a skipped entity.
+ */
+ virtual void skippedEntity (const ACEXML_Char *name,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of the beginning of a document.
+ */
+ virtual void startDocument (ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of the beginning of an element.
+ */
+ virtual void startElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Attributes *atts,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Begin the scope of a prefix-URI Namespace mapping.
+ */
+ virtual void startPrefixMapping (const ACEXML_Char *prefix,
+ const ACEXML_Char *uri,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ // *** Methods inherit from ACEXML_DTDHandler.
+
+ /*
+ * Receive notification of a notation declaration event.
+ */
+ virtual void notationDecl (const ACEXML_Char *name,
+ const ACEXML_Char *publicId,
+ const ACEXML_Char *systemId,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of an unparsed entity declaration event.
+ */
+ virtual void unparsedEntityDecl (const ACEXML_Char *name,
+ const ACEXML_Char *publicId,
+ const ACEXML_Char *systemId,
+ const ACEXML_Char *notationName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ // Methods inherit from ACEXML_EnitityResolver.
+
+ /*
+ * Allow the application to resolve external entities.
+ */
+ virtual ACEXML_InputSource *resolveEntity (const ACEXML_Char *publicId,
+ const ACEXML_Char *systemId,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ // Methods inherit from ACEXML_ErrorHandler.
+
+ /*
+ * Receive notification of a recoverable error.
+ */
+ virtual void error (ACEXML_SAXParseException &exception,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of a non-recoverable error.
+ */
+ virtual void fatalError (ACEXML_SAXParseException &exception,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Receive notification of a warning.
+ */
+ virtual void warning (ACEXML_SAXParseException &exception,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ void inc_indent ();
+ void dec_indent ();
+ void print_indent ();
+
+private:
+ size_t indent_;
+
+};
+
+#if defined (__ACEXML_INLINE__)
+# include "SAXPrint_Handler.i"
+#endif /* __ACEXML_INLINE__ */
+#endif /* ACEXML_SAXPRINT_HANDLER_H */
diff --git a/ACEXML/examples/SAXPrint/SAXPrint_Handler.i b/ACEXML/examples/SAXPrint/SAXPrint_Handler.i
new file mode 100644
index 00000000000..2102291ea68
--- /dev/null
+++ b/ACEXML/examples/SAXPrint/SAXPrint_Handler.i
@@ -0,0 +1,13 @@
+// -*- C++ -*- $Id$
+
+ACEXML_INLINE void
+ACEXML_SAXPrint_Handler::inc_indent (void)
+{
+ this->indent_ += 1;
+}
+
+ACEXML_INLINE void
+ACEXML_SAXPrint_Handler::dec_indent (void)
+{
+ this->indent_ -= 1;
+}
diff --git a/ACEXML/examples/SAXPrint/main.cpp b/ACEXML/examples/SAXPrint/main.cpp
new file mode 100644
index 00000000000..5eeafef2c43
--- /dev/null
+++ b/ACEXML/examples/SAXPrint/main.cpp
@@ -0,0 +1,56 @@
+// $Id$
+
+#include "common/FileCharStream.h"
+#include "parser/parser/Parser.h"
+#include "Print_Handler.h"
+#include "SAXPrint_Handler.h"
+
+
+int
+main (int argc, ACE_TCHAR *argv[])
+{
+ ACEXML_DefaultHandler *handler = 0;
+ {
+ if (argc < 2)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_LIB_TEXT ("Usage: %s <XML filename> [-n]\n"),
+ argv [0]),
+ -1);
+
+ ACEXML_FileCharStream *fstm = 0;
+ ACE_NEW_RETURN (fstm,
+ ACEXML_FileCharStream (),
+ 1);
+
+ if (fstm->open (argv [1]) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_LIB_TEXT ("Fail to open XML file: %s\n"),
+ argv [1]),
+ -1);
+
+ if (argc == 2) //
+ ACE_NEW_RETURN (handler,
+ ACEXML_Print_Handler (),
+ -1);
+ else
+ ACE_NEW_RETURN (handler,
+ ACEXML_SAXPrint_Handler (),
+ -1);
+
+ ACEXML_Parser parser;
+ ACEXML_InputSource input(fstm);
+
+ parser.setContentHandler (handler);
+ parser.setDTDHandler (handler);
+ parser.setErrorHandler (handler);
+ parser.setEntityResolver (handler);
+
+ ACEXML_Env xmlenv;
+
+ parser.parse (&input, xmlenv);
+ if (xmlenv.exception ())
+ xmlenv.exception ()->print ();
+ }
+ delete handler;
+ return 0;
+}
diff --git a/ACEXML/examples/SAXPrint/ns.svc.conf.xml b/ACEXML/examples/SAXPrint/ns.svc.conf.xml
new file mode 100644
index 00000000000..a7487dc360f
--- /dev/null
+++ b/ACEXML/examples/SAXPrint/ns.svc.conf.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<ace:ACE_Svc_Conf xmlns:ace="http://ace.doc.wustl.edu/svcconf">
+<static id="ACE_Service_Manager">
+ <params>-d</params>
+ <params>-p 4911</params>
+</static>
+
+<dynamic id="Test_Task" type="service_object"> &#65; &amp;
+ <initializer path="CCM_App" init="_make_Test_Task">
+ <params>-p 3000</params>
+ </initializer>
+</dynamic>
+
+<ace:streamdef>
+ <dynamic id="CCM_App" type="stream" status="active">
+ <initializer path="CCM_App" init="make_stream"/>
+ </dynamic>
+ <module>
+ <dynamic id="Device_Adapter" type="module">
+ <initializer path="CCM_App" init="make_da"/>
+ </dynamic>
+ <dynamic id="Event_Analyzer" type="module">
+ <initializer path="CCM_App" init="make_ea"/>
+ </dynamic>
+ <dynamic id="Multicast_Router" type="module">
+ <initializer path="CCM_App" init="make_mr">
+ <params>-p</params>
+ <params>3001</params>
+ </initializer>
+ </dynamic>
+ </module>
+</ace:streamdef>
+
+<stream id="CCM_App">
+ <module>
+ <remove id="Device_Adapter"/>
+ <!-- <remove id="Event_Analyzer"/> -->
+ <!-- <remove id="Multicast_Router"/> -->
+ <![CDATA[Only a text string.
+Do you &amp;expect something more?]]>
+ </module>
+</stream>
+
+<!-- remove CCM_App -->
+<remove id="Test_&amp;Task&#x65;bc"/>
+</ace:ACE_Svc_Conf> \ No newline at end of file
diff --git a/ACEXML/examples/SAXPrint/svc.conf.xml b/ACEXML/examples/SAXPrint/svc.conf.xml
new file mode 100644
index 00000000000..ff0eebe831f
--- /dev/null
+++ b/ACEXML/examples/SAXPrint/svc.conf.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<!-- This is a test XML file. Most of the stuff here don't make any sense at all -->
+<!DOCTYPE ACE_Svc_Conf PUBLIC 'GOODSAM' 'http://ace.cs.wustl.edu/dtd/ACE_SVCCONF.DTD'
+ [
+ <!NOTATION goody PUBLIC 'NBC' 'http://hardcoreace.com/'>
+ <!NOTATION frodo PUBLIC 'ABC'>
+ <!NOTATION bilbo SYSTEM "C:/ACE-GUIDELINE">
+ <!ENTITY ccm 'CCM_App'>
+ <!ENTITY pippin PUBLIC 'GOTO' 'http://taozen.com/' NDATA NBC>
+ <!ENTITY sam PUBLIC 'SHIRE' 'http://taozen.com/'>
+ <!ENTITY gandolf SYSTEM 'D:/RINGS.DOT'>
+ <!ELEMENT GOOBEGONE EMPTY>
+ <!ELEMENT POOPOO ANY>
+ <!ELEMENT HOHOHO ((BOOBOO, GOOBEGONE)?, (GOOBEGONE|POOPOO)*)+>
+ <!ELEMENT BOOBOO (#PCDATA | BOOBOO)*>
+ <!ATTLIST GOOBEGONE
+ ohmy CDATA #REQUIRED
+ testing IDREF #IMPLIED>
+ ]>
+
+<ACE_Svc_Conf>
+<static id="ACE_Service_Manager">
+ <params>-d</params>
+ <params>-p 4911</params>
+</static>
+
+<dynamic id="Test_Task" type="service_object"> &#65; &amp;
+ <initializer path="CCM_App" init="_make_Test_Task">
+ <params>-p 3000</params>
+ </initializer>
+</dynamic>
+
+<streamdef>
+ <dynamic id="CCM_App" type="stream" status="active">
+ <initializer path="CCM_App" init="make_stream"/>
+ </dynamic>
+ <module>
+ <dynamic id="Device_Adapter" type="module">
+ <initializer path="CCM_App" init="make_da"/>
+ </dynamic>
+ <dynamic id="Event_Analyzer" type="module">
+ <initializer path="CCM_App" init="make_ea"/>
+ </dynamic>
+ <dynamic id="Multicast_Router" type="module">
+ <initializer path="CCM_App" init="make_mr">
+ <params>-p</params>
+ <params>3001</params>
+ </initializer>
+ </dynamic>
+ </module>
+</streamdef>
+
+<stream id="&ccm;">
+ <module>
+ <remove id="Device_Adapter"/>
+ <!-- <remove id="Event_Analyzer"/> -->
+ <!-- <remove id="Multicast_Router"/> -->
+ <![CDATA[Only a text string.
+Do you &amp;expect something more? &#65;]]>
+<!-- Noticed that the "&amp;" in the above CDATA section can not be escaped. -->
+ </module>
+</stream>
+
+<!-- remove CCM_App -->
+<remove id="Test_&amp;Task&#x61;bc"/>
+</ACE_Svc_Conf>
diff --git a/ACEXML/examples/test_docs/svcconf.dtd b/ACEXML/examples/test_docs/svcconf.dtd
new file mode 100644
index 00000000000..dded178c1f7
--- /dev/null
+++ b/ACEXML/examples/test_docs/svcconf.dtd
@@ -0,0 +1,65 @@
+<!-- $Id$ -->
+<!-- Document Type Definition for XML ACE Service Config files -->
+
+<!-- An ACE_Svc_Conf document contains zero or more entries -->
+<!-- The entries are processed in the order they appear -->
+<!-- in the ACE_Svc_Conf file. -->
+<!ELEMENT ACE_Svc_Conf (dynamic|static|suspend|resume|remove|stream|streamdef)*>
+
+<!-- Streams are separate into two elements. One defines how -->
+<!-- the stream should be constructed and the other defines -->
+<!-- what to do with it. The identity of a stream is defined -->
+<!-- in the first dynamic/static element. -->
+<!ELEMENT streamdef ((dynamic|static),module)>
+<!-- @@ Do we ever need to suspend/resume/remove modules when -->
+<!-- constructing a stream? Should we leave only dynamic -->
+<!-- and static here? -->
+<!ELEMENT module (dynamic|static|suspend|resume|remove)+>
+
+<!-- A 'stream' element controls the stream object -->
+<!-- @@ Likewise, we are reusing the 'module' element here. -->
+<!-- Do we ever need to insert new modules into a stream? -->
+<!-- Nanbor: I guess we can do that. -->
+<!ELEMENT stream (module)>
+<!ATTLIST stream id IDREF #REQUIRED>
+
+<!-- A 'dynamic' entry. -->
+<!-- @@ The kind of attributes the corresponding initializer -->
+<!-- should take seems to be determined by the 'type' -->
+<!-- attribute. Should we further partition the dynamic -->
+<!-- element definition into several elements? E.g. into -->
+<!-- dyn_service_object/dyn_module/dyn_stream? -->
+<!-- Nanbor: Will that be too confusing? -->
+<!ELEMENT dynamic (initializer)>
+<!ATTLIST dynamic id ID #REQUIRED
+ status (active|inactive) "active"
+ type (module|service_object|stream) #REQUIRED>
+
+<!-- Initializing function for dynamic entry. -->
+<!ELEMENT initializer (params)*>
+<!ATTLIST initializer init CDATA #REQUIRED
+ path CDATA #IMPLIED>
+
+<!-- A 'static' entry takes an ID attribute and an optional -->
+<!-- parameter lists. -->
+<!ELEMENT static (params)*>
+<!ATTLIST static id ID #REQUIRED>
+
+<!-- A 'suspend' entry takes an ID attribute. -->
+<!ELEMENT suspend EMPTY>
+<!ATTLIST suspend id IDREF #REQUIRED>
+
+<!-- A 'resume' entry takes an ID attribute. -->
+<!ELEMENT resume EMPTY>
+<!ATTLIST resume id IDREF #REQUIRED>
+
+<!-- A 'remove' entry takes an ID attribute. -->
+<!ELEMENT remove EMPTY>
+<!ATTLIST remove id IDREF #REQUIRED>
+
+<!-- A params entry can appear within dynamic and static. -->
+<!-- Parameters can appear multiple time and the SAX handler -->
+<!-- for Service_Configurator is supposed to concatinate -->
+<!-- them together with appropriate white space to separate -->
+<!-- parameters appeared in separate elements. -->
+<!ELEMENT params (#PCDATA)> \ No newline at end of file
diff --git a/ACEXML/parser/Makefile b/ACEXML/parser/Makefile
new file mode 100644
index 00000000000..9a519bc492b
--- /dev/null
+++ b/ACEXML/parser/Makefile
@@ -0,0 +1,17 @@
+#----------------------------------------------------------------------------
+# $Id$
+#
+# Makefile for the client programs that test the ACE network services
+#----------------------------------------------------------------------------
+
+DIRS = parser
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nolocal.GNU
diff --git a/ACEXML/parser/Makefile.bor b/ACEXML/parser/Makefile.bor
new file mode 100644
index 00000000000..cb61c1c99dd
--- /dev/null
+++ b/ACEXML/parser/Makefile.bor
@@ -0,0 +1,9 @@
+#
+# Makefile for building the ACE XML parser Library
+#
+
+DIRS = \
+ debug_validator \
+ parser
+
+!include <$(ACE_ROOT)\include\makeinclude\recurse.bor>
diff --git a/ACEXML/parser/debug_validator/Debug_Attributes_Builder.cpp b/ACEXML/parser/debug_validator/Debug_Attributes_Builder.cpp
new file mode 100644
index 00000000000..b0bdf3fa73c
--- /dev/null
+++ b/ACEXML/parser/debug_validator/Debug_Attributes_Builder.cpp
@@ -0,0 +1,218 @@
+// $Id$
+
+#include "common/SAXExceptions.h"
+#include "parser/debug_validator/Debug_Attributes_Builder.h"
+
+ACEXML_Debug_Attribute_Builder::ACEXML_Debug_Attribute_Builder ()
+ : type_ (ERROR_TYPE),
+ default_decl_ (INVALID)
+{
+}
+
+ACEXML_Debug_Attribute_Builder::ACEXML_Debug_Attribute_Builder (const ACEXML_Debug_Attribute_Builder &rhs)
+ : name_ (rhs.name_),
+ type_ (rhs.type_),
+ default_decl_ (rhs.default_decl_),
+ default_value_ (rhs.default_value_),
+ att_value_queue_ (rhs.att_value_queue_)
+{
+}
+
+ACEXML_Debug_Attribute_Builder::~ACEXML_Debug_Attribute_Builder ()
+{
+}
+
+int
+ACEXML_Debug_Attribute_Builder::setName (const ACEXML_Char *n)
+{
+ this->name_.set (n, 0);
+ return 0;
+}
+
+const ACEXML_Char *
+ACEXML_Debug_Attribute_Builder::getName (void)
+{
+ return this->name_.fast_rep ();
+}
+
+int
+ACEXML_Debug_Attribute_Builder::setAttType (const ATT_TYPE type,
+ ACEXML_Env &xmlenv)
+ // ACE_THORW_SPEC ((ACEXML_SAXException))
+{
+ if (this->type_ == ERROR_TYPE)
+ {
+ this->type_ = type;
+ return 0;
+ }
+ xmlenv.exception (new ACEXML_SAXParseException (ACE_LIB_TEXT("Attribute type redefinition in Debug Validator")));
+ return -1;
+}
+
+int
+ACEXML_Debug_Attribute_Builder::insertList (const ACEXML_Char *n,
+ ACEXML_Env &)
+ // ACE_THORW_SPEC ((ACEXML_SAXException))
+{
+ ACEXML_String str (n, 0, 0);
+
+ this->att_value_queue_.enqueue_tail (str);
+ return 0;
+}
+
+int
+ACEXML_Debug_Attribute_Builder::setDefault (const DEFAULT_DECL def,
+ const ACEXML_Char *value,
+ ACEXML_Env &)
+ // ACE_THORW_SPEC ((ACEXML_SAXException))
+{
+ this->default_decl_ = def;
+ this->default_value_.set (value, 0);
+ return 0;
+}
+
+int
+ACEXML_Debug_Attribute_Builder::validAttr (void)
+{
+ // @@ Not implemented. Always return 1 (true) for now.
+ return 1;
+}
+
+void
+ACEXML_Debug_Attribute_Builder::dump (void)
+{
+ cout << this->name_ << " ";
+
+ switch (this->type_)
+ {
+ case CDATA:
+ cout << "CDATA ";
+ break;
+ case ID:
+ cout << "ID ";
+ break;
+ case IDREF:
+ cout << "IDREF ";
+ break;
+ case IDREFS:
+ cout << "IDREFS ";
+ break;
+ case ENTITY:
+ cout << "ENTITY ";
+ break;
+ case ENTITIES:
+ cout << "ENTITIES ";
+ break;
+ case NMTOKEN:
+ cout << "NMTOKEN ";
+ break;
+ case NMTOKENS:
+ cout << "NMTOKENS ";
+ break;
+ case NOTATION:
+ cout << "NOTATION ";
+ // Fall thru
+ case ENUMERATION:
+ {
+ cout << "(";
+ ACEXML_STRING_QUEUE_ITERATOR iter (this->att_value_queue_);
+ ACEXML_String *n = 0;
+
+ while (iter.advance () != 0)
+ {
+ if (n == 0)
+ cout << " | ";
+ iter.next (n);
+ cout << *n;
+ }
+ cout << ") ";
+ }
+ break;
+ default:
+ cout << "*** UNKNOW TYPE ***";
+ break;
+ }
+
+ switch (this->default_decl_)
+ {
+ case REQUIRED:
+ cout << "#REQUIRED";
+ break;
+ case IMPLIED:
+ cout << "#IMPLIED";
+ break;
+ case FIXED:
+ cout << "#FIXED " << this->default_value_;
+ break;
+ default:
+ cout << "**** UNDEFINED DEFAULT DECL ****";
+ break;
+ }
+}
+// ========================================
+
+ACEXML_Debug_Attributes_Builder::ACEXML_Debug_Attributes_Builder ()
+{
+}
+
+ACEXML_Debug_Attributes_Builder::~ACEXML_Debug_Attributes_Builder ()
+{
+}
+
+int
+ACEXML_Debug_Attributes_Builder::setElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ this->element_name_.set (qName, 0);
+ return 0;
+}
+
+ACEXML_Attribute_Def_Builder *
+ACEXML_Debug_Attributes_Builder::getAttribute_Def_Builder ()
+{
+ ACEXML_Attribute_Def_Builder *tmp;
+
+ ACE_NEW_RETURN (tmp,
+ ACEXML_Debug_Attribute_Builder (),
+ 0);
+ return tmp;
+}
+
+int
+ACEXML_Debug_Attributes_Builder::insertAttribute (ACEXML_Attribute_Def_Builder *def,
+ ACEXML_Env &xmlenv)
+{
+ ACEXML_Attribute_Def_Builder::VAR ptr (def);
+
+ if (def != 0)
+ {
+ ACEXML_String attname (def->getName (), 0, 0);
+ ACEXML_Debug_Attribute_Builder *ptr =
+ ACE_dynamic_cast (ACEXML_Debug_Attribute_Builder *, def);
+ this->attributes_.bind (attname, *ptr);
+ return 0;
+ }
+ xmlenv.exception (new ACEXML_SAXParseException (ACE_LIB_TEXT("ACEXML_Debug_Attributes_Builder internal error")));
+ return -1;
+}
+
+void
+ACEXML_Debug_Attributes_Builder::dump (void)
+{
+ // @@ Print print.
+ cout << "<!ATTLIST " << this->element_name_ << endl;
+
+ ACEXML_ATT_MAP_ITER iter (this->attributes_);
+ ACEXML_ATT_MAP_ENTRY *item;
+
+ while (iter.advance () != 0)
+ {
+ iter.next (item);
+ cout << "\n\t";
+ item->int_id_.dump ();
+ }
+ cout << ">" << endl;
+}
diff --git a/ACEXML/parser/debug_validator/Debug_Attributes_Builder.h b/ACEXML/parser/debug_validator/Debug_Attributes_Builder.h
new file mode 100644
index 00000000000..b727e29e72f
--- /dev/null
+++ b/ACEXML/parser/debug_validator/Debug_Attributes_Builder.h
@@ -0,0 +1,170 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Debug_Attributes_Builder.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+#ifndef _ACEXML_DEBUG_ATTRIBUTES_BUILDER_H_
+#define _ACEXML_DEBUG_ATTRIBUTES_BUILDER_H_
+
+#include "common/Attributes_Def_Builder.h"
+#include "parser/debug_validator/Debug_DTD_Manager_Export.h"
+#include "ace/Hash_Map_Manager.h"
+#include "ace/Unbounded_Queue.h"
+
+typedef ACE_Unbounded_Queue<ACEXML_String> ACEXML_STRING_QUEUE;
+typedef ACE_Unbounded_Queue_Iterator<ACEXML_String> ACEXML_STRING_QUEUE_ITERATOR;
+
+/**
+ * @ class ACEXML_Debug_Attribute_Builder Debug_Attributes_Builder.h "parser/debug_validator/Debug_Attributes_Builder.h"
+ *
+ * This class prints out the Attribute definition for debugging purpose.
+ */
+class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Debug_Attribute_Builder
+ : public ACEXML_Attribute_Def_Builder
+{
+public:
+ ACEXML_Debug_Attribute_Builder ();
+
+ ACEXML_Debug_Attribute_Builder (const ACEXML_Debug_Attribute_Builder &rhs);
+
+ virtual ~ACEXML_Debug_Attribute_Builder ();
+
+ /**
+ * Specify the name of the attribute.
+ */
+ virtual int setName (const ACEXML_Char *n);
+ virtual const ACEXML_Char *getName (void);
+
+ /**
+ * Set the attribute type.
+ */
+ virtual int setAttType (const ATT_TYPE type,
+ ACEXML_Env &xmlenv)
+ // ACE_THORW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /**
+ * Insert an element for NOTATION or ENUMERATION type attribute.
+ */
+ virtual int insertList (const ACEXML_Char *Name,
+ ACEXML_Env &xmlenv)
+ // ACE_THORW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /**
+ * Set default attribute declaration.
+ */
+ virtual int setDefault (const DEFAULT_DECL def,
+ const ACEXML_Char *value,
+ ACEXML_Env &xmlenv)
+ // ACE_THORW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /**
+ * Check validity of the current attribute definition being built.
+ *
+ * @retval 0 if the attribute is not a valid combo.
+ */
+ virtual int validAttr (void);
+
+
+ /**
+ * Dump the content of the attribute definition.
+ */
+ virtual void dump (void);
+private:
+ /// Attribute name.
+ ACEXML_String name_;
+
+ /// Type of attribute.
+ ATT_TYPE type_;
+
+ /// Default value type.
+ DEFAULT_DECL default_decl_;
+
+ /// Default attribute value.
+ ACEXML_String default_value_;
+
+ /// Holds a queue of enumerated attribute values.
+ ACEXML_STRING_QUEUE att_value_queue_;
+};
+
+typedef ACE_Hash_Map_Entry<ACEXML_String,
+ ACEXML_Debug_Attribute_Builder> ACEXML_ATT_MAP_ENTRY;
+
+typedef ACE_Hash_Map_Manager_Ex <ACEXML_String,
+ ACEXML_Debug_Attribute_Builder,
+ ACE_Hash<ACEXML_String>,
+ ACE_Equal_To<ACEXML_String>,
+ ACE_Null_Mutex> ACEXML_ATT_MAP;
+
+typedef ACE_Hash_Map_Iterator_Ex<ACEXML_String,
+ ACEXML_Debug_Attribute_Builder,
+ ACE_Hash<ACEXML_String>,
+ ACE_Equal_To<ACEXML_String>,
+ ACE_Null_Mutex> ACEXML_ATT_MAP_ITER;
+
+typedef ACE_Hash_Map_Reverse_Iterator_Ex<ACEXML_String,
+ ACEXML_Debug_Attribute_Builder,
+ ACE_Hash<ACEXML_String>,
+ ACE_Equal_To<ACEXML_String>,
+ ACE_Null_Mutex> ACEXML_ATT_MAP_REVERSE_ITER;
+
+/**
+ * @ class ACEXML_Debug_Attributes_Builder Debug_Attributes_Builder.h "parser/debug_validator/Debug_Attributes_Builder.h"
+ *
+ * This class prints out Attribute definitions for debugging purpose.
+ */
+class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Debug_Attributes_Builder
+ : public ACEXML_Attributes_Def_Builder
+{
+public:
+ ACEXML_Debug_Attributes_Builder ();
+
+ virtual ~ACEXML_Debug_Attributes_Builder ();
+
+ /**
+ * Set the element name that the attribute builder applies.
+ *
+ * @retval 0 if valid, -1 otherwise.
+ */
+ virtual int setElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /**
+ * Acquire an Attribute_Builder.
+ */
+ virtual ACEXML_Attribute_Def_Builder *getAttribute_Def_Builder ();
+
+ /**
+ * Add a definition for one attribute.
+ */
+ virtual int insertAttribute (ACEXML_Attribute_Def_Builder *def,
+ ACEXML_Env &xmlenv);
+
+
+ /**
+ * Dump the content of the attribute definition.
+ */
+ virtual void dump (void);
+protected:
+ /// The name of the element type these attributes applied.
+ ACEXML_String element_name_;
+
+ /// Collection of attributes.
+ ACEXML_ATT_MAP attributes_;
+};
+
+
+
+#endif /* _ACEXML_DEBUG_ATTRIBUTES_BUILDER_H_ */
diff --git a/ACEXML/parser/debug_validator/Debug_DTD_Manager.cpp b/ACEXML/parser/debug_validator/Debug_DTD_Manager.cpp
new file mode 100644
index 00000000000..e38aecbffc4
--- /dev/null
+++ b/ACEXML/parser/debug_validator/Debug_DTD_Manager.cpp
@@ -0,0 +1,77 @@
+// -*- C++ -*- $Id$
+
+#include "common/SAXExceptions.h"
+#include "parser/debug_validator/Debug_DTD_Manager.h"
+#include "parser/debug_validator/Debug_Element_Builder.h"
+#include "parser/debug_validator/Debug_Attributes_Builder.h"
+
+ACEXML_Debug_DTD_Manager::ACEXML_Debug_DTD_Manager ()
+{
+
+}
+
+ACEXML_Debug_DTD_Manager::~ACEXML_Debug_DTD_Manager ()
+{
+
+}
+
+ACEXML_Element_Def_Builder *
+ACEXML_Debug_DTD_Manager::getElement_Def_Builder ()
+{
+ return new ACEXML_Debug_Element_Builder ();
+}
+
+int
+ACEXML_Debug_DTD_Manager::insertElement_Definition (ACEXML_Element_Def_Builder *def,
+ ACEXML_Env &xmlenv)
+{
+ ACEXML_Element_Def_Builder::VAR ptr (def);
+
+ if (def != 0)
+ {
+ ptr->dump ();
+ return 0;
+ }
+
+ xmlenv.exception (new ACEXML_SAXParseException (ACE_LIB_TEXT("ACEXML_Debug_Attributes_Builder internal error")));
+ return -1;
+}
+
+ACEXML_Attributes_Def_Builder *
+ACEXML_Debug_DTD_Manager::getAttribute_Def_Builder ()
+{
+ ACEXML_Attributes_Def_Builder *tmp;
+ ACE_NEW_RETURN (tmp,
+ ACEXML_Debug_Attributes_Builder (),
+ 0);
+ return tmp;
+}
+
+int
+ACEXML_Debug_DTD_Manager::insertAttributes_Definition (ACEXML_Attributes_Def_Builder *def,
+ ACEXML_Env &xmlenv)
+{
+ ACEXML_Attributes_Def_Builder::VAR ptr (def);
+ if (def != 0)
+ {
+ ptr->dump ();
+ return 0;
+ }
+
+ xmlenv.exception (new ACEXML_SAXParseException (ACE_LIB_TEXT("ACEXML_Debug_Attributes_Builder internal error")));
+ return -1;
+}
+
+ACEXML_Validator *
+ACEXML_Debug_DTD_Manager::getValidator (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv)
+{
+ ACE_UNUSED_ARG (namespaceURI);
+ ACE_UNUSED_ARG (localName);
+ ACE_UNUSED_ARG (qName);
+
+ xmlenv.exception (new ACEXML_SAXNotSupportedException ());
+ return 0;
+}
diff --git a/ACEXML/parser/debug_validator/Debug_DTD_Manager.h b/ACEXML/parser/debug_validator/Debug_DTD_Manager.h
new file mode 100644
index 00000000000..0e03740cc99
--- /dev/null
+++ b/ACEXML/parser/debug_validator/Debug_DTD_Manager.h
@@ -0,0 +1,71 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Debug_DTD_Manager.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+#ifndef _ACEXML_DEBUG_DTD_Manager_H_
+#define _ACEXML_DEBUG_DTD_Manager_H_
+
+#include "common/DTD_Manager.h"
+#include "parser/debug_validator/Debug_DTD_Manager_Export.h"
+
+class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Debug_DTD_Manager : public ACEXML_DTD_Manager
+{
+public:
+ ACEXML_Debug_DTD_Manager ();
+
+ virtual ~ACEXML_Debug_DTD_Manager ();
+
+ /**
+ * Acquire a pointer to an element definition builder.
+ * The XML parser use this interface to acquire the
+ * definition builder and use the builder to create
+ * the DTD element definition. The resulting builder
+ * is then registered with the DTD Manager or destroyed
+ * if error occured when the builder encountered errors.
+ *
+ * @retval 0 if error occurs creating the builder.
+ */
+ virtual ACEXML_Element_Def_Builder *getElement_Def_Builder ();
+
+ /**
+ * Insert a new element definition into the DTD Manager.
+ *
+ * @retval 0 if success, -1 if error.
+ */
+ virtual int insertElement_Definition (ACEXML_Element_Def_Builder *def,
+ ACEXML_Env &xmlenv);
+
+ /**
+ * Acquire a pointer to an attributes definition builder.
+ *
+ */
+ virtual ACEXML_Attributes_Def_Builder *getAttribute_Def_Builder ();
+
+ /**
+ * Insert a new attributes definition into the DTD Manager.
+ *
+ * @retval 0 if success, -1 otherwise.
+ */
+ virtual int insertAttributes_Definition (ACEXML_Attributes_Def_Builder *def,
+ ACEXML_Env &xmlenv);
+
+ /**
+ * Acquire an element validator to validate an XML element.
+ *
+ * @todo I haven't figured out what memory management scheme
+ * we should use for the acquired validator.
+ */
+ virtual ACEXML_Validator *getValidator (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv);
+};
+
+#endif /* _ACEXML_DTD_Manager_H_ */
diff --git a/ACEXML/parser/debug_validator/Debug_DTD_Manager_Export.h b/ACEXML/parser/debug_validator/Debug_DTD_Manager_Export.h
new file mode 100644
index 00000000000..b4cf1c8a536
--- /dev/null
+++ b/ACEXML/parser/debug_validator/Debug_DTD_Manager_Export.h
@@ -0,0 +1,38 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl -s ACEXML_DEBUG_DTD_MANAGER
+// ------------------------------
+#ifndef ACEXML_DEBUG_DTD_MANAGER_EXPORT_H
+#define ACEXML_DEBUG_DTD_MANAGER_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (ACEXML_DEBUG_DTD_MANAGER_HAS_DLL)
+# define ACEXML_DEBUG_DTD_MANAGER_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ACEXML_DEBUG_DTD_MANAGER_HAS_DLL */
+
+#if !defined (ACEXML_DEBUG_DTD_MANAGER_HAS_DLL)
+# define ACEXML_DEBUG_DTD_MANAGER_HAS_DLL 1
+#endif /* ! ACEXML_DEBUG_DTD_MANAGER_HAS_DLL */
+
+#if defined (ACEXML_DEBUG_DTD_MANAGER_HAS_DLL) && (ACEXML_DEBUG_DTD_MANAGER_HAS_DLL == 1)
+# if defined (ACEXML_DEBUG_DTD_MANAGER_BUILD_DLL)
+# define ACEXML_DEBUG_DTD_MANAGER_Export ACE_Proper_Export_Flag
+# define ACEXML_DEBUG_DTD_MANAGER_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ACEXML_DEBUG_DTD_MANAGER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* ACEXML_DEBUG_DTD_MANAGER_BUILD_DLL */
+# define ACEXML_DEBUG_DTD_MANAGER_Export ACE_Proper_Import_Flag
+# define ACEXML_DEBUG_DTD_MANAGER_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ACEXML_DEBUG_DTD_MANAGER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ACEXML_DEBUG_DTD_MANAGER_BUILD_DLL */
+#else /* ACEXML_DEBUG_DTD_MANAGER_HAS_DLL == 1 */
+# define ACEXML_DEBUG_DTD_MANAGER_Export
+# define ACEXML_DEBUG_DTD_MANAGER_SINGLETON_DECLARATION(T)
+# define ACEXML_DEBUG_DTD_MANAGER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ACEXML_DEBUG_DTD_MANAGER_HAS_DLL == 1 */
+
+#endif /* ACEXML_DEBUG_DTD_MANAGER_EXPORT_H */
+
+// End of auto generated file.
diff --git a/ACEXML/parser/debug_validator/Debug_Element_Builder.cpp b/ACEXML/parser/debug_validator/Debug_Element_Builder.cpp
new file mode 100644
index 00000000000..d0ead4e05a4
--- /dev/null
+++ b/ACEXML/parser/debug_validator/Debug_Element_Builder.cpp
@@ -0,0 +1,154 @@
+// $Id$
+
+#include "common/SAXExceptions.h"
+#include "parser/debug_validator/Debug_Element_Builder.h"
+
+ACEXML_Debug_Element_Builder::ACEXML_Debug_Element_Builder ()
+ : type_ (UNDEFINED),
+ root_ (0)
+{
+}
+
+ACEXML_Debug_Element_Builder::~ACEXML_Debug_Element_Builder ()
+{
+ delete this->root_;
+}
+
+int
+ACEXML_Debug_Element_Builder::setElementName (const ACEXML_Char *,
+ const ACEXML_Char *,
+ const ACEXML_Char *qName,
+ ACEXML_Env &)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ this->element_.set (qName, 0);
+ return 0;
+}
+
+int
+ACEXML_Debug_Element_Builder::setContentType (CONTENT_TYPE type,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (this->type_ == UNDEFINED)
+ {
+ this->type_ = type;
+ return 0;
+ }
+
+ xmlenv.exception (new ACEXML_SAXParseException (ACE_LIB_TEXT("Element type redefinition in Debug_Validator.")));
+ return -1;
+}
+
+int
+ACEXML_Debug_Element_Builder::insertMixedElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACEXML_Element_Tree_Name_Node *node;
+
+ // @@ We should "throw" an exception here instead of returning -1.
+ ACE_NEW_RETURN (node,
+ ACEXML_Element_Tree_Name_Node (qName),
+ -1);
+
+ if (this->root_ == 0)
+ // @@ Memory leak if fail?
+ ACE_NEW_RETURN (this->root_,
+ ACEXML_Element_Tree_List_Node (),
+ -1);
+
+
+ return this->root_->insert (node);
+}
+
+int
+ACEXML_Debug_Element_Builder::startChildGroup ()
+{
+ ACEXML_Element_Tree_List_Node *lnode;
+
+ ACE_NEW_RETURN (lnode,
+ ACEXML_Element_Tree_List_Node (),
+ -1);
+
+ if (this->root_ == 0)
+ {
+ this->root_ = lnode;
+ }
+ else
+ {
+ // @@ check error?
+ this->root_->insert (lnode);
+ }
+
+ this->active_list_.push (lnode);
+ return 0;
+}
+
+int
+ACEXML_Debug_Element_Builder::endChildGroup (CARDINALITY card,
+ ACEXML_Env &xmlenv)
+{
+ this->active_list_.pop ();
+ return 0;
+}
+
+int
+ACEXML_Debug_Element_Builder::setChoice ()
+{
+ this->active_list_.top ()->set (ACEXML_Element_Tree_List_Node::CHOICE);
+ return 0;
+}
+
+int
+ACEXML_Debug_Element_Builder::setSequence ()
+{
+ this->active_list_.top ()->set (ACEXML_Element_Tree_List_Node::SEQUENCE);
+ return 0;
+}
+
+int
+ACEXML_Debug_Element_Builder::insertElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACEXML_Element_Tree_Name_Node *node;
+
+ // @@ We should "throw" an exception here instead of returning -1.
+ ACE_NEW_RETURN (node,
+ ACEXML_Element_Tree_Name_Node (qName),
+ -1);
+
+ return this->active_list_.top ()->insert (node);
+}
+
+void
+ACEXML_Debug_Element_Builder::dump ()
+{
+ cout << "<!ELEMENT " << this->element_;
+
+ // @@ Also dump element contentspec here.
+ switch (this->type_)
+ {
+ case EMPTY:
+ cout << "EMPTY";
+ break;
+ case ANY:
+ cout << "ANY";
+ break;
+ case MIXED:
+ case CHILDREN:
+ // @@ Dump the content of this->root_
+ cout << "*** not implemented ***";
+ break;
+ default:
+ cout << "*** Unidentified element type ***";
+ break;
+ }
+
+ cout << ">" << endl;
+}
diff --git a/ACEXML/parser/debug_validator/Debug_Element_Builder.h b/ACEXML/parser/debug_validator/Debug_Element_Builder.h
new file mode 100644
index 00000000000..28f3864a5b1
--- /dev/null
+++ b/ACEXML/parser/debug_validator/Debug_Element_Builder.h
@@ -0,0 +1,123 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Debug_Element_Builder.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+#ifndef _ACEXML_DEBUG_ELEMENT_BUILDER_H_
+#define _ACEXML_DEBUG_ELEMENT_BUILDER_H_
+
+#include "common/Element_Def_Builder.h"
+#include "parser/debug_validator/Debug_DTD_Manager_Export.h"
+#include "parser/debug_validator/Element_Tree.h"
+
+/**
+ * @ class ACEXML_Debug_Element_Builder Debug_Element_Builder.h "parser/debug_validator/Debug_Element_Builder.h"
+ *
+ * This class prints out the element definition for debugging purpose.
+ *
+ * @todo This class is not namespace-aware.
+ */
+class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Debug_Element_Builder
+ : public ACEXML_Element_Def_Builder
+{
+public:
+ ACEXML_Debug_Element_Builder ();
+
+ virtual ~ACEXML_Debug_Element_Builder ();
+
+ /**
+ * Define the name of the element.
+ *
+ * @retval 0 if valid, -1 otherwise.
+ */
+ virtual int setElementName (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /**
+ * Define the content type of the element.
+ *
+ * @retval 0 if valid, -1 otherwise.
+ */
+ virtual int setContentType (CONTENT_TYPE type,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /**
+ * Insert one more element into Mixed definition.
+ */
+ virtual int insertMixedElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /**
+ * Start a new group of children.
+ */
+ virtual int startChildGroup ();
+
+ /**
+ * End a new group of children.
+ *
+ * @retval 0 on success.
+ */
+ virtual int endChildGroup (CARDINALITY card,
+ ACEXML_Env &xmlenv);
+
+ /**
+ * Set the type of current child group to Choice.
+ *
+ * @retval 0 on success, -1 if the type of the child group has
+ * already been set and this action conflicts with the previous
+ * setting.
+ */
+ virtual int setChoice ();
+
+ /**
+ * Set the type of current child group to Sequence.
+ *
+ * @retval 0 on success, -1 if the type of the child group has
+ * already been set and this action conflicts with the previous
+ * setting.
+ */
+ virtual int setSequence ();
+
+ /**
+ * Insert an new element into the current child group.
+ *
+ * @retval 0 on success, -1 otherwise.
+ */
+ virtual int insertElement (const ACEXML_Char *namespaceURI,
+ const ACEXML_Char *localName,
+ const ACEXML_Char *qName,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /**
+ * Dump the content of the attribute definition.
+ */
+ virtual void dump (void);
+private:
+ CONTENT_TYPE type_;
+
+ ACEXML_String element_;
+
+ ACEXML_Element_Tree_List_Node *root_;
+
+ ACEXML_Element_Tree_List_Stack active_list_;
+};
+
+#endif /* _ACEXML_DEBUG_ELEMENT_BUILDER_H_ */
diff --git a/ACEXML/parser/debug_validator/Debug_Validator.dsp b/ACEXML/parser/debug_validator/Debug_Validator.dsp
new file mode 100644
index 00000000000..82c34b7c67b
--- /dev/null
+++ b/ACEXML/parser/debug_validator/Debug_Validator.dsp
@@ -0,0 +1,143 @@
+# Microsoft Developer Studio Project File - Name="Debug_Validator" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=Debug_Validator - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Debug_Validator.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Debug_Validator.mak" CFG="Debug_Validator - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Debug_Validator - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "Debug_Validator - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Debug_Validator - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DEBUG_VALIDATOR_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\.." /I "..\.." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ACEXML_DEBUG_DTD_MANAGER_BUILD_DLL" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 ace.lib ACEXML.lib /nologo /dll /machine:I386 /out:"../../../bin/ACEXML_Debug_DTD_Manager.dll" /libpath:"../../../ace" /libpath:"../../Common"
+
+!ELSEIF "$(CFG)" == "Debug_Validator - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DEBUG_VALIDATOR_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "..\..\.." /I "..\.." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ACEXML_DEBUG_DTD_MANAGER_BUILD_DLL" /YX /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib ACEXMLd.lib /nologo /dll /debug /machine:I386 /out:"../../../bin/ACEXML_Debug_DTD_Managerd.dll" /pdbtype:sept /libpath:"../../../ace" /libpath:"../../Common"
+
+!ENDIF
+
+# Begin Target
+
+# Name "Debug_Validator - Win32 Release"
+# Name "Debug_Validator - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\Debug_Attributes_Builder.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Debug_DTD_Manager.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Debug_Element_Builder.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Element_Tree.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\Debug_Attributes_Builder.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Debug_DTD_Manager.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Debug_DTD_Manager_Export.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Debug_Element_Builder.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Element_Tree.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=.\Element_Tree.i
+# End Source File
+# End Target
+# End Project
diff --git a/ACEXML/parser/debug_validator/Element_Tree.cpp b/ACEXML/parser/debug_validator/Element_Tree.cpp
new file mode 100644
index 00000000000..19111032586
--- /dev/null
+++ b/ACEXML/parser/debug_validator/Element_Tree.cpp
@@ -0,0 +1,72 @@
+// $Id$
+
+#include "parser/debug_validator/Element_Tree.h"
+
+#if !defined (__ACEXML_INLINE__)
+# include "parser/debug_validator/Element_Tree.i"
+#endif /* __ACEXML_INLINE__ */
+
+ACEXML_Element_Tree_Node::~ACEXML_Element_Tree_Node ()
+{
+ delete this->next_;
+}
+
+ACE_ALLOC_HOOK_DEFINE (ACEXML_Element_Tree_Node)
+
+void
+ACEXML_Element_Tree_Name_Node::dump ()
+{
+ cout << this->name_;
+}
+
+ACE_ALLOC_HOOK_DEFINE (ACEXML_Element_Tree_Name_Node)
+
+ACEXML_Element_Tree_List_Node::~ACEXML_Element_Tree_List_Node (void)
+{
+ delete this->head_;
+}
+
+int
+ACEXML_Element_Tree_List_Node::insert (ACEXML_Element_Tree_Node *node)
+{
+ if (this->head_ == 0)
+ {
+ this->tail_ = this->head_ = node;
+ }
+ else
+ {
+ this->tail_->next (node);
+ this->tail_ = node;
+ }
+ return 0;
+}
+
+void
+ACEXML_Element_Tree_List_Node::dump (void)
+{
+ ACEXML_Element_Tree_Node *ptr = this->head_;
+ const ACEXML_Char *separator = (this->type_ == SEQUENCE) ? ACE_LIB_TEXT(" , ") : ACE_LIB_TEXT(" | ");
+
+ cout << "(";
+
+ if (ptr != 0)
+ {
+ ptr->dump ();
+ ptr = ptr->next ();
+
+ while (ptr != 0)
+ {
+ cout << separator;
+ ptr->dump ();
+ ptr->next ();
+ }
+ }
+
+ cout << ")";
+}
+
+ACE_ALLOC_HOOK_DEFINE (ACEXML_Element_Tree_List_Node)
+
+
+
+ACE_ALLOC_HOOK_DEFINE (ACEXML_Element_Tree_List_Stack)
diff --git a/ACEXML/parser/debug_validator/Element_Tree.h b/ACEXML/parser/debug_validator/Element_Tree.h
new file mode 100644
index 00000000000..8cfe49431fa
--- /dev/null
+++ b/ACEXML/parser/debug_validator/Element_Tree.h
@@ -0,0 +1,151 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Element_Tree.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+#ifndef _ACEXML_ELEMENT_TREE_H_
+#define _ACEXML_ELEMENT_TREE_H_
+
+#include "common/XML_Types.h"
+#include "parser/debug_validator/Debug_DTD_Manager_Export.h"
+
+/**
+ * @ class ACEXML_Element_Tree_Node Element_Tree.h "parser/debug_validator/Element_Tree.h"
+ *
+ * @brief An abstract base class for describing DTD child element definition.
+ *
+ * @sa ACEXML_Element_Tree_Name_Node, ACEXML_Element_Tree_List_Node
+ */
+class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Element_Tree_Node
+{
+public:
+
+ /// Default constructor.
+ ACEXML_Element_Tree_Node ();
+
+ /// Destructor
+ virtual ~ACEXML_Element_Tree_Node ();
+
+ /// Accessor for next element in chain
+ ACEXML_Element_Tree_Node *next ();
+ void next (ACEXML_Element_Tree_Node *n);
+
+ /// Displaying the content.
+ virtual void dump () = 0;
+
+ ACE_ALLOC_HOOK_DECLARE;
+
+protected:
+ ACEXML_Element_Tree_Node *next_;
+};
+
+/**
+ * @ class ACEXML_Element_Tree_Name_Node Element_Tree.h "parser/debug_validator/Element_Tree.h"
+ *
+ * @brief An abstract base class for describing a name node in a DTD
+ * child element definition.
+ *
+ * @sa ACEXML_Element_Tree_Node, ACEXML_Element_Tree_List_Node
+ */
+class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Element_Tree_Name_Node
+ : public ACEXML_Element_Tree_Node
+{
+public:
+ /// Constructor.
+ ACEXML_Element_Tree_Name_Node (const ACEXML_Char *name,
+ int release = 1);
+
+ /// Change the name of this node.
+ void set (const ACEXML_Char *name,
+ int release = 1);
+
+ virtual void dump ();
+
+ ACE_ALLOC_HOOK_DECLARE;
+protected:
+ ACEXML_String name_;
+};
+
+class ACEXML_Element_Tree_List_Stack;
+
+/**
+ * @ class ACEXML_Element_Tree_List_Node Element_Tree.h "parser/debug_validator/Element_Tree.h"
+ *
+ * @brief An abstract base class for describing a node list in
+ * a DTD child element definition.
+ *
+ * @sa ACEXML_Element_Tree_Node, ACEXML_Element_Tree_Name_Node
+ */
+class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Element_Tree_List_Node
+ : public ACEXML_Element_Tree_Node
+{
+public:
+ friend class ACEXML_Element_Tree_List_Stack;
+
+ typedef enum {
+ SEQUENCE,
+ CHOICE
+ } LIST_TYPE;
+
+ /// Default constructor.
+ ACEXML_Element_Tree_List_Node (void);
+
+ /// Destructor.
+ virtual ~ACEXML_Element_Tree_List_Node (void);
+
+ /// Insert a new ACEXML_Element_Tree_Node into the list.
+ int insert (ACEXML_Element_Tree_Node *node);
+
+ /// Get/set the type of list.
+ LIST_TYPE get (void);
+ int set (LIST_TYPE type);
+
+ virtual void dump ();
+
+ ACE_ALLOC_HOOK_DECLARE;
+protected:
+ LIST_TYPE type_;
+
+ ACEXML_Element_Tree_Node *head_;
+
+ ACEXML_Element_Tree_Node *tail_;
+
+ ACEXML_Element_Tree_List_Node *pop_next_;
+};
+
+/**
+ * @ class ACEXML_Element_Tree_List_Stack Element_Tree.h "parser/debug_validator/Element_Tree.h"
+ *
+ * @brief A class for managing a stack of ACEXML_Element_Tree_List_Node's.
+ *
+ * @sa ACEXML_Element_Tree_List_Node
+ */
+class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Element_Tree_List_Stack
+{
+public:
+ ACEXML_Element_Tree_List_Stack ();
+
+ void push (ACEXML_Element_Tree_List_Node *n);
+
+ ACEXML_Element_Tree_List_Node *pop (void);
+
+ ACEXML_Element_Tree_List_Node *top (void);
+
+ int empty (void);
+
+ ACE_ALLOC_HOOK_DECLARE;
+
+protected:
+ ACEXML_Element_Tree_List_Node *top_;
+};
+
+#if defined (__ACEXML_INLINE__)
+# include "parser/debug_validator/Element_Tree.i"
+#endif /* __ACEXML_INLINE__ */
+#endif /* _ACEXML_ELEMENT_TREE_H_ */
diff --git a/ACEXML/parser/debug_validator/Element_Tree.i b/ACEXML/parser/debug_validator/Element_Tree.i
new file mode 100644
index 00000000000..4b408835403
--- /dev/null
+++ b/ACEXML/parser/debug_validator/Element_Tree.i
@@ -0,0 +1,92 @@
+// $Id$
+
+ACEXML_INLINE
+ACEXML_Element_Tree_Node::ACEXML_Element_Tree_Node ()
+ : next_ (0)
+{
+}
+
+ACEXML_INLINE ACEXML_Element_Tree_Node *
+ACEXML_Element_Tree_Node::next ()
+{
+ return this->next_;
+}
+
+ACEXML_INLINE void
+ACEXML_Element_Tree_Node::next (ACEXML_Element_Tree_Node * n)
+{
+ this->next_ = n;
+}
+
+ACEXML_INLINE
+ACEXML_Element_Tree_Name_Node::ACEXML_Element_Tree_Name_Node (const ACEXML_Char *name,
+ int release)
+ : name_ (name, 0, release)
+{
+}
+
+ACEXML_INLINE void
+ACEXML_Element_Tree_Name_Node::set (const ACEXML_Char *name,
+ int release)
+{
+ this->name_.set (name, release);
+}
+
+ACEXML_INLINE
+ACEXML_Element_Tree_List_Node::ACEXML_Element_Tree_List_Node (void)
+ : type_ (SEQUENCE),
+ head_ (0),
+ tail_ (0),
+ pop_next_ (0)
+{
+}
+
+ACEXML_INLINE ACEXML_Element_Tree_List_Node::LIST_TYPE
+ACEXML_Element_Tree_List_Node::get (void)
+{
+ return this->type_;
+}
+
+ACEXML_INLINE int
+ACEXML_Element_Tree_List_Node::set (ACEXML_Element_Tree_List_Node::LIST_TYPE type)
+{
+ this->type_ = type;
+ return 0;
+}
+
+ACEXML_INLINE
+ACEXML_Element_Tree_List_Stack::ACEXML_Element_Tree_List_Stack (void)
+ : top_ (0)
+{
+}
+
+ACEXML_INLINE ACEXML_Element_Tree_List_Node *
+ACEXML_Element_Tree_List_Stack::top ()
+{
+ return this->top_;
+}
+
+ACEXML_INLINE void
+ACEXML_Element_Tree_List_Stack::push (ACEXML_Element_Tree_List_Node *n)
+{
+ n->pop_next_ = this->top_;
+ this->top_ = n;
+}
+
+ACEXML_INLINE ACEXML_Element_Tree_List_Node *
+ACEXML_Element_Tree_List_Stack::pop ()
+{
+ if (this->top_ != 0)
+ {
+ ACEXML_Element_Tree_List_Node *ptr = this->top_;
+ this->top_ = this->top_->pop_next_;
+ return ptr;
+ }
+ return 0;
+}
+
+ACEXML_INLINE int
+ACEXML_Element_Tree_List_Stack::empty ()
+{
+ return this->top_ == 0;
+}
diff --git a/ACEXML/parser/debug_validator/Makefile.bor b/ACEXML/parser/debug_validator/Makefile.bor
new file mode 100644
index 00000000000..08ee7c36e43
--- /dev/null
+++ b/ACEXML/parser/debug_validator/Makefile.bor
@@ -0,0 +1,22 @@
+# Makefile for building the debug_validator
+
+NAME = ACEXML_Debug_DTD_Manager
+
+OBJFILES = \
+ $(OBJDIR)\Debug_Attributes_Builder.obj \
+ $(OBJDIR)\Debug_DTD_Manager.obj \
+ $(OBJDIR)\Debug_Element_Builder.obj \
+ $(OBJDIR)\Element_Tree.obj
+
+CFLAGS = \
+ $(ACE_CFLAGS) \
+ $(ACE_XML_CFLAGS) \
+ -DACEXML_DEBUG_DTD_MANAGER_BUILD_DLL
+
+CPPDIR = .;..
+
+LIBFILES = \
+ $(ACE_LIB) \
+ $(ACE_XML_LIB)
+
+!include <$(ACE_ROOT)\include\makeinclude\build_core_library.bor>
diff --git a/ACEXML/parser/parser/Entity_Manager.cpp b/ACEXML/parser/parser/Entity_Manager.cpp
new file mode 100644
index 00000000000..59054a7411e
--- /dev/null
+++ b/ACEXML/parser/parser/Entity_Manager.cpp
@@ -0,0 +1,48 @@
+// $Id$
+
+#include "parser/parser/Entity_Manager.h"
+
+#if !defined (__ACEXML_INLINE__)
+# include "parser/parser/Entity_Manager.i"
+#endif /* __ACEXML_INLINE__ */
+
+static const ACEXML_Char amp_name[] = {'a', 'm', 'p', 0 };
+static const ACEXML_Char amp_value[] = {'&', 0};
+static const ACEXML_Char lt_name[] = {'l', 't', 0};
+static const ACEXML_Char lt_value[] = {'<', 0};
+static const ACEXML_Char gt_name[] = {'g', 't', 0};
+static const ACEXML_Char gt_value[] = {'>', 0};
+static const ACEXML_Char apos_name[] = {'a', 'p', 'o', 's', 0};
+static const ACEXML_Char apos_value[] = {'\'', 0};
+static const ACEXML_Char quot_name[] = {'q', 'u', 'o', 't', 0};
+static const ACEXML_Char quot_value[] = {'"', 0};
+
+ACEXML_Entity_Manager::ACEXML_Entity_Manager (void)
+ : entities_ ()
+{
+ // @@ No way to know if these bindings success or not.
+
+ ACEXML_String ampname (amp_name, 0, 0);
+ ACEXML_String ampvalue (amp_value, 0, 0);
+ this->entities_.bind (ampname, ampvalue);
+
+ ACEXML_String ltname (lt_name, 0, 0);
+ ACEXML_String ltvalue (lt_value, 0, 0);
+ this->entities_.bind (ltname, ltvalue);
+
+ ACEXML_String gtname (gt_name, 0, 0);
+ ACEXML_String gtvalue (gt_value, 0, 0);
+ this->entities_.bind (gtname, gtvalue);
+
+ ACEXML_String aposname (apos_name, 0, 0);
+ ACEXML_String aposvalue (apos_value, 0, 0);
+ this->entities_.bind (aposname, aposvalue);
+
+ ACEXML_String quotname (quot_name, 0, 0);
+ ACEXML_String quotvalue (quot_value, 0, 0);
+ this->entities_.bind (quotname, quotvalue);
+}
+
+ACEXML_Entity_Manager::~ACEXML_Entity_Manager (void)
+{
+}
diff --git a/ACEXML/parser/parser/Entity_Manager.h b/ACEXML/parser/parser/Entity_Manager.h
new file mode 100644
index 00000000000..205715e7a4e
--- /dev/null
+++ b/ACEXML/parser/parser/Entity_Manager.h
@@ -0,0 +1,71 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Entity_Manager.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef ACEXML_ENTITY_MANAGER_H
+#define ACEXML_ENTITY_MANAGER_H
+
+#include "common/XML_Types.h"
+#include "parser/parser/Parser_export.h"
+#include "ace/Hash_Map_Manager.h"
+
+typedef ACE_Hash_Map_Entry<ACEXML_String,
+ ACEXML_String> ACEXML_ENTITY_ENTRY;
+
+typedef ACE_Hash_Map_Manager_Ex<ACEXML_String,
+ ACEXML_String,
+ ACE_Hash<ACEXML_String>,
+ ACE_Equal_To<ACEXML_String>,
+ ACE_Null_Mutex> ACEXML_ENTITIES_MANAGER;
+
+typedef ACE_Hash_Map_Iterator_Ex<ACEXML_String,
+ ACEXML_String,
+ ACE_Hash<ACEXML_String>,
+ ACE_Equal_To<ACEXML_String>,
+ ACE_Null_Mutex> ACEXML_ENTITIES_MANAGER_ITER;
+
+typedef ACE_Hash_Map_Reverse_Iterator_Ex<ACEXML_String,
+ ACEXML_String,
+ ACE_Hash<ACEXML_String>,
+ ACE_Equal_To<ACEXML_String>,
+ ACE_Null_Mutex> ACEXML_ENTITIES_MANAGER_REVERSE_ITER;
+
+/**
+ * @class ACEXML_Entity_Manager Entity_Manager.h "parser/parser/Entity_Manager.h"
+ *
+ * @brief Class to manage and resolve entity references.
+ *
+ * @todo Fill in details for this class.
+ */
+class ACEXML_PARSER_Export ACEXML_Entity_Manager
+{
+public:
+ /// Default constructor.
+ ACEXML_Entity_Manager (void);
+
+ /// Destructor.
+ ~ACEXML_Entity_Manager (void);
+
+ /// Add a new entity declaration.
+ int add_entity (const ACEXML_Char *ref,
+ const ACEXML_Char *value);
+
+ /// Resolve an entity reference.
+ const ACEXML_String *resolve_entity (const ACEXML_Char *ref);
+
+private:
+ ACEXML_ENTITIES_MANAGER entities_;
+};
+
+#if defined (__ACEXML_INLINE__)
+# include "parser/parser/Entity_Manager.i"
+#endif /* __ACEXML_INLINE__ */
+#endif /* ACEXML_ENTITY_MANAGER_H */
diff --git a/ACEXML/parser/parser/Entity_Manager.i b/ACEXML/parser/parser/Entity_Manager.i
new file mode 100644
index 00000000000..696b82b64e4
--- /dev/null
+++ b/ACEXML/parser/parser/Entity_Manager.i
@@ -0,0 +1,21 @@
+// $Id$
+
+ACEXML_INLINE int
+ACEXML_Entity_Manager::add_entity (const ACEXML_Char *ref,
+ const ACEXML_Char *v)
+{
+ ACEXML_String name (ref, 0, 0);
+ ACEXML_String value (v, 0, 0);
+ return this->entities_.bind (name, value);
+}
+
+ACEXML_INLINE const ACEXML_String *
+ACEXML_Entity_Manager::resolve_entity (const ACEXML_Char *ref)
+{
+ ACEXML_ENTITY_ENTRY *entry;
+
+ if (this->entities_.find (ACEXML_String (ref, 0, 0),
+ entry) == 0)
+ return &entry->int_id_;
+ return 0;
+}
diff --git a/ACEXML/parser/parser/Makefile b/ACEXML/parser/parser/Makefile
new file mode 100644
index 00000000000..7eaddca72de
--- /dev/null
+++ b/ACEXML/parser/parser/Makefile
@@ -0,0 +1,40 @@
+#----------------------------------------------------------------------------
+# $Id$
+#
+# Makefile for the server-side ACE network services
+#----------------------------------------------------------------------------
+
+LIB = libACEXML_Parser.a
+SHLIB = libACEXML_Parser.$(SOEXT)
+
+FILES = Entity_Manager \
+ Parser
+
+DEFS = $(addsuffix .h,$(FILES))
+LSRC = $(addsuffix .cpp,$(FILES))
+
+LIBS += $(ACELIB)
+CCFLAGS += -I../..
+
+BUILD = $(VLIB) $(VSHLIB)
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
diff --git a/ACEXML/parser/parser/Makefile.bor b/ACEXML/parser/parser/Makefile.bor
new file mode 100644
index 00000000000..d9361e0108f
--- /dev/null
+++ b/ACEXML/parser/parser/Makefile.bor
@@ -0,0 +1,20 @@
+# Makefile for building the parser
+
+NAME = Parser
+
+OBJFILES = \
+ $(OBJDIR)\Parser.obj \
+ $(OBJDIR)\Entity_Manager.obj
+
+CFLAGS = \
+ $(ACE_CFLAGS) \
+ $(ACE_XML_CFLAGS) \
+ -DACEXML_PARSER_BUILD_DLL
+
+CPPDIR = .;..
+
+LIBFILES = \
+ $(ACE_LIB) \
+ $(ACE_XML_LIB)
+
+!include <$(ACE_ROOT)\include\makeinclude\build_core_library.bor>
diff --git a/ACEXML/parser/parser/Parser.cpp b/ACEXML/parser/parser/Parser.cpp
new file mode 100644
index 00000000000..d48ddaa2869
--- /dev/null
+++ b/ACEXML/parser/parser/Parser.cpp
@@ -0,0 +1,2094 @@
+// $Id$
+
+#include "parser/parser/Parser.h"
+#include "common/Transcode.h"
+#include "common/AttributesImpl.h"
+
+static const ACEXML_Char default_attribute_type[] = {'C', 'D', 'A', 'T', 'A', 0};
+static const ACEXML_Char empty_string[] = { 0 };
+
+const ACEXML_Char
+ACEXML_Parser::simple_parsing_name_[] = { 'S', 'i', 'm', 'p', 'l', 'e', 0 };
+
+#if !defined (__ACEXML_INLINE__)
+# include "parser/parser/Parser.i"
+#endif /* __ACEXML_INLINE__ */
+
+/***
+TO-DO:
+
+END-OF-LINE handling: x read quoted string
+ ignore whitespace
+ processing instruction
+ x element contents
+
+Figure out how to handle namespace here:
+and when to invoke start/endPrefixMapping?
+
+Make sure we are freezing the obstack in all cases.
+
+***/
+
+ACEXML_Parser::ACEXML_Parser (void)
+ : dtd_handler_ (0),
+ entity_resolver_ (0),
+ content_handler_ (0),
+ error_handler_ (0),
+ instream_ (0),
+ doctype_ (0),
+ dtd_system_ (0),
+ dtd_public_ (0),
+ simple_parsing_ (0)
+{
+}
+
+ACEXML_Parser::~ACEXML_Parser (void)
+{
+}
+
+int
+ACEXML_Parser::getFeature (const ACEXML_Char *name,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
+ // ACEXML_SAXNotSupportedException))
+{
+ if (ACE_OS_String::strcmp (name, ACEXML_Parser::simple_parsing_name_) == 0)
+ return this->simple_parsing_;
+
+ xmlenv.exception (new ACEXML_SAXNotRecognizedException ());
+ return -1;
+}
+
+void *
+ACEXML_Parser::getProperty (const ACEXML_Char *name,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
+ // ACEXML_SAXNotSupportedException))
+{
+ // @@ Not implemented.
+ ACE_UNUSED_ARG (name);
+
+ xmlenv.exception (new ACEXML_SAXNotSupportedException ());
+ return 0;
+}
+
+void
+ACEXML_Parser::setFeature (const ACEXML_Char *name,
+ int boolean_value,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
+ // ACEXML_SAXNotSupportedException))
+{
+ if (ACE_OS_String::strcmp (name, ACEXML_Parser::simple_parsing_name_) == 0)
+ this->simple_parsing_ = (boolean_value == 0 ? 0 : 1);
+
+ xmlenv.exception (new ACEXML_SAXNotRecognizedException ());
+}
+
+void
+ACEXML_Parser::setProperty (const ACEXML_Char *name,
+ void *value,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
+ // ACEXML_SAXNotSupportedException))
+{
+ // @@ Not implemented.
+ ACE_UNUSED_ARG (name);
+ ACE_UNUSED_ARG (value);
+
+ xmlenv.exception (new ACEXML_SAXNotSupportedException ());
+}
+
+
+void
+ACEXML_Parser::parse (ACEXML_InputSource *input,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (input == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXException
+ (ACE_LIB_TEXT ("No valid input source available")));
+ return;
+ }
+
+ // @@ Set up Locator.
+
+ if ((this->instream_ = input->getCharStream ()) == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXException
+ (ACE_LIB_TEXT ("No valid input source available")));
+ return;
+ }
+
+ if (this->simple_parsing_ == 0)
+ {
+ this->parse_xml_prolog (xmlenv);
+ ACEXML_CHECK;
+ }
+ // @@ Should startDocument come before or after parsing the DTD definition?
+ this->content_handler_->startDocument (xmlenv);
+ ACEXML_CHECK;
+
+ int doctype_defined = 0;
+
+ for (int prolog_done = 0; prolog_done == 0; )
+ {
+ if (this->skip_whitespace (0) != '<')
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting '<'")));
+ return;
+
+ }
+ ACEXML_Char fwd = this->peek ();
+ switch (fwd)
+ {
+ case '!':
+ this->get (); // consume the '!'
+ fwd = this->peek ();
+ if (fwd == 'D' && !doctype_defined) // DOCTYPE
+ {
+ // This will also take care of the trailing MISC block if any.
+ this->parse_doctypedecl (xmlenv);
+ ACEXML_CHECK;
+ doctype_defined = 1;
+ break;
+ }
+ else if (fwd == '-') // COMMENT
+ {
+ if (this->grok_comment () < 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Invalid comment")));
+ return;
+ }
+ }
+ else
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Duplicate DOCTYPE definitions")));
+ return;
+ }
+ break;
+ case '?':
+ this->parse_processing_instruction (xmlenv);
+ ACEXML_CHECK;
+ break;
+ case 0:
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Unexpected EOF")));
+ break;
+ default: // Root element begins
+ prolog_done = 1;
+ break;
+ }
+ }
+
+ // Now parse root element.
+ this->parse_element (1, xmlenv);
+ ACEXML_CHECK;
+
+ this->content_handler_->endDocument (xmlenv);
+ // ACEXML_CHECK;
+}
+
+void
+ACEXML_Parser::parse (const ACEXML_Char *systemId,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // @@ Not implemented.
+ ACE_UNUSED_ARG (systemId);
+
+ xmlenv.exception (new ACEXML_SAXNotSupportedException ());
+ return ;
+}
+
+
+ACEXML_Char
+ACEXML_Parser::skip_whitespace (ACEXML_Char **whitespace)
+{
+ ACEXML_Char ch = this->get ();
+
+ if (this->is_whitespace (ch) == 0)
+ {
+ if (whitespace != 0)
+ *whitespace = 0;
+ return ch;
+ }
+
+ do
+ {
+ if (whitespace != 0)
+ this->obstack_.grow (ch);
+ ch = this->get ();
+ }
+ while (this->is_whitespace (ch));
+
+ if (whitespace != 0)
+ *whitespace = this->obstack_.freeze ();
+
+ return ch;
+}
+
+int
+ACEXML_Parser::skip_whitespace_count (ACEXML_Char *peeky)
+{
+ int wscount = 0;
+ ACEXML_Char dummy;
+ ACEXML_Char &forward = (peeky == 0 ? dummy : *peeky);
+
+ for (;this->is_whitespace ((forward = this->peek ())); ++wscount)
+ this->get ();
+
+ return wscount;
+}
+
+void
+ACEXML_Parser::parse_xml_prolog (ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (this->get () != '<' ||
+ this->get () != '?' ||
+ this->get () != 'x' ||
+ this->get () != 'm' ||
+ this->get () != 'l')
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Unrecognized XML Decl")));
+ return;
+ }
+
+ ACEXML_Char *astring;
+
+ if (this->skip_whitespace (0) != 'v' || // Discard whitespace
+ this->get () != 'e' ||
+ this->get () != 'r' ||
+ this->get () != 's' ||
+ this->get () != 'i' ||
+ this->get () != 'o' ||
+ this->get () != 'n' ||
+ this->skip_equal () != 0 ||
+ this->get_quoted_string (astring) != 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Unrecognized XML Decl")));
+ return;
+ }
+
+ // @@ Handle version number here.
+
+ int xmldecl_state = 0;
+ int seen_encoding = 0;
+
+ while (1)
+ {
+ ACEXML_Char fwd = this->peek ();
+ if (fwd != '?')
+ {
+ fwd = this->skip_whitespace (0); // Discard whitespace
+ if (fwd == '?')
+ {
+ // Do nothing. Fall down to consume the '?'
+ // and wrap up the XML Decl parsing.
+ }
+ else if (xmldecl_state == 0 && fwd == 'e')
+ {
+ if (this->get () == 'n' &&
+ this->get () == 'c' &&
+ this->get () == 'o' &&
+ this->get () == 'd' &&
+ this->get () == 'i' &&
+ this->get () == 'n' &&
+ this->get () == 'g' &&
+ this->skip_equal () == 0 &&
+ this->get_quoted_string (astring) == 0)
+ {
+ if (seen_encoding)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Duplicate encoding defined")));
+ return;
+ }
+ else
+ seen_encoding = 1;
+ // @@ Handle encoding here. We don't handle
+ // various encodings for this parser.
+
+ continue;
+ }
+ else
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Unrecognized XML Decl")));
+ return;
+ }
+ }
+ else if (xmldecl_state < 2 && fwd == 's')
+ {
+ if (this->get () == 't' &&
+ this->get () == 'a' &&
+ this->get () == 'n' &&
+ this->get () == 'd' &&
+ this->get () == 'a' &&
+ this->get () == 'l' &&
+ this->get () == 'o' &&
+ this->get () == 'n' &&
+ this->get () == 'g' &&
+ this->skip_equal () == 0 &&
+ this->get_quoted_string (astring) == 0)
+ {
+ xmldecl_state = 2;
+ if (ACE_OS::strcmp (astring, ACE_LIB_TEXT ("yes")) == 0)
+ {
+ // @@ This is a standalone XML file.
+ continue;
+ }
+ else if (ACE_OS::strcmp (astring, ACE_LIB_TEXT ("no")) == 0)
+ {
+ // @@ This is not a stand alone XML file.
+ continue;
+ }
+ }
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Unrecognized XML Decl")));
+ return;
+ }
+ else
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Unrecognized XML Decl")));
+ return;
+ }
+ }
+
+
+ this->get (); // consume '?'
+
+ if (this->get() != '>')
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Unrecognized XML Decl")));
+ return;
+ }
+ return;
+ }
+ // End parsing XML Decl.
+}
+
+int
+ACEXML_Parser::grok_comment (void)
+{
+ /// Simply filter out all the comment
+ int state = 0;
+
+ if (this->get () != '-' || // Skip the opening "<!--"
+ this->get () != '-' || // completely.
+ this->get () == '-') // and at least something not '-'.
+ return -1;
+
+ while (state < 3) // Waiting for the trailing three
+ // character '-->'. Notice that
+ // according to the spec, '--->'
+ // is not a valid closing comment
+ // sequence. But we'll let it pass
+ // anyway.
+ {
+ ACEXML_Char fwd = this->get ();
+ if ((fwd == '-' && state < 2) ||
+ (fwd == '>' && state == 2))
+ state += 1;
+ else
+ state = 0; // Reset parse state.
+ }
+ return 0;
+}
+
+ACEXML_Char *
+ACEXML_Parser::read_name (ACEXML_Char ch)
+{
+ if (ch == 0)
+ {
+ ch = this->get ();
+
+ if (this->is_whitespace (ch))
+ // No white space is allowed here.
+ return 0;
+ }
+ else if (this->is_nonname (ch))
+ return 0;
+
+ while (1)
+ {
+ this->obstack_.grow (ch);
+ ch = this->peek ();
+ if (this->is_nonname (ch))
+ break;
+ ch = this->get ();
+ };
+
+ return this->obstack_.freeze ();
+}
+
+int
+ACEXML_Parser::parse_processing_instruction (ACEXML_Env &xmlenv)
+{
+ if (this->get () != '?')
+ { // How did we get here?
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Internal error")));
+ return -1;
+ }
+ const ACEXML_Char *pitarget = this->read_name ();
+ ACEXML_Char *instruction = 0;
+
+ if (ACE_OS_String::strcasecmp (ACE_LIB_TEXT ("xml"), pitarget) != 0)
+ { // Invalid PITarget name.
+ xmlenv.exception
+ (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("PITarget name cannot start with 'xml'")));
+ return -1;
+ }
+
+ int state = 0;
+ ACEXML_Char ch = this->skip_whitespace (0);
+
+ while (state < 2)
+ {
+ switch (ch)
+ {
+ case '?':
+ if (state == 0)
+ state = 1;
+ break;
+ case '>':
+ if (state == 1)
+ {
+ instruction = this->obstack_.freeze ();
+ this->content_handler_->processingInstruction (pitarget,
+ instruction,
+ xmlenv);
+ ACEXML_CHECK_RETURN (-1);
+ return 0;
+ }
+ break;
+ case 0x0D: // End-of-Line handling
+ ch = (this->peek () == 0x0A ? this->get () : 0x0A);
+ // Fall thru...
+ default:
+ if (state == 1)
+ this->obstack_.grow ('?');
+ this->obstack_.grow (ch);
+ state = 0;
+ }
+ ch = this->get ();
+ }
+ return -1;
+}
+
+int
+ACEXML_Parser::parse_doctypedecl (ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ if (this->get () != 'D' ||
+ this->get () != 'O' ||
+ this->get () != 'C' ||
+ this->get () != 'T' ||
+ this->get () != 'Y' ||
+ this->get () != 'P' ||
+ this->get () != 'E')
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting keyword 'DOCTYPE'")));
+ return -1;
+ }
+
+ ACEXML_Char nextch = this->skip_whitespace (0);
+ if (nextch == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting a DOCTYPE name")));
+ return -1;
+ }
+
+ this->doctype_ = this->read_name (nextch);
+
+ this->skip_whitespace_count (&nextch);
+
+ if (nextch == 'S' || nextch == 'P') // ExternalID defined
+ {
+ this->parse_external_id_and_ref (this->dtd_public_,
+ this->dtd_system_,
+ xmlenv);
+ if (xmlenv.exception () != 0)
+ return -1;
+ else if (this->dtd_public_ == 0)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("ACEXML Parser got external DTD id: SYSTEM %s\n"),
+ this->dtd_system_));
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("==> ACEXML Parser got DTD external id: PUBLIC %s %s\n"),
+ this->dtd_public_, this->dtd_system_));
+ }
+
+ nextch = this->skip_whitespace (0);
+ switch (nextch)
+ {
+ case '[': // Internal DTD definitionl
+ if (this->parse_internal_dtd (xmlenv) < 0)
+ return -1; // Error in markupdecl
+ break;
+ case '>': // End of DTD definition
+ // this is an XML document without a dectypedecl.
+ return 0;
+ case '0':
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Unexpected EOF")));
+ return -1;
+ default:
+ break;
+ }
+
+ if (this->skip_whitespace (0) != '>')
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Internal error")));
+ return -1;
+ }
+ return 0;
+}
+
+void
+ACEXML_Parser::parse_element (int is_root, ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ // Parse STag.
+
+ const ACEXML_Char *startname = this->read_name ();
+
+ if (startname == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Unexpected EOF")));
+ return;
+ }
+
+ if (is_root &&
+ this->doctype_ != 0 &&
+ ACE_OS_String::strcmp (startname, this->doctype_) != 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Root element missing.")));
+ return;
+ }
+
+ const ACEXML_Char *endname = 0;
+ ACEXML_AttributesImpl attributes;
+ ACEXML_Char ch;
+ int new_namespace = 0;
+ const ACEXML_Char *ns_uri, *ns_lname; // namespace URI and localName
+
+ for (int start_element_done = 0; start_element_done == 0;)
+ {
+ ch = this->skip_whitespace (0);
+
+ switch (ch)
+ {
+ case 0:
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Internal error")));
+ return;
+
+ case '/':
+ if (this->get () != '>')
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expectint '>'")));
+ return;
+ }
+ else
+ {
+ this->xml_namespace_.processName (startname, ns_uri, ns_lname, 0);
+ this->content_handler_->startElement (ns_uri,
+ ns_lname,
+ startname,
+ &attributes,
+ xmlenv);
+ ACEXML_CHECK;
+ this->content_handler_->endElement (ns_uri, ns_lname, startname, xmlenv);
+ ACEXML_CHECK;
+ }
+ if (new_namespace != 0)
+ this->xml_namespace_.popContext ();
+ return;
+
+ case '>':
+ this->xml_namespace_.processName (startname, ns_uri, ns_lname, 0);
+ this->content_handler_->startElement (ns_uri,
+ ns_lname,
+ startname,
+ &attributes,
+ xmlenv);
+ ACEXML_CHECK;
+ start_element_done = 1;
+ break;
+ default:
+ {
+ ACEXML_Char *attvalue = 0;
+ ACEXML_Char *attname = this->read_name (ch);
+
+ if (attname == 0 ||
+ this->skip_equal () != 0 ||
+ this->get_quoted_string (attvalue) != 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Error reading attribute")));
+ return;
+ }
+
+ // Handling new namespace if any. Notice that the order of namespace
+ // declaration does matter.
+ if (attname[0] == 'x' &&
+ attname[1] == 'm' &&
+ attname[2] == 'l' &&
+ attname[3] == 'n' &&
+ attname[4] == 's')
+ {
+ if (new_namespace == 0)
+ {
+ this->xml_namespace_.pushContext ();
+ new_namespace = 1;
+ }
+
+ ACE_Tokenizer ns_att (attname);
+ ns_att.delimiter_replace (':', 0);
+ ACEXML_Char *xmlns_prefix, *ns_name;
+
+ xmlns_prefix = ns_att.next ();
+ ns_name = ns_att.next ();
+
+ // @@ xmlns_prefix is not used now.
+ ACE_UNUSED_ARG (xmlns_prefix);
+ if (ns_name == 0)
+ {
+ // @@ Check return value?
+ this->xml_namespace_.declarePrefix (empty_string,
+ attvalue);
+ }
+ else
+ {
+ // @@ Check return value?
+ this->xml_namespace_.declarePrefix (ns_name,
+ attvalue);
+ }
+ }
+ else
+ {
+ const ACEXML_Char *uri, *lName;
+ this->xml_namespace_.processName (attname, uri, lName, 1);
+
+ attributes.addAttribute (uri,
+ lName,
+ attname,
+ default_attribute_type,
+ attvalue);
+ }
+ }
+ break;
+ }
+ }
+
+ ACEXML_Char *cdata;
+ size_t cdata_length = 0;
+
+ // Parse element contents.
+ while (1)
+ {
+ ch = this->get ();
+
+ switch (ch)
+ {
+ case 0:
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Internal error")));
+ return;
+
+ case '<':
+ // Push out old 'characters' event.
+ if (cdata_length != 0)
+ {
+ cdata = this->obstack_.freeze ();
+ this->content_handler_->characters (cdata,
+ 0,
+ cdata_length,
+ xmlenv);
+ ACEXML_CHECK;
+ cdata_length = 0;
+ }
+
+ switch (this->peek ())
+ {
+ case '!': // a comment or a CDATA section.
+ this->get (); // consume '!'
+ ch = this->peek ();
+ if (ch == '-') // a comment
+ {
+ if (this->grok_comment () < 0)
+ {
+ xmlenv.exception
+ (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Error parsing comment")));
+ return ;
+ }
+ }
+ else if (ch == '[') // a CDATA section.
+ {
+ this->parse_cdata (xmlenv);
+ ACEXML_CHECK;
+ }
+ else
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Unexpected character")));
+ return;
+ }
+ break;
+ case '?': // a PI.
+ this->parse_processing_instruction (xmlenv);
+ ACEXML_CHECK;
+ break;
+ case '/': // an ETag.
+ this->get (); // consume '/'
+ endname = this->read_name ();
+ if (endname == 0 ||
+ ACE_OS_String::strcmp (startname, endname) != 0)
+ {
+ xmlenv.exception
+ (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Mismatched End-tag encountered")));
+ return ;
+ }
+ if (this->skip_whitespace (0) != '>')
+ {
+ xmlenv.exception
+ (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting '>' in an end-tag")));
+ return;
+ }
+ this->content_handler_->endElement (ns_uri,
+ ns_lname,
+ endname,
+ xmlenv);
+ ACEXML_CHECK;
+
+ if (new_namespace != 0)
+ this->xml_namespace_.popContext ();
+ return;
+
+ default: // a new nested element?
+ this->parse_element (0, xmlenv);
+ ACEXML_CHECK;
+ break;
+ }
+ break;
+ case '&':
+ {
+ const ACEXML_String *replace = 0;
+ ACEXML_String charval;
+ ACEXML_Char buffer[6];
+
+ if (this->peek () == '#')
+ {
+ if (this->parse_char_reference (buffer, 6) != 0)
+ {
+ // not referring to any character exception?
+ return;
+ }
+ charval.set (buffer, 0);
+ replace = &charval;
+ }
+ else
+ replace = this->parse_reference ();
+
+ if (replace == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Internal Error?")));
+ return;
+ }
+ if (this->try_grow_cdata (replace->length (), cdata_length, xmlenv) == 0)
+ {
+ cdata_length = replace->length ();
+ for (size_t i = 0; i < replace->length (); ++i)
+ this->obstack_.grow ((*replace)[i]);
+ }
+ else
+ return;
+ }
+ break;
+ case 0x0D: // End-of-Line handling
+ ch = (this->peek () == 0x0A ? this->get () : 0x0A);
+ // Fall thru...
+ default:
+ ++cdata_length;
+ cdata = this->obstack_.grow (ch);
+ if (cdata == 0)
+ {
+ cdata = this->obstack_.freeze ();
+ this->content_handler_->characters (cdata,
+ 0,
+ cdata_length,
+ xmlenv);
+ ACEXML_CHECK;
+ this->obstack_.grow (ch);
+ cdata_length = 1; // the missing char.
+ }
+ }
+ }
+
+}
+
+int
+ACEXML_Parser::parse_char_reference (ACEXML_Char *buf, size_t len)
+{
+ if (this->get () != '#')
+ {
+ // Internal error.
+ return -1;
+ }
+
+ int hex = 0;
+
+ if (this->peek () == 'x')
+ {
+ hex = 1;
+ this->get ();
+ }
+
+ int more_digit = 0;
+ ACEXML_UCS4 sum = 0;
+
+ while (1)
+ {
+ ACEXML_Char ch = this->get ();
+ switch (ch)
+ {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ sum = sum * (hex ? 16 : 10) + (ch - '0');
+ break;
+ case 'a':
+ case 'A':
+ if (!hex)
+ return -1;
+ sum = sum * 16 + 10;
+ break;
+ case 'b':
+ case 'B':
+ if (!hex)
+ return -1;
+ sum = sum * 16 + 11;
+ break;
+ case 'c':
+ case 'C':
+ if (!hex)
+ return -1;
+ sum = sum * 16 + 12;
+ break;
+ case 'd':
+ case 'D':
+ if (!hex)
+ return -1;
+ sum = sum * 16 + 13;
+ break;
+ case 'e':
+ case 'E':
+ if (!hex)
+ return -1;
+ sum = sum * 16 + 14;
+ break;
+ case 'f':
+ case 'F':
+ if (!hex)
+ return -1;
+ sum = sum * 16 + 15;
+ break;
+ case ';':
+ if (more_digit == 0) // no digit exist???
+ return -1;
+ int clen;
+#if defined (ACE_USES_WCHAR) // UTF-16
+ if ((clen = ACEXML_Transcoder::ucs42utf16 (sum, buf, len)) < 0)
+ return -1;
+
+#elif 1 // or UTF-8
+ if ((clen = ACEXML_Transcoder::ucs42utf8 (sum, buf, len)) < 0)
+ return -1;
+#elif 0 // UCS 4, not likely
+ buf [0] = sum;
+ buf [1] = 0;
+#endif
+ buf [clen] = 0;
+ return 0;
+ default:
+ return -1;
+ }
+ more_digit = 1;
+ }
+ ACE_NOTREACHED (return -1;)
+}
+
+const ACEXML_String *
+ACEXML_Parser::parse_reference (void)
+{
+ // @@ We'll use a temporary buffer here as the Obstack are most likely
+ // be in use when we come here. This put a limit on the max length of
+ // a reference.
+ ACEXML_Char ref[MAXPATHLEN];
+
+ size_t loc = 0;
+
+ while (loc < MAXPATHLEN -1)
+ {
+ ACEXML_Char ch = this->get ();
+ if (ch == ';')
+ {
+ ref[loc] = 0;
+ break;
+ }
+ else
+ ref[loc++] = ch;
+ }
+
+ return this->entities_.resolve_entity (ref);
+}
+
+int
+ACEXML_Parser::parse_cdata (ACEXML_Env &xmlenv)
+{
+ if (this->get () != '[' ||
+ this->get () != 'C' ||
+ this->get () != 'D' ||
+ this->get () != 'A' ||
+ this->get () != 'T' ||
+ this->get () != 'A' ||
+ this->get () != '[')
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("'[CDATA[' expected")));
+ return -1;
+ }
+
+ int parse_state = 0;
+ size_t datalen = 0;
+
+ while (1)
+ {
+ ACEXML_Char ch;
+ ACEXML_Char *cdata;
+
+ ch = this->get ();
+ // Anything goes except the sequence "]]>".
+ switch (parse_state)
+ {
+ case 2:
+ if (ch == ']')
+ {
+ parse_state = 3;
+ continue;
+ }
+ break;
+ case 3:
+ if (ch == '>') // Yay!
+ {
+ cdata = this->obstack_.freeze ();
+ this->content_handler_->characters (cdata,
+ 0,
+ datalen,
+ xmlenv);
+ // ACEXML_CHECK_RETURN (-1);
+ return 0;
+ }
+ break;
+ default:
+ if (ch == ']')
+ {
+ parse_state = 2;
+ continue;
+ }
+ else
+ parse_state = 1;
+ }
+ while (parse_state > 0)
+ {
+ if (this->try_grow_cdata (1, datalen, xmlenv) < 0)
+ return -1;
+
+ if (parse_state != 1)
+ this->obstack_.grow (']');
+ else
+ {
+ if (ch == 0x0D)
+ ch = (this->peek () == 0x0A ? this->get () : 0x0A);
+ this->obstack_.grow (ch);
+ }
+ ++datalen;
+ --parse_state;
+ }
+ };
+ ACE_NOTREACHED (return -1);
+}
+
+int
+ACEXML_Parser::try_grow_cdata (size_t size, size_t &len, ACEXML_Env &xmlenv)
+{
+ if (this->obstack_.request (size) != 0)
+ {
+ if (len != 0)
+ {
+ ACEXML_Char *cdata = this->obstack_.freeze ();
+ if (cdata == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Internal Error growing CDATA buffer")));
+ return -1;
+ }
+ this->content_handler_->characters (cdata,
+ 0,
+ len,
+ xmlenv);
+ ACEXML_CHECK_RETURN (-1);
+ len = 0; // reset counter
+ if (this->obstack_.request (size) == 0)
+ return 0;
+ }
+
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Internal error, buffer overflowed")));
+ return -1;
+ }
+ return 0;
+}
+
+int
+ACEXML_Parser::skip_equal (void)
+{
+ if (this->skip_whitespace (0) != '=')
+ return -1;
+
+ while (this->is_whitespace (this->peek ()))
+ this->get ();
+ return 0;
+}
+
+int
+ACEXML_Parser::get_quoted_string (ACEXML_Char *&str)
+{
+ ACEXML_Char quote = this->get ();
+ if (quote != '\'' && quote != '"') // Not a quoted string found.
+ return -1;
+
+ while (1)
+ {
+ ACEXML_Char ch = this->get ();
+
+ // @@ Deoes not handle buffer overflow yet.
+ if (ch == quote)
+ {
+ str = this->obstack_.freeze ();
+ return 0;
+ }
+
+ const ACEXML_String *replace = 0;
+ ACEXML_String charval;
+ ACEXML_Char buffer[6];
+ size_t i = 0;
+
+ switch (ch)
+ {
+ case '&':
+
+ if (this->peek () == '#')
+ {
+ if (this->parse_char_reference (buffer, 6) != 0)
+ {
+ // xmlenv.exception (new ACEXML_SAXParseException
+ //(ACE_LIB_TEXT ("CharRef does not resolves to a valid character")));
+ return -1;
+ }
+ charval.set (buffer, 0);
+ replace = &charval;
+ }
+ else
+ replace = this->parse_reference ();
+
+ if (replace == 0)
+ {
+ // xmlenv.exception (new ACEXML_SAXParseException
+ // (ACE_LIB_TEXT ("Undefined reference")));
+ return -1;
+ }
+ for (i = 0; i < replace->length (); ++i)
+ this->obstack_.grow ((*replace)[i]);
+ // handle reference here.
+ break;
+ case 0x0D: // End-of-Line handling
+ ch = (this->peek () == 0x0A ? this->get () : 0x0A);
+ // Fall thru...
+ default:
+ this->obstack_.grow (ch);
+ break;
+ }
+ }
+}
+
+int
+ACEXML_Parser::parse_internal_dtd (ACEXML_Env &xmlenv)
+{
+ ACEXML_Char nextch = this->skip_whitespace (0);
+
+ do {
+ switch (nextch)
+ {
+ case '<': // Start of markup Decl.
+ nextch = this->peek ();
+ switch (nextch)
+ {
+ case '!':
+ this->get (); // Discard '!'
+ nextch = this->peek ();
+ switch (nextch)
+ {
+ case 'E': // An ELEMENT or ENTITY decl
+ this->get ();
+ nextch = this->peek ();
+ switch (nextch)
+ {
+ case 'L':
+ if (this->parse_element_decl (xmlenv) < 0)
+ return -1;
+ break;
+
+ case 'N':
+ if (this->parse_entity_decl (xmlenv) < 0)
+ return -1;
+ break;
+
+ default:
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Invalid keyword in decl spec")));
+ return -1;
+ }
+ break;
+
+ case 'A': // An ATTLIST decl
+ if (this->parse_attlist_decl (xmlenv) < 0)
+ return -1;
+ break;
+
+ case 'N': // A NOTATION decl
+ if (this->parse_notation_decl (xmlenv) < 0)
+ return -1;
+ break;
+
+ case '-': // a comment.
+ if (this->grok_comment () < 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Error parsing comment")));
+ return -1;
+ }
+ break;
+ case 0:
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Unexpected EOF")));
+ return -1;
+ default:
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Invalid char. follows '<!' in markupdecl")));
+ return -1;
+ }
+ break;
+
+ case '?': // PI
+ this->parse_processing_instruction (xmlenv);
+ ACEXML_CHECK_RETURN (-1);
+ break;
+
+ case 0:
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Unexpected EOF")));
+ return -1;
+
+ default:
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Invalid char. follow '<' in markupdecl")));
+ return -1;
+ }
+ break;
+
+ case '%': // DeclSep. Define new PEreference...
+ break;
+
+ case ']': // End of internal definitions.
+ return 0; // Not applicable when parsing external DTD spec.
+
+ case 0: // This may not be an error if we decide
+ // to generalize this function to handle both
+ // internal and external DTD definitions.
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Unexpected EOF")));
+ return -1;
+
+ default:
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting markupdecl or DecSep")));
+ return -1;
+ };
+
+ // To fully conform with the spec., whitespaces are only allowed
+ // following a 'DeclSep' section. However, I found it
+ // hard/impossible to eliminate all the whitespaces between
+ // markupdecls.
+
+ nextch = this->skip_whitespace (0);
+
+ } while (1);
+
+ ACE_NOTREACHED (return -1;)
+}
+
+int
+ACEXML_Parser::parse_element_decl (ACEXML_Env &xmlenv)
+{
+ if (this->get () != 'L' ||
+ this->get () != 'E' ||
+ this->get () != 'M' ||
+ this->get () != 'E' ||
+ this->get () != 'N' ||
+ this->get () != 'T' ||
+ this->skip_whitespace_count () == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting keyword `ELEMENT'")));
+ return -1;
+ }
+
+ ACEXML_Char *element_name = this->read_name ();
+ if (element_name == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Error reading element name while defining ELEMENT.")));
+ return -1;
+ }
+
+ ACEXML_Char nextch ;
+ this->skip_whitespace_count (&nextch);
+
+ switch (nextch)
+ {
+ case 'E': // EMPTY
+ if (this->get () != 'E' ||
+ this->get () != 'M' ||
+ this->get () != 'P' ||
+ this->get () != 'T' ||
+ this->get () != 'Y')
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting keyword `EMPTY' in ELEMENT definition.")));
+ return -1;
+ }
+ break;
+ case 'A': // ANY
+ if (this->get () != 'A' ||
+ this->get () != 'N' ||
+ this->get () != 'Y')
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting keyword `ANY' in ELEMENT definition.")));
+ return -1;
+ }
+ break;
+ case '(': // children
+ this->parse_children_definition (xmlenv);
+ if (xmlenv.exception () != 0)
+ return -1;
+ break;
+ default: // error
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Error reading ELEMENT definition.")));
+ return -1;
+ }
+ if (this->skip_whitespace (0) != '>')
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting '>' in ELEMENT definition.")));
+ return -1;
+ }
+ return 0;
+}
+
+int
+ACEXML_Parser::parse_entity_decl (ACEXML_Env &xmlenv)
+{
+ ACEXML_Char nextch;
+
+ if (this->get () != 'N' ||
+ this->get () != 'T' ||
+ this->get () != 'I' ||
+ this->get () != 'T' ||
+ this->get () != 'Y' ||
+ this->skip_whitespace_count (&nextch) == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting keyword `ENTITY'")));
+ return -1;
+ }
+
+ int is_GEDecl = 1;
+ if (nextch == '%') // This is a PEDecl.
+ {
+ is_GEDecl = 0;
+ this->get (); // consume the '%'
+ if (this->skip_whitespace_count (&nextch) == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Can't use a reference when defining entity name")));
+ return -1;
+ }
+ }
+
+ ACEXML_Char *entity_name = this->read_name ();
+ if (entity_name == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Error reading ENTITY name.")));
+ return -1;
+ }
+
+ this->skip_whitespace_count (&nextch);
+
+ if (nextch == '\'' || nextch == '"')
+ {
+ ACEXML_Char *entity_value = 0;
+
+ if (this->get_quoted_string (entity_value) != 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Error reading ENTITY value.")));
+ return -1;
+ }
+
+ if (is_GEDecl)
+ {
+ if (this->entities_.add_entity (entity_name, entity_value) != 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Error storing entity definition (duplicate definition?)")));
+ return -1;
+ }
+ }
+ else
+ {
+ // @@ need to implement PEdecl lookup mechanism
+ xmlenv.exception (new ACEXML_SAXNotSupportedException ());
+ return -1;
+ }
+ }
+ else
+ {
+ ACEXML_Char *systemid, *publicid;
+
+ this->parse_external_id_and_ref (publicid, systemid, xmlenv);
+ if (xmlenv.exception () != 0)
+ return -1;
+
+ if (systemid == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Invalid ExternalID definition (system ID missing.)")));
+ return -1;
+ }
+
+ this->skip_whitespace_count (&nextch);
+ if (nextch == 'N') // NDATA section followed
+ {
+ if (is_GEDecl == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Unexpecting keyword NDATA in PEDecl.")));
+ return -1;
+ }
+
+ if (this->get () != 'N' ||
+ this->get () != 'D' ||
+ this->get () != 'A' ||
+ this->get () != 'T' ||
+ this->get () != 'A' ||
+ this->skip_whitespace_count (&nextch) == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting keyword NDATA.")));
+ return -1;
+ }
+
+ ACEXML_Char *ndata = this->read_name ();
+ this->dtd_handler_->unparsedEntityDecl (entity_name,
+ publicid,
+ systemid,
+ ndata,
+ xmlenv);
+ if (xmlenv.exception () != 0)
+ return -1;
+ }
+ else
+ {
+ // @@ Need to support external CharStream sources
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("ENTITY: (%s) "),
+ entity_name));
+
+ if (publicid == 0)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("SYSTEM %s\n"),
+ systemid));
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("PUBLIC %s %s\n"),
+ publicid, systemid));
+ }
+ }
+
+ // End of ENTITY definition
+ if (this->skip_whitespace (0) != '>')
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting end of ENTITY definition.")));
+ return -1;
+ }
+ return 0;
+}
+
+int
+ACEXML_Parser::parse_attlist_decl (ACEXML_Env &xmlenv)
+{
+ if (this->get () != 'A' ||
+ this->get () != 'T' ||
+ this->get () != 'T' ||
+ this->get () != 'L' ||
+ this->get () != 'I' ||
+ this->get () != 'S' ||
+ this->get () != 'T' ||
+ this->skip_whitespace_count () == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting keyword `ATTLIST'")));
+ return -1;
+ }
+
+ ACEXML_Char *element_name = this->read_name ();
+ if (element_name == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Error reading element name while defining ATTLIST.")));
+ return -1;
+ }
+
+ ACEXML_Char nextch = this->skip_whitespace (0);
+
+ // Parse AttDef*
+ while (nextch != '>')
+ {
+ // Parse attribute name
+ ACEXML_Char *att_name = this->read_name (nextch);
+ if (att_name == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Error reading attribute name while defining ATTLIST.")));
+ return -1;
+ }
+
+ /*
+ Parse AttType:
+ Possible keywords:
+ CDATA // StringType
+ ID // TokenizedType
+ IDREF
+ IDREFS
+ ENTITY
+ ENTITIES
+ NMTOKEN
+ NMTOKENS
+ NOTATION // EnumeratedType - NotationTYpe
+ ( // EnumeratedType - Enumeration
+ */
+ nextch = this->skip_whitespace (0);
+ switch (nextch)
+ {
+ case 'C': // CDATA
+ if (this->get () != 'D' ||
+ this->get () != 'A' ||
+ this->get () != 'T' ||
+ this->get () != 'A' ||
+ this->skip_whitespace_count () == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting keyword `CDATA' while defining ATTLIST.")));
+ return -1;
+ }
+ // Else, we have successfully identified the type of the attribute as CDATA
+ // @@ Set up validator appropriately here.
+ break;
+ case 'I': // ID, IDREF, or, IDREFS
+ if (this->get () == 'D')
+ {
+ if (this->skip_whitespace_count (&nextch) > 0)
+ {
+ // We have successfully identified the type of the attribute as ID
+ // @@ Set up validator as such.
+ break;
+ }
+ if (this->get () == 'R' &&
+ this->get () == 'E' &&
+ this->get () == 'F')
+ {
+ if (this->skip_whitespace_count (&nextch) > 0)
+ {
+ // We have successfully identified the type of
+ // the attribute as IDREF
+ // @@ Set up validator as such.
+ break;
+ }
+ else if (nextch == 'S' &&
+ this->get () && // consume the 'S'
+ this->skip_whitespace_count () != 0)
+ {
+ // We have successfully identified the type of
+ // the attribute as IDREFS
+ // @@ Set up validator as such.
+ break;
+ }
+ }
+ }
+ // Admittedly, this error message is not precise enough
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting keyword `ID', `IDREF', or `IDREFS' while defining ATTLIST.")));
+ return -1;
+ case 'E': // ENTITY or ENTITIES
+ if (this->get () == 'N' &&
+ this->get () == 'T' &&
+ this->get () == 'I' &&
+ this->get () == 'T')
+ {
+ nextch = this->get ();
+ if (nextch == 'Y')
+ {
+ // We have successfully identified the type of
+ // the attribute as ENTITY
+ // @@ Set up validator as such.
+ }
+ else if (nextch == 'I'&&
+ this->get () == 'E' &&
+ this->get () == 'S')
+ {
+ // We have successfully identified the type of
+ // the attribute as ENTITIES
+ // @@ Set up validator as such.
+ }
+ if (this->skip_whitespace_count () > 0)
+ {
+ // success
+ break;
+ }
+ }
+ // Admittedly, this error message is not precise enough
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting keyword `ENTITY', or `ENTITIES' while defining ATTLIST.")));
+ return -1;
+ case 'N': // NMTOKEN, NMTOKENS, or, NOTATION
+ nextch = this->get ();
+ if (nextch != 'M' || nextch != 'O')
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting keyword `NMTOKEN', `NMTOKENS', or `NOTATION' while defining ATTLIST.")));
+ return -1;
+ }
+ if (nextch == 'M')
+ {
+ if (this->get () == 'T' &&
+ this->get () == 'O' &&
+ this->get () == 'K' &&
+ this->get () == 'E' &&
+ this->get () == 'N')
+ {
+ if (this->skip_whitespace_count (&nextch) > 0)
+ {
+ // We have successfully identified the type of
+ // the attribute as NMTOKEN
+ // @@ Set up validator as such.
+ break;
+ }
+ else if (nextch == 'S' && this->skip_whitespace_count () > 0)
+ {
+ // We have successfully identified the type of
+ // the attribute as NMTOKENS
+ // @@ Set up validator as such.
+ break;
+ }
+ }
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting keyword `NMTOKEN' or `NMTOKENS' while defining ATTLIST.")));
+ return -1;
+ }
+ else // NOTATION
+ {
+ if (this->get () != 'T' ||
+ this->get () != 'A' ||
+ this->get () != 'T' ||
+ this->get () != 'I' ||
+ this->get () != 'O' ||
+ this->get () != 'N' ||
+ this->skip_whitespace_count () == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting keyword `NOTATION' while defining ATTLIST.")));
+ return -1;
+ }
+
+ if (this->get () != '(')
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting `(' following NOTATION while defining ATTLIST.")));
+ return -1;
+ }
+
+ this->skip_whitespace_count ();
+
+ do {
+ ACEXML_Char *notation_name = this->read_name ();
+ if (notation_name == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Error reading NOTATION name while defining ATTLIST.")));
+ return -1;
+ }
+ // @@ get another notation name, set up validator as such
+ this->skip_whitespace_count (&nextch);
+ } while (nextch != ')');
+
+ this->get (); // consume the closing paren.
+ this->skip_whitespace_count ();
+ }
+ break;
+ case '(': // EnumeratedType - Enumeration
+ this->skip_whitespace_count ();
+
+ do {
+ ACEXML_Char *token_name = this->read_name (); // @@ need a special read_nmtoken?
+ if (token_name == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Error reading enumerated nmtoken name while defining ATTLIST.")));
+ return -1;
+ }
+ // @@ get another nmtoken, set up validator as such
+ this->skip_whitespace_count (&nextch);
+ } while (nextch != ')');
+
+ this->get (); // consume the closing paren.
+ this->skip_whitespace_count ();
+ break;
+ default:
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Invalid Attribute Type while defining ATTLIST.")));
+ return -1;
+ }
+ ACE_NOTREACHED (break;)
+ }
+
+ /*
+ Parse DefaultDecl:
+ #REQUIRED
+ #IMPLIED
+ #FIXED
+ quoted string // #FIXED
+ */
+ nextch = this->peek ();
+ switch (nextch)
+ {
+ case '#':
+ this->get (); // consume the '#'
+ switch (this->get ())
+ {
+ case 'R':
+ if (this->get () != 'E' ||
+ this->get () != 'Q' ||
+ this->get () != 'U' ||
+ this->get () != 'I' ||
+ this->get () != 'R' ||
+ this->get () != 'E' ||
+ this->get () != 'D')
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting keyword `#REQUIRED' while defining ATTLIST.")));
+ return -1;
+ }
+ // We now know this attribute is required
+ // @@ Set up the validator as such.
+ break;
+ case 'I':
+ if (this->get () != 'M' ||
+ this->get () != 'P' ||
+ this->get () != 'L' ||
+ this->get () != 'I' ||
+ this->get () != 'E' ||
+ this->get () != 'D')
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting keyword `#IMPLIED' while defining ATTLIST.")));
+ return -1;
+ }
+ // We now know this attribute is impleid.
+ // @@ Set up the validator as such.
+ break;
+ case 'F':
+ if (this->get () != 'I' ||
+ this->get () != 'X' ||
+ this->get () != 'E' ||
+ this->get () != 'D' ||
+ this->skip_whitespace_count () == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting keyword `#FIXED' while defining ATTLIST.")));
+ return -1;
+ }
+ // We now know this attribute is fixed.
+
+ ACEXML_Char *fixed_attr;
+ if (this->get_quoted_string (fixed_attr) != 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Error parsing `#FIXED' attribute value while defining ATTLIST.")));
+ return -1;
+ }
+ // @@ set up validator
+ break;
+ default:
+ break;
+ }
+ break;
+ case '\'':
+ case '"':
+ ACEXML_Char *fixed_attr;
+ if (this->get_quoted_string (fixed_attr) != 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Error parsing `#FIXED' attribute value while defining ATTLIST.")));
+ return -1;
+ }
+ // @@ set up validator
+ break;
+ default:
+ break;
+ }
+ this->skip_whitespace_count (&nextch);
+ };
+
+ this->get (); // consume closing '>'
+
+ return 0;
+}
+
+int
+ACEXML_Parser::parse_notation_decl (ACEXML_Env &xmlenv)
+{
+ if (this->get () != 'N' ||
+ this->get () != 'O' ||
+ this->get () != 'T' ||
+ this->get () != 'A' ||
+ this->get () != 'T' ||
+ this->get () != 'I' ||
+ this->get () != 'O' ||
+ this->get () != 'N' ||
+ this->skip_whitespace_count () == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting keyword `NOTATION'")));
+ return -1;
+ }
+
+ ACEXML_Char *notation = this->read_name ();
+ if (notation == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Invalid notation name.")));
+ return -1;
+ }
+
+ this->skip_whitespace_count ();
+ ACEXML_Char *systemid, *publicid;
+
+ this->parse_external_id_and_ref (publicid, systemid, xmlenv);
+ if (xmlenv.exception () != 0)
+ return -1;
+
+ if (this->get () != '>')
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting NOTATION closing '>'.")));
+ return -1;
+ }
+
+ this->dtd_handler_->notationDecl (notation,
+ publicid,
+ systemid,
+ xmlenv);
+ if (xmlenv.exception () != 0)
+ return -1;
+
+ return 0;
+}
+
+int
+ACEXML_Parser::parse_external_id_and_ref (ACEXML_Char *&publicId,
+ ACEXML_Char *&systemId,
+ ACEXML_Env &xmlenv)
+{
+ publicId = systemId = 0;
+ ACEXML_Char nextch = this->get ();
+
+ switch (nextch)
+ {
+ case 'S': // External SYSTEM id.
+ if (this->get () != 'Y' ||
+ this->get () != 'S' ||
+ this->get () != 'T' ||
+ this->get () != 'E' ||
+ this->get () != 'M' ||
+ this->skip_whitespace_count () == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting keyword 'SYSTEM'")));
+ return -1;
+ }
+ if (this->get_quoted_string (systemId) != 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Error while parsing SYSTEM literal for SYSTEM id.")));
+ return -1;
+ }
+ break;
+ case 'P': // External PUBLIC id or previously defined PUBLIC id.
+ if (this->get () != 'U' ||
+ this->get () != 'B' ||
+ this->get () != 'L' ||
+ this->get () != 'I' ||
+ this->get () != 'C' ||
+ this->skip_whitespace_count () == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting keyword 'PUBLIC'")));
+ return -1;
+ }
+ if (this->get_quoted_string (publicId) != 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Error while parsing public literal for PUBLIC id.")));
+ return -1;
+ }
+
+ this->skip_whitespace_count (&nextch);
+ if (nextch == '\'' || nextch == '"') // not end of NOTATION yet.
+ {
+ if (this->get_quoted_string (systemId) != 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Error while parsing system literal for PUBLIC id.")));
+ return -1;
+ }
+ }
+ break;
+ default:
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting either keyword `SYSTEM' or `PUBLIC'.")));
+ return -1;
+ }
+ return 0;
+}
+
+int
+ACEXML_Parser::parse_children_definition (ACEXML_Env &xmlenv)
+{
+ this->get (); // consume the '('
+
+ ACEXML_Char nextch;
+ int subelement_number = 0;
+ this->skip_whitespace_count (&nextch);
+
+ switch (nextch)
+ {
+ case '#': // Mixed element,
+ if (this->get () != '#' ||
+ this->get () != 'P' ||
+ this->get () != 'C' ||
+ this->get () != 'D' ||
+ this->get () != 'A' ||
+ this->get () != 'T' ||
+ this->get () != 'A')
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting keyword `#PCDATA' while defining an element.")));
+ return -1;
+ }
+
+ this->skip_whitespace_count (&nextch);
+
+ while (nextch != ')')
+ {
+ if (this->get () != '|')
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting end of Mixed section while defining an element.")));
+ return -1;
+ }
+ this->skip_whitespace_count ();
+
+ ACEXML_Char *name = this->read_name ();
+ // @@ name will be used in the Validator later.
+ ACE_UNUSED_ARG (name);
+ ++subelement_number;
+ // @@ Install Mixed element name into the validator.
+ this->skip_whitespace_count (&nextch);
+ }
+
+ if (this->get () != ')' ||
+ (subelement_number && this->get () != '*'))
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting closing `)*' or ')' while defining an element.")));
+ return -1;
+ }
+ // @@ close the element definition in the validator.
+ break;
+ default:
+ if (this->parse_child (1, xmlenv) != 0 ||
+ xmlenv.exception () != 0)
+ return -1;
+ }
+
+ return 0;
+}
+
+int
+ACEXML_Parser::parse_child (int skip_open_paren,
+ ACEXML_Env &xmlenv)
+{
+ // Conditionally consume the open paren.
+ if (skip_open_paren == 0 &&
+ this->get () != '(')
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting opening `(' while defining an element.")));
+ return -1;
+ }
+
+ ACEXML_Char node_type = 0;
+ ACEXML_Char nextch;
+
+ do {
+ this->skip_whitespace_count (&nextch);
+ switch (nextch)
+ {
+ case '(':
+ this->parse_child (0, xmlenv);
+ if (xmlenv.exception () != 0)
+ return -1;
+ break;
+ default:
+ // must be an element name here.
+ ACEXML_Char *subelement = this->read_name ();
+ if (subelement == 0)
+ {
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Error reading sub-element name while defining an element.")));
+ return -1;
+ }
+ // @@ Inform validator of the new element here.
+ break;
+ }
+
+ this->skip_whitespace_count (&nextch);
+ switch (nextch)
+ {
+ case '|':
+ switch (node_type)
+ {
+ case 0:
+ node_type = '|';
+ // @@ inform validator of this new type??
+ break;
+ case '|':
+ break;
+ default:
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting `,', `|', or `)' while defining an element.")));
+ return -1;
+ }
+ break;
+ case ',':
+ switch (node_type)
+ {
+ case 0:
+ node_type = ',';
+ // @@ inform validator of this new type??
+ break;
+ case ',':
+ break;
+ default:
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting `,', `|', or `)'while defining an element.")));
+ return -1;
+ }
+ case ')':
+ break;
+ default:
+ xmlenv.exception (new ACEXML_SAXParseException
+ (ACE_LIB_TEXT ("Expecting `,', `|', or `)' while defining an element.")));
+ return -1;
+ }
+ this->get (); // consume , | or )
+ } while (nextch != ')');
+
+ // Check for trailing '?', '*', '+'
+ nextch = this->peek ();
+ switch (nextch)
+ {
+ case '?':
+ // @@ Consume the character and inform validator as such,
+ this->get ();
+ break;
+ case '*':
+ // @@ Consume the character and inform validator as such,
+ this->get ();
+ break;
+ case '+':
+ // @@ Consume the character and inform validator as such,
+ this->get ();
+ break;
+ default:
+ break; // not much to do.
+ }
+
+ return 0;
+}
diff --git a/ACEXML/parser/parser/Parser.dsp b/ACEXML/parser/parser/Parser.dsp
new file mode 100644
index 00000000000..dc6d6c6560a
--- /dev/null
+++ b/ACEXML/parser/parser/Parser.dsp
@@ -0,0 +1,123 @@
+# Microsoft Developer Studio Project File - Name="ACEXML_Parser" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=ACEXML_Parser - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Parser.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Parser.mak" CFG="ACEXML_Parser - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "ACEXML_Parser - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "ACEXML_Parser - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "ACEXML_Parser - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ACEXML_PARSER_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\.." /I "..\.." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ACEXML_PARSER_BUILD_DLL" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 ace.lib ACEXML.lib /nologo /dll /machine:I386 /out:"../../../bin/ACEXML_Parser.dll" /libpath:"../../../ace" /libpath:"../../Common"
+
+!ELSEIF "$(CFG)" == "ACEXML_Parser - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ACEXML_PARSER_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\.." /I "..\.." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ACEXML_PARSER_BUILD_DLL" /YX /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib ACEXMLd.lib /nologo /dll /debug /machine:I386 /out:"../../../bin/ACEXML_Parserd.dll" /pdbtype:sept /libpath:"../../../ace" /libpath:"../../Common"
+
+!ENDIF
+
+# Begin Target
+
+# Name "ACEXML_Parser - Win32 Release"
+# Name "ACEXML_Parser - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\Entity_Manager.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Parser.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\Entity_Manager.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Parser.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Parser_export.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/ACEXML/parser/parser/Parser.dsw b/ACEXML/parser/parser/Parser.dsw
new file mode 100644
index 00000000000..c2e1b8458e6
--- /dev/null
+++ b/ACEXML/parser/parser/Parser.dsw
@@ -0,0 +1,28 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "Parser"=.\Parser.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
diff --git a/ACEXML/parser/parser/Parser.h b/ACEXML/parser/parser/Parser.h
new file mode 100644
index 00000000000..df19607e160
--- /dev/null
+++ b/ACEXML/parser/parser/Parser.h
@@ -0,0 +1,469 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Parser.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef _ACEXML_BASIC_PARSER_H_
+#define _ACEXML_BASIC_PARSER_H_
+
+#include "common/XMLReader.h"
+#include "common/LocatorImpl.h"
+#include "common/NamespaceSupport.h"
+#include "common/CharStream.h"
+#include "parser/parser/Parser_export.h"
+#include "ace/Obstack.h"
+#include "ace/Functor.h"
+#include "ace/SString.h"
+#include "ace/Hash_Map_Manager.h"
+#include "ace/Containers_T.h"
+#include "parser/parser/Entity_Manager.h"
+
+/**
+ * @class ACEXML_Parser Parser.h "parser/parser/Parser.h"
+ *
+ * @brief A SAX based parser.
+ *
+ */
+class ACEXML_PARSER_Export ACEXML_Parser : public ACEXML_XMLReader
+{
+public:
+ /// Default constructor.
+ ACEXML_Parser (void);
+
+ /// Destructor.
+ virtual ~ACEXML_Parser (void);
+
+ /*
+ * Return the current content handler.
+ */
+ virtual ACEXML_ContentHandler *getContentHandler (void) const;
+
+ /*
+ * Return the current DTD handler.
+ */
+ virtual ACEXML_DTDHandler *getDTDHandler (void) const;
+
+ /*
+ * Return the current entity resolver.
+ */
+ virtual ACEXML_EntityResolver *getEntityResolver (void) const;
+
+ /*
+ * Return the current error handler.
+ */
+ virtual ACEXML_ErrorHandler *getErrorHandler (void) const;
+
+ /**
+ * Look up the value of a feature. This method allows
+ * programmers to check whether a specific feature has been
+ * activated in the parser.
+ */
+ virtual int getFeature (const ACEXML_Char *name,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
+ // ACEXML_SAXNotSupportedException))
+ ;
+
+ /*
+ * Look up the value of a property.
+ */
+ virtual void * getProperty (const ACEXML_Char *name,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
+ // ACEXML_SAXNotSupportedException))
+ ;
+
+ /*
+ * Parse an XML document.
+ */
+ virtual void parse (ACEXML_InputSource *input,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Parse an XML document from a system identifier (URI).
+ */
+ virtual void parse (const ACEXML_Char *systemId,
+ ACEXML_Env &xmlenv)
+ // @@ throw IOException???
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /*
+ * Allow an application to register a content event handler.
+ */
+ virtual void setContentHandler (ACEXML_ContentHandler *handler);
+
+ /*
+ * Allow an application to register a DTD event handler.
+ */
+ virtual void setDTDHandler (ACEXML_DTDHandler *handler);
+
+ /*
+ * Allow an application to register an entity resolver.
+ */
+ virtual void setEntityResolver (ACEXML_EntityResolver *resolver);
+
+ /*
+ * Allow an application to register an error event handler.
+ */
+ virtual void setErrorHandler (ACEXML_ErrorHandler *handler);
+
+ /**
+ * Activating or deactivating a feature.
+ */
+ virtual void setFeature (const ACEXML_Char *name,
+ int boolean_value,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
+ // ACEXML_SAXNotSupportedException))
+ ;
+
+ /*
+ * Set the value of a property.
+ */
+ virtual void setProperty (const ACEXML_Char *name,
+ void *value,
+ ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
+ // ACEXML_SAXNotSupportedException))
+ ;
+
+ // *** Helper functions for parsing XML
+
+ /**
+ * Skip any whitespaces encounter until the first non-whitespace
+ * character is encountered and consumed from the current input
+ * CharStream.
+ *
+ * @param whitespace Return a pointer to the string of skipped
+ * whitespace after proper conversion. Null if there's no
+ * whitespace found.
+ *
+ * @retval The first none-white space characters (which will be
+ * consumed from the CharStream.) If no whitespace is found, it
+ * will return 0.
+ *
+ * @sa skip_whitespace_count
+ */
+ ACEXML_Char skip_whitespace (ACEXML_Char **whitespace);
+
+ /**
+ * Skip any whitespaces encounter until the first non-whitespace
+ * character. The first non-whitespace character is not consumed.
+ * This method does peek into the input CharStream and therefore
+ * is more expensive than @ref skip_whitespace.
+ *
+ * @param peek If non-null, @a peek points to a ACEXML_Char where
+ * skip_whitespace_count store the first non-whitespace
+ * character it sees (character is not removed from the stream.)
+ *
+ * @retval The number of whitespace characters consumed.
+ *
+ * @sa skip_whitespace
+ */
+ int skip_whitespace_count (ACEXML_Char *peek = 0);
+
+ /**
+ * Check if a character @a c is a whitespace.
+ *
+ * @retval 1 if @a c is a valid white space character. 0 otherwise.
+ */
+ int is_whitespace (ACEXML_Char c);
+
+ /**
+ * Check if a character @a c is a whitespace or '='.
+ *
+ * @retval 1 if true, 0 otherwise.
+ */
+ int is_whitespace_or_equal (ACEXML_Char c);
+
+ /**
+ * Check if a character @a c is a valid character for nonterminal NAME.
+ *
+ * @retval 1 if true, 0 otherwise.
+ */
+ int is_nonname (ACEXML_Char c);
+
+ /**
+ * Skip an equal sign.
+ *
+ * @retval 0 when succeeds, -1 if no equal sign is found.
+ */
+ int skip_equal (void);
+
+ /**
+ * Get a quoted string. Quoted strings are used to specify
+ * attribute values and this routine will replace character and
+ * entity references on-the-fly. Parameter entities are not allowed
+ * (or replaced) in this function. (But regular entities are.)
+ *
+ * @param str returns the un-quoted string.
+ *
+ * @retval 0 on success, -1 otherwise.
+ */
+ int get_quoted_string (ACEXML_Char *&str);
+
+ /**
+ * Parse a PI statement. The first character encountered
+ * should always be '?' in the PI prefix "@<?".
+ *
+ * @retval 0 on success, -1 otherwise.
+ */
+ int parse_processing_instruction (ACEXML_Env &xmlenv);
+
+ /**
+ * Skip over a comment. The first character encountered
+ * should always be the first '-' in the comment prefix
+ * "@<@!--".
+ */
+ int grok_comment ();
+
+ /**
+ * Read a name from the input CharStream (until white space).
+ * If @a ch @!= 0, then we have already consumed the first name
+ * character from the input CharStream, otherwise, read_name
+ * will use this->get() to acquire the initial character.
+ *
+ * @retval A pointer to the string in the obstack, 0 if it's not
+ * a valid name.
+ */
+ ACEXML_Char *read_name (ACEXML_Char ch = 0);
+
+ /**
+ * Parse the DOCTYPE declaration. The first character encountered
+ * should always be 'D' in doctype prefix: "@<@!DOCTYPE".
+ */
+ int parse_doctypedecl (ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /**
+ * Parse an XML element. The first character encountered should
+ * be the first character of the element "Name".
+ *
+ * @param is_root If not 0, then we are expecting to see the "root"
+ * element now, and the next element's name need to match the name
+ * defined in DOCTYPE definition, i.e., @a this->doctype_.
+ *
+ * @todo Instead of simply checking for the root element based on the
+ * argument @a is_root, we should instead either pass in some sort
+ * of validator or allow the function to return the element name so it
+ * can be used in a validator.
+ */
+ void parse_element (int is_root, ACEXML_Env &xmlenv)
+ // ACE_THROW_SPEC ((ACEXML_SAXException))
+ ;
+
+ /**
+ * Parse XML Prolog.
+ */
+ void parse_xml_prolog (ACEXML_Env &xmlenv);
+
+ /**
+ * Parse a character reference, i.e., "&#x20;" or "&#30;". The first
+ * character encountered should be the '#' char.
+ *
+ * @param buf points to a character buffer for
+ * the result.
+ * @param len specifies the capacities of the buffer.
+ *
+ * @retval 0 on success and -1 otherwise.
+ */
+ int parse_char_reference (ACEXML_Char *buf, size_t len);
+
+ /**
+ * Parse an entity reference, i.e., "&amp;". The first character
+ * encountered should be the character following '&'.
+ *
+ * @retval A pointer to the resolved const ACEXML_String if success
+ * (previously defined), 0 otherwise.
+ */
+ const ACEXML_String *parse_reference (void);
+
+ /**
+ * Parse a CDATA section. The first character should always be the first
+ * '[' in CDATA definition.
+ *
+ * @retval 0 on success, -1 otherwise.
+ */
+ int parse_cdata (ACEXML_Env &xmlenv);
+
+ /**
+ * Parse a "markupdecl" section, this includes both "markupdecl" and
+ * "DeclSep" sections in XML specification
+ */
+ int parse_internal_dtd (ACEXML_Env &xmlenv);
+
+ /**
+ * Parse an "ELEMENT" decl. The first character this method
+ * expects is always the 'L' (the second char) in the word
+ * "ELEMENT".
+ *
+ * @retval 0 on success, -1 otherwise.
+ */
+ int parse_element_decl (ACEXML_Env &xmlenv);
+
+ /**
+ * Parse an "ENTITY" decl. The first character this method expects
+ * is always the 'N' (the second char) in the word "ENTITY".
+ *
+ * @retval 0 on success, -1 otherwise.
+ */
+ int parse_entity_decl (ACEXML_Env &xmlenv);
+
+ /**
+ * Parse an "ATTLIST" decl. Thse first character this method
+ * expects is always the 'A' (the first char) in the word
+ * "ATTLIST".
+ *
+ * @retval 0 on success, -1 otherwise.
+ */
+ int parse_attlist_decl (ACEXML_Env &xmlenv);
+
+ /**
+ *Parse a "NOTATION" decl. The first character this method
+ * expects is always the 'N' (the first char) in the word
+ * "NOTATION".
+ *
+ * @retval 0 on success, -1 otherwise.
+ */
+ int parse_notation_decl (ACEXML_Env &xmlenv);
+
+ /**
+ * Parse an ExternalID or a reference to PUBLIC ExternalID.
+ * Possible cases are in the forms of: <code>
+ *
+ * SYSTEM 'quoted string representing system resource'
+ * PUBLIC 'quoted name of public ID' 'quoted resource'
+ * PUBLIC 'quoted name we are referring to'
+ * </code>
+ *
+ * The first character this function sees must be either 'S' or 'P'.
+ * When the function finishes parsing, the input stream points
+ * at the first non-whitespace character.
+ *
+ * @param publicID returns the unquoted publicID read. If none
+ * is available, it will be reset to 0.
+ * @param systemID returns the unquoted systemID read. If none
+ * is available, it will be reset to 0.
+ *
+ * @retval 0 on success, -1 otherwise.
+ */
+ int parse_external_id_and_ref (ACEXML_Char *&publicId,
+ ACEXML_Char *&systemId,
+ ACEXML_Env &xmlenv);
+
+ /**
+ * Parse the "children" and "Mixed" non-terminals in contentspec.
+ *
+ * The first character this function sees must be the first
+ * open paren '(' in children.
+ *
+ * @retval 0 on success, -1 otherwise.
+ */
+ int parse_children_definition (ACEXML_Env &xmlenv);
+
+ /**
+ * Parse a @c cp non-terminal. @c cp can either be a @c seq or a @c choice.
+ * This function calls itself recursively.
+ *
+ * @param skip_open_paren when non-zero, it indicates that the open paren of
+ * the @c seq or @c choice has already been removed from the input
+ * stream.
+ *
+ * @retval 0 on success, -1 otherwise.
+ */
+ int parse_child (int skip_open_paren,
+ ACEXML_Env &xmlenv);
+
+protected:
+ /// Get a character.
+ ACEXML_Char get (void);
+
+ /// Peek a character.
+ ACEXML_Char peek (void);
+
+ /**
+ * Check if more data can be added to a character buffer in obstack.
+ * If not, the existing data in the buffer will be cleared out by
+ * freezing the segment and pass it out thru a content_handler_->characters ()
+ * call. @a counter records the length of the existing data in
+ * obstack.
+ */
+ int try_grow_cdata (size_t size, size_t &len, ACEXML_Env &xmlenv);
+
+ // Feature names:
+
+ /**
+ * \addtogroup acexml_parser_features
+ * @{
+ */
+
+ /**
+ * @var simple_parsing_name_
+ *
+ * This constant string defines the name of "simple XML parsing"
+ * feature. When this feature is enable, ACEXML parser is allowed
+ * to parse a simple XML stream without mandated XML prolog
+ * and no DTD defintion.
+ */
+ static const ACEXML_Char simple_parsing_name_[];
+
+ /* @} */
+
+private:
+ /**
+ * Check and dispatch errors/warnings to ErrorHandler.
+ *
+ * @retval 0 if the error/warning is handled successfully, -1, if
+ * the handler doesn't know how to handle the error/exceptions.
+ */
+ int check_exception (ACEXML_Env &xmlenv);
+
+ /// Keeping track of the handlers. We do not manage
+ /// the memory for handlers.
+ ACEXML_DTDHandler *dtd_handler_;
+ ACEXML_EntityResolver *entity_resolver_;
+ ACEXML_ContentHandler *content_handler_;
+ ACEXML_ErrorHandler *error_handler_;
+
+ /// @@ Feature and properties management structure here.
+ /// Current input char stream.
+ ACEXML_CharStream *instream_;
+
+ /// My doctype, if any.
+ ACEXML_Char *doctype_;
+
+ /// External DTD System Literal, if any.
+ ACEXML_Char *dtd_system_;
+
+ /// External DTD Public Literal, if any.
+ ACEXML_Char *dtd_public_;
+
+ ACE_Obstack_T<ACEXML_Char> obstack_;
+
+ ACEXML_NamespaceSupport xml_namespace_;
+
+ ACEXML_Entity_Manager entities_;
+
+ // Locator
+ ACEXML_LocatorImpl locator_;
+
+ // Feature flags &
+ int simple_parsing_;
+
+};
+
+#if defined (__ACEXML_INLINE__)
+# include "parser/parser/Parser.i"
+#endif /* __ACEXML_INLINE__ */
+#endif /* _ACEXML_BASIC_PARSER_H_ */
diff --git a/ACEXML/parser/parser/Parser.i b/ACEXML/parser/parser/Parser.i
new file mode 100644
index 00000000000..e949673e0f5
--- /dev/null
+++ b/ACEXML/parser/parser/Parser.i
@@ -0,0 +1,144 @@
+//=============================================================================
+/**
+ * @file Parser.i
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+ACEXML_INLINE ACEXML_ContentHandler *
+ACEXML_Parser::getContentHandler (void) const
+{
+ return this->content_handler_;
+}
+
+ACEXML_INLINE ACEXML_DTDHandler *
+ACEXML_Parser::getDTDHandler (void) const
+{
+ return this->dtd_handler_;
+}
+
+ACEXML_INLINE ACEXML_EntityResolver *
+ACEXML_Parser::getEntityResolver (void) const
+{
+ return this->entity_resolver_;
+}
+
+ACEXML_INLINE ACEXML_ErrorHandler *
+ACEXML_Parser::getErrorHandler (void) const
+{
+ return this->error_handler_;
+}
+
+ACEXML_INLINE void
+ACEXML_Parser::setContentHandler (ACEXML_ContentHandler *handler)
+{
+ this->content_handler_ = handler;
+}
+
+ACEXML_INLINE void
+ACEXML_Parser::setDTDHandler (ACEXML_DTDHandler *handler)
+{
+ this->dtd_handler_ = handler;
+}
+
+ACEXML_INLINE void
+ACEXML_Parser::setEntityResolver (ACEXML_EntityResolver *resolver)
+{
+ this->entity_resolver_ = resolver;
+}
+
+ACEXML_INLINE void
+ACEXML_Parser::setErrorHandler (ACEXML_ErrorHandler *handler)
+{
+ this->error_handler_ = handler;
+}
+
+ACEXML_INLINE int
+ACEXML_Parser::is_whitespace (ACEXML_Char c)
+{
+ switch (c)
+ {
+ case 0x20:
+ case 0x9:
+ case 0xd:
+ case 0xa:
+ return 1;
+ default:
+ return 0;
+ }
+}
+
+
+ACEXML_INLINE int
+ACEXML_Parser::is_whitespace_or_equal (ACEXML_Char c)
+{
+ switch (c)
+ {
+ case 0x20:
+ case 0x9:
+ case 0xd:
+ case 0xa:
+ case '=':
+ return 1;
+ default:
+ return 0;
+ }
+}
+
+ACEXML_INLINE int
+ACEXML_Parser::is_nonname (ACEXML_Char c)
+{
+ switch (c)
+ {
+ case 0x20:
+ case 0x9:
+ case 0xd:
+ case 0xa:
+ case '=':
+ case '/':
+ case '?':
+ case '>':
+ case '<':
+ case ')':
+ case '(':
+ case '+':
+ case '*':
+ case '\'':
+ case '"':
+ case ',':
+ case '|':
+ return 1;
+ default:
+ return 0;
+ }
+}
+
+ACEXML_INLINE ACEXML_Char
+ACEXML_Parser::get (void)
+{
+ // Using an extra level of indirection so we can
+ // manage document location in the future.
+
+ if (this->instream_ != 0)
+ {
+ ACEXML_Char ch;
+ this->instream_->get (ch);
+ return ch;
+ }
+ return 0;
+}
+
+ACEXML_INLINE ACEXML_Char
+ACEXML_Parser::peek (void)
+{
+ // Using an extra level of indirection so we can
+ // manage document location in the future.
+
+ if (this->instream_ != 0)
+ return this->instream_->peek ();
+ return 0;
+
+}
diff --git a/ACEXML/parser/parser/Parser_export.h b/ACEXML/parser/parser/Parser_export.h
new file mode 100644
index 00000000000..71630ccd962
--- /dev/null
+++ b/ACEXML/parser/parser/Parser_export.h
@@ -0,0 +1,47 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Parser_export.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl
+// ------------------------------
+#ifndef ACEXML_PARSER_EXPORT_H
+#define ACEXML_PARSER_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (ACEXML_PARSER_HAS_DLL)
+# define ACEXML_PARSER_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ACEXML_PARSER_HAS_DLL */
+
+#if !defined (ACEXML_PARSER_HAS_DLL)
+# define ACEXML_PARSER_HAS_DLL 1
+#endif /* ! ACEXML_PARSER_HAS_DLL */
+
+#if defined (ACEXML_PARSER_HAS_DLL) && (ACEXML_PARSER_HAS_DLL == 1)
+# if defined (ACEXML_PARSER_BUILD_DLL)
+# define ACEXML_PARSER_Export ACE_Proper_Export_Flag
+# define ACEXML_PARSER_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ACEXML_PARSER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* ACEXML_PARSER_BUILD_DLL */
+# define ACEXML_PARSER_Export ACE_Proper_Import_Flag
+# define ACEXML_PARSER_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ACEXML_PARSER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ACEXML_PARSER_BUILD_DLL */
+#else /* ACEXML_PARSER_HAS_DLL == 1 */
+# define ACEXML_PARSER_Export
+# define ACEXML_PARSER_SINGLETON_DECLARATION(T)
+# define ACEXML_PARSER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ACEXML_PARSER_HAS_DLL == 1 */
+
+#endif /* ACEXML_PARSER_EXPORT_H */
+
+// End of auto generated file.
diff --git a/ACEXML/tests/Makefile b/ACEXML/tests/Makefile
new file mode 100644
index 00000000000..6478b548721
--- /dev/null
+++ b/ACEXML/tests/Makefile
@@ -0,0 +1,47 @@
+#----------------------------------------------------------------------------
+# $Id$
+#
+# Makefile for repeating token client application
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+LDLIBS = -lACEXML
+BIN = Transcoder_Test \
+ NamespaceSupport_Test
+
+LSRC = $(addsuffix .cpp,$(BIN))
+LOBJ = $(LSRC:%.cpp=$(VDIR)%.o)
+#SHOBJ = $(addsuffix .so,$(BIN))
+CCFLAGS += -I..
+
+BUILD = $(VBIN)
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/ACEXML/tests/Makefile.bor b/ACEXML/tests/Makefile.bor
new file mode 100644
index 00000000000..0742a1add18
--- /dev/null
+++ b/ACEXML/tests/Makefile.bor
@@ -0,0 +1,23 @@
+#
+# $Id$
+# Makefile for building the ACE XML tests
+#
+
+NAMES = \
+ NamespaceSupport_Test \
+ Transcoder_Test
+
+OBJFILES = $(OBJDIR)\$(NAME).obj
+
+CFLAGS = \
+ $(ACE_CFLAGS) \
+ $(ACE_XML_CFLAGS)
+
+CPPDIR = .
+
+LIBFILES = \
+ $(ACE_LIB) \
+ $(ACE_XML_LIB)
+
+!include <$(ACE_ROOT)\include\makeinclude\recurse.bor>
+!include <$(ACE_ROOT)\include\makeinclude\build_exe.bor>
diff --git a/ACEXML/tests/NamespaceSupport_Test.cpp b/ACEXML/tests/NamespaceSupport_Test.cpp
new file mode 100644
index 00000000000..9f3ed5db203
--- /dev/null
+++ b/ACEXML/tests/NamespaceSupport_Test.cpp
@@ -0,0 +1,144 @@
+// $Id$
+
+#include "common/NamespaceSupport.h"
+
+int main (int, ACE_TCHAR *[])
+{
+ ACEXML_NamespaceSupport xmlns;
+
+ xmlns.pushContext();
+ xmlns.declarePrefix(ACE_TEXT (""),
+ ACE_TEXT ("http://www.w3.org/1999/xhtml"));
+ xmlns.declarePrefix(ACE_TEXT ("dc"),
+ ACE_TEXT ("http://www.purl.org/dc#"));
+ xmlns.declarePrefix(ACE_TEXT ("xc"),
+ ACE_TEXT ("http://www.purl.org/dc#"));
+
+ const ACEXML_Char *lName, *uri;
+ const ACEXML_Char *n1 = ACE_TEXT ("p");
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("*** Checking processName:\n")));
+ if (xmlns.processName (n1, uri, lName, 0) != 0)
+ ACE_DEBUG ((LM_ERROR,
+ ACE_TEXT ("Fail to resolve namespace name %s\n"),
+ n1));
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Namespace URI: %s\nLocal name: %s\nRaw name: %s\n"),
+ uri, lName, n1));
+
+ const ACEXML_Char *n2 = ACE_TEXT ("dc:title");
+ if (xmlns.processName(n2, uri, lName, 0) != 0)
+ ACE_DEBUG ((LM_ERROR,
+ ACE_TEXT ("Fail to resolve namespace name %S\n"),
+ n2));
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Namespace URI: %s\nLocal name: %s\nRaw name: %s\n"),
+ uri, lName, n2));
+
+ const ACEXML_Char *n3 = ACE_TEXT ("xml:title");
+ if (xmlns.processName(n3, uri, lName, 0) != 0)
+ ACE_DEBUG ((LM_ERROR,
+ ACE_TEXT ("Fail to resolve namespace name %S\n"),
+ n3));
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Namespace URI: %s\nLocal name: %s\nRaw name: %s\n"),
+ uri, lName, n3));
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("\n*** Checking getDeclaredPrefixes\n")));
+
+ ACEXML_STR_LIST prefixes;
+ if (xmlns.getDeclaredPrefixes (prefixes) != 0)
+ ACE_DEBUG ((LM_ERROR,
+ ACE_TEXT ("Fail to get a list of declared prefixes\n")));
+ else
+ {
+ ACEXML_STR_LIST::ITERATOR iter = prefixes.begin ();
+ const ACEXML_Char **prefix = 0;
+
+ for (; iter.next (prefix);iter.advance ())
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("prefix: \"%s\"\n"), *prefix));
+ }
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n*** Checking getPrefix\n")));
+ const ACEXML_Char *prefix = 0;
+
+ if ((prefix = xmlns.getPrefix (ACE_TEXT ("http://www.purl.org/dc#"))) == 0)
+ ACE_DEBUG ((LM_ERROR,
+ ACE_TEXT ("Fail to get prefix of http://www.purl.org/dc#\n")));
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Prefix of http://www.purl.org/dc# is %s\n"),
+ prefix));
+
+ if ((prefix = xmlns.getPrefix (ACE_TEXT ("http://www.w3.org/1999/xhtml"))) == 0)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Fail to get prefix of http://www.w3.org/1999/xhtml which is okay\n")));
+ else
+ ACE_DEBUG ((LM_ERROR,
+ ACE_TEXT ("ERROR: Prefix of http://www.w3.org/1999/xhtml is %s\n"),
+ prefix));
+
+ if ((prefix = xmlns.getPrefix (ACE_TEXT ("http://www.w3.org/XML/1998/namespace"))) == 0)
+ ACE_DEBUG ((LM_ERROR,
+ ACE_TEXT ("Fail to get prefix of http://www.w3.org/XML/1998/namespace\n")));
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Prefix of http://www.w3.org/XML/1998/namespace is %s\n"),
+ prefix));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n*** Checking getPrefixes with known URI\n")));
+ prefixes.reset ();
+
+ if (xmlns.getPrefixes (ACE_TEXT ("http://www.purl.org/dc#"), prefixes) != 0)
+ ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to getPrefixes based on known URI\n")));
+ else
+ {
+ ACEXML_STR_LIST::ITERATOR iter = prefixes.begin ();
+ const ACEXML_Char **prefix = 0;
+
+ for (; iter.next (prefix);iter.advance ())
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("prefix: \"%s\"\n"), *prefix));
+ }
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n*** Checking getPrefixes\n")));
+ prefixes.reset ();
+
+ if (xmlns.getPrefixes (prefixes) != 0)
+ ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to getPrefixes\n")));
+ else
+ {
+ ACEXML_STR_LIST::ITERATOR iter = prefixes.begin ();
+ const ACEXML_Char **prefix = 0;
+
+ for (; iter.next (prefix);iter.advance ())
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("prefix: \"%s\"\n"), *prefix));
+ }
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n*** Checking getURI\n")));
+ const ACEXML_Char *URI = 0;
+
+ if ((URI = xmlns.getURI (ACE_TEXT ("dc"))) == 0)
+ ACE_DEBUG((LM_ERROR, ACE_TEXT ("Fail to get URI for \"dc\"\n")));
+ else
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("URI for \"dc\" is %s\n"), URI));
+ if ((URI = xmlns.getURI (ACE_TEXT ("xc"))) == 0)
+ ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to get URI for \"xc\"\n")));
+ else
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("URI for \"xc\" is %s\n"), URI));
+ if ((URI = xmlns.getURI (ACE_TEXT ("xml"))) == 0)
+ ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to get URI for \"xml\"\n")));
+ else
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("URI for \"xml\" is %s\n"), URI));
+ if ((URI = xmlns.getURI (ACE_TEXT (""))) == 0)
+ ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to get default namespace URI\n")));
+ else
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("URI for default namespace is %s\n"), URI));
+
+ xmlns.popContext();
+
+ return 0;
+}
diff --git a/ACEXML/tests/NamespaceSupport_Test.dsp b/ACEXML/tests/NamespaceSupport_Test.dsp
new file mode 100644
index 00000000000..efb29315a28
--- /dev/null
+++ b/ACEXML/tests/NamespaceSupport_Test.dsp
@@ -0,0 +1,102 @@
+# Microsoft Developer Studio Project File - Name="NamespaceSupport_Test" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=NamespaceSupport_Test - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "NamespaceSupport_Test.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "NamespaceSupport_Test.mak" CFG="NamespaceSupport_Test - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "NamespaceSupport_Test - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "NamespaceSupport_Test - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "NamespaceSupport_Test - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../.." /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib ACEXML.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\ace" /libpath:"..\Common"
+
+!ELSEIF "$(CFG)" == "NamespaceSupport_Test - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../.." /I ".." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib ACEXMLd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\ace" /libpath:"..\Common"
+
+!ENDIF
+
+# Begin Target
+
+# Name "NamespaceSupport_Test - Win32 Release"
+# Name "NamespaceSupport_Test - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\NamespaceSupport_Test.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/ACEXML/tests/Tests.dsw b/ACEXML/tests/Tests.dsw
new file mode 100644
index 00000000000..e72f066de1a
--- /dev/null
+++ b/ACEXML/tests/Tests.dsw
@@ -0,0 +1,41 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "NamespaceSupport_Test"=.\NamespaceSupport_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Transcoder_Test"=.\Transcoder_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/ACEXML/tests/Transcoder_Test.cpp b/ACEXML/tests/Transcoder_Test.cpp
new file mode 100644
index 00000000000..1f7e113a93a
--- /dev/null
+++ b/ACEXML/tests/Transcoder_Test.cpp
@@ -0,0 +1,69 @@
+// -*- C++ -*- $Id$
+
+#include "common/Transcode.h"
+#include "ace/Log_Msg.h"
+
+void dump_utf16 (const ACEXML_UTF16 *data,
+ size_t len)
+{
+ size_t ptr = 0;
+
+ while (1)
+ {
+ ACE_DEBUG ((LM_DEBUG, "%04x", data[ptr]));
+
+ if (++ptr >= len)
+ break;
+
+ if (ptr % 4 == 0)
+ ACE_DEBUG ((LM_DEBUG, "\n"));
+ else
+ ACE_DEBUG ((LM_DEBUG, " "));
+ }
+ ACE_DEBUG ((LM_DEBUG, "\n"));
+ return;
+}
+
+int
+main (int, ACE_TCHAR*[])
+{
+ ACEXML_UTF16 org [18];
+// = { 1, 2, 4, 8, 0x10, 0x20, 0x40,
+// 0x80,
+// 0x100, 0x200, 0x400,
+// 0x800, 0x801, 0x802, 0x804, 0x808, 0x810, 0x820,
+// 0x840, 0x880, 0x900, 0xa00, 0xc00,
+// 0x1000, 0x2000, 0x4000, 0x8000, 0 }
+ ACEXML_UCS4 temp = 1;
+
+ ACE_OS::memset (org, 0, sizeof org);
+ size_t x;
+
+ for (x = 0; temp < 0x10000; x++, temp <<= 1)
+ {
+ org[x] = ACE_static_cast (ACEXML_UTF16, temp);
+ }
+
+ ACE_DEBUG ((LM_DEBUG, "Original UTF16 string:\n"));
+ dump_utf16 (org, x);
+ ACE_DEBUG ((LM_DEBUG, "\n\n"));
+
+ ACEXML_UTF8 decoded [MAXPATHLEN];
+ ACE_OS::memset (decoded, 0, sizeof decoded);
+
+ ACEXML_Transcoder::utf16s2utf8s (org, decoded, MAXPATHLEN);
+
+ ACE_DEBUG ((LM_DEBUG, "Transcoded UTF8 string:\n"));
+ ACE_HEX_DUMP ((LM_DEBUG, decoded, ACE_OS::strlen (decoded) + 1));
+ ACE_DEBUG ((LM_DEBUG, "\n\n"));
+
+ ACEXML_UTF16 after [18];
+ ACE_OS::memset (after, 0, sizeof after);
+ ACEXML_Transcoder::utf8s2utf16s (decoded, after, 18);
+
+ ACE_DEBUG ((LM_DEBUG, "Restored UTF16 string:\n"));
+ dump_utf16 (after, x);
+ ACE_DEBUG ((LM_DEBUG, "\n\n"));
+
+ return 0;
+}
diff --git a/ACEXML/tests/Transcoder_Test.dsp b/ACEXML/tests/Transcoder_Test.dsp
new file mode 100644
index 00000000000..39a92c39fb0
--- /dev/null
+++ b/ACEXML/tests/Transcoder_Test.dsp
@@ -0,0 +1,102 @@
+# Microsoft Developer Studio Project File - Name="Transcoder_Test" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Transcoder_Test - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Transcoder_Test.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Transcoder_Test.mak" CFG="Transcoder_Test - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Transcoder_Test - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Transcoder_Test - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Transcoder_Test - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../.." /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib ACEXML.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\ace" /libpath:"..\Common"
+
+!ELSEIF "$(CFG)" == "Transcoder_Test - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../.." /I ".." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib ACEXMLd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\ace" /libpath:"..\Common"
+
+!ENDIF
+
+# Begin Target
+
+# Name "Transcoder_Test - Win32 Release"
+# Name "Transcoder_Test - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\Transcoder_Test.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 00000000000..99e2749a4a2
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,1022 @@
+Wed Jan 30 15:11:49 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * include/makeinclude/platform_linux.GNU (CXX_VERSION):
+ * ace/config-g++-common.h:
+
+ Turned off explicit template instantiation with gcc under Linux.
+ The specific versions are 2.95.x, 2.96, 3.0.x (3.x). Added a
+ flag implicit_templates to tweak the behaviour from the
+ platform_macros.GNU file.
+
+ The combination of the compiler and binutils seems to give a
+ nice reduction in the footprint.
+
+Wed Jan 30 16:00:39 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/Process_Manager.cpp (register_handler): Replaced ECHILD with
+ EINVAL if the pid is not found. Probably a more accurate
+ assessment of the situation, and should compile clean on WinCE.
+
+Wed Jan 30 13:50:17 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * docs/index.html: Fixed the ACE-inheritance.pdf document so
+ it isn't gzipped. Thanks to Michael Searles
+ <msearles@base16.com> for reporting this.
+
+Wed Jan 30 09:28:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * XML/parser/debug_validator/Debug_Attributes_Builder.cpp:
+ * XML/parser/debug_validator/Debug_DTD_Manager.cpp:
+ * XML/parser/debug_validator/Debug_Element_Builder.cpp:
+ * XML/parser/debug_validator/Element_Tree.cpp:
+ Added missing ACE_LIB_TEXT. This fixes the BCB unicode build errors
+
+Tue Jan 29 20:11:21 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * etc/*.doxygen (EXPAND_AS_DEFINED): Added ACE_CACHE_MAP_MANAGER
+ to the list in EXPAND_AS_DEFINED. Thanks to Don Hinton
+ <dhinton@ieee.org> for the suggestion.
+
+Tue Jan 29 19:36:24 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/make_release: The whole release process has been moved to
+ Linux box. This is because the sun machines at WashU were having
+ problems and they are not dependable. The following are the list
+ of changes made
+
+ - All the path related stuff have been changed ie. instead of
+ using /pkg/gnu tools, we use native tools on Linux now.
+
+ - The gnu suffixes to many of the tools have been removed.
+
+ - Most of the path to the tools have been hardcoded in the PATH
+ environment variabe.
+
+ - Tools that were missing have been loaded on 3 main Linux boxes
+ at WashU including Graphviz and doxygen.
+
+ - A beta cannot be cut from a sun box.
+
+ - The script will recommend cutting a beta from deuce.doc.
+
+ The script has been tested with a dummy release.
+
+Tue Jan 29 16:01:54 2002 Ossama Othman <ossama@uci.edu>
+
+ * bin/fuzz.pl (check_for_missing_rir_env):
+
+ Check for ACE_ENV_ARG_PARAMETER instead of
+ TAO_ENV_ARG_PARAMETER. The latter is deprecated.
+
+Tue Jan 29 20:47:24 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net>
+
+ * docs/exceptions.html: Document the new ACE_ENV_ macros.
+
+ * bin/subst_env.pl: Transform to ACE_ENV_ instead of TAO_ENV_.
+
+Tue Jan 29 08:39:24 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net>
+
+ * ace/CORBA_macros.h:
+ Added ACE_ENV_ARG macros to replace the TAO_ENV_ARG macros
+ defined in TAO/tao/orbconf.h. All exception related macros
+ are now defined in ace/CORBA_macros.h, and the TAO_ENV_ARG
+ macros will soon be deprecated.
+
+ * include/makeinclude/wrapper_macros.GNU:
+ Added the include_env switch for compatibility with the
+ exception handling use before TAO 1.2.2.
+
+Tue Jan 29 08:17:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/ace_flags.bor:
+ Added compiler flags for new cosevent orbsvcs test library CECTEST
+ Added compiler flags for new notify orbsvcs test library NotifyTests
+
+Mon Jan 28 17:44:51 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/Process_Manager.cpp (wait): When waiting for a non-specific
+ process, specify -1 pid for waitpid(). This is necessary because
+ of Fri Jan 25 19:58:41 2002 Steve Huston <shuston@riverace.com>
+ change to not alter the process group ID when ACE_Process_Manager
+ spawns a process.
+ Timed waits for a process still don't work on non-Win32, but
+ this fix corrects the failed wait with errno == ECHILD.
+
+Mon Jan 28 12:16:28 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/auto_run_tests.lst:
+ Removed EC_Basic and Event_Latency tests from nightly builds, I
+ left them there by mistake when I took them out of the
+ repository (around December, 25th 2001)
+
+Mon Jan 28 13:20:32 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * XML/common/AttributesImpl.cpp: Removed a bunch of inline
+ designators.
+
+Sun Jan 27 22:18:50 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * bin/msvc_auto_compile.pl: Projects in XML subdirectory are
+ interdependent. List out the order they should be built
+ explicitly.
+
+Sun Jan 27 12:48:48 2002 Ossama Othman <ossama@uci.edu>
+
+ * bin/auto_run_tests.lst
+ * bin/performance_stats.sh:
+
+ Updated in accordance with the new TAO "Latency" performance
+ test organization.
+
+Sun Jan 27 12:08:45 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * XML/common/Transcode.h (ACEXML_Transcoder): Improved the
+ documentation.
+
+ The followings fixed the Tru64 warnings/errors.
+
+ * XML/common/AttributesImpl.i (operator):
+ * XML/common/Env.i: Reordered inline functions.
+
+ * XML/tests/Transcoder_Test.cpp: Removed an unused argument.
+
+ * XML/common/Attributes_Def_Builder.h: Added inclusion of
+ "ace/Auto_Ptr.h".
+
+ * XML/examples/SAXPrint/SAXPrint_Handler.cpp:
+ * XML/examples/SAXPrint/Print_Handler.cpp: Added inclusion of
+ "ace/Log_Msg.h".
+
+Sun Jan 27 15:03:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * Makefile.bor:
+ Build the XML library with BCB
+
+ * XML/parser/Makefile.bor:
+ Added debug_validator
+
+ * XML/parser/debug_validator/Makefile.bor:
+ Added BCB makefile
+
+Sat Jan 26 19:02:49 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/Process_Manager.cpp (register_handler):
+
+ Corrected code that always returned -1. Code that should only
+ have been run on error was always run since it was outside of an
+ "if block." Curly braces are a good thing (they were missing).
+
+Sat Jan 26 21:41:39 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/Process_Manager.cpp (wait): Fixed compiler warning on
+ Linux about unused wait_until. This fix removes the ability
+ to spin around the 'for' loop waiting for signals multiple
+ times with the timeout decreasing to account for wait time.
+ Will have to come back to restore this functionality later.
+
+Sat Jan 26 14:40:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/ace_flags.bor:
+ Added compiler and linker flags for new XML library
+
+ * XML/common/Makefile.bor:
+ * XML/parser/parser.Makefile.bor:
+ * XML/Makefile.bor:
+ * XML/parser/Makefile.bor:
+ * XML/tests/Makefile.bor:
+ Added BCB makefiles for the new XML library.
+
+Fri Jan 25 19:58:41 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/Process_Manager.cpp (wait(pid_t, const ACE_Time_Value &,
+ ACE_exitcode *status)): If platform offers sigtimedwait, use it
+ instead of setting ualarm and then doing sigwait. Once ualarm
+ is set, it will fire, even if this method has returned. This
+ causes Solaris processes to die on SIGALRM.
+
+ Also, do not play with the process group ID by default. It's
+ not needed for doing normal signal management by most processes.
+ If processes really have a need to change or set a new process
+ group, they need to do it explicitly by using ACE_OS::setpgid()
+ or by setting a process group ID in an ACE_Process_Options object
+ when spawning processes.
+
+ * tests/Process_Manager_Test.cpp: Added a bit more diagnostic info.
+
+Fri Jan 25 18:29:37 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/config-aix-4.x.h: Removed ACE_HAS_SIGTIMEDWAIT. It compiles,
+ but returns ENOSYS at run time.
+
+ * ace/config-aix5.1.h: Added ACE_HAS_SIGTIMEDWAIT.
+
+Fri Jan 25 15:36:40 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/ace_dll.dsp: Removed /version flags from the project since
+ they have been taken care of by ace.rc file. Thanks to Ossama
+ for pointing it out.
+
+Fri Jan 25 14:45:00 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst:
+ Added Two_Objects test to the list.
+
+Fri Jan 25 14:40:15 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * XML/common/Exception.cpp:
+ * XML/common/NamespaceSupport.cpp:
+ * XML/common/SAXExceptions.cpp:
+ * XML/parser/parser/Parser.cpp: Moved the initialization of static
+ members before the inclusion of inline files to avoid
+ compilation erros on Borland compiler. Thanks to Johnny
+ Willemsen <jwillemsen@remedy.nl> for figuring this out.
+
+Fri Jan 25 14:31:06 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * XML/common/NamespaceSupport.cpp:
+ * XML/parser/parser/Parser.cpp: Fixed several KCC warnings.
+
+Fri Jan 25 12:01:14 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ The following changes fixed SunCC5.1 compilation errors.
+
+ * XML/common/Makefile:
+ * XML/parser/parser/Makefile:
+ * XML/tests/Makefile:
+ * XML/examples/SAXPrint/Makefile: Removed extra spaces for -I
+ flags.
+
+ * XML/common/Attributes_Def_Builder.h: Removed a redundant comma.
+
+ * XML/common/NamespaceSupport.i: Changed
+ ACE_TEMPLATE_METHOD_SPECIALIZATION to
+ ACE_TEMPLATE_SPECIALIZATION.
+
+ * XML/tests/NamespaceSupport_Test.cpp: String literals needed to
+ be assigned to const char *.
+
+Fri Jan 25 09:42:12 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/ace_dll.dsp:
+
+ Corrected inconsistency in the DLL minor version. The correct
+ minor version for the ACE 5.2 series is "2," not "1."
+
+Fri Jan 25 11:21:28 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * bin/msvc_auto_compile.pl: Added XML into the list of auto build
+ targets.
+
+Fri Jan 25 00:37:00 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * We now have 1,400 contributors to the ACE+TAO software. Yow!
+
+Thu Jan 24 17:49:46 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/CDR_Stream.i: Fixed the check for the length within
+ ACE_InputCDR::read_*_array (). The method was checking just for
+ length passed in, which happens to be the number of elements in
+ the array, instead of the number of bytes necessary for the
+ elements. Thanks to William R Volz <WRVO@chevrontexaco.com> for
+ reporting this.
+
+ * THANKS: Added William Volz to the hall of fame.
+
+Thu Jan 24 18:31:49 2002 Steve Huston <shuston@riverace.com>
+
+ * tests/Process_Manager_Test.cpp: Better diagnostics added.
+
+Thu Jan 24 15:14:52 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Lib_Find.cpp (ldfind): Restored previously removed Win32
+ code and re-organized macros so we wouldn't upset CE builds.
+
+Thu Jan 24 14:53:38 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * bin/generate_doxygen.pl:
+ * etc/acexml.doxygen: Added the doxygen config file for XML
+ subdirectory.
+
+ * Makefile: Added XML subdirectory into the lists to be compiled
+ and be included in the release.
+
+ * XML/*: Merged in the XML parser code.
+
+Thu Jan 24 10:14:47 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/ace_wchar.h: Added the definition for ACE_TEXT_SearchPath.
+
+ * ace/Lib_Find.cpp (ldfind): Fixed UNICODE and Fuzz builds
+ errors. Thanks to Johnny Willemsen <jwillemsen@remedy.nl> for
+ the fix.
+
+Wed Jan 23 16:48:54 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Lib_Find.h:
+ * ace/Lib_Find.cpp (ldfind): Change to use Win32 API SearchPath to
+ search for the target DLL and updated the document for ldfind in
+ header file. Thanks to Eugene Alterman
+ <Eugene.Alterman@bremer-inc.com> for submitting the patch.
+
+Wed Jan 23 14:01:32 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/config-lynxos.h (ACE_LACKS_INET_ATON):
+
+ LynxOS does not implement the inet_aton() function.
+
+Wed Jan 23 16:37:52 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/NT_Service.cpp (insert): If the CreateService call fails,
+ be sure to save the error value before making another Win32 call
+ that will smash it. Thanks to Kelly Hickel <kfh@mqsoftware.com>
+ for reporting this.
+ Also ACE-ified the source better.
+
+ * examples/NT_Service/main.cpp: Added some ACE_ERROR output if
+ operations requested from the command line fail.
+
+Wed Jan 23 16:14:43 2002 Boris Kolpackov <bosk@ipmce.ru>
+
+ * include/makeinclude/platform_sunos5_sunc++.GNU
+
+ Added work around for famous Sun CC "pure virtual function called"
+ bug. Unfortunately this involves introduction of yet another #define.
+ See TAO/tao/ValueBase.h for more information.
+
+Tue Jan 22 21:27:25 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/ace_dll.vcp: Add Frameork_Component.* to the builds. Thanks
+ to Venkita for pointing it out.
+
+Tue Jan 22 17:42:39 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/NT_Service.(h cpp): Added two new methods:
+ void capture_log_msg_attributes (void): Grabs a copy of the
+ calling thread's ACE_OS_Log_Msg_Attributes to facilitate
+ inheritance of the logging attributes in the service thread.
+ void inherit_log_msg_attributes (void): Called in a service
+ thread, inherits the main thread's logging attributes.
+ Modified the ACE_NT_SERVICE_RUN macro to capture the main
+ thread's logging attributes before starting the service control
+ dispatcher. Modified the ACE_NT_SERVICE_DEFINE macro to call
+ inherit_log_msg_attributes if the ACE_NT_Service object for
+ the service was set up before the thread started.
+ Fixes Bugzilla # 82.
+
+ * examples/NT_Service/main.cpp:
+ * examples/NT_Service/ntsvc.cpp: Now writes a log file in the current
+ working directory which should have messages from both main and
+ service threads in it.
+
+Tue Jan 22 15:19:29 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/DLL.cpp: Changed to invoke this->open() in the
+ constructor. Thanks to Eugene Alterman
+ <Alterman@bremer-inc.com> for motivating this.
+
+Mon Jan 21 23:27:03 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS.h: Reordered main redefinition macros so that it actually
+ passed wchar argv to main when UNICODE is defined.
+
+Mon Jan 21 10:01:34 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst:
+ Added MIOP unit tests.
+
+Mon Jan 21 03:00:14 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/Framework_Component.cpp (register_component):
+
+ Removed debugging statements that always printed text.
+
+Mon Jan 21 07:45:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Framework_Component.cpp:
+ Fixed fuzz error
+
+Mon Jan 21 00:13:42 2002 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * ace/streams.h:
+ Workaround for Borland C++ 5.5.1 bug we have now just hit.
+
+Sun Jan 20 21:42:53 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Framework_Component.cpp:
+ * ace/Framework_Component_T.cpp: Fixed fuzz errors.
+
+2002-01-20 Oliver Kellogg <oliver.kellogg@sysde.eads.net>
+
+ * bin/subst_env.pl: New script to ease the transition to the
+ TAO_ENV_ARG macros defined in TAO/tao/orbconf.h.
+
+Sun Jan 20 12:38:28 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Framework_Component_Test.dsp: New dsp file for the test.
+ * tests/tests.dsw: Added the above test to the workspace.
+
+Sun Jan 20 12:25:28 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Framework_Component.h: Removed the definition of the
+ default constructor (in ACE_UNIMPLEMENTED_FUNC definition). The
+ other private constructor with a default argument tends towards
+ a default constructor and VC++ signals a multiple definition
+ error. Not sure how g++ didnt signal this one.
+
+ * ace/Framework_Component_T.h: #include'd Framework_Component.h
+ * ace/Framework_Component_T.cpp: Added a #ifndef around the file.
+
+ * ace/ace_dll.dsp:
+ * ace/ace_lib.dsp: Added the Framwork_Component* files to the
+ project file.
+
+Sun Jan 20 10:40:28 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * tests/Vector_Test.dsp:
+ * tests/tests.dsw: Added a new project for Vector_Test.
+
+Sun Jan 20 16:25:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Makefile.bor:
+ Added new Framework_Component
+
+ * tests/Makefile.bor:
+ Added new Framework_Component_Test
+
+Sun Jan 20 00:00:30 2002 UTC Don Hinton <dhinton@ieee.org>
+
+ * ace/Vector_T.cpp (dump): Commented out the contents of this
+ function for the time being. It assumed that the element
+ was an object with a dump() method, which won't always be
+ the case.
+
+ * tests/Vector_Test.cpp: Changed a few data types from signed
+ to unsigned, size_t, to get rid of compiler warnings.
+
+Sat Jan 19 17:29:50 2002 Douglas C. Schmidt <schmidt@siesta.cs.wustl.edu>
+
+ * ace/Vector_T.cpp (dump): Fixed problems with this method. Thanks
+ to Don Hinton for reporting this.
+
+ * tests/Vector_Test.cpp: Changed the typedef of DATA from int to
+ size_t to avoid "type mismatch" compiler warnings. Thanks to
+ Don Hinton for reporting this.
+
+Sat Jan 19 22:30:26 UTC 2002 Don Hinton <dhinton@ieee.org>
+
+ * apps/JAWS2/JAWS/Hash_Bucket_T.h:
+ * apps/JAWS2/JAWS/Assoc_Array.h: Added missing keyword "class" to
+ friend declarations.
+
+ * ace/SString.cpp: Removed unneeded include of Service_Config.h.
+
+ * ace/Service_Config.{h|cpp}:
+ * examples/Connection/misc/Connection_Handler.cpp:
+
+ Removed static methods from ACE_Service_Config that delegated to
+ ACE_Reactor::instance(), and fixed a few instances where they were
+ still called.
+
+ * ace/Object_Manager.cpp:
+ * ace/Service_Config.cpp:
+ * ace/Proactor.cpp:
+ * ace/Reactor.cpp:
+
+ Added call to instance() methods that registers the singleton with
+ the new ACE_Framework_Repository so it can handle destruction, and
+ replaced explicit references to ACE_Reactor and ACE_Proactor with
+ calls to ACE_Framework_Repository.
+
+ * ace/Framework_Component.{h|inl|cpp}:
+ * ace/Framework_Component_T.{h|inl|cpp}:
+ * ace/Makefile:
+ * tests/Framework_Component_Test.cpp:
+ * tests/Makefile:
+ * tests/run_test.lst:
+
+ Added ACE_Framework_Repository to manage ACE_Framework_Component's,
+ e.g., singletons like ACE_Reactor or ACE_Proactor. It uses
+ External Polymorphism obviating any interface changes. The
+ components register themselves with repository in their instance
+ methods. This allows the Object_Manager and Service_Config to
+ manage these components without having to know about them a priori.
+
+ This was needed to reduce footprint for applications like TAO that
+ don't need to use all the available components, e.g., ACE_Proactor.
+
+Sat Jan 19 10:23:39 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Makefile (TEMPLATE_FILES):
+ * tests/Makefile.bor:
+ * tests/Makefile:
+ * tests/run_test.lst:
+ * ace/Vector_T.{h,i,cpp}:
+ * tests/Vector_Test.cpp: Added support for the new ACE_Vector to
+ the appropriate places. This vector behaves like the STL
+ vector. Thanks to Gonzo and Craig Ching for contributing this.
+
+ * ace/Future_Set.h: Updated the documentation to explain how
+ various features work better. Thanks to Johnny Tucker for
+ contributing this.
+
+Fri Jan 18 19:09:41 2002 Steve Huston <shuston@riverace.com>
+
+ * tests/run_test.lst: Re-enabled Process_Manager_Test for all but
+ Chorus and VxWorks. Could not find a reason it was disabled.
+ Also enabled Process_Mutex_Test on Win32.
+
+Fri Jan 18 16:44:29 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/ace.icc: Added Reactor_Notification_Strategy.(h cpp) sources.
+
+ * ace/Reactor_Notification_Strategy.cpp: Fixed ACE_RCSID to refer to
+ Reactor_Notification_Strategy, not Strategies.
+
+ * tests/Get_Opt_Test.icc:
+ * tests/INET_Addr_Test.icc: New Visual Age C++ configs for these tests.
+
+ * tests/tests.icp: Added Get_Opt_Test.icc and INET_Addr_Test.icc
+
+Fri Jan 18 12:56:36 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Log_Msg.cpp (init_backend): Added support for SysLog on platforms
+ that don't lack it. Thanks to Alexei I. Adamovich
+ <lexa@adam.botik.ru> for reporting this fix.
+
+Fri Jan 18 10:29:06 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/Service_Config.h (process_file):
+ * ace/Service_Config.cpp (process_directives, process_file):
+
+ Factored out code that processes a svc.conf file into the new
+ static process_file() method. This allows svc.conf files to be
+ explicitly parsed by the application at any arbitrary point in
+ time instead of Service Configuration initialization time alone.
+
+Thu Jan 17 18:51:09 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Name_Space.cpp (operator =): Fixed a memory leak. Thanks
+ to Ian Cahoon <icahoon@cisco.com> for reporting this.
+
+Thu Jan 17 12:13:51 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Context.h (private_key, verify_private_key):
+
+ Added new documentation. These methods should only be called
+ after a certificate has been set since key verification is
+ performed against the certificate, among other things.
+
+Thu Jan 17 13:11:27 2002 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Message_Queue.h:
+ * ace/Message_Queue.cpp:
+ * ace/Message_Queue_T.h:
+ * ace/Message_Queue_T.cpp:
+
+ Provide the ability to enqueue based on the message deadline and
+ to dequeue based on priority, deadline and from the end.
+
+Wed Jan 16 11:24:52 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * THANKS:
+ Updated to add Gerhard Voss <Gerhard_Voss@t-online.de>.
+
+Wed Jan 16 06:19:01 2002 Douglas C. Schmidt <schmidt@siesta.cs.wustl.edu>
+
+ * ace/OS.i: Replaced "set" with "sset" in sigtimedwait() and sigwait()
+ to avoid STL symbol clashes with MSVC++ 6.0. Thanks to Shmulik
+ Regev <shmul@vself.com> for reporting this.
+
+Wed Jan 16 09:01:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Containers_T.{h,cpp}:
+ Added ACE_Fixed_Set_Const_Iterator to make it possible to
+ iterate through a const ACE_Fixed_Set instance
+
+Wed Jan 16 07:53:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/ace_flags.bor:
+ Added new flags for the new TAO ETCL orbsvcs library
+
+Tue Jan 15 17:24:53 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/SSL/SSL_Context.cpp (report_error()): Set ACE_OS::last_error()
+ to ERR_get_error() so the caller can get the error code later.
+
+ * ace/SSL/SSL_SOCK_Connector.cpp: If the SSL handshake phase of a
+ connection attempt fails, close the underlying socket.
+
+Tue Jan 15 15:35:41 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/SOCK_Connector.(h cpp):
+ * ace/LSOCK_Connector.(h i cpp):
+ * ace/MEM_Connector.(h cpp):
+ * ace/SSL/SSL_SOCK_Connector.(h cpp):
+ Improved the Doxygenation and removed the protocol_family and
+ protocol arguments from the ctors and connect() methods. The
+ protocol family is always taken from the ACE_Addr remote_sap
+ argument since it can now be either PF_INET or PF_INET6 (for
+ SOCK_Connector objects) and should be PF_UNIX for LSOCKs.
+ It is pointless to allow the user to request something that
+ is impossible to do correctly.
+
+Tue Jan 15 10:52:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/ace_flags.bor:
+ Added new flags for the new TAO PortableGroup library
+
+Mon Jan 14 14:40:25 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/g++dep:
+ Fixed small problems in the dependency generation:
+ - The script did not properly handle files with '+' in their
+ names.
+ - In some cases the script generated escaped blanks, i.e. lines
+ containing a blank preceded by a backslash. Such blanks are
+ interpreted as part of a dependency name and break havoc with
+ the builds.
+
+Mon Jan 14 16:49:37 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/OS.h (ACE_STATIC_SVC_DEFINE): Corrected the documentation to
+ say the service-implementing class must be derived from
+ ACE_Service_Object, not ACE_Service_Config.
+
+Mon Jan 14 07:40:16 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS.i (mmap): There was a typo that prevented the ACE Memory Map
+ stuff from working properly on Win9x. Thanks to Edan Ayal
+ <edanayal@yahoo.com> for reporting this.
+
+Sun Jan 13 18:59:37 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Memory_Pool.{h,cpp}: Added a new option that makes is possible
+ to control whether or not a fixed address will be used when
+ remapping a memory-mapped file. Thanks to Jonathan Reis
+ <reis@stentor.com> for this enhancement.
+
+Mon Jan 14 11:02:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/ace_flags.bor:
+ Added flags for new TAO FT_ORB library
+
+Sun Jan 13 08:20:05 2002 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/config-all.h: Make sure that ACE_bad_alloc
+ is defined as std::bad_alloc if
+ ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB macro is set.
+ Fixes gcc 3.0.3 compilation problem.
+
+Fri Jan 11 22:54:22 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/config-lynxos.h: Added #define ACE_HAS_USING_KEYWORD to teh
+ file. The compiler supports namespaces. According to the new
+ rules at the doc_group, we dont use any compilers that dont
+ support namespaces. The above macro is itself a waste. But we
+ cannot remove it overnight as it has far reaching
+ consequences. Working around that for the timebeing.
+
+Thu Jan 10 18:35:41 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/Profile_Timer.h: Clarified that elapsed_time() calculates time
+ from start() to stop(). Improved Doxygenation.
+
+Thu Jan 10 16:53:41 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * examples/Service_Configurator/IPC-tests/server/server.dsp: The
+ Release version of the library needs to link in ADVAPI32.LIB as
+ GetUserName is used in ACE's inline code.
+
+Wed Jan 9 22:07:50 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Logging_Strategy.cpp (fini): Make sure to cancel the
+ timer if interval_ and max_size_ are > 0. Thanks to Yaniv Ben
+ Ari <yanivb@bis.co.il> for reporting this.
+
+Wed Jan 9 11:38:58 2002 Ossama Othman <ossama@uci.edu>
+
+ * tests/SSL/Makefile (LDLIBS):
+
+ Added missing SSL and crypto libraries. Fixed link errors.
+ Thanks to Marvin Wolfthal <maw@weichi.com> for reporting the
+ error and suggesting a fix.
+
+Wed Jan 9 12:24:39 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/Process.cpp (spawn): Don't attempt ACE_OS::setpgid if
+ ACE_LACKS_SETPGID is defined. Thanks to Victor Terber
+ <vterber@csksoftware.de> for reporting this.
+
+Wed Jan 09 11:19:07 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS.h: Updated the comment for ACE_CE_Bridge to indicate that
+ it's obsolete and will be removed in the future.
+
+Wed Jan 9 00:48:48 2002 Don Hinton <dhinton@gmx.net>
+
+ * ace/Get_Opt.cpp: Make sure to cast away constness
+ before deleting an ACE_TCHAR array. Thanks to
+ Bala for reporting this.
+
+Tue Jan 8 17:29:33 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/SSL/SSL_SOCK_Connector.cpp: Don't try to dereference a 0
+ timeout pointer. Gack. Thanks to Ossama for pointing this out.
+
+Tue Jan 8 15:51:06 2002 Don Hinton <dhinton@gmx.net>
+
+ * ace/Get_Opt.cpp
+ * ace/Service_Config.cpp:
+
+ Moved the template instantiations from Service_Config.cpp to
+ Get_Opt.cpp where they belong.
+
+ * ace/Get_Opt.{h.cpp}: Replaced ACE_TString with ACE_TCHAR for
+ type of member variable ACE_Get_Opt_Long_Option since it
+ wasn't really needed and took up space.
+
+Tue Jan 8 10:43:48 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/config-sunos5.5.h (ACE_LACKS_INET_ATON):
+
+ Solaris does indeed implement the inet_aton() function, but it
+ is found in `libresolv.*'. It doesn't seem worth it to link
+ another library just for that function. Just use the emulation
+ in ACE that has been used for years.
+
+Tue Jan 8 11:31:22 2002 Steve Huston <shuston@riverace.com>
+
+ * tests/Makefile: When doing realclean, use the DLL_Test and
+ Service_Config_DLL Makefiles to clean their files up.
+
+Tue Jan 8 08:36:33 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect): Corrected order
+ of operations checking EWOULDBLOCK, and fixed compile errors.
+ Thanks to Vlado Chovanec <Vladimir.CHOVANEC@asset.sk> for this fix.
+
+Mon Jan 7 19:55:39 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect): Added extra check
+ for SSL_accept/connect status failure to avoid looping on a bad
+ socket if the socket closes during handshake. Thanks to Vlado
+ Chovanec <Vladimir.CHOVANEC@asset.sk> for this fix.
+
+ Also added timeout countdown support for SSL_SOCK_Connector, same
+ as in: Sun Jan 6 09:37:02 2002 Ossama Othman <ossama@uci.edu>
+
+Mon Jan 7 15:55:26 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/INET_Addr.cpp (set):
+
+ Pass a pointer to a "struct in_addr" to inet_aton(), i.e. the
+ proper type, instead of a forcibly casted ACE_UINT32. Also
+ updated existing code to use the in_addr::s_addr member instead
+ of the previous ACE_UINT32 variable.
+
+Mon Jan 7 15:13:09 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * performance-tests/Misc/context_switch_time.cpp (main):
+ Since the Yield_test does seem to work on VxWorks now (see
+ ChangeLog below), the 'ifdefs' for bypassing VxWorks for the
+ Yield-Test have now been removed.
+
+Mon Jan 7 15:08:25 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * ace/OS.i (thr_yield):
+ Changed ::taskDelay (1) to ::taskDelay (0) for VxWorks in
+ thr_yield (). The change with (0), now does seem to perform
+ the yield correctly as reflected in the Yield-Test of
+ context_switch_time. Thanks to Charlie Grames
+ <charlie.grames@windriver.com> for this tip.
+
+Mon Jan 7 15:16:10 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/OS.h (INADDR_NONE):
+
+ If the platform does not define this constant, then define it.
+
+ * ace/OS.cpp (inet_aton):
+
+ For some reason we were emulating inet_aton() on all platforms
+ using the now deprecated inet_addr() function. Use the native
+ inet_aton() function unless ACE_LACKS_INET_ATON is defined.
+
+ Instead of performing a memcpy() of the IPv4 32-bit address into
+ the in_addr data structure, simply assign it to the s_addr field
+ of that data structure. It's not clear why we didn't do this in
+ the first place.
+
+ (inet_ntoa):
+
+ Fixed PSoS emulation of this method. The result is supposed to
+ be stored in a statically allocated string, not a dynamically
+ allocated one. Fixes a memory leak. Note that this change
+ makes the implementation non-reentrant. However, inet_ntoa()
+ was not designed to be reentrant to begin with.
+
+ * ace/OS.i (inet_addr):
+
+ On error, inet_addr() is supposed to return INADDR_NONE.
+
+ The return value should be a 32 bit unsigned integer, not a
+ signed one.
+
+ * ace/config-win32-common.h:
+
+ MS Windows does not support the inet_aton() function. Define
+ ACE_LACKS_INET_ATON.
+
+Mon Jan 7 12:20:26 2002 Ossama Othman <ossama@uci.edu>
+
+ * bin/auto_run_tests.lst:
+
+ Added the MT_SSLIOP test to the regression test suite list.
+
+Sun Jan 6 21:19:10 2002 John Aughey <jha@cs.wustl.edu>
+
+ * tests/run_test.lst: Uncommented out Conn_Test from daily builds.
+
+Sun Jan 6 21:09:10 2002 John Aughey <jha@cs.wustl.edu>
+
+ * ace/INET_Addr.cpp:
+ * ace/INET_Addr.h:
+
+ Reverted to January 1 version until I have time to put the
+ set_host_name() method in correctly.
+
+Sun Jan 6 20:01:10 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/run_test.lst: Commented out Conn_Test from the daily
+ builds. This test seems to hang blocking build progress. Have
+ sent a mail to John Aughey on this.
+
+Sun Jan 6 09:37:02 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (accept, ssl_accept):
+
+ Take into account the time to complete the basic TCP handshake
+ and the SSL handshake. Specifically, ACE_Countdown_Time is used
+ to reduce the timeout value after each IO operation
+ (e.g. accept(), SSL_accept()) used during SSL passive connection
+ establishment. [Bug 1110]
+
+ Commented out debugging statements.
+
+Sat Jan 5 20:57:36 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * ace/Future.cpp (get): Added another ACE_const_cast in addition
+ to Doug's changes to fix compile errors. See below.
+
+Sat Jan 5 14:57:36 2002 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/OS_QoS.h: Fix comments, put in doxygen format.
+
+Sat Jan 5 08:59:41 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Future.cpp (get): Added an ACE_const_cast() to silence certain
+ C++ compilers. Thanks to Venkita for reporting this.
+
+Fri Jan 5 15:17:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS.{h,cpp}:
+ Added ACE_TSS_Emulation::release_key() method to release a
+ thread_key within the TSS_Emulation when a thread is stopped.
+ Added ACE_TSS_Emulation::tss_keys_used_ member to administrate which
+ thread_keys are used and which not.
+ Added ACE_TSS_Keys::is_set() method to test whether a specific
+ thread_key is marked as used.
+ Changed ACE_TSS_Emulation::next_key() method to return a thread_key
+ that is not used yet, this key is then marked as used at the same
+ time.
+ Changed ACE_OS::thr_keyfree() method to release the key in the
+ TSS_Emulation when ACE_HAS_TSS_EMULATION is defined.
+
+ These changes fix the bugzilla bugs 223 and 657. The ACE_TSS_Emulation
+ now recycles keys that are released earlier.
+
+Fri Jan 4 19:59:03 2002 John Aughey <jha@cs.wustl.edu>
+
+ * ace/INET_Addr.cpp: Fixed the new set_host_name method
+
+Fri Jan 4 18:59:27 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ChangeLogs/ChangeLog-01b: Added a new file. Trimmed this file
+ to have entries only in 2002.
+
+Fri Jan 4 15:50:42 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect):
+ On ACE::select-reported timeout or failure, set status to return
+ a -1 to caller, not 0. Thanks to Vladimir Chovanec
+ <Vladimir.CHOVANEC@asset.sk> for reporting this and sending a fix.
+
+Fri Jan 4 08:31:49 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * tests/Thread_Manager_Test.cpp (test_task_record_keeping): Fixed
+ a typo in an expression on line 226. Thanks to Harvinder
+ Sawhney <harvindersawhney@yahoo.com> for reporting this.
+
+Fri Jan 4 05:51:22 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Future.{h,cpp}: Made the get() and ready() methods const.
+ Thanks to Ran Kohavi <ran@kashya.con> for reporting this.
+
+Fri Jan 4 15:06:31 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/String_Base.h (operator=): Add <CHAR> to ACE_String_Base
+ return type. Fixes compile error on IBM C/C++.
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ If SSL_get_error() returns SSL_ERROR_SYSCALL and it's EWOULDBLOCK,
+ don't blindly set both read and write handles for select. Check
+ if SSL is indicating SSL_want_write() and set the proper handle.
+ Also, don't ACE_ASSERT SSL_pending before return... if there's
+ an SSL handshake screw-up (like someone trying to break in)
+ just report the failure, don't abort/crash.
+
+Wed Jan 02 13:27:09 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/INET_Addr.h:
+ * ace/INET_Addr.cpp: Removed tabs and trailing whitespaces.
+
+Wed Jan 2 08:19:18 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/FILE_Connector.h,
+ * ace/OS.h (ACE_OS): Clarified the weak semantics of O_APPEND
+ on Win32. Thanks to Eugene Alterman <eugalt@myrealbox.com> for
+ reporting this.
+
+Wed Jan 2 12:43:00 2002 John Aughey <jha@aughey.com>
+
+ * ace/INET_Addr.h
+ * ace/INET_Addr.cpp : Added set_host_name method and moved
+ relevant code into this method. Changed signature of
+ set_address method to take a void pointer rather than a
+ char *.
+
+Wed Jan 2 12:30:01 2002 Chris Gill <cdgill@cs.wustl.edu>
+
+ * ace/RB_Tree.i
+ * tests/RB_Tree_Test.cpp : added check for valid current node to
+ forward_i and reverse_i methods of iterator base class. Thanks to
+ Craig L. Ching <cching@mqsoftware.com> for reporting this!
+
+Wed Jan 2 08:19:18 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * tests/README: Clarify that run_test.pl should be used rather
+ the run_tests.sh.
+
+ * tests/run_tests.bat: Clarify that run_test.pl should be used
+ on Win9x. Thanks to Edward A Thompson <ed4becky_2000@yahoo.com>
+ for prompting this.
+
+Wed Jan 2 07:37:01 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Handle_Set.h:
+ * ace/Handle_Set.cpp: Added a method reset_state () to the
+ ACE_Handle_Set_Iterator class.
+
+Tue Jan 2 11:39:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS.i:
+ Added missing ACE_UNUSED_ARG in ACE_OS::event_timedwait
+
+Tue Jan 1 15:36:39 2002 Steve Huston <shuston@riverace.com>
+
+ * include/makeinclude/platform_sunos5_sunc++.GNU: Added support
+ for the buildbits=64 make option.
+
+Tue Jan 1 20:05:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Name_Request_Reply.{h,cpp}:
+ Changed type of 3 constructor arguments from size_t to ACE_UINT32
+ because the members in which these arguments are stored are also
+ of type ACE_UINT32
+
+ * ace/OS.i
+ In ACE_OS::umask method, changed the type in the ACE_OSCALL_RETURN
+ macro from int to mode_t because that is the return type of the
+ method
+
+Tue Jan 1 08:47:25 2002 Douglas C. Schmidt <schmidt@siesta.cs.wustl.edu>
+
+ * ace/Thread.h: Clarify how the ACE_Thread_Adapter is deleted
+ when spawn() is called. Thanks to Preston Elder
+ <prez@srealm.net.au> for reporting this confusion.
+
+Tue Jan 1 14:09:26 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Map_Manager/test_hash_map_manager.cpp:
+ Made this example compiling when ACE_USES_WCHAR is set
+
+ * Makefile.bor:
+ Added examples directory because all examples for which there are
+ BCB makefiles now build when ACE_USES_WCHAR is set
+
+Tue Jan 1 00:02:12 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/ace_dll.vcp: Added String_Base_Const.*.
diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a
new file mode 100644
index 00000000000..99e2749a4a2
--- /dev/null
+++ b/ChangeLogs/ChangeLog-02a
@@ -0,0 +1,1022 @@
+Wed Jan 30 15:11:49 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * include/makeinclude/platform_linux.GNU (CXX_VERSION):
+ * ace/config-g++-common.h:
+
+ Turned off explicit template instantiation with gcc under Linux.
+ The specific versions are 2.95.x, 2.96, 3.0.x (3.x). Added a
+ flag implicit_templates to tweak the behaviour from the
+ platform_macros.GNU file.
+
+ The combination of the compiler and binutils seems to give a
+ nice reduction in the footprint.
+
+Wed Jan 30 16:00:39 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/Process_Manager.cpp (register_handler): Replaced ECHILD with
+ EINVAL if the pid is not found. Probably a more accurate
+ assessment of the situation, and should compile clean on WinCE.
+
+Wed Jan 30 13:50:17 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * docs/index.html: Fixed the ACE-inheritance.pdf document so
+ it isn't gzipped. Thanks to Michael Searles
+ <msearles@base16.com> for reporting this.
+
+Wed Jan 30 09:28:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * XML/parser/debug_validator/Debug_Attributes_Builder.cpp:
+ * XML/parser/debug_validator/Debug_DTD_Manager.cpp:
+ * XML/parser/debug_validator/Debug_Element_Builder.cpp:
+ * XML/parser/debug_validator/Element_Tree.cpp:
+ Added missing ACE_LIB_TEXT. This fixes the BCB unicode build errors
+
+Tue Jan 29 20:11:21 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * etc/*.doxygen (EXPAND_AS_DEFINED): Added ACE_CACHE_MAP_MANAGER
+ to the list in EXPAND_AS_DEFINED. Thanks to Don Hinton
+ <dhinton@ieee.org> for the suggestion.
+
+Tue Jan 29 19:36:24 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/make_release: The whole release process has been moved to
+ Linux box. This is because the sun machines at WashU were having
+ problems and they are not dependable. The following are the list
+ of changes made
+
+ - All the path related stuff have been changed ie. instead of
+ using /pkg/gnu tools, we use native tools on Linux now.
+
+ - The gnu suffixes to many of the tools have been removed.
+
+ - Most of the path to the tools have been hardcoded in the PATH
+ environment variabe.
+
+ - Tools that were missing have been loaded on 3 main Linux boxes
+ at WashU including Graphviz and doxygen.
+
+ - A beta cannot be cut from a sun box.
+
+ - The script will recommend cutting a beta from deuce.doc.
+
+ The script has been tested with a dummy release.
+
+Tue Jan 29 16:01:54 2002 Ossama Othman <ossama@uci.edu>
+
+ * bin/fuzz.pl (check_for_missing_rir_env):
+
+ Check for ACE_ENV_ARG_PARAMETER instead of
+ TAO_ENV_ARG_PARAMETER. The latter is deprecated.
+
+Tue Jan 29 20:47:24 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net>
+
+ * docs/exceptions.html: Document the new ACE_ENV_ macros.
+
+ * bin/subst_env.pl: Transform to ACE_ENV_ instead of TAO_ENV_.
+
+Tue Jan 29 08:39:24 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net>
+
+ * ace/CORBA_macros.h:
+ Added ACE_ENV_ARG macros to replace the TAO_ENV_ARG macros
+ defined in TAO/tao/orbconf.h. All exception related macros
+ are now defined in ace/CORBA_macros.h, and the TAO_ENV_ARG
+ macros will soon be deprecated.
+
+ * include/makeinclude/wrapper_macros.GNU:
+ Added the include_env switch for compatibility with the
+ exception handling use before TAO 1.2.2.
+
+Tue Jan 29 08:17:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/ace_flags.bor:
+ Added compiler flags for new cosevent orbsvcs test library CECTEST
+ Added compiler flags for new notify orbsvcs test library NotifyTests
+
+Mon Jan 28 17:44:51 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/Process_Manager.cpp (wait): When waiting for a non-specific
+ process, specify -1 pid for waitpid(). This is necessary because
+ of Fri Jan 25 19:58:41 2002 Steve Huston <shuston@riverace.com>
+ change to not alter the process group ID when ACE_Process_Manager
+ spawns a process.
+ Timed waits for a process still don't work on non-Win32, but
+ this fix corrects the failed wait with errno == ECHILD.
+
+Mon Jan 28 12:16:28 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/auto_run_tests.lst:
+ Removed EC_Basic and Event_Latency tests from nightly builds, I
+ left them there by mistake when I took them out of the
+ repository (around December, 25th 2001)
+
+Mon Jan 28 13:20:32 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * XML/common/AttributesImpl.cpp: Removed a bunch of inline
+ designators.
+
+Sun Jan 27 22:18:50 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * bin/msvc_auto_compile.pl: Projects in XML subdirectory are
+ interdependent. List out the order they should be built
+ explicitly.
+
+Sun Jan 27 12:48:48 2002 Ossama Othman <ossama@uci.edu>
+
+ * bin/auto_run_tests.lst
+ * bin/performance_stats.sh:
+
+ Updated in accordance with the new TAO "Latency" performance
+ test organization.
+
+Sun Jan 27 12:08:45 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * XML/common/Transcode.h (ACEXML_Transcoder): Improved the
+ documentation.
+
+ The followings fixed the Tru64 warnings/errors.
+
+ * XML/common/AttributesImpl.i (operator):
+ * XML/common/Env.i: Reordered inline functions.
+
+ * XML/tests/Transcoder_Test.cpp: Removed an unused argument.
+
+ * XML/common/Attributes_Def_Builder.h: Added inclusion of
+ "ace/Auto_Ptr.h".
+
+ * XML/examples/SAXPrint/SAXPrint_Handler.cpp:
+ * XML/examples/SAXPrint/Print_Handler.cpp: Added inclusion of
+ "ace/Log_Msg.h".
+
+Sun Jan 27 15:03:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * Makefile.bor:
+ Build the XML library with BCB
+
+ * XML/parser/Makefile.bor:
+ Added debug_validator
+
+ * XML/parser/debug_validator/Makefile.bor:
+ Added BCB makefile
+
+Sat Jan 26 19:02:49 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/Process_Manager.cpp (register_handler):
+
+ Corrected code that always returned -1. Code that should only
+ have been run on error was always run since it was outside of an
+ "if block." Curly braces are a good thing (they were missing).
+
+Sat Jan 26 21:41:39 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/Process_Manager.cpp (wait): Fixed compiler warning on
+ Linux about unused wait_until. This fix removes the ability
+ to spin around the 'for' loop waiting for signals multiple
+ times with the timeout decreasing to account for wait time.
+ Will have to come back to restore this functionality later.
+
+Sat Jan 26 14:40:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/ace_flags.bor:
+ Added compiler and linker flags for new XML library
+
+ * XML/common/Makefile.bor:
+ * XML/parser/parser.Makefile.bor:
+ * XML/Makefile.bor:
+ * XML/parser/Makefile.bor:
+ * XML/tests/Makefile.bor:
+ Added BCB makefiles for the new XML library.
+
+Fri Jan 25 19:58:41 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/Process_Manager.cpp (wait(pid_t, const ACE_Time_Value &,
+ ACE_exitcode *status)): If platform offers sigtimedwait, use it
+ instead of setting ualarm and then doing sigwait. Once ualarm
+ is set, it will fire, even if this method has returned. This
+ causes Solaris processes to die on SIGALRM.
+
+ Also, do not play with the process group ID by default. It's
+ not needed for doing normal signal management by most processes.
+ If processes really have a need to change or set a new process
+ group, they need to do it explicitly by using ACE_OS::setpgid()
+ or by setting a process group ID in an ACE_Process_Options object
+ when spawning processes.
+
+ * tests/Process_Manager_Test.cpp: Added a bit more diagnostic info.
+
+Fri Jan 25 18:29:37 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/config-aix-4.x.h: Removed ACE_HAS_SIGTIMEDWAIT. It compiles,
+ but returns ENOSYS at run time.
+
+ * ace/config-aix5.1.h: Added ACE_HAS_SIGTIMEDWAIT.
+
+Fri Jan 25 15:36:40 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/ace_dll.dsp: Removed /version flags from the project since
+ they have been taken care of by ace.rc file. Thanks to Ossama
+ for pointing it out.
+
+Fri Jan 25 14:45:00 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst:
+ Added Two_Objects test to the list.
+
+Fri Jan 25 14:40:15 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * XML/common/Exception.cpp:
+ * XML/common/NamespaceSupport.cpp:
+ * XML/common/SAXExceptions.cpp:
+ * XML/parser/parser/Parser.cpp: Moved the initialization of static
+ members before the inclusion of inline files to avoid
+ compilation erros on Borland compiler. Thanks to Johnny
+ Willemsen <jwillemsen@remedy.nl> for figuring this out.
+
+Fri Jan 25 14:31:06 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * XML/common/NamespaceSupport.cpp:
+ * XML/parser/parser/Parser.cpp: Fixed several KCC warnings.
+
+Fri Jan 25 12:01:14 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ The following changes fixed SunCC5.1 compilation errors.
+
+ * XML/common/Makefile:
+ * XML/parser/parser/Makefile:
+ * XML/tests/Makefile:
+ * XML/examples/SAXPrint/Makefile: Removed extra spaces for -I
+ flags.
+
+ * XML/common/Attributes_Def_Builder.h: Removed a redundant comma.
+
+ * XML/common/NamespaceSupport.i: Changed
+ ACE_TEMPLATE_METHOD_SPECIALIZATION to
+ ACE_TEMPLATE_SPECIALIZATION.
+
+ * XML/tests/NamespaceSupport_Test.cpp: String literals needed to
+ be assigned to const char *.
+
+Fri Jan 25 09:42:12 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/ace_dll.dsp:
+
+ Corrected inconsistency in the DLL minor version. The correct
+ minor version for the ACE 5.2 series is "2," not "1."
+
+Fri Jan 25 11:21:28 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * bin/msvc_auto_compile.pl: Added XML into the list of auto build
+ targets.
+
+Fri Jan 25 00:37:00 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * We now have 1,400 contributors to the ACE+TAO software. Yow!
+
+Thu Jan 24 17:49:46 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/CDR_Stream.i: Fixed the check for the length within
+ ACE_InputCDR::read_*_array (). The method was checking just for
+ length passed in, which happens to be the number of elements in
+ the array, instead of the number of bytes necessary for the
+ elements. Thanks to William R Volz <WRVO@chevrontexaco.com> for
+ reporting this.
+
+ * THANKS: Added William Volz to the hall of fame.
+
+Thu Jan 24 18:31:49 2002 Steve Huston <shuston@riverace.com>
+
+ * tests/Process_Manager_Test.cpp: Better diagnostics added.
+
+Thu Jan 24 15:14:52 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Lib_Find.cpp (ldfind): Restored previously removed Win32
+ code and re-organized macros so we wouldn't upset CE builds.
+
+Thu Jan 24 14:53:38 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * bin/generate_doxygen.pl:
+ * etc/acexml.doxygen: Added the doxygen config file for XML
+ subdirectory.
+
+ * Makefile: Added XML subdirectory into the lists to be compiled
+ and be included in the release.
+
+ * XML/*: Merged in the XML parser code.
+
+Thu Jan 24 10:14:47 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/ace_wchar.h: Added the definition for ACE_TEXT_SearchPath.
+
+ * ace/Lib_Find.cpp (ldfind): Fixed UNICODE and Fuzz builds
+ errors. Thanks to Johnny Willemsen <jwillemsen@remedy.nl> for
+ the fix.
+
+Wed Jan 23 16:48:54 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Lib_Find.h:
+ * ace/Lib_Find.cpp (ldfind): Change to use Win32 API SearchPath to
+ search for the target DLL and updated the document for ldfind in
+ header file. Thanks to Eugene Alterman
+ <Eugene.Alterman@bremer-inc.com> for submitting the patch.
+
+Wed Jan 23 14:01:32 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/config-lynxos.h (ACE_LACKS_INET_ATON):
+
+ LynxOS does not implement the inet_aton() function.
+
+Wed Jan 23 16:37:52 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/NT_Service.cpp (insert): If the CreateService call fails,
+ be sure to save the error value before making another Win32 call
+ that will smash it. Thanks to Kelly Hickel <kfh@mqsoftware.com>
+ for reporting this.
+ Also ACE-ified the source better.
+
+ * examples/NT_Service/main.cpp: Added some ACE_ERROR output if
+ operations requested from the command line fail.
+
+Wed Jan 23 16:14:43 2002 Boris Kolpackov <bosk@ipmce.ru>
+
+ * include/makeinclude/platform_sunos5_sunc++.GNU
+
+ Added work around for famous Sun CC "pure virtual function called"
+ bug. Unfortunately this involves introduction of yet another #define.
+ See TAO/tao/ValueBase.h for more information.
+
+Tue Jan 22 21:27:25 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/ace_dll.vcp: Add Frameork_Component.* to the builds. Thanks
+ to Venkita for pointing it out.
+
+Tue Jan 22 17:42:39 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/NT_Service.(h cpp): Added two new methods:
+ void capture_log_msg_attributes (void): Grabs a copy of the
+ calling thread's ACE_OS_Log_Msg_Attributes to facilitate
+ inheritance of the logging attributes in the service thread.
+ void inherit_log_msg_attributes (void): Called in a service
+ thread, inherits the main thread's logging attributes.
+ Modified the ACE_NT_SERVICE_RUN macro to capture the main
+ thread's logging attributes before starting the service control
+ dispatcher. Modified the ACE_NT_SERVICE_DEFINE macro to call
+ inherit_log_msg_attributes if the ACE_NT_Service object for
+ the service was set up before the thread started.
+ Fixes Bugzilla # 82.
+
+ * examples/NT_Service/main.cpp:
+ * examples/NT_Service/ntsvc.cpp: Now writes a log file in the current
+ working directory which should have messages from both main and
+ service threads in it.
+
+Tue Jan 22 15:19:29 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/DLL.cpp: Changed to invoke this->open() in the
+ constructor. Thanks to Eugene Alterman
+ <Alterman@bremer-inc.com> for motivating this.
+
+Mon Jan 21 23:27:03 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS.h: Reordered main redefinition macros so that it actually
+ passed wchar argv to main when UNICODE is defined.
+
+Mon Jan 21 10:01:34 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst:
+ Added MIOP unit tests.
+
+Mon Jan 21 03:00:14 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/Framework_Component.cpp (register_component):
+
+ Removed debugging statements that always printed text.
+
+Mon Jan 21 07:45:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Framework_Component.cpp:
+ Fixed fuzz error
+
+Mon Jan 21 00:13:42 2002 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * ace/streams.h:
+ Workaround for Borland C++ 5.5.1 bug we have now just hit.
+
+Sun Jan 20 21:42:53 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Framework_Component.cpp:
+ * ace/Framework_Component_T.cpp: Fixed fuzz errors.
+
+2002-01-20 Oliver Kellogg <oliver.kellogg@sysde.eads.net>
+
+ * bin/subst_env.pl: New script to ease the transition to the
+ TAO_ENV_ARG macros defined in TAO/tao/orbconf.h.
+
+Sun Jan 20 12:38:28 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Framework_Component_Test.dsp: New dsp file for the test.
+ * tests/tests.dsw: Added the above test to the workspace.
+
+Sun Jan 20 12:25:28 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Framework_Component.h: Removed the definition of the
+ default constructor (in ACE_UNIMPLEMENTED_FUNC definition). The
+ other private constructor with a default argument tends towards
+ a default constructor and VC++ signals a multiple definition
+ error. Not sure how g++ didnt signal this one.
+
+ * ace/Framework_Component_T.h: #include'd Framework_Component.h
+ * ace/Framework_Component_T.cpp: Added a #ifndef around the file.
+
+ * ace/ace_dll.dsp:
+ * ace/ace_lib.dsp: Added the Framwork_Component* files to the
+ project file.
+
+Sun Jan 20 10:40:28 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * tests/Vector_Test.dsp:
+ * tests/tests.dsw: Added a new project for Vector_Test.
+
+Sun Jan 20 16:25:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Makefile.bor:
+ Added new Framework_Component
+
+ * tests/Makefile.bor:
+ Added new Framework_Component_Test
+
+Sun Jan 20 00:00:30 2002 UTC Don Hinton <dhinton@ieee.org>
+
+ * ace/Vector_T.cpp (dump): Commented out the contents of this
+ function for the time being. It assumed that the element
+ was an object with a dump() method, which won't always be
+ the case.
+
+ * tests/Vector_Test.cpp: Changed a few data types from signed
+ to unsigned, size_t, to get rid of compiler warnings.
+
+Sat Jan 19 17:29:50 2002 Douglas C. Schmidt <schmidt@siesta.cs.wustl.edu>
+
+ * ace/Vector_T.cpp (dump): Fixed problems with this method. Thanks
+ to Don Hinton for reporting this.
+
+ * tests/Vector_Test.cpp: Changed the typedef of DATA from int to
+ size_t to avoid "type mismatch" compiler warnings. Thanks to
+ Don Hinton for reporting this.
+
+Sat Jan 19 22:30:26 UTC 2002 Don Hinton <dhinton@ieee.org>
+
+ * apps/JAWS2/JAWS/Hash_Bucket_T.h:
+ * apps/JAWS2/JAWS/Assoc_Array.h: Added missing keyword "class" to
+ friend declarations.
+
+ * ace/SString.cpp: Removed unneeded include of Service_Config.h.
+
+ * ace/Service_Config.{h|cpp}:
+ * examples/Connection/misc/Connection_Handler.cpp:
+
+ Removed static methods from ACE_Service_Config that delegated to
+ ACE_Reactor::instance(), and fixed a few instances where they were
+ still called.
+
+ * ace/Object_Manager.cpp:
+ * ace/Service_Config.cpp:
+ * ace/Proactor.cpp:
+ * ace/Reactor.cpp:
+
+ Added call to instance() methods that registers the singleton with
+ the new ACE_Framework_Repository so it can handle destruction, and
+ replaced explicit references to ACE_Reactor and ACE_Proactor with
+ calls to ACE_Framework_Repository.
+
+ * ace/Framework_Component.{h|inl|cpp}:
+ * ace/Framework_Component_T.{h|inl|cpp}:
+ * ace/Makefile:
+ * tests/Framework_Component_Test.cpp:
+ * tests/Makefile:
+ * tests/run_test.lst:
+
+ Added ACE_Framework_Repository to manage ACE_Framework_Component's,
+ e.g., singletons like ACE_Reactor or ACE_Proactor. It uses
+ External Polymorphism obviating any interface changes. The
+ components register themselves with repository in their instance
+ methods. This allows the Object_Manager and Service_Config to
+ manage these components without having to know about them a priori.
+
+ This was needed to reduce footprint for applications like TAO that
+ don't need to use all the available components, e.g., ACE_Proactor.
+
+Sat Jan 19 10:23:39 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Makefile (TEMPLATE_FILES):
+ * tests/Makefile.bor:
+ * tests/Makefile:
+ * tests/run_test.lst:
+ * ace/Vector_T.{h,i,cpp}:
+ * tests/Vector_Test.cpp: Added support for the new ACE_Vector to
+ the appropriate places. This vector behaves like the STL
+ vector. Thanks to Gonzo and Craig Ching for contributing this.
+
+ * ace/Future_Set.h: Updated the documentation to explain how
+ various features work better. Thanks to Johnny Tucker for
+ contributing this.
+
+Fri Jan 18 19:09:41 2002 Steve Huston <shuston@riverace.com>
+
+ * tests/run_test.lst: Re-enabled Process_Manager_Test for all but
+ Chorus and VxWorks. Could not find a reason it was disabled.
+ Also enabled Process_Mutex_Test on Win32.
+
+Fri Jan 18 16:44:29 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/ace.icc: Added Reactor_Notification_Strategy.(h cpp) sources.
+
+ * ace/Reactor_Notification_Strategy.cpp: Fixed ACE_RCSID to refer to
+ Reactor_Notification_Strategy, not Strategies.
+
+ * tests/Get_Opt_Test.icc:
+ * tests/INET_Addr_Test.icc: New Visual Age C++ configs for these tests.
+
+ * tests/tests.icp: Added Get_Opt_Test.icc and INET_Addr_Test.icc
+
+Fri Jan 18 12:56:36 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Log_Msg.cpp (init_backend): Added support for SysLog on platforms
+ that don't lack it. Thanks to Alexei I. Adamovich
+ <lexa@adam.botik.ru> for reporting this fix.
+
+Fri Jan 18 10:29:06 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/Service_Config.h (process_file):
+ * ace/Service_Config.cpp (process_directives, process_file):
+
+ Factored out code that processes a svc.conf file into the new
+ static process_file() method. This allows svc.conf files to be
+ explicitly parsed by the application at any arbitrary point in
+ time instead of Service Configuration initialization time alone.
+
+Thu Jan 17 18:51:09 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Name_Space.cpp (operator =): Fixed a memory leak. Thanks
+ to Ian Cahoon <icahoon@cisco.com> for reporting this.
+
+Thu Jan 17 12:13:51 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Context.h (private_key, verify_private_key):
+
+ Added new documentation. These methods should only be called
+ after a certificate has been set since key verification is
+ performed against the certificate, among other things.
+
+Thu Jan 17 13:11:27 2002 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Message_Queue.h:
+ * ace/Message_Queue.cpp:
+ * ace/Message_Queue_T.h:
+ * ace/Message_Queue_T.cpp:
+
+ Provide the ability to enqueue based on the message deadline and
+ to dequeue based on priority, deadline and from the end.
+
+Wed Jan 16 11:24:52 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * THANKS:
+ Updated to add Gerhard Voss <Gerhard_Voss@t-online.de>.
+
+Wed Jan 16 06:19:01 2002 Douglas C. Schmidt <schmidt@siesta.cs.wustl.edu>
+
+ * ace/OS.i: Replaced "set" with "sset" in sigtimedwait() and sigwait()
+ to avoid STL symbol clashes with MSVC++ 6.0. Thanks to Shmulik
+ Regev <shmul@vself.com> for reporting this.
+
+Wed Jan 16 09:01:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Containers_T.{h,cpp}:
+ Added ACE_Fixed_Set_Const_Iterator to make it possible to
+ iterate through a const ACE_Fixed_Set instance
+
+Wed Jan 16 07:53:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/ace_flags.bor:
+ Added new flags for the new TAO ETCL orbsvcs library
+
+Tue Jan 15 17:24:53 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/SSL/SSL_Context.cpp (report_error()): Set ACE_OS::last_error()
+ to ERR_get_error() so the caller can get the error code later.
+
+ * ace/SSL/SSL_SOCK_Connector.cpp: If the SSL handshake phase of a
+ connection attempt fails, close the underlying socket.
+
+Tue Jan 15 15:35:41 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/SOCK_Connector.(h cpp):
+ * ace/LSOCK_Connector.(h i cpp):
+ * ace/MEM_Connector.(h cpp):
+ * ace/SSL/SSL_SOCK_Connector.(h cpp):
+ Improved the Doxygenation and removed the protocol_family and
+ protocol arguments from the ctors and connect() methods. The
+ protocol family is always taken from the ACE_Addr remote_sap
+ argument since it can now be either PF_INET or PF_INET6 (for
+ SOCK_Connector objects) and should be PF_UNIX for LSOCKs.
+ It is pointless to allow the user to request something that
+ is impossible to do correctly.
+
+Tue Jan 15 10:52:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/ace_flags.bor:
+ Added new flags for the new TAO PortableGroup library
+
+Mon Jan 14 14:40:25 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/g++dep:
+ Fixed small problems in the dependency generation:
+ - The script did not properly handle files with '+' in their
+ names.
+ - In some cases the script generated escaped blanks, i.e. lines
+ containing a blank preceded by a backslash. Such blanks are
+ interpreted as part of a dependency name and break havoc with
+ the builds.
+
+Mon Jan 14 16:49:37 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/OS.h (ACE_STATIC_SVC_DEFINE): Corrected the documentation to
+ say the service-implementing class must be derived from
+ ACE_Service_Object, not ACE_Service_Config.
+
+Mon Jan 14 07:40:16 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS.i (mmap): There was a typo that prevented the ACE Memory Map
+ stuff from working properly on Win9x. Thanks to Edan Ayal
+ <edanayal@yahoo.com> for reporting this.
+
+Sun Jan 13 18:59:37 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Memory_Pool.{h,cpp}: Added a new option that makes is possible
+ to control whether or not a fixed address will be used when
+ remapping a memory-mapped file. Thanks to Jonathan Reis
+ <reis@stentor.com> for this enhancement.
+
+Mon Jan 14 11:02:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/ace_flags.bor:
+ Added flags for new TAO FT_ORB library
+
+Sun Jan 13 08:20:05 2002 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/config-all.h: Make sure that ACE_bad_alloc
+ is defined as std::bad_alloc if
+ ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB macro is set.
+ Fixes gcc 3.0.3 compilation problem.
+
+Fri Jan 11 22:54:22 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/config-lynxos.h: Added #define ACE_HAS_USING_KEYWORD to teh
+ file. The compiler supports namespaces. According to the new
+ rules at the doc_group, we dont use any compilers that dont
+ support namespaces. The above macro is itself a waste. But we
+ cannot remove it overnight as it has far reaching
+ consequences. Working around that for the timebeing.
+
+Thu Jan 10 18:35:41 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/Profile_Timer.h: Clarified that elapsed_time() calculates time
+ from start() to stop(). Improved Doxygenation.
+
+Thu Jan 10 16:53:41 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * examples/Service_Configurator/IPC-tests/server/server.dsp: The
+ Release version of the library needs to link in ADVAPI32.LIB as
+ GetUserName is used in ACE's inline code.
+
+Wed Jan 9 22:07:50 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Logging_Strategy.cpp (fini): Make sure to cancel the
+ timer if interval_ and max_size_ are > 0. Thanks to Yaniv Ben
+ Ari <yanivb@bis.co.il> for reporting this.
+
+Wed Jan 9 11:38:58 2002 Ossama Othman <ossama@uci.edu>
+
+ * tests/SSL/Makefile (LDLIBS):
+
+ Added missing SSL and crypto libraries. Fixed link errors.
+ Thanks to Marvin Wolfthal <maw@weichi.com> for reporting the
+ error and suggesting a fix.
+
+Wed Jan 9 12:24:39 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/Process.cpp (spawn): Don't attempt ACE_OS::setpgid if
+ ACE_LACKS_SETPGID is defined. Thanks to Victor Terber
+ <vterber@csksoftware.de> for reporting this.
+
+Wed Jan 09 11:19:07 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS.h: Updated the comment for ACE_CE_Bridge to indicate that
+ it's obsolete and will be removed in the future.
+
+Wed Jan 9 00:48:48 2002 Don Hinton <dhinton@gmx.net>
+
+ * ace/Get_Opt.cpp: Make sure to cast away constness
+ before deleting an ACE_TCHAR array. Thanks to
+ Bala for reporting this.
+
+Tue Jan 8 17:29:33 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/SSL/SSL_SOCK_Connector.cpp: Don't try to dereference a 0
+ timeout pointer. Gack. Thanks to Ossama for pointing this out.
+
+Tue Jan 8 15:51:06 2002 Don Hinton <dhinton@gmx.net>
+
+ * ace/Get_Opt.cpp
+ * ace/Service_Config.cpp:
+
+ Moved the template instantiations from Service_Config.cpp to
+ Get_Opt.cpp where they belong.
+
+ * ace/Get_Opt.{h.cpp}: Replaced ACE_TString with ACE_TCHAR for
+ type of member variable ACE_Get_Opt_Long_Option since it
+ wasn't really needed and took up space.
+
+Tue Jan 8 10:43:48 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/config-sunos5.5.h (ACE_LACKS_INET_ATON):
+
+ Solaris does indeed implement the inet_aton() function, but it
+ is found in `libresolv.*'. It doesn't seem worth it to link
+ another library just for that function. Just use the emulation
+ in ACE that has been used for years.
+
+Tue Jan 8 11:31:22 2002 Steve Huston <shuston@riverace.com>
+
+ * tests/Makefile: When doing realclean, use the DLL_Test and
+ Service_Config_DLL Makefiles to clean their files up.
+
+Tue Jan 8 08:36:33 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect): Corrected order
+ of operations checking EWOULDBLOCK, and fixed compile errors.
+ Thanks to Vlado Chovanec <Vladimir.CHOVANEC@asset.sk> for this fix.
+
+Mon Jan 7 19:55:39 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect): Added extra check
+ for SSL_accept/connect status failure to avoid looping on a bad
+ socket if the socket closes during handshake. Thanks to Vlado
+ Chovanec <Vladimir.CHOVANEC@asset.sk> for this fix.
+
+ Also added timeout countdown support for SSL_SOCK_Connector, same
+ as in: Sun Jan 6 09:37:02 2002 Ossama Othman <ossama@uci.edu>
+
+Mon Jan 7 15:55:26 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/INET_Addr.cpp (set):
+
+ Pass a pointer to a "struct in_addr" to inet_aton(), i.e. the
+ proper type, instead of a forcibly casted ACE_UINT32. Also
+ updated existing code to use the in_addr::s_addr member instead
+ of the previous ACE_UINT32 variable.
+
+Mon Jan 7 15:13:09 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * performance-tests/Misc/context_switch_time.cpp (main):
+ Since the Yield_test does seem to work on VxWorks now (see
+ ChangeLog below), the 'ifdefs' for bypassing VxWorks for the
+ Yield-Test have now been removed.
+
+Mon Jan 7 15:08:25 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * ace/OS.i (thr_yield):
+ Changed ::taskDelay (1) to ::taskDelay (0) for VxWorks in
+ thr_yield (). The change with (0), now does seem to perform
+ the yield correctly as reflected in the Yield-Test of
+ context_switch_time. Thanks to Charlie Grames
+ <charlie.grames@windriver.com> for this tip.
+
+Mon Jan 7 15:16:10 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/OS.h (INADDR_NONE):
+
+ If the platform does not define this constant, then define it.
+
+ * ace/OS.cpp (inet_aton):
+
+ For some reason we were emulating inet_aton() on all platforms
+ using the now deprecated inet_addr() function. Use the native
+ inet_aton() function unless ACE_LACKS_INET_ATON is defined.
+
+ Instead of performing a memcpy() of the IPv4 32-bit address into
+ the in_addr data structure, simply assign it to the s_addr field
+ of that data structure. It's not clear why we didn't do this in
+ the first place.
+
+ (inet_ntoa):
+
+ Fixed PSoS emulation of this method. The result is supposed to
+ be stored in a statically allocated string, not a dynamically
+ allocated one. Fixes a memory leak. Note that this change
+ makes the implementation non-reentrant. However, inet_ntoa()
+ was not designed to be reentrant to begin with.
+
+ * ace/OS.i (inet_addr):
+
+ On error, inet_addr() is supposed to return INADDR_NONE.
+
+ The return value should be a 32 bit unsigned integer, not a
+ signed one.
+
+ * ace/config-win32-common.h:
+
+ MS Windows does not support the inet_aton() function. Define
+ ACE_LACKS_INET_ATON.
+
+Mon Jan 7 12:20:26 2002 Ossama Othman <ossama@uci.edu>
+
+ * bin/auto_run_tests.lst:
+
+ Added the MT_SSLIOP test to the regression test suite list.
+
+Sun Jan 6 21:19:10 2002 John Aughey <jha@cs.wustl.edu>
+
+ * tests/run_test.lst: Uncommented out Conn_Test from daily builds.
+
+Sun Jan 6 21:09:10 2002 John Aughey <jha@cs.wustl.edu>
+
+ * ace/INET_Addr.cpp:
+ * ace/INET_Addr.h:
+
+ Reverted to January 1 version until I have time to put the
+ set_host_name() method in correctly.
+
+Sun Jan 6 20:01:10 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/run_test.lst: Commented out Conn_Test from the daily
+ builds. This test seems to hang blocking build progress. Have
+ sent a mail to John Aughey on this.
+
+Sun Jan 6 09:37:02 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (accept, ssl_accept):
+
+ Take into account the time to complete the basic TCP handshake
+ and the SSL handshake. Specifically, ACE_Countdown_Time is used
+ to reduce the timeout value after each IO operation
+ (e.g. accept(), SSL_accept()) used during SSL passive connection
+ establishment. [Bug 1110]
+
+ Commented out debugging statements.
+
+Sat Jan 5 20:57:36 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * ace/Future.cpp (get): Added another ACE_const_cast in addition
+ to Doug's changes to fix compile errors. See below.
+
+Sat Jan 5 14:57:36 2002 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/OS_QoS.h: Fix comments, put in doxygen format.
+
+Sat Jan 5 08:59:41 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Future.cpp (get): Added an ACE_const_cast() to silence certain
+ C++ compilers. Thanks to Venkita for reporting this.
+
+Fri Jan 5 15:17:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS.{h,cpp}:
+ Added ACE_TSS_Emulation::release_key() method to release a
+ thread_key within the TSS_Emulation when a thread is stopped.
+ Added ACE_TSS_Emulation::tss_keys_used_ member to administrate which
+ thread_keys are used and which not.
+ Added ACE_TSS_Keys::is_set() method to test whether a specific
+ thread_key is marked as used.
+ Changed ACE_TSS_Emulation::next_key() method to return a thread_key
+ that is not used yet, this key is then marked as used at the same
+ time.
+ Changed ACE_OS::thr_keyfree() method to release the key in the
+ TSS_Emulation when ACE_HAS_TSS_EMULATION is defined.
+
+ These changes fix the bugzilla bugs 223 and 657. The ACE_TSS_Emulation
+ now recycles keys that are released earlier.
+
+Fri Jan 4 19:59:03 2002 John Aughey <jha@cs.wustl.edu>
+
+ * ace/INET_Addr.cpp: Fixed the new set_host_name method
+
+Fri Jan 4 18:59:27 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ChangeLogs/ChangeLog-01b: Added a new file. Trimmed this file
+ to have entries only in 2002.
+
+Fri Jan 4 15:50:42 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect):
+ On ACE::select-reported timeout or failure, set status to return
+ a -1 to caller, not 0. Thanks to Vladimir Chovanec
+ <Vladimir.CHOVANEC@asset.sk> for reporting this and sending a fix.
+
+Fri Jan 4 08:31:49 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * tests/Thread_Manager_Test.cpp (test_task_record_keeping): Fixed
+ a typo in an expression on line 226. Thanks to Harvinder
+ Sawhney <harvindersawhney@yahoo.com> for reporting this.
+
+Fri Jan 4 05:51:22 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Future.{h,cpp}: Made the get() and ready() methods const.
+ Thanks to Ran Kohavi <ran@kashya.con> for reporting this.
+
+Fri Jan 4 15:06:31 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/String_Base.h (operator=): Add <CHAR> to ACE_String_Base
+ return type. Fixes compile error on IBM C/C++.
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ If SSL_get_error() returns SSL_ERROR_SYSCALL and it's EWOULDBLOCK,
+ don't blindly set both read and write handles for select. Check
+ if SSL is indicating SSL_want_write() and set the proper handle.
+ Also, don't ACE_ASSERT SSL_pending before return... if there's
+ an SSL handshake screw-up (like someone trying to break in)
+ just report the failure, don't abort/crash.
+
+Wed Jan 02 13:27:09 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/INET_Addr.h:
+ * ace/INET_Addr.cpp: Removed tabs and trailing whitespaces.
+
+Wed Jan 2 08:19:18 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/FILE_Connector.h,
+ * ace/OS.h (ACE_OS): Clarified the weak semantics of O_APPEND
+ on Win32. Thanks to Eugene Alterman <eugalt@myrealbox.com> for
+ reporting this.
+
+Wed Jan 2 12:43:00 2002 John Aughey <jha@aughey.com>
+
+ * ace/INET_Addr.h
+ * ace/INET_Addr.cpp : Added set_host_name method and moved
+ relevant code into this method. Changed signature of
+ set_address method to take a void pointer rather than a
+ char *.
+
+Wed Jan 2 12:30:01 2002 Chris Gill <cdgill@cs.wustl.edu>
+
+ * ace/RB_Tree.i
+ * tests/RB_Tree_Test.cpp : added check for valid current node to
+ forward_i and reverse_i methods of iterator base class. Thanks to
+ Craig L. Ching <cching@mqsoftware.com> for reporting this!
+
+Wed Jan 2 08:19:18 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * tests/README: Clarify that run_test.pl should be used rather
+ the run_tests.sh.
+
+ * tests/run_tests.bat: Clarify that run_test.pl should be used
+ on Win9x. Thanks to Edward A Thompson <ed4becky_2000@yahoo.com>
+ for prompting this.
+
+Wed Jan 2 07:37:01 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Handle_Set.h:
+ * ace/Handle_Set.cpp: Added a method reset_state () to the
+ ACE_Handle_Set_Iterator class.
+
+Tue Jan 2 11:39:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS.i:
+ Added missing ACE_UNUSED_ARG in ACE_OS::event_timedwait
+
+Tue Jan 1 15:36:39 2002 Steve Huston <shuston@riverace.com>
+
+ * include/makeinclude/platform_sunos5_sunc++.GNU: Added support
+ for the buildbits=64 make option.
+
+Tue Jan 1 20:05:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Name_Request_Reply.{h,cpp}:
+ Changed type of 3 constructor arguments from size_t to ACE_UINT32
+ because the members in which these arguments are stored are also
+ of type ACE_UINT32
+
+ * ace/OS.i
+ In ACE_OS::umask method, changed the type in the ACE_OSCALL_RETURN
+ macro from int to mode_t because that is the return type of the
+ method
+
+Tue Jan 1 08:47:25 2002 Douglas C. Schmidt <schmidt@siesta.cs.wustl.edu>
+
+ * ace/Thread.h: Clarify how the ACE_Thread_Adapter is deleted
+ when spawn() is called. Thanks to Preston Elder
+ <prez@srealm.net.au> for reporting this confusion.
+
+Tue Jan 1 14:09:26 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Map_Manager/test_hash_map_manager.cpp:
+ Made this example compiling when ACE_USES_WCHAR is set
+
+ * Makefile.bor:
+ Added examples directory because all examples for which there are
+ BCB makefiles now build when ACE_USES_WCHAR is set
+
+Tue Jan 1 00:02:12 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/ace_dll.vcp: Added String_Base_Const.*.
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
new file mode 100644
index 00000000000..99e2749a4a2
--- /dev/null
+++ b/ChangeLogs/ChangeLog-03a
@@ -0,0 +1,1022 @@
+Wed Jan 30 15:11:49 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * include/makeinclude/platform_linux.GNU (CXX_VERSION):
+ * ace/config-g++-common.h:
+
+ Turned off explicit template instantiation with gcc under Linux.
+ The specific versions are 2.95.x, 2.96, 3.0.x (3.x). Added a
+ flag implicit_templates to tweak the behaviour from the
+ platform_macros.GNU file.
+
+ The combination of the compiler and binutils seems to give a
+ nice reduction in the footprint.
+
+Wed Jan 30 16:00:39 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/Process_Manager.cpp (register_handler): Replaced ECHILD with
+ EINVAL if the pid is not found. Probably a more accurate
+ assessment of the situation, and should compile clean on WinCE.
+
+Wed Jan 30 13:50:17 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * docs/index.html: Fixed the ACE-inheritance.pdf document so
+ it isn't gzipped. Thanks to Michael Searles
+ <msearles@base16.com> for reporting this.
+
+Wed Jan 30 09:28:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * XML/parser/debug_validator/Debug_Attributes_Builder.cpp:
+ * XML/parser/debug_validator/Debug_DTD_Manager.cpp:
+ * XML/parser/debug_validator/Debug_Element_Builder.cpp:
+ * XML/parser/debug_validator/Element_Tree.cpp:
+ Added missing ACE_LIB_TEXT. This fixes the BCB unicode build errors
+
+Tue Jan 29 20:11:21 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * etc/*.doxygen (EXPAND_AS_DEFINED): Added ACE_CACHE_MAP_MANAGER
+ to the list in EXPAND_AS_DEFINED. Thanks to Don Hinton
+ <dhinton@ieee.org> for the suggestion.
+
+Tue Jan 29 19:36:24 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/make_release: The whole release process has been moved to
+ Linux box. This is because the sun machines at WashU were having
+ problems and they are not dependable. The following are the list
+ of changes made
+
+ - All the path related stuff have been changed ie. instead of
+ using /pkg/gnu tools, we use native tools on Linux now.
+
+ - The gnu suffixes to many of the tools have been removed.
+
+ - Most of the path to the tools have been hardcoded in the PATH
+ environment variabe.
+
+ - Tools that were missing have been loaded on 3 main Linux boxes
+ at WashU including Graphviz and doxygen.
+
+ - A beta cannot be cut from a sun box.
+
+ - The script will recommend cutting a beta from deuce.doc.
+
+ The script has been tested with a dummy release.
+
+Tue Jan 29 16:01:54 2002 Ossama Othman <ossama@uci.edu>
+
+ * bin/fuzz.pl (check_for_missing_rir_env):
+
+ Check for ACE_ENV_ARG_PARAMETER instead of
+ TAO_ENV_ARG_PARAMETER. The latter is deprecated.
+
+Tue Jan 29 20:47:24 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net>
+
+ * docs/exceptions.html: Document the new ACE_ENV_ macros.
+
+ * bin/subst_env.pl: Transform to ACE_ENV_ instead of TAO_ENV_.
+
+Tue Jan 29 08:39:24 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net>
+
+ * ace/CORBA_macros.h:
+ Added ACE_ENV_ARG macros to replace the TAO_ENV_ARG macros
+ defined in TAO/tao/orbconf.h. All exception related macros
+ are now defined in ace/CORBA_macros.h, and the TAO_ENV_ARG
+ macros will soon be deprecated.
+
+ * include/makeinclude/wrapper_macros.GNU:
+ Added the include_env switch for compatibility with the
+ exception handling use before TAO 1.2.2.
+
+Tue Jan 29 08:17:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/ace_flags.bor:
+ Added compiler flags for new cosevent orbsvcs test library CECTEST
+ Added compiler flags for new notify orbsvcs test library NotifyTests
+
+Mon Jan 28 17:44:51 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/Process_Manager.cpp (wait): When waiting for a non-specific
+ process, specify -1 pid for waitpid(). This is necessary because
+ of Fri Jan 25 19:58:41 2002 Steve Huston <shuston@riverace.com>
+ change to not alter the process group ID when ACE_Process_Manager
+ spawns a process.
+ Timed waits for a process still don't work on non-Win32, but
+ this fix corrects the failed wait with errno == ECHILD.
+
+Mon Jan 28 12:16:28 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/auto_run_tests.lst:
+ Removed EC_Basic and Event_Latency tests from nightly builds, I
+ left them there by mistake when I took them out of the
+ repository (around December, 25th 2001)
+
+Mon Jan 28 13:20:32 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * XML/common/AttributesImpl.cpp: Removed a bunch of inline
+ designators.
+
+Sun Jan 27 22:18:50 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * bin/msvc_auto_compile.pl: Projects in XML subdirectory are
+ interdependent. List out the order they should be built
+ explicitly.
+
+Sun Jan 27 12:48:48 2002 Ossama Othman <ossama@uci.edu>
+
+ * bin/auto_run_tests.lst
+ * bin/performance_stats.sh:
+
+ Updated in accordance with the new TAO "Latency" performance
+ test organization.
+
+Sun Jan 27 12:08:45 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * XML/common/Transcode.h (ACEXML_Transcoder): Improved the
+ documentation.
+
+ The followings fixed the Tru64 warnings/errors.
+
+ * XML/common/AttributesImpl.i (operator):
+ * XML/common/Env.i: Reordered inline functions.
+
+ * XML/tests/Transcoder_Test.cpp: Removed an unused argument.
+
+ * XML/common/Attributes_Def_Builder.h: Added inclusion of
+ "ace/Auto_Ptr.h".
+
+ * XML/examples/SAXPrint/SAXPrint_Handler.cpp:
+ * XML/examples/SAXPrint/Print_Handler.cpp: Added inclusion of
+ "ace/Log_Msg.h".
+
+Sun Jan 27 15:03:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * Makefile.bor:
+ Build the XML library with BCB
+
+ * XML/parser/Makefile.bor:
+ Added debug_validator
+
+ * XML/parser/debug_validator/Makefile.bor:
+ Added BCB makefile
+
+Sat Jan 26 19:02:49 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/Process_Manager.cpp (register_handler):
+
+ Corrected code that always returned -1. Code that should only
+ have been run on error was always run since it was outside of an
+ "if block." Curly braces are a good thing (they were missing).
+
+Sat Jan 26 21:41:39 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/Process_Manager.cpp (wait): Fixed compiler warning on
+ Linux about unused wait_until. This fix removes the ability
+ to spin around the 'for' loop waiting for signals multiple
+ times with the timeout decreasing to account for wait time.
+ Will have to come back to restore this functionality later.
+
+Sat Jan 26 14:40:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/ace_flags.bor:
+ Added compiler and linker flags for new XML library
+
+ * XML/common/Makefile.bor:
+ * XML/parser/parser.Makefile.bor:
+ * XML/Makefile.bor:
+ * XML/parser/Makefile.bor:
+ * XML/tests/Makefile.bor:
+ Added BCB makefiles for the new XML library.
+
+Fri Jan 25 19:58:41 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/Process_Manager.cpp (wait(pid_t, const ACE_Time_Value &,
+ ACE_exitcode *status)): If platform offers sigtimedwait, use it
+ instead of setting ualarm and then doing sigwait. Once ualarm
+ is set, it will fire, even if this method has returned. This
+ causes Solaris processes to die on SIGALRM.
+
+ Also, do not play with the process group ID by default. It's
+ not needed for doing normal signal management by most processes.
+ If processes really have a need to change or set a new process
+ group, they need to do it explicitly by using ACE_OS::setpgid()
+ or by setting a process group ID in an ACE_Process_Options object
+ when spawning processes.
+
+ * tests/Process_Manager_Test.cpp: Added a bit more diagnostic info.
+
+Fri Jan 25 18:29:37 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/config-aix-4.x.h: Removed ACE_HAS_SIGTIMEDWAIT. It compiles,
+ but returns ENOSYS at run time.
+
+ * ace/config-aix5.1.h: Added ACE_HAS_SIGTIMEDWAIT.
+
+Fri Jan 25 15:36:40 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/ace_dll.dsp: Removed /version flags from the project since
+ they have been taken care of by ace.rc file. Thanks to Ossama
+ for pointing it out.
+
+Fri Jan 25 14:45:00 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst:
+ Added Two_Objects test to the list.
+
+Fri Jan 25 14:40:15 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * XML/common/Exception.cpp:
+ * XML/common/NamespaceSupport.cpp:
+ * XML/common/SAXExceptions.cpp:
+ * XML/parser/parser/Parser.cpp: Moved the initialization of static
+ members before the inclusion of inline files to avoid
+ compilation erros on Borland compiler. Thanks to Johnny
+ Willemsen <jwillemsen@remedy.nl> for figuring this out.
+
+Fri Jan 25 14:31:06 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * XML/common/NamespaceSupport.cpp:
+ * XML/parser/parser/Parser.cpp: Fixed several KCC warnings.
+
+Fri Jan 25 12:01:14 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ The following changes fixed SunCC5.1 compilation errors.
+
+ * XML/common/Makefile:
+ * XML/parser/parser/Makefile:
+ * XML/tests/Makefile:
+ * XML/examples/SAXPrint/Makefile: Removed extra spaces for -I
+ flags.
+
+ * XML/common/Attributes_Def_Builder.h: Removed a redundant comma.
+
+ * XML/common/NamespaceSupport.i: Changed
+ ACE_TEMPLATE_METHOD_SPECIALIZATION to
+ ACE_TEMPLATE_SPECIALIZATION.
+
+ * XML/tests/NamespaceSupport_Test.cpp: String literals needed to
+ be assigned to const char *.
+
+Fri Jan 25 09:42:12 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/ace_dll.dsp:
+
+ Corrected inconsistency in the DLL minor version. The correct
+ minor version for the ACE 5.2 series is "2," not "1."
+
+Fri Jan 25 11:21:28 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * bin/msvc_auto_compile.pl: Added XML into the list of auto build
+ targets.
+
+Fri Jan 25 00:37:00 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * We now have 1,400 contributors to the ACE+TAO software. Yow!
+
+Thu Jan 24 17:49:46 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/CDR_Stream.i: Fixed the check for the length within
+ ACE_InputCDR::read_*_array (). The method was checking just for
+ length passed in, which happens to be the number of elements in
+ the array, instead of the number of bytes necessary for the
+ elements. Thanks to William R Volz <WRVO@chevrontexaco.com> for
+ reporting this.
+
+ * THANKS: Added William Volz to the hall of fame.
+
+Thu Jan 24 18:31:49 2002 Steve Huston <shuston@riverace.com>
+
+ * tests/Process_Manager_Test.cpp: Better diagnostics added.
+
+Thu Jan 24 15:14:52 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Lib_Find.cpp (ldfind): Restored previously removed Win32
+ code and re-organized macros so we wouldn't upset CE builds.
+
+Thu Jan 24 14:53:38 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * bin/generate_doxygen.pl:
+ * etc/acexml.doxygen: Added the doxygen config file for XML
+ subdirectory.
+
+ * Makefile: Added XML subdirectory into the lists to be compiled
+ and be included in the release.
+
+ * XML/*: Merged in the XML parser code.
+
+Thu Jan 24 10:14:47 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/ace_wchar.h: Added the definition for ACE_TEXT_SearchPath.
+
+ * ace/Lib_Find.cpp (ldfind): Fixed UNICODE and Fuzz builds
+ errors. Thanks to Johnny Willemsen <jwillemsen@remedy.nl> for
+ the fix.
+
+Wed Jan 23 16:48:54 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Lib_Find.h:
+ * ace/Lib_Find.cpp (ldfind): Change to use Win32 API SearchPath to
+ search for the target DLL and updated the document for ldfind in
+ header file. Thanks to Eugene Alterman
+ <Eugene.Alterman@bremer-inc.com> for submitting the patch.
+
+Wed Jan 23 14:01:32 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/config-lynxos.h (ACE_LACKS_INET_ATON):
+
+ LynxOS does not implement the inet_aton() function.
+
+Wed Jan 23 16:37:52 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/NT_Service.cpp (insert): If the CreateService call fails,
+ be sure to save the error value before making another Win32 call
+ that will smash it. Thanks to Kelly Hickel <kfh@mqsoftware.com>
+ for reporting this.
+ Also ACE-ified the source better.
+
+ * examples/NT_Service/main.cpp: Added some ACE_ERROR output if
+ operations requested from the command line fail.
+
+Wed Jan 23 16:14:43 2002 Boris Kolpackov <bosk@ipmce.ru>
+
+ * include/makeinclude/platform_sunos5_sunc++.GNU
+
+ Added work around for famous Sun CC "pure virtual function called"
+ bug. Unfortunately this involves introduction of yet another #define.
+ See TAO/tao/ValueBase.h for more information.
+
+Tue Jan 22 21:27:25 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/ace_dll.vcp: Add Frameork_Component.* to the builds. Thanks
+ to Venkita for pointing it out.
+
+Tue Jan 22 17:42:39 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/NT_Service.(h cpp): Added two new methods:
+ void capture_log_msg_attributes (void): Grabs a copy of the
+ calling thread's ACE_OS_Log_Msg_Attributes to facilitate
+ inheritance of the logging attributes in the service thread.
+ void inherit_log_msg_attributes (void): Called in a service
+ thread, inherits the main thread's logging attributes.
+ Modified the ACE_NT_SERVICE_RUN macro to capture the main
+ thread's logging attributes before starting the service control
+ dispatcher. Modified the ACE_NT_SERVICE_DEFINE macro to call
+ inherit_log_msg_attributes if the ACE_NT_Service object for
+ the service was set up before the thread started.
+ Fixes Bugzilla # 82.
+
+ * examples/NT_Service/main.cpp:
+ * examples/NT_Service/ntsvc.cpp: Now writes a log file in the current
+ working directory which should have messages from both main and
+ service threads in it.
+
+Tue Jan 22 15:19:29 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/DLL.cpp: Changed to invoke this->open() in the
+ constructor. Thanks to Eugene Alterman
+ <Alterman@bremer-inc.com> for motivating this.
+
+Mon Jan 21 23:27:03 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS.h: Reordered main redefinition macros so that it actually
+ passed wchar argv to main when UNICODE is defined.
+
+Mon Jan 21 10:01:34 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst:
+ Added MIOP unit tests.
+
+Mon Jan 21 03:00:14 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/Framework_Component.cpp (register_component):
+
+ Removed debugging statements that always printed text.
+
+Mon Jan 21 07:45:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Framework_Component.cpp:
+ Fixed fuzz error
+
+Mon Jan 21 00:13:42 2002 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * ace/streams.h:
+ Workaround for Borland C++ 5.5.1 bug we have now just hit.
+
+Sun Jan 20 21:42:53 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Framework_Component.cpp:
+ * ace/Framework_Component_T.cpp: Fixed fuzz errors.
+
+2002-01-20 Oliver Kellogg <oliver.kellogg@sysde.eads.net>
+
+ * bin/subst_env.pl: New script to ease the transition to the
+ TAO_ENV_ARG macros defined in TAO/tao/orbconf.h.
+
+Sun Jan 20 12:38:28 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Framework_Component_Test.dsp: New dsp file for the test.
+ * tests/tests.dsw: Added the above test to the workspace.
+
+Sun Jan 20 12:25:28 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Framework_Component.h: Removed the definition of the
+ default constructor (in ACE_UNIMPLEMENTED_FUNC definition). The
+ other private constructor with a default argument tends towards
+ a default constructor and VC++ signals a multiple definition
+ error. Not sure how g++ didnt signal this one.
+
+ * ace/Framework_Component_T.h: #include'd Framework_Component.h
+ * ace/Framework_Component_T.cpp: Added a #ifndef around the file.
+
+ * ace/ace_dll.dsp:
+ * ace/ace_lib.dsp: Added the Framwork_Component* files to the
+ project file.
+
+Sun Jan 20 10:40:28 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * tests/Vector_Test.dsp:
+ * tests/tests.dsw: Added a new project for Vector_Test.
+
+Sun Jan 20 16:25:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Makefile.bor:
+ Added new Framework_Component
+
+ * tests/Makefile.bor:
+ Added new Framework_Component_Test
+
+Sun Jan 20 00:00:30 2002 UTC Don Hinton <dhinton@ieee.org>
+
+ * ace/Vector_T.cpp (dump): Commented out the contents of this
+ function for the time being. It assumed that the element
+ was an object with a dump() method, which won't always be
+ the case.
+
+ * tests/Vector_Test.cpp: Changed a few data types from signed
+ to unsigned, size_t, to get rid of compiler warnings.
+
+Sat Jan 19 17:29:50 2002 Douglas C. Schmidt <schmidt@siesta.cs.wustl.edu>
+
+ * ace/Vector_T.cpp (dump): Fixed problems with this method. Thanks
+ to Don Hinton for reporting this.
+
+ * tests/Vector_Test.cpp: Changed the typedef of DATA from int to
+ size_t to avoid "type mismatch" compiler warnings. Thanks to
+ Don Hinton for reporting this.
+
+Sat Jan 19 22:30:26 UTC 2002 Don Hinton <dhinton@ieee.org>
+
+ * apps/JAWS2/JAWS/Hash_Bucket_T.h:
+ * apps/JAWS2/JAWS/Assoc_Array.h: Added missing keyword "class" to
+ friend declarations.
+
+ * ace/SString.cpp: Removed unneeded include of Service_Config.h.
+
+ * ace/Service_Config.{h|cpp}:
+ * examples/Connection/misc/Connection_Handler.cpp:
+
+ Removed static methods from ACE_Service_Config that delegated to
+ ACE_Reactor::instance(), and fixed a few instances where they were
+ still called.
+
+ * ace/Object_Manager.cpp:
+ * ace/Service_Config.cpp:
+ * ace/Proactor.cpp:
+ * ace/Reactor.cpp:
+
+ Added call to instance() methods that registers the singleton with
+ the new ACE_Framework_Repository so it can handle destruction, and
+ replaced explicit references to ACE_Reactor and ACE_Proactor with
+ calls to ACE_Framework_Repository.
+
+ * ace/Framework_Component.{h|inl|cpp}:
+ * ace/Framework_Component_T.{h|inl|cpp}:
+ * ace/Makefile:
+ * tests/Framework_Component_Test.cpp:
+ * tests/Makefile:
+ * tests/run_test.lst:
+
+ Added ACE_Framework_Repository to manage ACE_Framework_Component's,
+ e.g., singletons like ACE_Reactor or ACE_Proactor. It uses
+ External Polymorphism obviating any interface changes. The
+ components register themselves with repository in their instance
+ methods. This allows the Object_Manager and Service_Config to
+ manage these components without having to know about them a priori.
+
+ This was needed to reduce footprint for applications like TAO that
+ don't need to use all the available components, e.g., ACE_Proactor.
+
+Sat Jan 19 10:23:39 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Makefile (TEMPLATE_FILES):
+ * tests/Makefile.bor:
+ * tests/Makefile:
+ * tests/run_test.lst:
+ * ace/Vector_T.{h,i,cpp}:
+ * tests/Vector_Test.cpp: Added support for the new ACE_Vector to
+ the appropriate places. This vector behaves like the STL
+ vector. Thanks to Gonzo and Craig Ching for contributing this.
+
+ * ace/Future_Set.h: Updated the documentation to explain how
+ various features work better. Thanks to Johnny Tucker for
+ contributing this.
+
+Fri Jan 18 19:09:41 2002 Steve Huston <shuston@riverace.com>
+
+ * tests/run_test.lst: Re-enabled Process_Manager_Test for all but
+ Chorus and VxWorks. Could not find a reason it was disabled.
+ Also enabled Process_Mutex_Test on Win32.
+
+Fri Jan 18 16:44:29 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/ace.icc: Added Reactor_Notification_Strategy.(h cpp) sources.
+
+ * ace/Reactor_Notification_Strategy.cpp: Fixed ACE_RCSID to refer to
+ Reactor_Notification_Strategy, not Strategies.
+
+ * tests/Get_Opt_Test.icc:
+ * tests/INET_Addr_Test.icc: New Visual Age C++ configs for these tests.
+
+ * tests/tests.icp: Added Get_Opt_Test.icc and INET_Addr_Test.icc
+
+Fri Jan 18 12:56:36 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Log_Msg.cpp (init_backend): Added support for SysLog on platforms
+ that don't lack it. Thanks to Alexei I. Adamovich
+ <lexa@adam.botik.ru> for reporting this fix.
+
+Fri Jan 18 10:29:06 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/Service_Config.h (process_file):
+ * ace/Service_Config.cpp (process_directives, process_file):
+
+ Factored out code that processes a svc.conf file into the new
+ static process_file() method. This allows svc.conf files to be
+ explicitly parsed by the application at any arbitrary point in
+ time instead of Service Configuration initialization time alone.
+
+Thu Jan 17 18:51:09 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Name_Space.cpp (operator =): Fixed a memory leak. Thanks
+ to Ian Cahoon <icahoon@cisco.com> for reporting this.
+
+Thu Jan 17 12:13:51 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Context.h (private_key, verify_private_key):
+
+ Added new documentation. These methods should only be called
+ after a certificate has been set since key verification is
+ performed against the certificate, among other things.
+
+Thu Jan 17 13:11:27 2002 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Message_Queue.h:
+ * ace/Message_Queue.cpp:
+ * ace/Message_Queue_T.h:
+ * ace/Message_Queue_T.cpp:
+
+ Provide the ability to enqueue based on the message deadline and
+ to dequeue based on priority, deadline and from the end.
+
+Wed Jan 16 11:24:52 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * THANKS:
+ Updated to add Gerhard Voss <Gerhard_Voss@t-online.de>.
+
+Wed Jan 16 06:19:01 2002 Douglas C. Schmidt <schmidt@siesta.cs.wustl.edu>
+
+ * ace/OS.i: Replaced "set" with "sset" in sigtimedwait() and sigwait()
+ to avoid STL symbol clashes with MSVC++ 6.0. Thanks to Shmulik
+ Regev <shmul@vself.com> for reporting this.
+
+Wed Jan 16 09:01:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Containers_T.{h,cpp}:
+ Added ACE_Fixed_Set_Const_Iterator to make it possible to
+ iterate through a const ACE_Fixed_Set instance
+
+Wed Jan 16 07:53:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/ace_flags.bor:
+ Added new flags for the new TAO ETCL orbsvcs library
+
+Tue Jan 15 17:24:53 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/SSL/SSL_Context.cpp (report_error()): Set ACE_OS::last_error()
+ to ERR_get_error() so the caller can get the error code later.
+
+ * ace/SSL/SSL_SOCK_Connector.cpp: If the SSL handshake phase of a
+ connection attempt fails, close the underlying socket.
+
+Tue Jan 15 15:35:41 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/SOCK_Connector.(h cpp):
+ * ace/LSOCK_Connector.(h i cpp):
+ * ace/MEM_Connector.(h cpp):
+ * ace/SSL/SSL_SOCK_Connector.(h cpp):
+ Improved the Doxygenation and removed the protocol_family and
+ protocol arguments from the ctors and connect() methods. The
+ protocol family is always taken from the ACE_Addr remote_sap
+ argument since it can now be either PF_INET or PF_INET6 (for
+ SOCK_Connector objects) and should be PF_UNIX for LSOCKs.
+ It is pointless to allow the user to request something that
+ is impossible to do correctly.
+
+Tue Jan 15 10:52:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/ace_flags.bor:
+ Added new flags for the new TAO PortableGroup library
+
+Mon Jan 14 14:40:25 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/g++dep:
+ Fixed small problems in the dependency generation:
+ - The script did not properly handle files with '+' in their
+ names.
+ - In some cases the script generated escaped blanks, i.e. lines
+ containing a blank preceded by a backslash. Such blanks are
+ interpreted as part of a dependency name and break havoc with
+ the builds.
+
+Mon Jan 14 16:49:37 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/OS.h (ACE_STATIC_SVC_DEFINE): Corrected the documentation to
+ say the service-implementing class must be derived from
+ ACE_Service_Object, not ACE_Service_Config.
+
+Mon Jan 14 07:40:16 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS.i (mmap): There was a typo that prevented the ACE Memory Map
+ stuff from working properly on Win9x. Thanks to Edan Ayal
+ <edanayal@yahoo.com> for reporting this.
+
+Sun Jan 13 18:59:37 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Memory_Pool.{h,cpp}: Added a new option that makes is possible
+ to control whether or not a fixed address will be used when
+ remapping a memory-mapped file. Thanks to Jonathan Reis
+ <reis@stentor.com> for this enhancement.
+
+Mon Jan 14 11:02:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/ace_flags.bor:
+ Added flags for new TAO FT_ORB library
+
+Sun Jan 13 08:20:05 2002 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/config-all.h: Make sure that ACE_bad_alloc
+ is defined as std::bad_alloc if
+ ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB macro is set.
+ Fixes gcc 3.0.3 compilation problem.
+
+Fri Jan 11 22:54:22 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/config-lynxos.h: Added #define ACE_HAS_USING_KEYWORD to teh
+ file. The compiler supports namespaces. According to the new
+ rules at the doc_group, we dont use any compilers that dont
+ support namespaces. The above macro is itself a waste. But we
+ cannot remove it overnight as it has far reaching
+ consequences. Working around that for the timebeing.
+
+Thu Jan 10 18:35:41 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/Profile_Timer.h: Clarified that elapsed_time() calculates time
+ from start() to stop(). Improved Doxygenation.
+
+Thu Jan 10 16:53:41 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * examples/Service_Configurator/IPC-tests/server/server.dsp: The
+ Release version of the library needs to link in ADVAPI32.LIB as
+ GetUserName is used in ACE's inline code.
+
+Wed Jan 9 22:07:50 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Logging_Strategy.cpp (fini): Make sure to cancel the
+ timer if interval_ and max_size_ are > 0. Thanks to Yaniv Ben
+ Ari <yanivb@bis.co.il> for reporting this.
+
+Wed Jan 9 11:38:58 2002 Ossama Othman <ossama@uci.edu>
+
+ * tests/SSL/Makefile (LDLIBS):
+
+ Added missing SSL and crypto libraries. Fixed link errors.
+ Thanks to Marvin Wolfthal <maw@weichi.com> for reporting the
+ error and suggesting a fix.
+
+Wed Jan 9 12:24:39 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/Process.cpp (spawn): Don't attempt ACE_OS::setpgid if
+ ACE_LACKS_SETPGID is defined. Thanks to Victor Terber
+ <vterber@csksoftware.de> for reporting this.
+
+Wed Jan 09 11:19:07 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS.h: Updated the comment for ACE_CE_Bridge to indicate that
+ it's obsolete and will be removed in the future.
+
+Wed Jan 9 00:48:48 2002 Don Hinton <dhinton@gmx.net>
+
+ * ace/Get_Opt.cpp: Make sure to cast away constness
+ before deleting an ACE_TCHAR array. Thanks to
+ Bala for reporting this.
+
+Tue Jan 8 17:29:33 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/SSL/SSL_SOCK_Connector.cpp: Don't try to dereference a 0
+ timeout pointer. Gack. Thanks to Ossama for pointing this out.
+
+Tue Jan 8 15:51:06 2002 Don Hinton <dhinton@gmx.net>
+
+ * ace/Get_Opt.cpp
+ * ace/Service_Config.cpp:
+
+ Moved the template instantiations from Service_Config.cpp to
+ Get_Opt.cpp where they belong.
+
+ * ace/Get_Opt.{h.cpp}: Replaced ACE_TString with ACE_TCHAR for
+ type of member variable ACE_Get_Opt_Long_Option since it
+ wasn't really needed and took up space.
+
+Tue Jan 8 10:43:48 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/config-sunos5.5.h (ACE_LACKS_INET_ATON):
+
+ Solaris does indeed implement the inet_aton() function, but it
+ is found in `libresolv.*'. It doesn't seem worth it to link
+ another library just for that function. Just use the emulation
+ in ACE that has been used for years.
+
+Tue Jan 8 11:31:22 2002 Steve Huston <shuston@riverace.com>
+
+ * tests/Makefile: When doing realclean, use the DLL_Test and
+ Service_Config_DLL Makefiles to clean their files up.
+
+Tue Jan 8 08:36:33 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect): Corrected order
+ of operations checking EWOULDBLOCK, and fixed compile errors.
+ Thanks to Vlado Chovanec <Vladimir.CHOVANEC@asset.sk> for this fix.
+
+Mon Jan 7 19:55:39 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect): Added extra check
+ for SSL_accept/connect status failure to avoid looping on a bad
+ socket if the socket closes during handshake. Thanks to Vlado
+ Chovanec <Vladimir.CHOVANEC@asset.sk> for this fix.
+
+ Also added timeout countdown support for SSL_SOCK_Connector, same
+ as in: Sun Jan 6 09:37:02 2002 Ossama Othman <ossama@uci.edu>
+
+Mon Jan 7 15:55:26 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/INET_Addr.cpp (set):
+
+ Pass a pointer to a "struct in_addr" to inet_aton(), i.e. the
+ proper type, instead of a forcibly casted ACE_UINT32. Also
+ updated existing code to use the in_addr::s_addr member instead
+ of the previous ACE_UINT32 variable.
+
+Mon Jan 7 15:13:09 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * performance-tests/Misc/context_switch_time.cpp (main):
+ Since the Yield_test does seem to work on VxWorks now (see
+ ChangeLog below), the 'ifdefs' for bypassing VxWorks for the
+ Yield-Test have now been removed.
+
+Mon Jan 7 15:08:25 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * ace/OS.i (thr_yield):
+ Changed ::taskDelay (1) to ::taskDelay (0) for VxWorks in
+ thr_yield (). The change with (0), now does seem to perform
+ the yield correctly as reflected in the Yield-Test of
+ context_switch_time. Thanks to Charlie Grames
+ <charlie.grames@windriver.com> for this tip.
+
+Mon Jan 7 15:16:10 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/OS.h (INADDR_NONE):
+
+ If the platform does not define this constant, then define it.
+
+ * ace/OS.cpp (inet_aton):
+
+ For some reason we were emulating inet_aton() on all platforms
+ using the now deprecated inet_addr() function. Use the native
+ inet_aton() function unless ACE_LACKS_INET_ATON is defined.
+
+ Instead of performing a memcpy() of the IPv4 32-bit address into
+ the in_addr data structure, simply assign it to the s_addr field
+ of that data structure. It's not clear why we didn't do this in
+ the first place.
+
+ (inet_ntoa):
+
+ Fixed PSoS emulation of this method. The result is supposed to
+ be stored in a statically allocated string, not a dynamically
+ allocated one. Fixes a memory leak. Note that this change
+ makes the implementation non-reentrant. However, inet_ntoa()
+ was not designed to be reentrant to begin with.
+
+ * ace/OS.i (inet_addr):
+
+ On error, inet_addr() is supposed to return INADDR_NONE.
+
+ The return value should be a 32 bit unsigned integer, not a
+ signed one.
+
+ * ace/config-win32-common.h:
+
+ MS Windows does not support the inet_aton() function. Define
+ ACE_LACKS_INET_ATON.
+
+Mon Jan 7 12:20:26 2002 Ossama Othman <ossama@uci.edu>
+
+ * bin/auto_run_tests.lst:
+
+ Added the MT_SSLIOP test to the regression test suite list.
+
+Sun Jan 6 21:19:10 2002 John Aughey <jha@cs.wustl.edu>
+
+ * tests/run_test.lst: Uncommented out Conn_Test from daily builds.
+
+Sun Jan 6 21:09:10 2002 John Aughey <jha@cs.wustl.edu>
+
+ * ace/INET_Addr.cpp:
+ * ace/INET_Addr.h:
+
+ Reverted to January 1 version until I have time to put the
+ set_host_name() method in correctly.
+
+Sun Jan 6 20:01:10 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/run_test.lst: Commented out Conn_Test from the daily
+ builds. This test seems to hang blocking build progress. Have
+ sent a mail to John Aughey on this.
+
+Sun Jan 6 09:37:02 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (accept, ssl_accept):
+
+ Take into account the time to complete the basic TCP handshake
+ and the SSL handshake. Specifically, ACE_Countdown_Time is used
+ to reduce the timeout value after each IO operation
+ (e.g. accept(), SSL_accept()) used during SSL passive connection
+ establishment. [Bug 1110]
+
+ Commented out debugging statements.
+
+Sat Jan 5 20:57:36 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * ace/Future.cpp (get): Added another ACE_const_cast in addition
+ to Doug's changes to fix compile errors. See below.
+
+Sat Jan 5 14:57:36 2002 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/OS_QoS.h: Fix comments, put in doxygen format.
+
+Sat Jan 5 08:59:41 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Future.cpp (get): Added an ACE_const_cast() to silence certain
+ C++ compilers. Thanks to Venkita for reporting this.
+
+Fri Jan 5 15:17:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS.{h,cpp}:
+ Added ACE_TSS_Emulation::release_key() method to release a
+ thread_key within the TSS_Emulation when a thread is stopped.
+ Added ACE_TSS_Emulation::tss_keys_used_ member to administrate which
+ thread_keys are used and which not.
+ Added ACE_TSS_Keys::is_set() method to test whether a specific
+ thread_key is marked as used.
+ Changed ACE_TSS_Emulation::next_key() method to return a thread_key
+ that is not used yet, this key is then marked as used at the same
+ time.
+ Changed ACE_OS::thr_keyfree() method to release the key in the
+ TSS_Emulation when ACE_HAS_TSS_EMULATION is defined.
+
+ These changes fix the bugzilla bugs 223 and 657. The ACE_TSS_Emulation
+ now recycles keys that are released earlier.
+
+Fri Jan 4 19:59:03 2002 John Aughey <jha@cs.wustl.edu>
+
+ * ace/INET_Addr.cpp: Fixed the new set_host_name method
+
+Fri Jan 4 18:59:27 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ChangeLogs/ChangeLog-01b: Added a new file. Trimmed this file
+ to have entries only in 2002.
+
+Fri Jan 4 15:50:42 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect):
+ On ACE::select-reported timeout or failure, set status to return
+ a -1 to caller, not 0. Thanks to Vladimir Chovanec
+ <Vladimir.CHOVANEC@asset.sk> for reporting this and sending a fix.
+
+Fri Jan 4 08:31:49 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * tests/Thread_Manager_Test.cpp (test_task_record_keeping): Fixed
+ a typo in an expression on line 226. Thanks to Harvinder
+ Sawhney <harvindersawhney@yahoo.com> for reporting this.
+
+Fri Jan 4 05:51:22 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Future.{h,cpp}: Made the get() and ready() methods const.
+ Thanks to Ran Kohavi <ran@kashya.con> for reporting this.
+
+Fri Jan 4 15:06:31 2002 Steve Huston <shuston@riverace.com>
+
+ * ace/String_Base.h (operator=): Add <CHAR> to ACE_String_Base
+ return type. Fixes compile error on IBM C/C++.
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ If SSL_get_error() returns SSL_ERROR_SYSCALL and it's EWOULDBLOCK,
+ don't blindly set both read and write handles for select. Check
+ if SSL is indicating SSL_want_write() and set the proper handle.
+ Also, don't ACE_ASSERT SSL_pending before return... if there's
+ an SSL handshake screw-up (like someone trying to break in)
+ just report the failure, don't abort/crash.
+
+Wed Jan 02 13:27:09 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/INET_Addr.h:
+ * ace/INET_Addr.cpp: Removed tabs and trailing whitespaces.
+
+Wed Jan 2 08:19:18 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/FILE_Connector.h,
+ * ace/OS.h (ACE_OS): Clarified the weak semantics of O_APPEND
+ on Win32. Thanks to Eugene Alterman <eugalt@myrealbox.com> for
+ reporting this.
+
+Wed Jan 2 12:43:00 2002 John Aughey <jha@aughey.com>
+
+ * ace/INET_Addr.h
+ * ace/INET_Addr.cpp : Added set_host_name method and moved
+ relevant code into this method. Changed signature of
+ set_address method to take a void pointer rather than a
+ char *.
+
+Wed Jan 2 12:30:01 2002 Chris Gill <cdgill@cs.wustl.edu>
+
+ * ace/RB_Tree.i
+ * tests/RB_Tree_Test.cpp : added check for valid current node to
+ forward_i and reverse_i methods of iterator base class. Thanks to
+ Craig L. Ching <cching@mqsoftware.com> for reporting this!
+
+Wed Jan 2 08:19:18 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * tests/README: Clarify that run_test.pl should be used rather
+ the run_tests.sh.
+
+ * tests/run_tests.bat: Clarify that run_test.pl should be used
+ on Win9x. Thanks to Edward A Thompson <ed4becky_2000@yahoo.com>
+ for prompting this.
+
+Wed Jan 2 07:37:01 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Handle_Set.h:
+ * ace/Handle_Set.cpp: Added a method reset_state () to the
+ ACE_Handle_Set_Iterator class.
+
+Tue Jan 2 11:39:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS.i:
+ Added missing ACE_UNUSED_ARG in ACE_OS::event_timedwait
+
+Tue Jan 1 15:36:39 2002 Steve Huston <shuston@riverace.com>
+
+ * include/makeinclude/platform_sunos5_sunc++.GNU: Added support
+ for the buildbits=64 make option.
+
+Tue Jan 1 20:05:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Name_Request_Reply.{h,cpp}:
+ Changed type of 3 constructor arguments from size_t to ACE_UINT32
+ because the members in which these arguments are stored are also
+ of type ACE_UINT32
+
+ * ace/OS.i
+ In ACE_OS::umask method, changed the type in the ACE_OSCALL_RETURN
+ macro from int to mode_t because that is the return type of the
+ method
+
+Tue Jan 1 08:47:25 2002 Douglas C. Schmidt <schmidt@siesta.cs.wustl.edu>
+
+ * ace/Thread.h: Clarify how the ACE_Thread_Adapter is deleted
+ when spawn() is called. Thanks to Preston Elder
+ <prez@srealm.net.au> for reporting this confusion.
+
+Tue Jan 1 14:09:26 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Map_Manager/test_hash_map_manager.cpp:
+ Made this example compiling when ACE_USES_WCHAR is set
+
+ * Makefile.bor:
+ Added examples directory because all examples for which there are
+ BCB makefiles now build when ACE_USES_WCHAR is set
+
+Tue Jan 1 00:02:12 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/ace_dll.vcp: Added String_Base_Const.*.
diff --git a/Makefile b/Makefile
new file mode 100644
index 00000000000..83d5ffec178
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,243 @@
+#----------------------------------------------------------------------------
+# $Id$
+#
+# Top-level Makefile for the ACE toolkit libraries, tests, and
+# applications
+#----------------------------------------------------------------------------
+
+#### Please see ACE-INSTALL.html for build information.
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+INFO = README \
+ THANKS \
+ VERSION
+
+DIRS = ace \
+ netsvcs \
+ tests \
+ apps \
+ examples \
+ performance-tests \
+ websvcs \
+ XML
+
+CLONE = Makefile \
+ ace \
+ apps \
+ bin \
+ etc \
+ examples \
+ include \
+ netsvcs \
+ performance-tests \
+ TAO \
+ tests \
+ websvcs \
+ XML \
+ PACE
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nolocal.GNU
+
+# Optional TAO targets.
+-include $(ACE_ROOT)/TAO/tao_targets.GNU
+
+# For the following to work you need to compile the
+# $(ACE_ROOT)/bin/clone.cpp file and install it in your ~/bin
+# directory (or some place similar).
+
+.PHONY: clone
+clone:
+ @for dir in $(CLONE); \
+ do \
+ (clone -s $(ACE_ROOT)/$$dir $$dir) \
+ done
+
+CORE_DIRS= \
+ ace \
+ apps/gperf/src \
+ TAO/tao \
+ TAO/TAO_IDL \
+ TAO/orbsvcs/orbsvcs \
+ TAO/orbsvcs/Naming_Service
+
+.PHONY: Core
+Core:
+ @for dir in $(CORE_DIRS); \
+ do \
+ $(MAKE) -C $$dir; \
+ done
+
+#### NOTE: The following comments describe how to create kits.
+#### It's intended for use by ACE+TAO developers and
+#### maintainers only. ACE+TAO users need not be concerned
+#### with creating kits, just unpacking and using them.
+
+#### The "release" and "releaseall" targets can be used to create
+#### the ACE and ACE+TAO kits. By default, each creates a new beta
+#### release. To create a new minor or major release, add REL=minor
+#### or REL=major, respectively, to the make invocation.
+####
+#### NOTE: the REL modifier applies to _both_ ACE and TAO in
+#### releaseall!
+####
+#### To create a new ACE minor release and a TAO beta release:
+#### % make release REL=minor
+#### % cd TAO
+#### % make release
+####
+#### There are some other release/releaseall options [default value is in
+#### brackets]:
+#### ACE_TAG [ACE version in your workspace]: prepend tag with -ta
+#### TAO_TAG [TAO version in your workspace]: prepend tag with -tt
+####
+#### NOTE: the ACE and TAO versions will be updated automatically
+#### by release/releaseall. ACE_TAG and TAO_TAG can be overridden
+#### to kit a particular version.
+####
+#### APPLY_NEW_TAG [enabled]: set to null to disable
+#### CHECK [disabled]: set to -n to see what make_release will do, but not
+#### do it
+#### GENERATE_MAN_PAGES [enabled]: set to null to disable regeneration of
+#### the ACE_wrappers/man/ hierarchy
+#### INSTALL_KIT [enabled]: set to null to not install in public
+#### ftp/http directory on host ace
+#### REL [beta]: set to minor or major, optionally, when applying a new tag
+#### ZIP_FILES [enabled]: set to -z to disable creation of .zip files
+####
+#### Example creation of ACE-only kit, version ACE-5_0_1 from current
+#### workspace:
+#### make release ACE_TAG='-ta ACE-5_0_1' APPLY_NEW_TAG= \
+#### GENERATE_MAN_PAGES= INSTALL_KIT= ZIP_FILES=-z
+
+CONTROLLED_FILES = \
+ ACE-INSTALL.html \
+ ACE-install.sh \
+ ASNMP \
+ AUTHORS \
+ COPYING \
+ ChangeLog* \
+ FAQ \
+ Makefile \
+ Makefile.am \
+ PACE \
+ PROBLEM-REPORT-FORM \
+ README \
+ THANKS \
+ TODO \
+ VERSION \
+ XML \
+ acconfig.h \
+ ace \
+ ace-config.1.in \
+ ace-config.in \
+ aceConf.sh.in \
+ apps \
+ bin \
+ configure.in \
+ docs \
+ etc \
+ examples \
+ include \
+ m4 \
+ netsvcs \
+ os-patches \
+ performance-tests \
+ tests \
+ websvcs
+
+RELEASE_FILES = \
+ $(addprefix ACE_wrappers/,$(CONTROLLED_FILES)) \
+ ACE_wrappers/ACE-INSTALL \
+ ACE_wrappers/man
+
+ALL_RELEASE_FILES = \
+ $(RELEASE_FILES) \
+ ACE_wrappers/TAO
+
+RELEASE_LIB_FILES = \
+ ACE_wrappers/VERSION \
+ ACE_wrappers/PACE \
+ ACE_wrappers/ace \
+ ACE_wrappers/bin \
+ ACE_wrappers/etc \
+ ACE_wrappers/include \
+ ACE_wrappers/m4 \
+ ACE_wrappers/netsvcs \
+ ACE_wrappers/tests \
+ ACE_wrappers/websvcs
+
+# Files that should get tagged at release time but shouldn't be in any
+# of the release file lists since they may already be in a directory
+# found in those lists.
+RELEASE_TAG_FILES = \
+ html \
+ man/Makefile.am \
+ man/man3/Makefile.am
+
+.PHONY: release releasetao releaseall tag
+
+ACE_TAG_VALUE = $(shell head -1 VERSION | perl -ne \
+ 's/.* ([\d\.]+),.*\n/$$1/; tr/./_/; print "ACE-$$_";')
+ACE_TAG = -ta $(ACE_TAG_VALUE)
+TAO_TAG_VALUE = $(shell head -1 TAO/VERSION | perl -ne \
+ 's/.* ([\d\.]+),.*\n/$$1/; tr/./_/; print "TAO-$$_";')
+TAO_TAG = -tt $(TAO_TAG_VALUE)
+APPLY_NEW_TAG = tag
+CHECK =
+GENERATE_MAN_PAGES = -g
+INSTALL_KIT = -i
+REL = beta
+ZIP_FILES =
+
+#### The release target creates the ACE (only) kit.
+release: $(APPLY_NEW_TAG)
+ @$(ACE_ROOT)/bin/make_release -k ace $(ACE_TAG) \
+ $(INSTALL_KIT) $(GENERATE_MAN_PAGES) $(ZIP_FILES) $(CHECK)
+
+tag:
+ @$(ACE_ROOT)/bin/make_release $(CHECK) -k ace -v $(REL) -u
+
+#### The following target is for use by the TAO Makefile. It should not
+#### be called directly from the command line. The releasetao target
+#### creates the combined ACE-TAO kit.
+releasetao:
+ @$(ACE_ROOT)/bin/make_release -k ace+tao $(ACE_TAG) $(TAO_TAG) \
+ $(INSTALL_KIT) $(GENERATE_MAN_PAGES) $(ZIP_FILES) $(CHECK)
+
+#### The releaseall target:
+#### 1) Creates the ACE kit.
+#### 2) Updates the TAO release (VERSION, ChangeLog, and tag) by
+#### recursively invoking make release in the TAO directory.
+#### The make then recursively invokes make releasetao in this
+#### directory to create the combined ACE-TAO kit.
+releaseall: $(APPLY_NEW_TAG)
+ @cd TAO && $(MAKE) -s release REL=$(REL)
+
+.PHONY: show_controlled_files show_release_files show_release_lib_files
+.PHONY: show_release_tag_files
+
+show_controlled_files:
+ @echo $(CONTROLLED_FILES)
+
+show_release_files:
+ @echo $(RELEASE_FILES)
+
+show_release_lib_files:
+ @echo $(RELEASE_LIB_FILES)
+
+show_release_tag_files:
+ @echo $(RELEASE_TAG_FILES)
+
+ACE-INSTALL: ACE-INSTALL.html
+ @lynx -dump $< > $@
diff --git a/Makefile.bor b/Makefile.bor
new file mode 100644
index 00000000000..93d607be51b
--- /dev/null
+++ b/Makefile.bor
@@ -0,0 +1,13 @@
+#
+# Makefile for building ACE
+#
+
+DIRS = \
+ ace \
+ examples \
+ performance-tests \
+ tests \
+ XML \
+ XML\tests
+
+!include <$(ACE_ROOT)\include\makeinclude\recurse.bor>
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a
new file mode 100644
index 00000000000..e369136d6c6
--- /dev/null
+++ b/TAO/ChangeLogs/ChangeLog-02a
@@ -0,0 +1,4579 @@
+Wed Jan 30 21:08:22 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net>
+
+ * performance-tests/Latency/AMH/Single_Threaded/Roundtrip.cpp:
+ * performance-tests/Latency/AMH/Single_Threaded/Roundtrip.h:
+ * performance-tests/Latency/AMH/Single_Threaded/client.cpp:
+ * performance-tests/Latency/AMH/Single_Threaded/server.cpp:
+ * performance-tests/Latency/AMI/Roundtrip.cpp:
+ * performance-tests/Latency/AMI/Roundtrip.h:
+ * performance-tests/Latency/AMI/Roundtrip_Handler.cpp:
+ * performance-tests/Latency/AMI/Roundtrip_Handler.h:
+ * performance-tests/Latency/AMI/Server_Task.cpp:
+ * performance-tests/Latency/AMI/client.cpp:
+ * performance-tests/Latency/AMI/server.cpp:
+ * performance-tests/Latency/DII/Roundtrip.cpp:
+ * performance-tests/Latency/DII/Roundtrip.h:
+ * performance-tests/Latency/DII/client.cpp:
+ * performance-tests/Latency/DII/server.cpp:
+ * performance-tests/Latency/DSI/Roundtrip.cpp:
+ * performance-tests/Latency/DSI/Roundtrip.h:
+ * performance-tests/Latency/DSI/client.cpp:
+ * performance-tests/Latency/DSI/server.cpp:
+ * performance-tests/Latency/Deferred/Roundtrip.cpp:
+ * performance-tests/Latency/Deferred/Roundtrip.h:
+ * performance-tests/Latency/Deferred/client.cpp:
+ * performance-tests/Latency/Deferred/server.cpp:
+ * performance-tests/Latency/Single_Threaded/Roundtrip.cpp:
+ * performance-tests/Latency/Single_Threaded/Roundtrip.h:
+ * performance-tests/Latency/Single_Threaded/client.cpp:
+ * performance-tests/Latency/Single_Threaded/server.cpp:
+ * performance-tests/Latency/Thread_Per_Connection/Client_Task.cpp:
+ * performance-tests/Latency/Thread_Per_Connection/Client_Task.h:
+ * performance-tests/Latency/Thread_Per_Connection/Roundtrip.cpp:
+ * performance-tests/Latency/Thread_Per_Connection/Roundtrip.h:
+ * performance-tests/Latency/Thread_Per_Connection/client.cpp:
+ * performance-tests/Latency/Thread_Per_Connection/server.cpp:
+ * performance-tests/Latency/Thread_Pool/Client_Task.cpp:
+ * performance-tests/Latency/Thread_Pool/Client_Task.h:
+ * performance-tests/Latency/Thread_Pool/Roundtrip.cpp:
+ * performance-tests/Latency/Thread_Pool/Roundtrip.h:
+ * performance-tests/Latency/Thread_Pool/Worker_Thread.cpp:
+ * performance-tests/Latency/Thread_Pool/client.cpp:
+ * performance-tests/Latency/Thread_Pool/server.cpp:
+
+ Conversion to the ACE_ENV_ macros.
+ Thanks to Johnny Willemsen for keeping an eye out.
+
+Wed Jan 30 13:38:03 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * orbsvcs/examples/Notify/Subscribe/Subscribe.h (RefCountServantBase): Fixed
+ a cut&paste error. Thanks to Gautam H Thaker
+ <gthaker@atl.lmco.com> for reporting this.
+
+Wed Jan 30 12:49:43 2002 Rob Ruff <rruff@scires.com>
+ Craig Rodrigues <crodrigu@bbn.com>
+
+ * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Change ACE_ENV_ARG_DECL to
+ ACE_ENV_ARG_DECL_NOT_USED.
+ * orbsvcs/orbsvcs/AV/RTCP.cpp: Clean up debugging statements.
+ Change value of RTCP_SDES_NOTE to "An important note..."
+ * orbsvcs/orbsvcs/AV/RTCP_Channel.cpp (update_seq):
+ Only show debug statement if TAO_debug_level is > 0.
+ * orbsvcs/orbsvcs/AV/Transport.cpp: Default initialize timer_id_ to
+ -1. Only call cancel_timer() and handle_timeout() if timer_id_ is
+ not -1.
+ * orbsvcs/orbsvcs/AV/UDP.cpp:
+ (TAO_AV_UDP_Connector::connect) Set the control address.
+ (TAO_AV_UDP_Connection_Setup::setup) Treat the setup of sockets
+ which are used as acceptors or connectors differently.
+
+Wed Jan 30 16:07:33 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Notify/Makefile.bor:
+ Added Structured_Filter and Structured_Multi_Filter
+
+ * orbsvcs/tests/Notify/Structured_Filter/*.bor:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/*.bor:
+ Added BCB makefiles for these tests
+
+Wed Jan 30 11:19:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/orbconf.h:
+ Added backwards compatible macro define for TAO_ENV_DECLARE_NEW_ENV
+
+Wed Jan 30 07:39:09 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net>
+
+ * orbsvcs/tests/Notify/Structured_Filter/Notify_Push_Consumer.cpp
+ (Notify_Push_Consumer::push_structured_event): Corrected
+ usage of ACE_ENV_ARG_DECL_NOT_USED.
+
+Tue Jan 29 17:13:53 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/fe/idl.ll:
+ * TAO_IDL/fe/lex.yy.cpp:
+
+ Changed the code in idl_store_pragma() to keep track of how
+ many characters it 'crunches' when removing whitespace
+ between the '#' and the 'pragma'. When the trailing '\n' of
+ the pragma string is removed later on, it must be shifted
+ this many places to the left, to skip over the characters
+ that have now become garbage. Thanks to Ossama Othman
+ <ossama@doc.ece.uci.edu> for providing the KCC preprocessor
+ output that showed the source of the problem.
+
+Tue Jan 29 23:31:14 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net>
+
+ * rules.tao.GNU:
+ Removed the include_env switch, it now lives in
+ $ACE_ROOT/include/makeinclude/wrapper_macros.GNU.
+
+Tue Jan 29 21:34:20 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net>
+
+ * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen_Test.cpp:
+ Oops, fixed bad comment in line 1.
+
+Tue Jan 29 21:09:12 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net>
+
+ * tao/orbconf.h (TAO_ENV_*):
+ Deprecated. Instead, use the equivalent ACE_ENV_ macros from
+ $ACE_ROOT/ace/CORBA_macros.h.
+
+ * (many source files):
+ Corresponding to the above change, changed all relevant source
+ files to use the new ACE_ENV_ARG macros instead of the TAO_ENV_ARG
+ macros. All exception related macros are now defined in
+ $ACE_ROOT/ace/CORBA_macros.h.
+
+Tue Jan 29 09:01:41 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/be/be_interface.cpp:
+ Removed bogus semicolon.
+
+ * TAO_IDL/be_include/be_visitor_interface/amh_ch.h:
+ Changed broken private inheritance to public inheritance.
+
+Tue Jan 29 08:57:31 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * tao/Messaging.h:
+ Add TAO_Export to the function declaration, otherwise it is
+ invisible outside the library.
+
+Tue Jan 29 10:56:35 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * orbsvcs/tests/Notify/Structured_Filter/Notify_Push_Consumer.cpp:
+
+ Added throw spec to push_structured_event() to match the
+ declaration.
+
+Tue Jan 29 09:38:35 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * tao/CORBALOC_Parser.cpp:
+ Fixed compile error. Added #include "tao/debug.h".
+
+Tue Jan 29 13:09:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Notify/Makefile.bor:
+ Added Blocking, Discarding, MT_Dispatching,
+ Sequence_Multi_ETCL_Filter and Sequence_Multi_Filter directory
+
+ * orbsvcs/tests/Notify/Blocking/*.bor:
+ Added new BCB makefiles to build this test
+
+ * orbsvcs/tests/Notify/Discarding/*.bor:
+ Added new BCB makefiles to build this test
+
+ * orbsvcs/tests/Notify/MT_Dispatching/*.bor:
+ Added new BCB makefiles to build this test
+
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/*.bor:
+ Added new BCB makefiles to build this test
+
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/*.bor:
+ Added new BCB makefiles to build this test
+
+Tue Jan 29 11:20:36 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Notify/performance-tests/Makefile.bor:
+ Added Throughput and Filter directory
+
+ * orbsvcs/tests/Notify/performance-tests/Throughput/Makefile.bor:
+ Added new BCB makefile to build this test
+
+ * orbsvcs/tests/Notify/performance-tests/Filter/*.bor:
+ Added new BCB makefiles to build these tests
+
+ * orbsvcs/tests/Notify/Makefile.bor:
+ Added Ordering directory
+
+ * orbsvcs/tests/Notify/Ordering/*.bor:
+ Added new BCB makefiles to build these tests
+
+Tue Jan 29 09:10:17 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Messaging.h:
+ Removed TAO_Export from namespace definitions because namespaces
+ aren't exported. BCB compiler complains about this
+
+Tue Jan 29 08:14:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvs/tests/Makefile.bor:
+ Added CosEvent and Notify directory
+
+ * orbsvcs/tests/CosEvent/Makefile.bor:
+ Added new BCB makefile to build subdirectories
+
+ * orbsvcs/tests/CosEvent/lib/Makefile.bor:
+ Added new BCB makefile to build this test library
+
+ * orbsvcs/tests/CosEvent/Basic/Makefile.bor:
+ Added new BCB makefile to build these tests
+
+ * orbsvcs/tests/Notify/Makefile.bor:
+ Added new BCB makefile to build subdirectories
+
+ * orbsvcs/tests/Notify/lib/Makefile.bor:
+ Added new BCB makefile to build this test library
+
+ * orbsvcs/tests/Notify/Basic/Makefile.bor:
+ Added new BCB makefile to build these tests
+
+ * orbsvcs/tests/Notify/performance-tests/Makefile.bor:
+ Added new BCB makefile to build subdirectories
+
+ * orbsvcs/tests/Notify/performance-tests/RedGreen/Makefile.bor:
+ Added new BCB makefile to build this test
+
+Mon Jan 28 20:21:44 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/CORBALOC_Parser.cpp
+ (check_prefix, parse_string_count_helper):
+
+ Only print debugging information if desired by the user.
+
+ Improved efficiency of some code.
+
+Mon Jan 28 16:21:59 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * tao/TAO.dsp:
+ * tao/TAO_Static.dsp:
+ Add Messaging.cpp to the project files.
+
+Mon Jan 28 16:11:36 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/be/be_visitor_amh_pre_proc.cpp:
+ Add generation of the AMH_*ExceptionHolder valuetype.
+
+ * TAO_IDL/be/be_visitor_operation/ami_exception_holder_operation_cs.cpp:
+ The IDL compiler simply calls the shared code in
+ TAO_Messaging_Helper::exception_holder_raise().
+ Using a shared function for the raise methods in the
+ ExceptionHolders reduced the line count from 59Kloc to 56Kloc,
+ more importantly it saved 10% in the text segment for
+ param_testC.o.
+
+ * TAO_IDL/be/be_visitor_valuetype/arglist.cpp:
+ Cleanup indentation.
+ Generate throw specs for valuetype operations.
+
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_ch.cpp:
+ Remove obsolete @@ comment.
+
+ * tao/Messaging.h:
+ * tao/Messaging.cpp:
+ Add new Messaging.cpp, it should contain helper code used in the
+ implementation of CORBA Messaging.
+
+ * tao/Makefile:
+ * tao/Makefile.am:
+ * tao/Makefile.bor:
+ Add new Messaging.cpp file and update deps.
+
+ * tao/BiDir_GIOP/Makefile:
+ * tao/Domain/Makefile:
+ * tao/DynamicAny/Makefile:
+ * tao/DynamicInterface/Makefile:
+ * tao/IFR_Client/Makefile:
+ * tao/IORManipulation/Makefile:
+ * tao/IORTable/Makefile:
+ * tao/PortableServer/Makefile:
+ * tao/RTCORBA/Makefile:
+ * tao/RTPortableServer/Makefile:
+ * tao/SmartProxies/Makefile:
+ * tao/Strategies/Makefile:
+ * tao/TypeCodeFactory/Makefile:
+ Update deps.
+
+Mon Jan 28 13:40:38 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/be/be_visitor_ami_pre_proc.cpp:
+ Fixed typo in UTL_ScopeActiveIterator change, the loop
+ termination should have been !si.is_done(), but I typed
+ si.is_done().
+
+Mon Jan 28 12:40:15 2002 Ossama Othman <ossama@uci.edu>
+
+ * performance-tests/Latency/AMH/Single_Threaded/client.dsp:
+ * performance-tests/Latency/AMH/Single_Threaded/server.dsp:
+ * performance-tests/Latency/AMI/client.dsp:
+ * performance-tests/Latency/AMI/server.dsp:
+ * performance-tests/Latency/DII/client.dsp:
+ * performance-tests/Latency/DII/server.dsp:
+ * performance-tests/Latency/DSI/client.dsp:
+ * performance-tests/Latency/DSI/server.dsp:
+ * performance-tests/Latency/Deferred/client.dsp:
+ * performance-tests/Latency/Deferred/server.dsp:
+ * performance-tests/Latency/Single_Threaded/client.dsp:
+ * performance-tests/Latency/Single_Threaded/server.dsp:
+ * performance-tests/Latency/Thread_Per_Connection/client.dsp:
+ * performance-tests/Latency/Thread_Per_Connection/server.dsp:
+ * performance-tests/Latency/Thread_Pool/client.dsp:
+ * performance-tests/Latency/Thread_Pool/server.dsp:
+
+ Updated paths in accordance with the new "Latency" performance
+ test organization.
+
+Mon Jan 28 12:39:50 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * orbsvcs/tests/EC_Throughput/README:
+ Fixed paths in the README file, some of the binaries were
+ completely wrong. Made a pass to improved documentation.
+
+Mon Jan 28 12:30:38 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/be/be_visitor_operation/amh_sh.cpp:
+ The code was generating a TAO_ENV_ARG_PARAMETER in the header
+ file. BIG mistake, I should have generated a TAO_ENV_ARG_DECL.
+
+Mon Jan 28 14:25:04 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * orbsvcs/tests/Notify/Structured_Filter/Structured_Consumer.dsp:
+ * orbsvcs/tests/Notify/Structured_Filter/Structured_Supplier.dsp:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Consumer.dsp:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Supplier.dsp:
+
+ Removed these files and added them below, renamed uniquely so they
+ could be inserted into the workspace containing all the Notify tests.
+
+ * orbsvcs/tests/Notify/Structured_Filter/Structured_Filter_Consumer.dsp:
+ * orbsvcs/tests/Notify/Structured_Filter/Structured_Filter_Supplier.dsp:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Multi_Filter_Consumer.dsp:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Multi_Filter_Supplier.dsp:
+
+ Added these files as renamings of the ones removed above.
+
+ * orbsvcs/tests/Notify/Structured_Filter/Structured_Filter.dsw:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Multi_Filter.dsw:
+
+ Changed the names of the included projects to reflect the
+ changes above.
+
+ * orbsvcs/tests/Notify/Structured_Filter/Notify_Push_Consumer.cpp:
+
+ Changed the way a signed 64-bit integer is handled in a case
+ statement.
+
+ * orbsvcs/tests/Notify/Basic/AdminProperties_Test.cpp:
+ * orbsvcs/tests/Notify/Basic/AdminProperties_Test.dsp:
+ * orbsvcs/tests/Notify/Basic/AdminProperties_Test.h:
+ * orbsvcs/tests/Notify/Basic/ConnectDisconnect.cpp:
+ * orbsvcs/tests/Notify/Basic/ConnectDisconnect.h:
+ * orbsvcs/tests/Notify/Basic/Events_Test.cpp:
+ * orbsvcs/tests/Notify/Basic/Events_Test.h:
+ * orbsvcs/tests/Notify/Basic/IdAssignment.cpp:
+ * orbsvcs/tests/Notify/Basic/IdAssignment.dsp:
+ * orbsvcs/tests/Notify/Basic/IdAssignment.h:
+ * orbsvcs/tests/Notify/Basic/LifeCycleTest.cpp:
+ * orbsvcs/tests/Notify/Basic/LifeCycleTest.dsp:
+ * orbsvcs/tests/Notify/Basic/LifeCycleTest.h:
+ * orbsvcs/tests/Notify/Basic/Simple.cpp:
+ * orbsvcs/tests/Notify/Basic/Simple.h:
+ * orbsvcs/tests/Notify/Basic/Updates.cpp:
+ * orbsvcs/tests/Notify/Basic/Updates.h:
+ * orbsvcs/tests/Notify/MT_Dispatching/Structured_Consumer.cpp:
+ * orbsvcs/tests/Notify/MT_Dispatching/Structured_Supplier.cpp:
+ * orbsvcs/tests/Notify/lib/Notify_PushConsumer.cpp:
+ * orbsvcs/tests/Notify/lib/Notify_PushSupplier.cpp:
+ * orbsvcs/tests/Notify/lib/Notify_SequencePushConsumer.cpp:
+ * orbsvcs/tests/Notify/lib/Notify_SequencePushSupplier.cpp:
+ * orbsvcs/tests/Notify/lib/Notify_StructuredPushConsumer.cpp:
+ * orbsvcs/tests/Notify/lib/Notify_StructuredPushSupplier.cpp:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Sequence_Consumer.cpp:
+ * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen_Test.cpp:
+ * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen_Test.h:
+ * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.cpp:
+ * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.h:
+
+ Cosmetic changes.
+
+Mon Jan 28 12:23:39 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/be_include/be_visitor_argument/argument.h:
+ * TAO_IDL/be/be_visitor_argument/argument.cpp:
+ Add functionality to support fixed-direction arguments, i.e. the
+ visitor caller can override the actual direction of the
+ argument. This is used in AMH to make all the INOUT arguments
+ behave as IN arguments.
+
+ * TAO_IDL/be/be_visitor_operation/amh_sh.cpp:
+ * TAO_IDL/be/be_visitor_operation/amh_ss.cpp:
+ Use the set_fixed_direction() functionality in the
+ be_visitor_args visitors to generate correct code for the INOUT
+ arguments in an AMH function.
+
+ * TAO_IDL/be_include/be_visitor_operation/amh_ss.h:
+ Removed extra argument in the generate_shared_section() helper,
+ the argument is no longer needed.
+
+
+ * TAO_IDL/be/be_visitor_amh_pre_proc.cpp:
+ Fixed problem in UTL_ScopeActiveIterator, a bogus si.next() was
+ left in the for()-loop body.
+
+Mon Jan 28 12:15:43 2002 Ossama Othman <ossama@uci.edu>
+
+ * tests/OBV/Forward/server.dsp:
+
+ Corrected TAO_IDL compiler path in "Debug" configuration
+ dependencies.
+
+Mon Jan 28 11:50:27 2002 Ossama Othman <ossama@uci.edu>
+
+ * performance-tests/Latency/AMH/Single_Threaded/run_test.pl:
+ * performance-tests/Latency/AMI/run_test.pl:
+ * performance-tests/Latency/DII/run_test.pl:
+ * performance-tests/Latency/Deferred/run_test.pl:
+ * performance-tests/Latency/Single_Threaded/run_test.pl:
+ * performance-tests/Latency/Thread_Per_Connection/run_test.pl:
+ * performance-tests/Latency/Thread_Pool/run_test.pl:
+
+ Corrected Perl include path. Thanks to Carlos for pointing out
+ the problem.
+
+Mon Jan 28 11:38:22 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/be/be_visitor_operation/amh_sh.cpp:
+ * TAO_IDL/be/be_visitor_operation/amh_ss.cpp:
+ * TAO_IDL/be_include/be_visitor_operation/amh_sh.h:
+ * TAO_IDL/be_include/be_visitor_operation/amh_ss.h:
+ Another iteration in the AMH support. This time we make sure
+ that only IN and INOUT arguments are generated in the AMH
+ skeletons, but I believe that INOUT arguments are not generated
+ correctly.
+
+Mon Jan 28 11:17:40 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/be/be_visitor_amh_pre_proc.cpp:
+ * TAO_IDL/be/be_visitor_ami_pre_proc.cpp:
+ Removed last instances of head-allocated
+ UTL_ScopeActiveIterator, hopefully this will stop the madness
+ and people will cut&paste the "Right Thing"[tm] from now on.
+
+Mon Jan 28 10:50:40 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * orbsvcs/Notify/Notify_Constraint_Visitors.cpp:
+
+ Removed some lines of unreachable code.
+
+Mon Jan 28 10:39:26 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * orbsvcs/tests/Application_Test/ifr_dii_client.cpp:
+
+ Changed the name of a local variable to avoid a warning,
+ on SunOS Forte, of a possible hiding of a class member
+ variable.
+
+Mon Jan 28 08:39:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * performance-tests/Makefile.bor:
+ Updated BCB makefile with changes in Latency tests
+
+Sun Jan 27 14:35:32 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/Pluggable.cpp (make_mprofile):
+
+ Fixed support for parsing URL style IORs with multiple addrs in
+ them. [Bug 1130]
+
+Sun Jan 27 13:22:11 2002 Ossama Othman <ossama@uci.edu>
+
+ * performance-tests/README:
+ * performance-tests/Latency/README:
+
+ Updated in accordance with the new "Latency" performance test
+ organization.
+
+Sun Jan 27 12:51:02 2002 Ossama Othman <ossama@uci.edu>
+
+ * performance-tests/Makefile (DIRS):
+
+ Updated in accordance with the new "Latency" performance
+ test organization.
+
+ * performance-tests/Latency/Makefile (DIRS):
+ * performance-tests/Latency/Makefile.bor (DIRS):
+ * performance-tests/Latency/AMH/Makefile (DIRS):
+ * performance-tests/Latency/AMH/Makefile.bor (DIRS):
+
+ Makefiles for the newly reorganized "Latency" performance
+ tests.
+
+Sun Jan 27 12:02:37 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.cpp:
+ Added missing explicit template instantiation.
+
+Sun Jan 27 15:04:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * Makefile.bor:
+ Added the XML library
+
+Sun Jan 27 00:52:49 2002 Ossama Othman <ossama@uci.edu>
+
+ * tests/ORT/ORT_test_IORInterceptor.cpp:
+ * tests/ORT/client.cpp:
+ * tests/ORT/server.cpp:
+
+ Minor code review. Nothing major. Just style issues.
+
+Sat Jan 26 23:09:56 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/ORB.h:
+ * tao/ORB.cpp (id, register_initial_reference):
+
+ The CORBA specification recently added these methods to the
+ CORBA::ORB interface. Implemented them.
+
+ * tao/ORB_Core.cpp:
+
+ Moved template instantiations from `ORB.cpp' to this file. They
+ aren't used in the former.
+
+ * tao/Object_Ref_Table.h:
+ * tao/Object_Ref_Table.cpp:
+
+ Synchronize access to the underlying hash map by instantiating
+ the template(s) with a TAO_SYNCH_MUTEX instead of an
+ ACE_Null_Mutex. Multiple threads may potentially attempt to
+ register an object reference concurrently.
+
+ * tao/ClientRequestInfo_i.cpp (get_service_context_i):
+
+ Corrected exception minor code (26 instead of incorrect 23).
+
+Sat Jan 26 22:53:04 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net>
+
+ * examples/Callback_Quoter/Notifier_i.cpp:
+ * tao/Asynch_Invocation.cpp:
+ * tao/corbafwd.h:
+ * tao/PortableServer/poa_macros.h:
+ Removed dependence on tao/try_macros.h.
+
+ * tao/orbconf.h: Added back special comment line for Doxygen.
+
+Sat Jan 26 13:44:39 2002 Ossama Othman <ossama@uci.edu>
+
+ * docs/releasenotes/TODO.html:
+
+ Updated Bugzilla URL.
+
+Sat Jan 26 20:10:04 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net>
+
+ * tao/orbconf.h (TAO_ENV_ARG_DEFN): Removed.
+
+Sat Jan 26 20:10:04 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net>
+
+ * tests/ORT/ORT_test_IORInterceptor_ORBInitializer.cpp
+ (ORT_test_IORInterceptor_ORBInitializer::post_init):
+ Removed TAO_ENV_ARG_DEFN and corrected usage of
+ TAO_ENV_ARG_PARAMETER.
+
+Fri Jan 25 19:05:24 2002 Ossama Othman <ossama@uci.edu>
+
+ * tests/OBV/Forward/server.dsp:
+
+ Added missing IDL custom build step for the "Release"
+ configuration.
+
+Fri Jan 25 20:14:19 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * tao/PortableServer/Makefile:
+
+ Added missing PortableGroup_Hooks.
+
+Fri Jan 25 14:25:11 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * performance-tests/AMH_Single_Threaded_Latency/Roundtrip.h:
+ * performance-tests/AMH_Single_Threaded_Latency/Roundtrip.cpp:
+ Changed TAO_ENV_SINGLE_ARG_DECL to TAO_ENV_ARG_DECL. I had
+ copied the code as is from the Single_threaded_Latency test and
+ since for AMH_skeletons we add an extra rh paramater, the 'void
+ shutdown (void)' method now had an argument (comapred to none
+ before). This was causing a problem on builds that used
+ emulated exceptions.
+
+Fri Jan 25 14:10:48 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/AV/RTCP.cpp (handle_stop):
+
+ Removed unreachable statement.
+
+Fri Jan 25 13:26:40 2002 Ossama Othman <ossama@uci.edu>
+
+ * tests/OBV/Any/AnyS_impl.cpp (magic):
+
+ Removed unsed global variable.
+
+Fri Jan 25 11:34:35 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/ast/ast_operation.cpp:
+ * TAO_IDL/be/be_generator.cpp:
+ * TAO_IDL/be/be_operation.cpp:
+ * TAO_IDL/be/be_scope.cpp:
+ * TAO_IDL/be/be_structure.cpp:
+ * TAO_IDL/be/be_union.cpp:
+ * TAO_IDL/be/be_valuetype.cpp:
+ * TAO_IDL/be/be_visitor_amh_pre_proc.cpp:
+ * TAO_IDL/be/be_visitor_scope.cpp:
+ * TAO_IDL/be/be_visitor_interface/amh_sh.cpp:
+ * TAO_IDL/be/be_visitor_operation/operation.cpp:
+ * TAO_IDL/be/be_visitor_operation/operation_cs.cpp:
+ * TAO_IDL/be/be_visitor_operation/operation_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/remote_proxy_impl_cs.cpp:
+ * TAO_IDL/be/be_visitor_root/root_sth.cpp:
+ * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp:
+ * TAO_IDL/be/be_visitor_union/union_cs.cpp:
+ * TAO_IDL/be/be_visitor_union_branch/cdr_op_ci.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/marshal_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/marshal_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/valuetype.cpp:
+ For some mystifying reason many UTL_ScopeActiveIterator
+ instances were created on the heap, and immediately deleted (or
+ not, leaking memory.)
+ Funny enough the language has a perfectly usable feature for
+ that kind of behavior, it is called "automatic variables".
+ Also, several while()-loops were really for()-loops in disguise,
+ changed them to make the behavior more obvious.
+
+Fri Jan 25 10:40:03 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/tests/Security/SecurityLevel1/client.dsp:
+ * orbsvcs/tests/Security/SecurityLevel1/server.dsp:
+ * orbsvcs/tests/Security/SecurityLevel1/SecurityLevel1.dsw:
+
+ Added missing MSVC++ project and workspace files.
+
+Fri Jan 25 10:21:10 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/tests/Security/Big_Request/client.dsp:
+ * orbsvcs/tests/Security/Big_Request/server.dsp:
+ * orbsvcs/tests/Security/Callback/client.dsp:
+ * orbsvcs/tests/Security/Callback/server.dsp:
+ * orbsvcs/tests/Security/MT_SSLIOP/client.dsp:
+ * orbsvcs/tests/Security/MT_SSLIOP/server.dsp:
+ * orbsvcs/tests/Security/Secure_Invocation/client.dsp:
+ * orbsvcs/tests/Security/Secure_Invocation/server.dsp:
+
+ Corrected the "Release" configuration output filenames.
+ Binaries for "Release" builds belong in the `Release' directory,
+ by convention.
+
+Fri Jan 25 10:06:44 2002 Ossama Othman <ossama@uci.edu>
+
+ * tests/OBV/Any/client.dsp:
+
+ Added missing custom build step in the "Release" configuration
+ for the this test's IDL file.
+
+Fri Jan 25 11:24:35 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/be/be_array.cpp:
+
+ Added base class constructor calls to class be_array
+ constructor.
+
+ * TAO_IDL/be/be_visitor_array/array_cs.cpp:
+
+ Cosmetic changes to source code.
+
+ * TAO_IDL/fe/fe_declarator.cpp:
+
+ Removed addition of arrays to AST at global scope. This seems to
+ be legacy code that there is no good reason for, and it was
+ causing problems when an array is declared, typedef'd, and
+ used as the element of another array at global scope. Anonymous
+ arrays and the corresponding typdef (if any) are still
+ added to the scope where they are declared. Thanks to Boris
+ Kolpackov <boris@upsa.kent.orc.ru> for reporting this bug.
+
+ * TAO_IDL/fe/idl.yy:
+ * TAO_IDL/fe/y.tab.cpp:
+ * TAO_IDL/fe/y.tab.cpp.diff:
+
+ Made change for sequences similar to change for arrays
+ above.
+
+Fri Jan 25 12:14:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO/performance-tests/AMH_Single_Threaded_Latency/*.bor:
+ Added BCB makefiles
+
+Fri Jan 25 00:04:05 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * docs/tutorials/Quoter/RT_Event_Service/Makefile:
+ * docs/tutorials/Quoter/On_Demand_Activation/Makefile:
+ * docs/tutorials/Quoter/AMI/Makefile:
+ * docs/tutorials/Quoter/idl/Makefile:
+ Regenerated dependencies.
+
+Thu Jan 24 20:15:01 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * TAO/performance-tests/AMH_Single_Threaded_Latency/AMH_Single_Threaded_Latency.dsw:
+ * TAO/performance-tests/AMH_Single_Threaded_Latency/client.dsp:
+ * TAO/performance-tests/AMH_Single_Threaded_Latency/server.dsp:
+ Workspace and projects for the AMH performance test.
+
+Thu Jan 24 18:51:21 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * TAO/performance-tests/AMH_Single_Threaded_Latency:
+ * TAO/performance-tests/AMH_Single_Threaded_Latency/client.cpp:
+ * TAO/performance-tests/AMH_Single_Threaded_Latency/server.cpp:
+ * TAO/performance-tests/AMH_Single_Threaded_Latency/Roundtrip.h:
+ * TAO/performance-tests/AMH_Single_Threaded_Latency/Roundtrip.cpp:
+ * TAO/performance-tests/AMH_Single_Threaded_Latency/Makefile:
+ * TAO/performance-tests/AMH_Single_Threaded_Latency/run_test.pl:
+ * TAO/performance-tests/Makefile:
+ * TAO/performance-tests/Makefile.bor:
+ * TAO/performance-tests/README:
+ Performance test for AMH based on the Single_Threaded_Latency
+ test.
+
+Thu Jan 24 17:47:00 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/be/be_decl.cpp:
+ Fixed the implementation of compute_flat_name() there was
+ nothing flat about the named computed: it used the regular full
+ name for the containing scope, so for nested modules the results
+ were wrong.
+
+ * TAO_IDL/be/be_interface.cpp:
+ Fixed warning about unused argument and made several cosmetic
+ fixes.
+
+ * TAO_IDL/be/be_visitor_argument.cpp:
+ * TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp:
+ Cosmetic fixes.
+
+ * TAO_IDL/be/be_visitor_interface/amh_sh.cpp:
+ * TAO_IDL/be/be_visitor_interface/amh_ss.cpp:
+ Implement code to process attributes as well as operations.
+
+ * TAO_IDL/be/be_visitor_interface/amh_ss.cpp:
+ Fixed implementation of the _downcast() method on the AMH
+ skeleton.
+
+ * TAO_IDL/be_include/be_visitor_interface/amh_ss.h:
+ * TAO_IDL/be/be_visitor_interface/amh_ss.cpp:
+ * TAO_IDL/be_include/be_visitor_interface/interface_ss.h:
+ * TAO_IDL/be/be_visitor_interface/interface_ss.cpp:
+ Generate correct code for AMH-copy constructors. I used the new
+ class-based traverse_inheritance_graph().
+
+ * TAO_IDL/be_include/be_visitor_operation/amh_sh.h:
+ * TAO_IDL/be_include/be_visitor_operation/amh_ss.h:
+ * TAO_IDL/be/be_visitor_operation/amh_sh.cpp:
+ * TAO_IDL/be/be_visitor_operation/amh_ss.cpp:
+ Add support for attributes, in both cases I used a technique
+ slightly different from what the rest of the IDL compiler does.
+ Normally a fake be_operation node is generated on the fly
+ (usually heap allocated) and used to generate the code "as if"
+ it was a real operation. However, the code to generate
+ operations has to be modified to treat these nodes with some
+ magic, because the attribute name (on GIOP) are different than
+ the actual name of the attribute.
+ My approach was to re-factor the common code to generate
+ attributes and operations in these new fangled things called
+ "subroutines". The attribute code calls the subroutines to
+ generate the desired code. I did have to generate a temporary
+ node (of type be_argument), but I was able to stack-allocate it
+ and use it in a very localized section of the code.
+ Also, none of the operation code has to understand about
+ attributes.
+
+
+Thu Jan 24 15:48:01 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * tao/TAO_Static.dsp:
+ * tao/PortableServer/TAO_PortableServer_Static.dsp:
+
+ Fixed worspaces regarding moving of the AMH_Response_Handler
+ files.
+
+Thu Jan 24 11:48:01 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/be/be_interface.cpp:
+ * TAO_IDL/be_include/be_interface.h:
+ Use the new class-based version traverse_inheritance_graph() to
+ generate the operation table. The name of the derived class is
+ computed by the caller and pass through the Worker class down to
+ the code generation routines. This was useful to factor out the
+ common code between the AMH-class (where the base class name is
+ not obtainable via a simple method call) and the regular
+ (non-AMH) skeletons.
+ Also use stack-allocate iterators, it makes no sense in the
+ world to allocate an object from the head only to delete when we
+ return from the function!
+ Change some while() loops to for() loops because the latter
+ document the intent better.
+
+Thu Jan 24 12:35:17 2002 Boris Kolpackov <bosk@ipmce.ru>
+
+ * TAO_IDL/be_include/be_visitor_typecode/typecode_defn.cpp:
+ * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp:
+
+ Fixed a bug in typecode generation for multidimension arrays.
+ Implemented first part of new recursive IDL handling machanism.
+ Refactored some repetitive code.
+
+Thu Jan 24 00:08:22 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/PortableServer/IORInfo.cpp:
+ * tao/PortableServer/ObjectReferenceTemplate.cpp:
+ * tao/PortableServer/ObjectReferenceTemplate.h:
+ * tao/PortableServer/POA.cpp:
+ * tao/PortableServer/POA.h:
+ * tao/PortableServer/POA.i:
+
+ Code review! Left a whole slew of "@@" comments regarding
+ disfunctional code, exception safety, memory leaks, etc.
+
+Wed Jan 23 22:00:16 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/PortableServer/IORInfo.cpp
+ (manager_id, state, current_factory):
+
+ Fixed code that couldn't possibly work since an exception was
+ always thrown. Where's the testing?!
+
+Wed Jan 23 16:40:21 2002 Jaiganesh Balasubramanian <jai@kelvar.ece.uci.edu>
+
+ * tao/ORB.cpp:
+ Made changes to get the correct port value to search the NameService
+ when the ORBDefaultInitRef option is used.
+ The changes are made thanks to Andrew L. Shwaika<als@solvo.ru>
+
+Wed Jan 23 14:16:35 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/include/ast_argument.h:
+ Changed values of the AST_Argument::Direction enum. The new
+ values allow me to specify sets of directions as bit masks.
+
+ * TAO_IDL/include/ast_operation.h:
+ * TAO_IDL/ast/ast_operation.cpp:
+ Add new method to count the arguments in a given set of
+ directions, for example, all (dir_IN|dir_OUT) arguments.
+
+ * TAO_IDL/be/be_visitor_interface/amh_sh.cpp:
+ The AMH_<Interface> class was deriving from the non-AMH
+ classes.
+ Remove stale comments.
+ Use UTL_ScopeActiveIterator on the stack, there is no sense in
+ declaring objects with a well-defined scope on the heap! Fixed
+ a memory leak in the process.
+
+ * TAO_IDL/be/be_visitor_operation/amh_sh.cpp:
+ After we generate the ResponseHandler argument in AMH-operations
+ we need to insert a comma, but only if there are IN or INOUT
+ arguments. The code used to check for any kind of argument.
+
+ * TAO_IDL/be/be_visitor_operation/amh_ss.cpp:
+ Generate the code for the _tao_in variable (the TAO_InputCDR) in
+ the skeleton.
+ Fix indentation in the skeleton.
+ Insert the arguments for the upcall. Unfortunately we are
+ generating *all* the arguments, not only the IN and INOUT ones.
+
+ * TAO_IDL/be/be_visitor_operation/ami_cs.cpp:
+ * TAO_IDL/be/be_visitor_operation/operation.cpp:
+ Eliminate duplicate code using the
+ count_arguments_with_direction routine.
+
+
+Wed Jan 23 13:09:40 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/PortableServer/AMH_Response_Handler.h:
+
+ Fixed a "fuzz" error related to a filename mismatch.
+
+ Declare the class attributes after the class methods to more
+ closely match ACE/TAO programming styles and common C++
+ conventions. Darn Java programmers!
+
+ Wrapped overly long lines in class documentation.
+
+Wed Jan 23 12:06:37 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * TAO/tao/Makefile:
+ * TAO/tao/Makefile.bor:
+ * TAO/tao/PortableServer/Makefile:
+ * TAO/tao/PortableServer/Makefile.bor:
+
+ Updated the files with the changes of moving the
+ AMH_Response_Handler files from `tao' and `tao/PortableServer'.
+
+Wed Jan 23 12:03:01 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/be/be_interface.cpp:
+ * TAO_IDL/be/be_visitor_interface/amh_ss.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_ss.cpp:
+ * TAO_IDL/be_include/be_visitor_interface/amh_ss.h:
+ * TAO_IDL/be_include/be_visitor_interface/interface_ss.h:
+
+ Fixed generate of the _downcast() method for AMH skeletons. I
+ used the new worker class to traverse inheritance graphs to do
+ the job.
+
+Wed Jan 23 12:00:35 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.cpp
+ (authentication_state):
+
+ Do not check if the credential is valid. Once the credential
+ has been authenticated it remains authenticated. Users should
+ call the is_valid() method if they wish to determine whether or
+ not the credential has expired.
+
+Wed Jan 23 11:10:33 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * tao/PortableServer/AMH_Response_Handler.h:
+ * tao/PortableServer/TAO_PortableServer.dsp:
+ * tao/TAO.dsp:
+
+ Changed workspaces and header file to compile/link on Windows
+ platforms.
+
+Wed Jan 23 10:47:30 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/be_include/be_interface.h:
+ * TAO_IDL/be/be_interface.cpp:
+ Add a new traverse_inheritance_graph() method that takes a class
+ (with a virtual method) instead of a naked pointer to function.
+ I will need the new version to pass state into one of the
+ traversals.
+
+Wed Jan 23 09:55:33 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * TAO_IDL/be/be_visitor_interface/amh_rh_ss.cpp:
+
+ Changed code to generate the right signatures for constructors
+ and destructors, similar to the way it is done in
+ be_visitor_operation/amh_rh_ss.cpp.
+
+Wed Jan 23 09:33:31 2002 Ossama Othman <ossama@uci.edu>
+
+ * tests/ORT/ORT_test_IORInterceptor.cpp
+ (establish_components, components_established):
+
+ Fixed unused argument warnings.
+
+Wed Jan 23 09:30:19 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/Current.pidl:
+
+ Removed backslashes in comments. Some compilers correctly flag
+ them as potential problems through warnings.
+
+Wed Jan 23 09:25:31 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h:
+
+ Corrected some documentation.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.cpp (is_valid):
+
+ Implemented this method.
+
+Wed Jan 23 11:05:04 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * examples/Quoter/Quoter.idl:
+
+ Added leading underscore to an operation parameter
+ named 'object' because it clashes with the IDL
+ keyword 'Object'.
+
+Wed Jan 23 16:14:43 2002 Boris Kolpackov <bosk@ipmce.ru>
+
+ * TAO_IDL/be/be_visitor_operation/rettype_vardecl_cs.cpp:
+
+ Fixed mistake in initialization of _tao_retval for valuetypes.
+
+ * tests/OBV/Any/Makefile:
+ * tests/OBV/Forward/Makefile:
+
+ Fixed few stupid mistakes that made some time ago.
+
+ * tao/ValueBase.h
+
+ Added work around for famous Sun CC "pure virtual function called"
+ bug. Unfortunately this involves introduction of yet another #define.
+ See include/makeinclude/platform_sunos5_sunc++.GNU for more information.
+
+Wed Jan 23 06:43:27 Chad Elliott <elliott_c@ociweb.com>
+
+ * orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushSupplier_i.cpp:
+
+ Added missing include files.
+
+Wed Jan 23 06:24:33 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.cpp (create):
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.h: Fixed warnings in
+ Borland builds.
+
+Tue Jan 22 17:21:15 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/be/be_visitor_operation/operation.cpp:
+ * TAO_IDL/be/be_visitor_operation/operation_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/remote_proxy_impl_cs.cpp:
+ * TAO_IDL/be/be_visitor_operation/rettype_marshal_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/rettype_post_invoke_cs.cpp:
+ * TAO_IDL/be/be_visitor_operation/rettype_pre_invoke_cs.cpp:
+ * TAO_IDL/be/be_visitor_operation/rettype_return_cs.cpp:
+ * TAO_IDL/be/be_visitor_operation/rettype_vardecl_cs.cpp:
+ * TAO_IDL/be/be_visitor_operation/thru_poa_collocated_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:
+ Made stupid mistake in last round of changes: I did not test on
+ a platform without exceptions enabled.
+ This revealed a number of inconsistencies in the generated code,
+ as well as very complicated logic to process arrays, sequences
+ and interfaces as return arguments.
+ Unfortunately, we were generating '_tao_safe_retval' for some
+ types, and using _tao_retval for a dummy variable. In yet other
+ places we generated such a variable but not used it, yuck.
+ I have made the generated code mode consistent, this allows the
+ re-use in the last change, but it forces us to always call the
+ return variable (if any) '_tao_retval'.
+
+Tue Jan 22 19:14:22 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/be/be_interface.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_cs.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_ss.cpp:
+
+ Shortened some line lengths that were over 80 characters
+ in both source code and generated code. plus other
+ cosmetic changes.
+
+Tue Jan 22 15:32:10 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/be_include/be_visitor_operation/operation.h:
+ * TAO_IDL/be/be_visitor_operation/operation.cpp:
+ * TAO_IDL/be/be_visitor_factory.cpp:
+ * TAO_IDL/be/be_visitor_operation/amh_rh_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/amh_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/ami_cs.cpp:
+ * TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp:
+ * TAO_IDL/be/be_visitor_operation/direct_collocated_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/direct_proxy_impl_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/operation_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/remote_proxy_impl_cs.cpp:
+ * TAO_IDL/be/be_visitor_operation/thru_poa_collocated_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:
+ * TAO_IDL/be_include/be_visitor_operation/ami_cs.h:
+ * TAO_IDL/be_include/be_visitor_operation/ami_handler_reply_stub_operation_cs.h:
+ * TAO_IDL/be_include/be_visitor_operation/direct_collocated_ss.h:
+ * TAO_IDL/be_include/be_visitor_operation/direct_proxy_impl_ss.h:
+ * TAO_IDL/be_include/be_visitor_operation/remote_proxy_impl_cs.h:
+ * TAO_IDL/be_include/be_visitor_operation/thru_poa_collocated_ss.h:
+ * TAO_IDL/be_include/be_visitor_operation/thru_poa_proxy_impl_ss.h:
+ I found multiple copies of the following routines:
+ gen_raise_exception(): generate the code to raise exceptions
+ using either 'throw', 'ACE_THROW' or 'ACE_THROW_RETURN'.
+ gen_check_interceptor_exception(): generate the code to check
+ for exceptions (in interceptors) using either
+ 'TAO_INTERCEPTOR_CHECK or 'TAO_INTERCEPTOR_CHECK_RETURN_RETURN'.
+ gen_check_exception(): generate the code to check
+ for exceptions (in interceptors) using either 'ACE_CHECK' or
+ 'ACE_CHECK_RETURN'.
+ Interestingly the implementations of these routines were all
+ slightly different, for example, some did not deal with non-void
+ routines properly, while others did not deal with the
+ use_raw_throw() IDL-compiler option.
+ The changes were motivated by some Borland warnings, another
+ lesson on why we need to keep looking at warnings carefully, and
+ not simply shut them up using some hack.
+
+Tue Jan 22 13:36:05 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/ClientRequestInfo_i.h (~TAO_ClientRequestInfo_i):
+ * tao/ClientRequestInfo_i.cpp (~TAO_ClientRequestInfo_i):
+
+ Added a virtual destructor to silence G++ warnings.
+
+Tue Jan 22 13:19:52 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.cpp (operator==):
+
+ Fixed problem where a const variable was passed as a non-const
+ parameter.
+
+Tue Jan 22 12:42:13 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * tests/OBV/Forward/Makefile:
+ * docs/tutorials/Quoter/Event_Service/Makefile:
+ * orbsvcs/tests/Security/Callback/Makefile:
+ * performance-tests/Cubit/TAO/MT_Cubit/Makefile:
+ * performance-tests/Cubit/TAO/IDL_Cubit/Makefile:
+ Regenerated dependencies.
+
+Tue Jan 22 12:25:31 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * tests/Strategies/simple_test.idl:
+
+ Changed a 'Boolean' to 'boolean'.
+
+Tue Jan 22 11:25:13 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/PortableGroup.dsp:
+ Fixed MSVC warning.
+
+Tue Jan 22 11:22:33 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * orbsvcs/tests/Miop/McastHello/Makefile:
+ Added check to skip compilation under minimum CORBA
+ builds.
+
+Tue Jan 22 11:08:02 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * tests/NestedUpcall/Simple/test.idl:
+
+ Changed several operation parameter types from 'UShort'
+ to 'unsigned short'.
+
+Tue Jan 22 10:46:41 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/util/utl_idlist.cpp (copy):
+
+ Fixed method to propagate the value of the 'escaped_'
+ member of each contained instance of class Identifier.
+
+ * TAO_IDL/util/utl_scope.cpp:
+
+ When checking for case difference errors, modified logic
+ to pass the check if one or the other (but not both) of
+ the identifiers is escaped.
+
+ * orbsvcs/orbsvcs/LifeCycleService.idl:
+
+ Added an escape to an operation parameter named 'object',
+ since it clashes with the IDL keyword 'Object'.
+
+Tue Jan 22 06:52:32 2002 Chad Elliott <elliott_c@ociweb.com>
+
+ * orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.cpp:
+
+ Reverting the const_cast change from "Mon Jan 21 08:02:28 2002".
+ It was not necessary. Thanks to Christopher Kohlhoff
+ <chris@kohlhoff.com> and Johnny Willemsen <jwillemsen@remedy.nl>
+ for pointing this out.
+
+Mon Jan 21 17:37:47 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * orbsvcs/IFR_Service/InterfaceDef_i.cpp:
+
+ Added checks for illegal oneway operation properties
+ (non-void return type, user exceptions, OUT or INOUT
+ parameters) that CORBA 2.6 says must cause BAD_PARAM
+ minor code 31 to be thrown.
+
+Mon Jan 21 18:03:11 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * tao/TAO_AMH_Response_Handler.cpp
+ * tao/TAO_AMH_Response_Handler.h
+ * tao/PortableServer/AMH_Response_Handler.cpp
+ * tao/PortableServer/AMH_Response_Handler.h
+
+ Removed TAO_AMH_Response_Handler.* files from ORB_CORE and added
+ them to tao/PortableServer, also renaming them to
+ AMH_Response_Handler. This was doen to reduce tao orb_core
+ foot-print. Other changes to the AMH_Response_Handler:
+
+ - The RH methods are now thread-safe.
+ - Documentation of class, methods and members
+ - The 'once-only' semantics is now made more
+ explicit by using an enum to hold the various ststes.
+ - init_reply and send_reply method names changed with _tao_rh_
+ prefix to reduce possibility of user defining similar methods in
+ IDL and creating a conflict. Thanks to Carlos for all the '@@'
+ comments regarding the above :-)
+
+ * TAO_IDL/be/be_visitor_operation/amh_rh_sh.cpp
+ * TAO_IDL/be/be_visitor_operation/amh_rh_ss.cpp
+
+ Changed code-generation to generate _tao_rh_init_reply () and
+ _tao_init_send_reply () as per changes above.
+
+ * TAO_IDL/be/be_codegen.cpp (start_server_header):
+ Changed code generation to include the (tao) ResponseHandler
+ classes from the tao/PortableServer/ rather than from tao/
+
+Mon Jan 21 17:15:18 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/include/utl_scope.h:
+ * TAO_IDL/util/utl_scope.cpp:
+
+ Because things like 'CORBA::ULong' and 'CORBA::Float'
+ are added to the AST automatically, the IDL compiler
+ was wrongly accepting types like 'ULong' and "Float'.
+ This was fixed in lookup_by_name_local() and a new
+ method lookup_pseudo() was added to specialize the
+ cases 'Object' and 'TypeCode', where we want to find
+ a match. Thanks to Jerome Julius <julius@erols.com> for
+ sending in the example IDL file that uncovered this
+ problem.
+
+Mon Jan 21 20:59:09 GMT 2002 Boris Kolpackov <bosk@ipmce.ru>
+
+ * tests/OBV/Any/Makefile:
+
+ Fixed minor bug.
+
+Mon Jan 21 10:51:52 2002 Chad Elliott <elliott_c@ociweb.com>
+
+ * orbsvcs/examples/Notify/Filter/Filter.dsp:
+ * orbsvcs/examples/Notify/Subscribe/Subscribe.dsp:
+ * orbsvcs/tests/Notify/Basic/AdminProperties_Test.dsp:
+ * orbsvcs/tests/Notify/Basic/ConnectDisconnect.dsp:
+ * orbsvcs/tests/Notify/Basic/Events_Test.dsp:
+ * orbsvcs/tests/Notify/Basic/IdAssignment.dsp:
+ * orbsvcs/tests/Notify/Basic/LifeCycleTest.dsp:
+ * orbsvcs/tests/Notify/Basic/Simple.dsp:
+ * orbsvcs/tests/Notify/Basic/Updates.dsp:
+ * orbsvcs/tests/Notify/Blocking/Structured_Consumer.dsp:
+ * orbsvcs/tests/Notify/Blocking/Structured_Supplier.dsp:
+ * orbsvcs/tests/Notify/Discarding/Sequence_Consumer.dsp:
+ * orbsvcs/tests/Notify/Discarding/Sequence_Supplier.dsp:
+ * orbsvcs/tests/Notify/Discarding/Structured_Consumer.dsp:
+ * orbsvcs/tests/Notify/Discarding/Structured_Supplier.dsp:
+ * orbsvcs/tests/Notify/MT_Dispatching/Structured_Consumer.dsp:
+ * orbsvcs/tests/Notify/MT_Dispatching/Structured_Supplier.dsp:
+ * orbsvcs/tests/Notify/Ordering/Sequence_Consumer.dsp:
+ * orbsvcs/tests/Notify/Ordering/Sequence_Supplier.dsp:
+ * orbsvcs/tests/Notify/Ordering/Structured_Consumer.dsp:
+ * orbsvcs/tests/Notify/Ordering/Structured_Supplier.dsp:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Sequence_Consumer.dsp:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Sequence_Supplier.dsp:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Sequence_Consumer.dsp:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Sequence_Supplier.dsp:
+ * orbsvcs/tests/Notify/Structured_Filter/Structured_Consumer.dsp:
+ * orbsvcs/tests/Notify/Structured_Filter/Structured_Supplier.dsp:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Consumer.dsp:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Supplier.dsp:
+ * orbsvcs/tests/Notify/lib/TAO_NotifyTests.dsp:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Sequence_Consumer.dsp:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Sequence_Supplier.dsp:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Structured_Consumer.dsp:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Structured_Supplier.dsp:
+ * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen.dsp:
+ * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.dsp:
+
+ Added the ETCL directory to libpath.
+
+Mon Jan 21 10:42:41 2002 Chad Elliott <elliott_c@ociweb.com>
+
+ * orbsvcs/Notify_Service/Makefile:
+ * orbsvcs/examples/Notify/Filter/Makefile:
+ * orbsvcs/examples/Notify/Subscribe/Makefile:
+ * orbsvcs/tests/Notify/Basic/Makefile:
+ * orbsvcs/tests/Notify/Blocking/Makefile:
+ * orbsvcs/tests/Notify/Discarding/Makefile:
+ * orbsvcs/tests/Notify/MT_Dispatching/Makefile:
+ * orbsvcs/tests/Notify/Ordering/Makefile:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Makefile:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Makefile:
+ * orbsvcs/tests/Notify/Structured_Filter/Makefile:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Makefile:
+ * orbsvcs/tests/Notify/lib/Makefile:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Makefile:
+ * orbsvcs/tests/Notify/performance-tests/RedGreen/Makefile:
+ * orbsvcs/tests/Notify/performance-tests/Throughput/Makefile:
+
+ Reverse the order of the CosNotification and ETCL libs in order to
+ link properly with static libraries.
+
+Mon Jan 21 10:30:38 2002 Chad Elliott <elliott_c@ociweb.com>
+
+ * orbsvcs/Notify_Service/Notify_Service.dsp:
+ * orbsvcs/orbsvcs/Fault_Tolerance.dsp:
+
+ Added the ETCL directory to libpath.
+
+Mon Jan 21 08:02:28 2002 Chad Elliott <elliott_c@ociweb.com>
+
+ * orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.cpp:
+
+ Added const cast's to appease the Borland compiler.
+
+Mon Jan 21 07:15:35 2002 Chad Elliott <elliott_c@ociweb.com>
+
+ * orbsvcs/orbsvcs/Notify/Notify_Buffering_Strategy.h:
+ * orbsvcs/tests/Notify/Blocking/Notify_Structured_Push_Consumer.h:
+ * orbsvcs/tests/Notify/Blocking/Structured_Consumer.cpp:
+ * orbsvcs/tests/Notify/Blocking/Structured_Supplier.cpp:
+ * orbsvcs/tests/Notify/Discarding/Notify_Sequence_Push_Consumer.cpp:
+ * orbsvcs/tests/Notify/Discarding/Sequence_Supplier.cpp:
+ * orbsvcs/tests/Notify/Discarding/Structured_Supplier.cpp:
+ * orbsvcs/tests/Notify/Ordering/Notify_Sequence_Push_Consumer.cpp:
+ * orbsvcs/tests/Notify/Ordering/Notify_Structured_Push_Consumer.cpp:
+ * orbsvcs/tests/Notify/Ordering/Sequence_Supplier.cpp:
+ * orbsvcs/tests/Notify/Ordering/Structured_Supplier.cpp:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Notify_Sequence_Push_Consumer.cpp:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Sequence_Supplier.cpp:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Notify_Sequence_Push_Consumer.cpp:
+
+ Fix build errors for Debian Minimum. Added a missing include of
+ "orbsvcs/TimeBaseC.h".
+
+Mon Jan 21 06:59:24 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.cpp:
+ Fixed compile error. Added #include "tao/debug.h".
+
+Mon Jan 21 04:35:14 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP.idl:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Vault.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Vault.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.inl:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ReceivedCredentials.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ReceivedCredentials.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.cpp:
+
+ Removed all uses of the OpenSSL RSA data structure and related
+ functions in favor of the OpenSSL EVP_PKEY data structure and
+ functions. The latter is more generic, and automatically
+ handles multiple private key types.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.inl:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.cpp:
+
+ New TAO_SSLIOP_EVP_PKEY_var class that provides CORBA-style
+ memory management of the OpenSSL "EVP_PKEY" key data structure.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.inl:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.cpp:
+
+ Removed these files. They have been superseded by the EVP_PKEY
+ files above.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_X509.inl (_duplicate):
+
+ Do not attempt to increase the reference count if the X509
+ pointer is zero. Fixes a segmentation fault.
+
+ * orbsvcs/orbsvcs/Makefile.SSLIOP:
+ * orbsvcs/orbsvcs/SSLIOP.bor:
+ * orbsvcs/orbsvcs/SSLIOP.dsp:
+
+ Added new SSLIOP_EVP_PKEY.* files and removed the deprecated
+ SSLIOP_RSA.* files.
+
+Mon Jan 21 02:12:34 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h
+ (retrieved_credentials):
+
+ Changed the return type to be a Credentials object, thus making
+ the method act as advertised.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp
+ (ssliop_connect):
+
+ Once a connection has been made and before it is cached, set the
+ quality-of-protection, establishment-of-trust and credentials
+ specific to the connection in the TAO_SSLIOP_Endpoint. They
+ must be taken into account when searching the transport cache
+ for suitable SSLIOP connections.
+
+ (retrieve_credentials):
+
+ Returned the retrieved credentials to the caller instead of
+ attempting to do too much in this method.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.cpp
+ (operator==, hash):
+
+ Added these comparison methods for use with TAO's transport
+ caching mechanism.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h:
+
+ Added a SSLIOP_Credentials attribute, and accompanying
+ accessors.
+
+ Removed unnecessary `tao/ORB.h' include.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.i (credentials):
+
+ New "credentials_" member set/get accessor methods.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp
+ (is_equivalent, hash):
+
+ Use the corresponding methods in the SSLIOP_Credentials class
+ when comparing/hashing two SSLIOP_Credentials objects.
+
+Mon Jan 21 01:05:37 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Vault.cpp
+ (TAO_SSLIOP_password_callback):
+
+ Fixed static_cast from "void *" to "const char *". Such a cast
+ is invalid. Instead, static_cast to a "char *" and then assign
+ to a "const char *".
+
+ (make_X509, make_RSA):
+
+ Corrected misuse of ACE_OS::close() where ACE_OS::fclose() was
+ expected.
+
+Sun Jan 20 23:14:47 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/SSLIOP.idl:
+
+ Added structures to be filled in with certificate and key
+ information. These will be used in conjunction with the
+ SecurityLevel2::PrincipalAuthenticator object, i.e passed in via
+ the authenticate() method.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp
+ (retrieve_credentials):
+
+ Set the RSA private key for the current invocation if one was
+ set in the retrieved credentials.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_RSA.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_RSA.inl:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_RSA.cpp:
+
+ New TAO_SSLIOP_RSA_var class that provides CORBA-style memory
+ management of the OpenSSL "RSA" key data structure.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.inl:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ReceivedCredentials.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ReceivedCredentials.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.cpp:
+
+ The Credentials objects now hold a pointer to an OpenSSL "RSA"
+ key data structure.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Vault.h (make_X509, make_RSA):
+
+ Added these methods to the TAO_SSLIOP_Vault class.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Vault.cpp (acquire_credentials):
+
+ Completed initial implementation of this method. Support for
+ ASN.1 and PEM encoded certificates and RSA private keys is
+ available.
+
+ (make_X509, make_RSA):
+
+ New methods create OpenSSL X509 and RSA data structures,
+ respectively, based on authentication data supplied by the user.
+
+ (TAO_SSLIOP_password_callback):
+
+ Callback method passed to OpenSSL calls that require passwords
+ or passphrases to decrypt PEM files.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_X509.h:
+
+ Include "ace/config-all.h" instead of "tao/corbafwd.h." The
+ former is all that is needed.
+
+ * orbsvcs/orbsvcs/Makefile.SSLIOP:
+ * orbsvcs/orbsvcs/SSLIOP.bor:
+ * orbsvcs/orbsvcs/SSLIOP.dsp:
+
+ Added new SSLIOP_RSA.* files to the appropriate file lists.
+
+Mon Jan 21 00:13:42 2002 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * orbsvcs/Notify_Service/NT_Notify_Service.bor:
+ * orbsvcs/Notify_Service/Notify_Service.bor:
+ Added in ETCL library now required for static linking.
+
+ * orbsvcs/orbsvcs/CosNotification.bor:
+ Added missing source files Notify_Extensions and
+ Notify_StructuredEvents.
+
+ * orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.cpp:
+ * orbsvcs/orbsvcs/Security/SecurityManager.cpp:
+ Added .in()s in places to fix Borland C++ compiler error about
+ ambiguous conversion.
+
+Sun Jan 20 17:38:01 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/ast/ast_exception.cpp:
+ * TAO_IDL/ast/ast_sequence.cpp:
+ * TAO_IDL/ast/ast_structure.cpp:
+ * TAO_IDL/ast/ast_union.cpp:
+ * TAO_IDL/be/be_valuetype.cpp:
+
+ Added a check in be_valuetype::in_recursion() to catch
+ the case where a valuetype contains a valuetype that
+ is recursive. Also changed in_recursion in each of the
+ files above to create the scope visitor on the stack
+ instead of on the heap. Also removed narrowing of return
+ value from field->field_type() to AST_Type - that method
+ returns an AST_Type already.
+
+Sun Jan 20 16:33:39 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * orbsvcs/Notify_Service/Makefile:
+
+ Added orbsvcs/orbsvcs/ETCL to library search path.
+
+Sun Jan 20 15:56:47 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * tests/OBV/Any/Any.dsw:
+ * tests/OBV/Any/client.dsp:
+ * tests/OBV/Any/server.dsp:
+
+ Added some files to server.dsp. Also recreated client.dsp
+ and added it again to the workspace, since the original
+ project file wouldn't load.
+
+Sun Jan 20 09:44:12 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/PortableGroup.dsp:
+ Added TAO_CosNaming.lib to link list for Win32 Release.
+
+Sat Jan 19 18:23:54 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.h: Fixed some more
+ errors with exception specifications.
+
+Sat Jan 19 23:57:13 GMT 2002 Boris Kolpackov <bosk@ipmce.ru>
+
+ * tests/OBV/Any/Makefile:
+ Regenerated dependencies.
+
+Sat Jan 19 23:30:42 GMT 2002 Boris Kolpackov <bosk@ipmce.ru>
+
+ * TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp:
+ Fixed some bugs in generated any extraction operator.
+
+Sat Jan 19 14:15:37 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.h: Not sure why this
+ was lying in workspace for a long time. Fixed a compile error
+ with g++. Exceptions were not specified in the signature and
+ hence the error.
+
+Sat Jan 19 10:58:53 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/PortableServer/ServerRequestInfo.cpp (server_id, orb_id):
+
+ Fixed code that didn't conform to the C++ mapping. The caller
+ owns the storage. Return a string using CORBA::string_dup().
+ Don't just return a string with the const-ness casted away.
+
+Sat Jan 19 11:36:22 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * orbsvcs/tests/Miop/McastHello/server.cpp (main):
+ Fixed a few warnings. Thanks to Venkita for catching them.
+
+Sat Jan 19 11:16:09 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * utils/nslist/nsdel.cpp:
+ Fixed (hopefully!!) compile errors.
+
+Sat Jan 19 09:22:54 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/AV/Transport.cpp: Just swapped a couple of
+ #includes. The dependency generation was getting messed up
+ somehow.
+
+ * orbsvcs/orbsvcs/Makefile.av: Fixed the dependencies.
+
+Sat Jan 19 09:03:32 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * performance-tests/Cubit/TAO/MT_Cubit/Makefile:
+ Fixed Makefile error.
+
+Sat Jan 19 09:00:16 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * performance-tests/Cubit/TAO/IDL_Cubit/Makefile:
+ Fixed Makefile error.
+
+Sat Jan 19 08:52:55 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * tests/OBV/Forward/Test_impl.cpp:
+ tests/OBV/Forward/Test_impl.h:
+ Fixed compile errors.
+
+Sat Jan 19 08:41:01 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * tests/OBV/Factory/FactoryS_impl.cpp:
+ tests/OBV/Factory/FactoryS_impl.h:
+ Fixed compile errors.
+
+Sat Jan 19 08:24:10 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * tao/ValueBase.cpp:
+ Fixed compile error. Added "#include tao/debug.h".
+
+Fri Jan 18 21:34:33 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/Makefile*: Regenerated dependencies.
+
+Fri Jan 18 18:46:39 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/PortableServer/ObjectReferenceTemplate.cpp:
+
+ Removed duplicate template instantiations. They were already
+ defined in ObjectReferenceTemplateC.cpp.
+
+Fri Jan 18 18:25:55 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * tao/TAO_AMH_Response_Handler.cpp:
+ Fixed inconsistency in _tao_out field name.
+
+Fri Jan 18 18:02:41 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/IFR_Client/IFR_BaseC.cpp:
+ * tao/IFR_Client/IFR_BasicC.cpp:
+ * tao/IFR_Client/IFR_ComponentsC.cpp:
+ * tao/IFR_Client/IFR_ExtendedC.cpp:
+
+ Updated with new Portable Interceptor updates.
+
+Fri Jan 18 16:42:18 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/ClientInterceptorAdapter.h:
+
+ No need to include corbafwd.h, ClientRequestInfo.h. Forward
+ declaring classes is sufficient.
+
+ Added a new "TAO_ClientRequestInfo *" member. It is the cached
+ value of the object retrieved from TSS.
+
+ * tao/ClientInterceptorAdapter.inl:
+
+ Initialize the new "info_" member in the base member initializer
+ list.
+
+ * tao/ClientInterceptorAdapter.cpp:
+
+ Updated all interception point methods to accept pointers to the
+ new TAO_ClientRequestInfo_i pointer.
+
+ * tao/ClientRequestInfo_i.h:
+ * tao/ClientRequestInfo_i.inl:
+ * tao/ClientRequestInfo_i.cpp:
+
+ New files containing the new "underlying" implementation of the
+ PortableInterceptor::ClientRequestInfo interface. They
+ basically contain the implementation that was previously found
+ in TAO_ClientRequestInfo. This new class, i.e.
+ "TAO_ClientRequestInfo_i," does not inherit from any class. All
+ operation-specific ClientRequestInfo subclasses in the client
+ stubs now inherit from this class. This removes a lock
+ initialization from the critical path, and replaces it with a
+ TSS access. This should improve performance on the client side
+ significantly in both cases where interceptors were registered
+ and not registered with the ORB. [Bug 874]
+
+ * tao/ClientRequestInfo.h:
+
+ No need to include "StringSeqC.h."
+
+ Added a new "TAO_ClientRequestInfo_Guard" class that is designed
+ to ensure the swapping of TAO_ClientRequestInfo_i pointers in a
+ TAO_ClientRequestInfo object is performed in an exception-safe
+ manner when interception points are being invoked.
+
+ * tao/ClientRequestInfo.inl:
+ * tao/ClientRequestInfo.cpp:
+
+ Moved implementation code to the new TAO_ClientRequestInfo_i
+ class.
+
+ Added "TAO_ClientRequestInfo_Guard" class implementation.
+
+ * tao/ORB_Core.h:
+ * tao/ORB_Core.cpp:
+
+ Store a TAO_ClientRequestInfo object in the ORB_Core's TSS
+ resources.
+
+ * tao/DomainC.cpp:
+ * tao/PolicyC.cpp:
+ * tao/PortableServer/ImplRepoC.cpp:
+
+ Updated to use new TAO_ClientRequestInfo_i class.
+
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/be/be_visitor_operation/interceptors_cs.cpp:
+
+ Updated generated code to use new TAO_ClientRequestInfo_i class.
+ [Bug 874]
+
+Fri Jan 18 17:29:36 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * tao/TAO_Server_Request.h:
+ * tao/TAO_Server_Request.cpp:
+ * tao/TAO_AMH_Response_Handler.h:
+ * tao/TAO_AMH_Response_Handler.cpp:
+ The TAO_Server_Request class does not depend on
+ TAO_AMH_Response_Handler anymore, instead of forsing
+ ServerRequest to know about AMH and make it copy its state to
+ the AMH_Response_Handler we make AMH_Response_Handler a
+ friend. That way the AMH_Response_Handler can copy whatever
+ state it needs.
+ Add some comments for Mayur about this stuff.
+
+ * TAO_IDL/be/be_visitor_amh_pre_proc.cpp:
+ Do not generate AMH_*ResponseHandler nodes for AMI nodes or
+ other implied-IDL nodes.
+
+ * TAO_IDL/be/be_visitor_interface/amh_rh_sh.cpp:
+ * TAO_IDL/be/be_visitor_interface/amh_rh_ss.cpp:
+ Fixed inconsistencies in the generated name for the
+ TAO_AMH_<InterfaceName>ResponseHandler class.
+ Change the constructor of those generated classes to take the
+ TAO_ServerRequest parameter.
+
+
+ * TAO_IDL/be/be_visitor_interface/interface_sh.cpp:
+ * TAO_IDL/be/be_visitor_interface/amh_sh.cpp:
+ Fixed indentation problems.
+
+ * TAO_IDL/be/be_visitor_operation/amh_rh_ss.cpp:
+ Fixed class name in operations (made it consistent with the
+ generated name in be_visitor_interface/amh_rh_*.cpp).
+ Fixed exception throwing code (it was hardcoded to use
+ ACE_THROW, but the IDL compiler should be able to generate raw
+ throws also).
+
+ * TAO_IDL/be/be_visitor_operation/amh_sh.cpp:
+ Fixed indentation problem in the generated code.
+ Improved error messages in case of failure.
+ Set the visitor context state properly for the arglist visitor.
+
+ * TAO_IDL/be/be_visitor_operation/amh_ss.cpp:
+ Use the right constructor for the TAO_AMH_*ResponseHandler
+ class.
+
+ * TAO_IDL/be/be_visitor_operation/operation.cpp:
+ * TAO_IDL/be/be_visitor_operation/operation_ss.cpp:
+ * TAO_IDL/be_include/be_visitor_operation/operation.h:
+ * TAO_IDL/be_include/be_visitor_operation/operation_ss.h:
+ Move several helper methods to the base class
+ (be_visitor_operation), because we need them in classes that do
+ not derive from be_visitor_operation_ss
+
+ * TAO_IDL/ast/ast_decl.cpp:
+ Fixed small compilation warning.
+
+Fri Jan 18 15:55:59 2002 Ossama Othman <ossama@uci.edu>
+
+ * tests/Portable_Interceptors/ForwardRequest/client.dsp:
+ * tests/Portable_Interceptors/ForwardRequest/server.dsp:
+
+ Added missing TAO_IDL include flag and ValueType generation
+ flag. PortableInteceptor.pidl now has support for
+ ObjectReferenceTemplates, which requires ValueType support.
+
+Fri Jan 18 22:30:03 GMT 2002 Boris Kolpackov <bosk@ipmce.ru>
+
+ * tests/OBV/Any/*:
+ * tests/OBV/Factory/Makefile:
+ * tests/OBV/Forward/Makefile:
+ * tests/OBV/README:
+ * tests/OBV/Makefile:
+ * tests/Makefile:
+
+ Added OBV-and-Any test. Updated relevant Makefile's.
+
+Fri Jan 18 15:41:22 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/fe/idl.ll:
+ * TAO_IDL/fe/lex.yy.cpp (idl_store_pragma):
+
+ Changed the string "id" to match for #pragma ID to
+ upper case.
+
+ * TAO_IDL/ast/ast_decl.cpp:
+
+ Changed check in version setting function to correspond to
+ the CORBA 2.5 change that now allows the version to be reset
+ if it is reset to the same value.
+
+Fri Jan 18 13:19:00 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * TAO_IDL/be/be_visitor_operation/amh_rh_sh.cpp:
+ * TAO_IDL/be/be_visitor_operation/amh_rh_ss.cpp:
+ * tao/TAO_AMH_Response_handler.h:
+ * tao/TAO_AMH_Response_handler.cpp:
+
+ Added code that now generates AMH-RH code for operation in
+ skeleton-source file. Changed 'tao_out' CDR stream in
+ TAO_AMH_Response_Handler so that the variable names of the
+ generated IDL code and that in the tao orb_core files match.
+
+Fri Jan 18 13:47:26 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/be_include/be_visitor_valuetype.h:
+ * TAO_IDL/be/be_visitor_valuetype.cpp:
+
+ Removed duplicate file inclusions.
+
+Fri Jan 18 13:21:28 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/be/be_interface.cpp:
+
+ Added patch sent in by Andy Olsen <olsona@uswest.net> that
+ limits the last component of the name of the temporary file
+ used by gperf to no more than 48 characters, when the
+ platform is QNX.
+
+Fri Jan 18 22:16:06 2002 Boris Kolpackov <bosk@ipmce.ru>
+
+ * TAO_IDL/be_include/be_visitor_typecode/typecode_decl.h:
+ * TAO_IDL/be_include/be_visitor_typecode/typecode_defn.h:
+ * TAO_IDL/be_include/be_visitor_valuetype/any_op_ch.h:
+ * TAO_IDL/be_include/be_visitor_valuetype/any_op_cs.h:
+ * TAO_IDL/be_include/be_valuetype.h:
+ * TAO_IDL/be_include/be_visitor_valuetype.h:
+ * TAO_IDL/be/be_visitor_module/module.cpp:
+ * TAO_IDL/be/be_visitor_root/root.cpp:
+ * TAO_IDL/be/be_visitor_typecode/typecode_decl.cpp:
+ * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp:
+ * TAO_IDL/be/be_visitor_factory.cpp:
+ * TAO_IDL/be/be_valuetype.cpp:
+ * TAO_IDL/be/be_visitor_valuetype.cpp:
+ * tao/Typecode.h:
+ * tao/Marshal.h:
+ * tao/Marshal.i:
+ * tao/Marshal.cpp:
+ * tao/Typecode.cpp:
+ * tao/ValueBase.cpp:
+ * tao/append.cpp:
+ * tao/skip.cpp:
+ Added Any and TypeCode support for valuetypes.
+
+Fri Jan 18 11:50:06 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * */Makefile: Regenerated dependencies.
+
+Fri Jan 18 09:32:57 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/be_include/be_interface.h:
+ * TAO_IDL/be/be_interface.cpp:
+ Improved comments in generated code.
+ New gen_operation_table() helper method, it can generate an
+ operation table with a different class name (and class flat
+ name). This is useful for the AMH code generation.
+ Changed the related methods to take a flat_name argument.
+
+ * TAO_IDL/be/be_visitor_interface/amh_sh.cpp:
+ Do not create a temporary "AMH_*" node, the visitors deal with
+ the original interface node directly.
+ Fixed generation of the _this() method to use the new
+ TAO_ENV_ARG_* macros.
+
+ * TAO_IDL/be_include/be_visitor_interface/interface_ss.h:
+ * TAO_IDL/be/be_visitor_interface/interface_ss.cpp:
+ * TAO_IDL/be_include/be_visitor_interface/amh_ss.h:
+ * TAO_IDL/be/be_visitor_interface/amh_ss.cpp:
+ Make the "flat_name" customizable in the be_visitor_interface_ss
+ vistor. This is used to generate an AMH-specific flat name and
+ take advantage of the new gen_operation_table() helper method in
+ be_interface.
+
+ * TAO_IDL/be/be_visitor_operation/amh_sh.cpp:
+ Since there is no AMH_* node anymore then we need to add the
+ AMH_ prefix explicitly.
+
+ * TAO_IDL/be/be_visitor_operation/amh_ss.cpp:
+ Removed traditional visitors, but I still need to add the new
+ ones.
+
+Fri Jan 18 09:23:42 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/PortableGroup.dsp:
+ Fixed custom build for .idl files for Release builds.
+
+Fri Jan 18 06:54:48 2002 Chad Elliott <elliott_c@ociweb.com>
+
+ * orbsvcs/orbsvcs/orbsvcs.dsw:
+
+ Added ETCL to the dependencies for the Fault_Tolerance workspace.
+
+Thu Jan 17 23:31:13 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/TAO.dsp:
+ * tao/TAO_Static.dsp:
+
+ Added missing ObjectReferenceTemplateC.* files.
+
+Fri Jan 18 07:55:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Makefile.bor:
+ Added Policy_Validator, ObjectReferenceTemplateC
+
+ * tao/PortableServer/Makefile.bor:
+ Removed Policy_Validator
+
+ * tao/BiDir_GIOP/Makefile.bor:
+ Added BiDirPolicy_Validator
+
+Thu Jan 17 21:46:16 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.{h,cpp}
+ (retrieve_credentials):
+
+ New method that extracts SSLIOP-specific credentials from the
+ SecurityLevel2::InvocationCredentialsPolicy via the ORB's policy
+ framework. Extracted credentials will be used when establishing
+ the underlying SSL connection.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (ssliop_connect):
+
+ Fixed a memory leak that occurred on error before an attempt to
+ establish a connection was made.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ReceivedCredentials.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ReceivedCredentials.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.cpp:
+
+ Added downcast related methods that make it possible to downcast
+ to the TAO_SSLIOP-specific interfaces.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.inl (x509):
+
+ New file that contains the new x509() accessor method.
+
+Thu Jan 17 22:02:38 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/Notify/Notify_Extensions.h:
+ * tao/BiDir_GIOP/BiDirPolicy_Validator.h:
+ Fixed Fuzz compile errors.
+
+Thu Jan 17 21:52:22 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * utils/nslist/nsdel.cpp:
+ Fixed compile errors on Win32 builds.
+
+Thu Jan 17 19:24:24 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * tao/ObjectReferenceTemplateC.h:
+ Removed the if-defs around the ValueBase and ValueFactory
+ includes. The includes are needed in all cases and not just when
+ minimum_corba=1
+
+Thu Jan 17 19:06:58 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * tests/Portable_Interceptors/IORInterceptor/FOO_IORInterceptor.cpp:
+ Fixed unused parameter warnings.
+
+Thu Jan 17 18:59:14 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * tao/PortableServer/IORInfo.cpp:
+ Fixes for the KCC statement-not-reachable warnings.
+
+Thu Jan 17 18:40:49 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * tao/TAO_Internal.cpp:
+ Included the missing debug.h
+
+Thu Jan 17 17:40:55 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * be_include/be_visitor_interface/amh_rh_sh.h:
+ * be_include/be_visitor_interface/amh_rh_ss.h:
+ * be_include/be_visitor_operation/amh_rh_sh.h:
+ * be_include/be_visitor_operation/amh_rh_ss.h:
+ * be/be_visitor_interface/amh_rh_sh.cpp:
+ * be/be_visitor_interface/amh_rh_ss.cpp:
+ * be/be_visitor_operation/amh_rh_sh.cpp:
+ * be/be_visitor_operation/amh_rh_ss.cpp:
+
+ Most of the 'bugs' have been fixed with the AMH-RH generated
+ code now. The only known remaining 'to-do' is the generation of
+ the marshalling code for the RH-parametes in the skeleton source
+ file.
+
+Thu Jan 17 17:39:00 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp:
+
+ Use the Security::QOP type instead of an integer to store the
+ desired quality-of-protection. The former is more descriptive.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h (TAO_SSLIOP_Endpoint):
+
+ Cache the quality-of-protection and establishment-of-trust
+ settings associated with the endpoint object. They are need
+ when determining if a given cached connection is suitable for an
+ invocation with a given set of security policies
+ (e.g. QOPPolicy).
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.i (qop, trust):
+
+ Accessors methods for their cached counterparts.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp (is_equivalent, hash):
+
+ Take into account the quality-of-protection and
+ establishment-of-trust settings when determining endpoint
+ equivalence and computing hashes.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (ssliop_connect):
+
+ Added support for the Security::SecQOPIntegrity
+ quality-of-protection. Integrity without confidentiality is
+ achieved by using the "eNULL" SSL cipher. Despite the fact that
+ encryption is disabled, a secure hash is still used to ensure
+ integrity.
+
+ Cleaned up the code in this method.
+
+Thu Jan 17 17:34:10 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * tao/ObjectReferenceTemplate.pidl:
+ * tao/PortableInterceptor.pidl:
+ Moved the ObjectReferenceTemplate stuff from
+ PortableInterceptor.pidl to the new
+ ObjectReferenceTemplate.pidl. This is needed to get the builds
+ straight for the minimum corba. By moving the ORT related part
+ to a separate pidl, we are making it (ORT) usable irrespective
+ of the usage of interceptors.
+
+ * tao/PortableInterceptorC.i:
+ * tao/PortableInterceptorC.h:
+ * tao/PortableInterceptorC.cpp:
+ Regenerated and applied patches.
+
+ * tao/ObjectReferenceTemplateC.h:
+ * tao/ObjectReferenceTemplateC.h:
+ * tao/ObjectReferenceTemplateC.h:
+ Generated and made modifications as needed.
+
+ * tao/PortableServer/ObjectReferenceTemplate.cpp:
+ * tao/PortableServer/ObjectReferenceTemplate.h:
+ * tao/PortableServer/ObjectReferenceFactory.cpp:
+ * tao/PortableServer/ObjectReferenceFactory.h:
+ Since this part is out of the interceptor loop, removed the
+ if-defines checking for interceptors. Removed the include of
+ PortableInterceptorC.h and included ObjectReferenceTemplateC.h
+ instead.
+
+ * tao/PortableServer/POA.cpp:
+ * tao/PortableServer/POA.h:
+ Included StringSeqC.h needed for minimum corba builds.
+ Moved wrongly placed #endif for TAO_HAS_MINIMUM_POA check.
+
+ * tao/Makefile:
+ Added ObjectReferenceTemplateC to the list of ORB_CORE files.
+
+Thu Jan 17 16:02:50 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/be_include/be_visitor_interface/amh_sh.h:
+ * TAO_IDL/be/be_visitor_interface/amh_sh.cpp:
+ * TAO_IDL/be_include/be_visitor_interface/amh_ss.h:
+ * TAO_IDL/be/be_visitor_interface/amh_ss.cpp:
+ Override visit_operation() and visit_attribute() to invoke the
+ AMH-specific visitors.
+
+ * TAO_IDL/be/be_visitor_interface/interface_cs.cpp:
+ Improve comments in generated code, instead of saying silly
+ things like "//constructor" (like I didn't know what a
+ constructor looks like). Instead we generate a pointer to where
+ the code is generated from.
+ Fixed indentation in the generated code also.
+
+ * TAO_IDL/be/be_visitor_interface/interface_ss.cpp:
+ Do not use CORBA::_tc_Object to get the CORBA::Object interface
+ repository ID, the string can as easily get hard-coded, is not
+ like the OMG changes that string every week.
+
+ * TAO_IDL/be/be_visitor_operation/amh_sh.cpp:
+ The AMH-operations have their AMH_*ResponseHandler argument
+ generated, however we still need to double check the arglist
+ because some black magic is going on inside the AMH visitor for
+ interfaces that seems to create a special operation node.
+
+ * TAO_IDL/be/be_visitor_operation/amh_ss.cpp:
+ Improved skeletons for AMH-operations. The skeleton is
+ starting to take shape, it creates the AMH_*ResponseHandler but
+ no marshaling or demarshaling code is present.
+
+ * TAO_IDL/be/be_visitor_operation/arglist.cpp:
+ * TAO_IDL/be/be_visitor_operation/operation.cpp:
+ * TAO_IDL/be_include/be_visitor_operation/operation.h:
+ Factor out code to generate the TAO_ENV_ARG parameter to a
+ separate function, that makes it easier to reuse the arglist
+ visitors.
+
+Thu Jan 17 17:20:46 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tao/TAO_Static.dsp: Added the files the Policy_Validator.*
+ * tao/BiDir_GIOP/TAO_BiDir_GIOP.dsp: Added the policy validator
+ class files.
+
+Thu Jan 17 17:09:46 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tao/TAO.dsp (SOURCE): Added the files the Policy_Validator.*
+ * tao/PortableServer/*.dsp: Removed the file Policy_Validator.*.
+
+Thu Jan 17 17:04:25 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tao/Acceptor_Impl.h: Removed the out_of_sockets_handler ()
+ method as this was not used. Thanks to Andrew
+ <andrew@activesol.net> for pointing this out.
+
+ * tao/ORB_Core.cpp:
+ * tao/ORB_Core.h: Removed the method parse_bidir_policy () method
+ and added a new method load_policy_validators ().
+
+ * tao/orbconf.h: Added a new cached policy for BiDir connections.
+
+ * tao/Policy_Validators.h:
+ * tao/Policy_Validators.cpp: Moved this class from PortableServer
+ library. This is very useful in TAO when policy validators from
+ other libraries needs to be added to the POA policy
+ validator. We now use this as a basis of a new policy validator
+ class in BiDir library. The BiDir library would add its policy
+ validator to the POA policy validator.
+
+ * tao/BiDir_Adapter.h: Added a method load_policy_validators () to
+ add the policy validator.
+
+ * tao/Makefile: Added the new files.
+
+ * tao/BiDir_GIOP/BiDirPolicy_Validator.h:
+ * tao/BiDir_GIOP/BiDirPolicy_Validator.cpp: The new policy
+ validator for BiDir GIOP.
+
+ * tao/BiDir_GIOP/BiDirGIOP.cpp:
+ * tao/BiDir_GIOP/BiDirGIOP.h:
+ * tao/BiDir_GIOP/BiDir_Policy_i.cpp:
+ * tao/BiDir_GIOP/BiDir_Policy_i.h:
+ * tao/BiDir_GIOP/Makefile: Changes to create and use the validator
+ properly.
+
+ * tao/PortableServer/Default_Policy_Validator.cpp:
+ * tao/PortableServer/Default_Policy_Validator.h: Changes to use
+ the Policy_Validator in TAO.
+
+ * tao/PortableServer/Makefile: Removed the Policy_Validator.* and
+ generated dependecies.
+
+ * tao/PortableServer/Policy_Validator.h:
+ * tao/PortableServer/Policy_Validator.cpp: Moved to
+ $TAO_ROOT/tao.
+
+ * tao/PortableServer/Object_Adapter.h
+ * tao/PortableServer/Object_Adapter.i
+ * tao/PortableServer/POA.h:
+ * tao/PortableServer/POA_Policy_Set.cpp:
+ * tao/PortableServer/POA_Policy_Set.h:
+ * tao/PortableServer/Policy_Validator.h:
+ * tao/RTPortableServer/RT_Policy_Validator.cpp:
+ * tao/RTPortableServer/RT_Policy_Validator.h: Changes to
+ accomodate the new policy_Validator class in $TAO_ROOT/tao.
+
+Thu Jan 17 12:22:32 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/ORB_Core.cpp (init):
+ * tao/TAO_Internal.cpp (open_services):
+
+ Moved the parsing code for the "-ORBDebug" and "-ORBDebugLevel"
+ options to TAO_Internal::open_services() so that Service_Objects
+ and ORBInitializers may use debugging output dependent on their
+ values. Note that this change does not affect other debugging
+ code in the ORB. It simply moves the option parsing code
+ earlier in the bootstrapping process.
+
+Thu Jan 17 12:04:41 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp (init):
+
+ The certificate must be set before the private key since the
+ ACE_SSL_Context attempts to check the private key for
+ consistency. That check requires the certificate to be
+ available in the underlying SSL_CTX.
+
+Thu Jan 17 13:40:09 2002 Chad Elliott <elliott_c@ociweb.com>
+
+ Added new features to the Notification Service. The following items
+ have been implemented: Sequence Push Consumers/Suppliers, Pacing
+ Interval, Maximum Batch Size, Deadline ordering policy,
+ Deadline, Priority and LIFO discarding policies.
+
+ Tests were written by Chip Jones <jones_c@ociweb.com> and Pete
+ Maher <maher_p@ociweb.com>.
+
+ * docs/releasenotes/index.html:
+
+ Update the documentation to reflect the current state of the
+ Notification Service.
+
+ * orbsvcs/Notify_Service/Makefile:
+ * orbsvcs/Notify_Service/Notify_Service.dsp:
+ * orbsvcs/examples/Notify/Filter/Filter.dsp:
+ * orbsvcs/examples/Notify/Filter/Makefile:
+ * orbsvcs/examples/Notify/Subscribe/Makefile:
+ * orbsvcs/examples/Notify/Subscribe/Subscribe.dsp:
+ * orbsvcs/orbsvcs/CosNotification.dsp:
+ * orbsvcs/orbsvcs/CosNotification_Static.dsp:
+ * orbsvcs/orbsvcs/Fault_Tolerance.dsp:
+ * orbsvcs/orbsvcs/Makefile.CosNotification:
+ * orbsvcs/orbsvcs/orbsvcs.dsw:
+
+ Update Makefiles and project files to use the ETCL library.
+
+ * orbsvcs/orbsvcs/Notify/Notify_AdminProperties.h:
+ * orbsvcs/orbsvcs/Notify/Notify_AdminProperties.i:
+ * orbsvcs/orbsvcs/Notify/Notify_AdminProperties.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Buffering_Strategy.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Buffering_Strategy.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Command.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Command.i:
+ * orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Event.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Event.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_EventChannel_i.h:
+ * orbsvcs/orbsvcs/Notify/Notify_EventChannel_i.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Event_Manager.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Event_Manager.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Event_Processor.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Event_Processor.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Extensions.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Extensions.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.h:
+ * orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_FilterFactory_i.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Filter_i.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_MT_Worker_Task.h:
+ * orbsvcs/orbsvcs/Notify/Notify_MT_Worker_Task.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_T.h:
+ * orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_T.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_T.h:
+ * orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_T.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Proxy_T.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Proxy_T.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.h:
+ * orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.inl:
+ * orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushConsumer_i.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushSupplier_i.h:
+ * orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushSupplier_i.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Signal_Property_T.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Signal_Property_T.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_StructuredEvents.h:
+ * orbsvcs/orbsvcs/Notify/Notify_StructuredEvents.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Worker_Task.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Worker_Task.cpp:
+
+ Modifications and additions for the new features.
+
+ * orbsvcs/tests/Notify/Makefile:
+ * orbsvcs/tests/Notify/Basic/AdminProperties_Test.dsp:
+ * orbsvcs/tests/Notify/Basic/AdminProperties_Test.h:
+ * orbsvcs/tests/Notify/Basic/AdminProperties_Test.cpp:
+ * orbsvcs/tests/Notify/Basic/ConnectDisconnect.dsp:
+ * orbsvcs/tests/Notify/Basic/ConnectDisconnect.h:
+ * orbsvcs/tests/Notify/Basic/ConnectDisconnect.cpp:
+ * orbsvcs/tests/Notify/Basic/Events_Test.dsp:
+ * orbsvcs/tests/Notify/Basic/Events_Test.h:
+ * orbsvcs/tests/Notify/Basic/Events_Test.cpp:
+ * orbsvcs/tests/Notify/Basic/IdAssignment.dsp:
+ * orbsvcs/tests/Notify/Basic/LifeCycleTest.dsp:
+ * orbsvcs/tests/Notify/Basic/Makefile:
+ * orbsvcs/tests/Notify/Basic/Simple.dsp:
+ * orbsvcs/tests/Notify/Basic/Simple.h:
+ * orbsvcs/tests/Notify/Basic/Simple.cpp:
+ * orbsvcs/tests/Notify/Basic/Updates.dsp:
+ * orbsvcs/tests/Notify/Basic/Updates.h:
+ * orbsvcs/tests/Notify/Basic/Updates.cpp:
+ * orbsvcs/tests/Notify/lib/Makefile:
+ * orbsvcs/tests/Notify/lib/Notify_Test_Client.h:
+ * orbsvcs/tests/Notify/lib/Notify_Test_Client.cpp:
+ * orbsvcs/tests/Notify/lib/TAO_NotifyTests.dsp:
+ * orbsvcs/tests/Notify/performance-tests/RedGreen/Makefile:
+ * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen.dsp:
+ * orbsvcs/tests/Notify/performance-tests/Throughput/Makefile:
+ * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.dsp:
+ * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.h:
+ * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.cpp:
+
+ Update the current Nofication tests to allow smooth integration of
+ the new tests.
+
+ * orbsvcs/tests/Notify/Blocking/Blocking.dsw:
+ * orbsvcs/tests/Notify/Blocking/Makefile:
+ * orbsvcs/tests/Notify/Blocking/Notify_Structured_Push_Consumer.h:
+ * orbsvcs/tests/Notify/Blocking/Notify_Structured_Push_Consumer.cpp:
+ * orbsvcs/tests/Notify/Blocking/README:
+ * orbsvcs/tests/Notify/Blocking/Structured_Consumer.dsp:
+ * orbsvcs/tests/Notify/Blocking/Structured_Consumer.cpp:
+ * orbsvcs/tests/Notify/Blocking/Structured_Supplier.dsp:
+ * orbsvcs/tests/Notify/Blocking/Structured_Supplier.cpp:
+ * orbsvcs/tests/Notify/Blocking/common.h:
+ * orbsvcs/tests/Notify/Blocking/common.cpp:
+ * orbsvcs/tests/Notify/Blocking/go.idl:
+ * orbsvcs/tests/Notify/Blocking/notify.conf:
+ * orbsvcs/tests/Notify/Blocking/run_test.pl:
+ * orbsvcs/tests/Notify/Discarding/Discarding.dsw:
+ * orbsvcs/tests/Notify/Discarding/Makefile:
+ * orbsvcs/tests/Notify/Discarding/Notify_Sequence_Push_Consumer.h:
+ * orbsvcs/tests/Notify/Discarding/Notify_Sequence_Push_Consumer.cpp:
+ * orbsvcs/tests/Notify/Discarding/Notify_Structured_Push_Consumer.h:
+ * orbsvcs/tests/Notify/Discarding/Notify_Structured_Push_Consumer.cpp:
+ * orbsvcs/tests/Notify/Discarding/README:
+ * orbsvcs/tests/Notify/Discarding/Sequence_Consumer.dsp:
+ * orbsvcs/tests/Notify/Discarding/Sequence_Consumer.cpp:
+ * orbsvcs/tests/Notify/Discarding/Sequence_Supplier.dsp:
+ * orbsvcs/tests/Notify/Discarding/Sequence_Supplier.cpp:
+ * orbsvcs/tests/Notify/Discarding/Structured_Consumer.dsp:
+ * orbsvcs/tests/Notify/Discarding/Structured_Consumer.cpp:
+ * orbsvcs/tests/Notify/Discarding/Structured_Supplier.dsp:
+ * orbsvcs/tests/Notify/Discarding/Structured_Supplier.cpp:
+ * orbsvcs/tests/Notify/Discarding/common.h:
+ * orbsvcs/tests/Notify/Discarding/common.cpp:
+ * orbsvcs/tests/Notify/Discarding/go.idl:
+ * orbsvcs/tests/Notify/Discarding/notify.conf:
+ * orbsvcs/tests/Notify/Discarding/run_test.pl:
+ * orbsvcs/tests/Notify/MT_Dispatching/MT_Dispatching.dsw:
+ * orbsvcs/tests/Notify/MT_Dispatching/Makefile:
+ * orbsvcs/tests/Notify/MT_Dispatching/Notify_Structured_Push_Consumer.h:
+ * orbsvcs/tests/Notify/MT_Dispatching/Notify_Structured_Push_Consumer.cpp:
+ * orbsvcs/tests/Notify/MT_Dispatching/README:
+ * orbsvcs/tests/Notify/MT_Dispatching/Structured_Consumer.dsp:
+ * orbsvcs/tests/Notify/MT_Dispatching/Structured_Consumer.cpp:
+ * orbsvcs/tests/Notify/MT_Dispatching/Structured_Supplier.dsp:
+ * orbsvcs/tests/Notify/MT_Dispatching/Structured_Supplier.cpp:
+ * orbsvcs/tests/Notify/MT_Dispatching/go.idl:
+ * orbsvcs/tests/Notify/MT_Dispatching/notify_mtdispatching.conf:
+ * orbsvcs/tests/Notify/MT_Dispatching/notify_mtlistener.conf:
+ * orbsvcs/tests/Notify/MT_Dispatching/notify_mtsource.conf:
+ * orbsvcs/tests/Notify/MT_Dispatching/notify_nothreads.conf:
+ * orbsvcs/tests/Notify/MT_Dispatching/run_test.pl:
+ * orbsvcs/tests/Notify/Ordering/Makefile:
+ * orbsvcs/tests/Notify/Ordering/Notify_Sequence_Push_Consumer.h:
+ * orbsvcs/tests/Notify/Ordering/Notify_Sequence_Push_Consumer.cpp:
+ * orbsvcs/tests/Notify/Ordering/Notify_Structured_Push_Consumer.h:
+ * orbsvcs/tests/Notify/Ordering/Notify_Structured_Push_Consumer.cpp:
+ * orbsvcs/tests/Notify/Ordering/Ordering.dsw:
+ * orbsvcs/tests/Notify/Ordering/README:
+ * orbsvcs/tests/Notify/Ordering/Sequence_Consumer.dsp:
+ * orbsvcs/tests/Notify/Ordering/Sequence_Consumer.cpp:
+ * orbsvcs/tests/Notify/Ordering/Sequence_Supplier.dsp:
+ * orbsvcs/tests/Notify/Ordering/Sequence_Supplier.cpp:
+ * orbsvcs/tests/Notify/Ordering/Structured_Consumer.dsp:
+ * orbsvcs/tests/Notify/Ordering/Structured_Consumer.cpp:
+ * orbsvcs/tests/Notify/Ordering/Structured_Supplier.dsp:
+ * orbsvcs/tests/Notify/Ordering/Structured_Supplier.cpp:
+ * orbsvcs/tests/Notify/Ordering/common.h:
+ * orbsvcs/tests/Notify/Ordering/common.cpp:
+ * orbsvcs/tests/Notify/Ordering/go.idl:
+ * orbsvcs/tests/Notify/Ordering/notify.conf:
+ * orbsvcs/tests/Notify/Ordering/run_test.pl:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Makefile:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Notify_Sequence_Push_Consumer.h:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Notify_Sequence_Push_Consumer.cpp:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/README:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Sequence_Consumer.dsp:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Sequence_Consumer.cpp:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Sequence_Multi_ETCL_Filter.dsw:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Sequence_Supplier.dsp:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Sequence_Supplier.cpp:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/common.h:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/common.cpp:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/go.idl:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/notify.conf:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/run_test.pl:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Makefile:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Notify_Sequence_Push_Consumer.h:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Notify_Sequence_Push_Consumer.cpp:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/README:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Sequence_Consumer.dsp:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Sequence_Consumer.cpp:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Sequence_Multi_Filter.dsw:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Sequence_Supplier.dsp:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Sequence_Supplier.cpp:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/common.h:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/common.cpp:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/go.idl:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/notify.conf:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/run_test.pl:
+ * orbsvcs/tests/Notify/Structured_Filter/Makefile:
+ * orbsvcs/tests/Notify/Structured_Filter/Notify_Push_Consumer.h:
+ * orbsvcs/tests/Notify/Structured_Filter/Notify_Push_Consumer.cpp:
+ * orbsvcs/tests/Notify/Structured_Filter/README:
+ * orbsvcs/tests/Notify/Structured_Filter/Structured_Consumer.dsp:
+ * orbsvcs/tests/Notify/Structured_Filter/Structured_Consumer.cpp:
+ * orbsvcs/tests/Notify/Structured_Filter/Structured_Filter.dsw:
+ * orbsvcs/tests/Notify/Structured_Filter/Structured_Supplier.dsp:
+ * orbsvcs/tests/Notify/Structured_Filter/Structured_Supplier.cpp:
+ * orbsvcs/tests/Notify/Structured_Filter/control.idl:
+ * orbsvcs/tests/Notify/Structured_Filter/run_test.pl:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Makefile:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Notify_Push_Consumer.h:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Notify_Push_Consumer.cpp:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Notify_Push_Supplier.h:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Notify_Push_Supplier.cpp:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/README:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Consumer.dsp:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Consumer.cpp:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Multi_Filter.dsw:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Supplier.dsp:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Supplier.cpp:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/control.idl:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/run_test.pl:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Filter.dsw:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Makefile:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Notify_Sequence_Push_Consumer.h:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Notify_Sequence_Push_Consumer.cpp:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Notify_Structured_Push_Consumer.h:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Notify_Structured_Push_Consumer.cpp:
+ * orbsvcs/tests/Notify/performance-tests/Filter/README:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Sequence_Consumer.dsp:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Sequence_Consumer.cpp:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Sequence_Supplier.dsp:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Sequence_Supplier.cpp:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Structured_Consumer.dsp:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Structured_Consumer.cpp:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Structured_Supplier.dsp:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Structured_Supplier.cpp:
+ * orbsvcs/tests/Notify/performance-tests/Filter/common.h:
+ * orbsvcs/tests/Notify/performance-tests/Filter/common.cpp:
+ * orbsvcs/tests/Notify/performance-tests/Filter/go.idl:
+ * orbsvcs/tests/Notify/performance-tests/Filter/notify.conf:
+ * orbsvcs/tests/Notify/performance-tests/Filter/run_test.pl:
+
+ Add many new tests to test the various features of the
+ Notification Service.
+
+Thu Jan 17 11:03:14 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/be/be_visitor_interface/amh_ss.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_ss.cpp:
+ * TAO_IDL/be_include/be_visitor_interface/amh_ss.h:
+ * TAO_IDL/be_include/be_visitor_interface/interface_ss.h:
+ Fixed code generation for the AMH_* classes, at this point the
+ code for *S.h looks reasonable (and compiles!).
+ Ditto for the _is_a(), _interface() and similar methods in the
+ *S.cpp file, but we need to fix the generated skeletons.
+
+Thu Jan 17 10:40:57 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/Security/EstablishTrustPolicy.cpp
+ (policy_type, destroy, trust):
+ * orbsvcs/orbsvcs/Security/QOPPolicy.cpp
+ (policy_type, destroy, qop):
+
+ Fixed unused parameter warnings.
+
+Thu Jan 17 10:30:41 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/Security/Security_ORBInitializer.cpp (pre_init):
+
+ Create and register the SecurityManager object with the ORB's
+ resolve_initial_references() mechanism.
+
+Thu Jan 17 10:17:18 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ Add the #include for "tao/TAO_AMH_Response_Handler.h" if needed.
+
+ * TAO_IDL/be/be_visitor_interface/amh_sh.cpp:
+ Add missing close braces in the generated code. We never
+ finished the definition of the AMH_* class.
+
+ * TAO_IDL/be/be_visitor_interface/amh_rh_sh.cpp:
+ We were not closing the definition of the
+ TAO_AMH_*ResponseHandler class either.
+ Fixed TAO_AMH_Response_Handler name in generated code.
+ Fixed indentation in the generated code too.
+
+Thu Jan 17 10:08:36 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/Security/SecurityManager.cpp
+ (remove_own_credentials):
+
+ Corrected assignment where equality conditional was expected.
+
+Thu Jan 17 09:49:23 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/be/be_visitor_amh_pre_proc.cpp:
+ Fixed the UTL_ScopedName for the AMH_*ResponseHandler, finally
+ we got the generated code to look like we want (and compiles
+ too!)
+
+Thu Jan 17 10:28:54 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/ETCL/ETCL_l.cpp:
+ * orbsvcs/orbsvcs/ETCL/ETCL_l.cpp.diff:
+
+ Initialized two register char* variables in the generated
+ lex file. Even though they are clearly initialized about
+ 20 lines down and never skipped, Redhat Static seems to
+ have a problem with it.
+
+Thu Jan 17 10:25:54 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * TAO_IDL/be_include/be_interface_strategy.h:
+ Fixed compile errors.
+
+Thu Jan 17 09:25:11 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * orbsvcs/tests/Miop/Makefile: Added.
+
+Thu Jan 17 09:25:11 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.cpp:
+ Fixed KCC warning.
+
+Thu Jan 17 00:54:41 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * TAO_IDL/be/be_visitor_interface/amh_rh_sh.cpp:
+ * TAO_IDL/be/be_visitor_interface/amh_rh_ss.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_sh.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_ss.cpp:
+
+ Made code generation logic for AMH-skeletons and AMH-RH
+ consistent (and symmetric) in the amh_rh and amh_ss files.
+
+Tue Jan 17 08:12:22 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Security.bor:
+ Added missing IDL build rule for SecurityReplaceable.idl
+
+Wed Jan 16 22:46:12 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h (ssliop_connect):
+
+ Updated this method to accept a "no protection" parameter.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp
+ (connect, ssliop_connect):
+
+ In the "NoProtection/EstablishTrust" case, establish a
+ connection using the "eNULL" cipher. This disables encryption
+ but allows certificate authentication to occur. Previously two
+ connections were used, one to authenticate over SSL and the
+ other to invoke requests over plain IIOP, which is clearly
+ undesirable.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp (init):
+
+ If "NoProtection" is enabled, then add the "eNULL" cipher to the
+ default cipher list. This allows encryption to be disabled
+ while allowing certificate authentication to occur.
+
+Wed Jan 16 20:08:39 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/Security/PrincipalAuthenticator.h:
+
+ Cache a reference to the SecurityManager passed in as a
+ parameter to the constructor.
+
+ * orbsvcs/orbsvcs/Security/PrincipalAuthenticator.cpp
+ (authenticate, continue_authentication):
+
+ Register authenticated credentials with the SecurityManager's
+ "own credentials" list.
+
+ * orbsvcs/orbsvcs/Security/SecurityManager.h:
+
+ Added an "own_credentials" attribute. All credentials
+ authenticated by the PrincipalAuthenticator will be stored in
+ it.
+
+ * orbsvcs/orbsvcs/Security/SecurityManager.cpp
+ (principal_authenticator):
+
+ Pass a pointer to the SecurityManager to the
+ PrincipalAuthenticator's constructor so that the
+ PrincipalAuthenticator may call back some of the
+ SecurityManager's methods.
+
+ (own_credentials, remove_own_credentials):
+
+ Implemented these SecurityLevel2::SecurityManager methods.
+
+ (add_own_credentials):
+
+ New TAO-specific method used internally by the
+ PrincipalAuthenticator to register authenticated credentials
+ with SecurityManager's "own credentials" list.
+
+Wed Jan 16 21:26:14 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/Makefile:
+ Disabled compiling PortableGroup when Minimum CORBA is
+ enabled.
+
+ * orbsvcs/orbsvcs/Makefile.PortableGroup:
+ Regenerated dependencies.
+
+ * orbsvcs/orbsvcs/PortableGroup/POA_Hooks.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.cpp:
+ Fixed a misuses of TAO_ENV_ARG_*.
+
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp:
+ Fixed subtle typo on MIOP packet segmentation.
+
+ * orbsvcs/tests/Makefile:
+ Added MIOP.
+
+ * tao/PortableServer/POA.cpp:
+ * tao/PortableServer/POA.h:
+ * tao/PortableServer/PortableGroup_Hooks.h:
+ * tao/PortableServer/PortableServerC.cpp:
+ * tao/PortableServer/PortableServerC.h:
+ * tao/PortableServer/PortableServerC.i:
+ * tao/diffs/PortableServerC.cpp.diff:
+ * tao/diffs/PortableServerC.h.diff:
+ * tao/diffs/PortableServerC.i.diff:
+ #ifdef'd out PortableGroup additions to the POA when
+ minimum CORBA is enabled.
+
+Wed Jan 16 20:28:56 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Wait_Never.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Wait_Never.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp:
+ * orbsvcs/orbsvcs/PortableGroup.bor:
+ * orbsvcs/orbsvcs/Makefile.PortableGroup:
+ * orbsvcs/orbsvcs/PortableGroup.dsp:
+ Added custom wait strategy for UIPMC to prevent any
+ one from waiting for a response. Previously, if
+ someone tried invoking a twoway using MIOP, execution
+ would hang until a time out. This way, the user
+ gets a system exception if they ever try to wait for
+ a response.
+
+Wed Jan 16 19:18:14 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * performance-tests/AMI_Latency/client.cpp:
+ Fixed compile errors.
+
+Wed Jan 16 13:17:04 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * TAO_IDL/be_include/be_visitor_interface/interface.h:
+ * TAO_IDL/be/be_visitor_interface/interface.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_sh.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_ss.cpp:
+
+ Added method to check if a particular node is an 'AMH' node that
+ was added during pre-processing. This check is used to
+ dynamically create the amh_rh visitors in interface_s{h/s}
+ visitors.
+
+Wed Jan 16 12:57:56 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/be/be_visitor_amh_pre_proc.cpp:
+ The AMH_*ResponseHandler identifier should not include the
+ Module:: prefix. The fix is incomplete, as I believe that the
+ Identifier for the implied be_interface node should have the
+ enclosing scope identifier, but this change makes the *C.h file
+ compilable.
+ Also fixed the operations for the implied AMH_*ResponseHandler,
+ they were supposed to be 'local' too.
+
+Wed Jan 16 12:22:13 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * TAO_IDL/be/be_visitor_operation/amh_rh_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/amh_rh_ss.cpp:
+
+ Fixed Fuzz errors for @file
+
+Wed Jan 16 14:12:17 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/be/be_global.cpp:
+
+ Added initialization of the gen_amh_classes_ member.
+
+ * TAOACE.dsw:
+
+ Restored ETCL project to workspace and updated project
+ dependencies for this project and for CosNotifcation. My
+ previous checkin of these changes got clobbered someehow.
+
+ * orbsvcs/orbsvcs/CosNotification.dsp:
+
+ Somehow these settings got clobbered as well.
+
+Wed Jan 16 12:02:40 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/PICurrent.cpp (copy):
+
+ Only perform the shallow/logical copy if the source slot table
+ was modified. Fixes a problem where values logically copied
+ from the RSC to the TSC were lost after the TSC was copied back
+ to the RSC, despite the fact the TSC's slot table was not
+ modifed. Thanks to Greg Hall <Greg.Hall@Australia.Boeing.com>
+ for discovering the problem.
+
+Wed Jan 16 11:45:23 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * tao/PortableServer/ObjectReferenceTemplate.cpp (adapter_name):
+ Fixed warnings on Debian_NoInline build.
+
+Wed Jan 16 11:38:21 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * tests/ORT/server.cpp (main):
+ * orbsvcs/examples/ORT/Object_Factory_i.cpp:
+ * orbsvcs/examples/ORT/Gateway_ObjRef_Factory.h:
+ * orbsvcs/examples/ORT/gateway_server.cpp :
+ * orbsvcs/examples/ORT/server.cpp :
+ * orbsvcs/examples/ORT/Server_IORInterceptor_ORBInitializer.cpp:
+ Fixed fuzz compile errors.
+
+Wed Jan 16 11:23:04 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * tests/ior_corbaloc/README (ftp):
+ Updated the README.
+
+ Thanks to Gerhard Voss <Gerhard_Voss@t-online.de> for
+ reporting that it is outdated.
+
+Wed Jan 16 08:37:55 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * utils/nslist/nsdel.cpp:
+ Fixed compile errors.
+
+Wed Jan 16 08:33:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/ETCL.bor:
+ Added BCB makefile for this new library
+
+ * orbsvcs/orbsvcs/CosNotification.bor:
+ Added ETCL and DynamicAny libraries, removed Trading
+
+ * orbsvcs/orbsvcs/Makefile.bor:
+ Added ETCL
+
+ * orbsvcs/tests/FaultTolerance/IOGRManipulation/Makefile.bor:
+ * orbsvcs/tests/FaultTolerance/IOGR/Manager.bor:
+ * orbsvcs/tests/FaultTolerance/IOGR/Server.bor:
+ Use the FTORB library instead of the FT library
+
+ * tests/Portable_Interceptors/ForwardRequest/server.bor:
+ * tests/Portable_Interceptors/ForwardRequest/client.bor:
+ Added -Gv to the TAO_IDL since PortableInterceptor.pidl now
+ has valuetypes.
+
+Tue Jan 15 20:24:24 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/be/be_visitor_valuetype/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp:
+ * TAO_IDL/be_include/be_visitor_valuetype/any_op_ch.h:
+ * TAO_IDL/be_include/be_visitor_valuetype/any_op_cs.h:
+
+ New files that generate Any operators for value types.
+ For now, all that's generated is the TAO_Valuetype_Manager
+ template class instantiation that takes the value type
+ as its parameter. The TAO_Object_Manager template
+ instantiations for interfaces are generated along with
+ the Any operators, so the same approach is followed for
+ value types, even though Any operators for value types
+ are not yet supported.
+
+ * TAO_IDL/be/be_visitor_factory.cpp:
+ * TAO_IDL/be/be_visitor_valuetype.cpp:
+ * TAO_IDL/be/be_visitor_module/module.cpp:
+ * TAO_IDL/be/be_visitor_root/root.cpp:
+ * TAO_IDL/be_include/be_visitor_valuetype.h:
+
+ Modified files to create and call the visitors in the new
+ files above.
+
+Tue Jan 15 17:59:46 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Vault.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Vault.h:
+
+ New SSLIOP-specific (no-op) implementation of the
+ SecurityReplaceable::Vault interface. These files supersede the
+ SSLIOP_PrincipalAuthenticator.* files.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp:
+
+ Register the SSLIOP-specific Vault object with the Security
+ Service's PrincipalAuthenticator object.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_PrincipalAuthenticator.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_PrincipalAuthenticator.h:
+
+ Removed these files. They have been superseded by the
+ SSLIOP_Vault* files.
+
+ * orbsvcs/orbsvcs/Security/PrincipalAuthenticator.cpp:
+ * orbsvcs/orbsvcs/Security/PrincipalAuthenticator.h:
+
+ Updated the PrincipalAuthenticator implementation to use the
+ Chain-of-Responsibility design pattern on all registered
+ SecurityReplaceable::Vault implementations until one is found
+ that recognizes the user-supplied parameters.
+
+ * orbsvcs/orbsvcs/Security/PrincipalAuthenticator_Impl.h:
+
+ Removed this file in favor of the standard
+ SecurityReplaceable::Vault functionality.
+
+Tue Jan 15 16:22:48 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/be/be_visitor_amh_pre_proc.cpp:
+ Use a local interface for the AMH_*ResponseHandler, that
+ generates *exactly* the right code for the *C.{h,i,cpp} files.
+ We need different visitors for the implementation class on the
+ *S.{h,i,cpp} files.
+
+ * TAO_IDL/be_include/be_visitor_interface.h:
+ * TAO_IDL/be_include/be_visitor_operation.h:
+ * TAO_IDL/be/be_visitor_interface.cpp:
+ * TAO_IDL/be/be_visitor_operation.cpp:
+ Enable compilation of AMH visitors by default.
+
+ * TAO_IDL/be/be_visitor_interface/amh_sh.cpp:
+ * TAO_IDL/be/be_visitor_interface/amh_ss.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_sh.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_ss.cpp:
+ * TAO_IDL/be_include/be_visitor_interface/amh_sh.h:
+ * TAO_IDL/be_include/be_visitor_interface/amh_ss.h:
+ * TAO_IDL/be_include/be_visitor_interface/interface_ss.h:
+ Improved generated AMH code. For starters the IDL compiler does
+ not crash while generating AMH code :-) But the generated code
+ does not compile yet.
+ Mayur and myself factored out the shared code between the
+ skeleton source visitors (*S.cpp files) for AMH and non-AMH
+ interfaces.
+ Also stopped the system from generating any AMH classes for
+ implied AMH or AMI classes.
+
+ * TAO_IDL/be/be_visitor_operation/amh_rh_ss.cpp:
+ Fixed warnings.
+
+ * TAO_IDL/Makefile.BE:
+ * TAO_IDL/Makefile.EXE:
+ * TAO_IDL/Makefile.FE:
+ Updated dependencies.
+
+Tue Jan 15 15:55:54 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/Makefile.Security (IDL_FILES):
+
+ Added the `SecurityReplaceable.idl' file to the IDL file list.
+
+Tue Jan 15 15:46:20 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/SecurityReplaceable.idl:
+
+ Corrected typo. "Replaceable" not "Replacable."
+
+Tue Jan 15 15:01:48 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * tao/PortableServer/ServerRequestInfo.cpp :
+ * tao/PortableServer/POA.i :
+ * tao/PortableServer/ObjectReferenceTemplate.h :
+ * tao/PortableServer/ObjectReferenceFactory.cpp :
+ * tao/PortableServer/ObjectReferenceTemplate.cpp :
+ * tao/PortableServer/IORInfo.cpp :
+ Corrected the usage of TAO_ENV_ARG_DECL and
+ TAO_ENV_ARG_PARAMETER
+
+ * tao/PortableServer/POA.h :
+ * tao/PortableServer/POA.cpp :
+ In addition to correcting the usage of TAO_ENV_ARG_DECL, added a
+ new protected method so that there is only a single ACE_TRY
+ block in TAO_POA::establish_components method.
+
+Tue Jan 15 14:28:50 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * tao/PortableInterceptorC.h:
+ Fixed by inserting a space where needed.
+
+Tue Jan 15 13:30:07 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * TAO_IDL/be_include/be_visitor_amh_pre_proc.h:
+ * TAO_IDL/be_include/be_visitor_operation.h:
+ * TAO_IDL/be_include/be_visitor_operation/amh_sh.h:
+ * TAO_IDL/be_include/be_visitor_operation/amh_ss.h:
+ * TAO_IDL/be_include/be_visitor_operation/amh_rh_sh.h:
+ * TAO_IDL/be_include/be_visitor_operation/amh_rh_ss.h:
+ * TAO_IDL/be_include/be_visitor_interface.h:
+ * TAO_IDL/be_include/be_visitor_interface/amh_ch.cpp:
+ * TAO_IDL/be_include/be_visitor_interface/amh_sh.cpp:
+ * TAO_IDL/be_include/be_visitor_interface/amh_ss.cpp:
+ * TAO_IDL/be_include/be_visitor_interface/amh_rh_sh.cpp:
+ * TAO_IDL/be_include/be_visitor_interface/amh_rh_ss.cpp:
+ * TAO_IDL/be/be_visitor_amh_pre_proc.cpp:
+ * TAO_IDL/be/be_visitor_factory.cpp:
+ * TAO_IDL/be/be_visitor_operation.cpp:
+ * TAO_IDL/be/be_visitor_operation/amh_sh.cpp:
+ * TAO_IDL/be/be_visitor_operation/amh_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/amh_rh_sh.cpp:
+ * TAO_IDL/be/be_visitor_operation/amh_rh_ss.cpp:
+ * TAO_IDL/be/be_visitor_interface.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface.cpp:
+ * TAO_IDL/be/be_visitor_interface/amh_ch.cpp:
+ * TAO_IDL/be/be_visitor_interface/amh_sh.cpp:
+ * TAO_IDL/be/be_visitor_interface/amh_ss.cpp:
+ * TAO_IDL/be/be_visitor_interface/amh_rh_sh.cpp:
+ * TAO_IDL/be/be_visitor_interface/amh_rh_ss.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_ch.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_sh.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_ss.cpp:
+
+ This is a snap-shot of the changes to facilitate parallel
+ working on AMH. The new files and changes to old ones is part
+ of a new approach to generate AMh code from the IDL-compiler.
+ In the new approach, only one new implied-idl node is added to
+ the main AST i.e. the ResponseHandler (RH) node. With this
+ node, code is generated in the following files:
+ - The Client Header (Base abstract RH class)
+ - The Skeleton Header (implementation RH class declaration)
+ - The Skeleton Source (implementation RH class definition)
+ In this snapshot, the code for the above is in place and there
+ are no compilation errors. The implementation is yet to be
+ tested, though. Also, in keeping with the new approach,
+ AMH-skeleton code is generated 'on the fly'. In the
+ interface_{ch/sh/ss} files, AMH_skeleton code is generated if
+ the be_global->generate_amh_classes () is set. Currently, this
+ code is commented out and the amh_{ch/sh/ss} files are not
+ included in the compiltation of TAO_IDL but once the code is in
+ place amd working, the IDL compiler will include these visitors.
+
+Tue Jan 15 13:35:07 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * tao/PortableInterceptorS.h:
+ Committing the right one.
+
+ * tests/Portable_Interceptors/ForwardRequest/Makefile:
+ Added -Gv to the TAO_IDLFLAGS since PortableInterceptor.pidl now
+ has valuetypes.
+
+Tue Jan 15 12:33:34 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * tao/ORB_Core.cpp:
+ Removed stray characters put in by mistake.
+
+Tue Jan 15 12:28:21 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * tao/PortableInterceptorC.i:
+ * tao/PortableInterceptorC.h:
+ * tao/PortableInterceptorC.cpp:
+ Regenerated and applied patches.
+
+Tue Jan 15 12:03:54 2002 Ossama Othman <ossama@uci.edu>
+
+ * docs/releasenotes/index.html:
+
+ Updated Security Service and SSLIOP release notes.
+
+Tue Jan 15 14:02:04 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/PortableGroup.bor:
+ * orbsvcs/orbsvcs/PortableGroup.rc:
+ Added resource files for the PortableGroup library. Thanks
+ to Johnny Willemsen <johnny_willemsen@planet.nl> for pointing
+ this out.
+
+Tue Jan 15 11:50:37 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * utils/nslist/nsdel: There were 2 problems with nsdel:
+ 1. difficult to remove subcontexts
+ 2. not possible to remove contexts where the name.kind is not null
+
+ We've now fixe this problem so it's possible to do the following:
+ usage example nsdel --name com/sun/server/app1.service
+ usage example nsdel --name com/sun/server.context
+
+ Thanks to Paul Caffrey <pcaffrey@iel.ie> for contributing this.
+
+Tue Jan 15 11:43:48 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * docs/releasenotes/index.html:
+
+ Added items to IDL compiler section about the expanded
+ support of value types, and about the revamped/expanded
+ support of the IDL #pragma directives. Also add item in the
+ Notification Service section about the new support of the
+ Extended Trader Constraint Language (ETCL) grammar for filter
+ construction.
+
+Tue Jan 15 09:08:17 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * tests/Portable_Interceptors/IORInterceptor/FOO_IORInterceptor.cpp:
+ * tests/Portable_Interceptors/IORInterceptor/FOO_IORInterceptor.h:
+ Added new methods to class FOO_IORInterceptor to go along with
+ the added methods in PortableInterceptor::IORInterceptor. Missed
+ committing in the first round.
+
+Tue Jan 15 08:55:52 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * tao/ORB_Core.cpp (create_stub_object):
+ Fixed usage of TAO_ENV_ARG_DECL
+
+Tue Jan 15 09:16:22 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/Makefile:
+
+ Added Makefile.ETCL to the list when Makefile>CosNotification
+ is added.
+
+ * orbsvcs/orbsvcs/ETCL/ETCL_Static.dsp:
+
+ Fixed path errors.
+
+ * orbsvcs/tests/Notify/lib/Notify_Test_Client.cpp:
+
+ Changed an incorrect TAO_ENV_ARG_PARAMETER to
+ TAO_ENV_ARG_DECL.
+
+Tue Jan 15 13:22:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/ORT/*.bor:
+ Added BCB makefiles for this test
+
+ * tests/Makefile.bor:
+ Added new ORT test
+
+Tue Jan 15 11:09:13 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PortableServer/Makefile.bor:
+ Added PortableGroup_Hooks
+
+ * orbsvcs/orbsvcs/PortableGroup.bor:
+ Added new BCB makefile for building PortableGroup
+
+ * orbsvcs/orbsvcs/Makefile.bor
+ Added PortableGroup
+
+Tue Jan 15 02:51:04 2002 Craig Rodrigues <crodrigu@bbn.com>
+
+ * orbsvcs/orbsvcs/AV/RTCP.cpp: Return 0 in
+ TAO_AV_RTCP_Callback::handle_destroy().
+
+Tue Jan 15 07:35:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Makefile.bor:
+ Removed IORInfo
+
+ * tao/PortableServer/Makefile.bor:
+ Added IORInfo, ObjectReferenceFactory and ObjectReferenceTemplate
+
+Mon Jan 14 22:08:46 2002 Ossama Othman <ossama@uci.edu>
+
+ From Bruce Trask <trask_b@ociweb.com>
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.h:
+
+ Use the ACE_STATIC_SVC_DECLARE_EXPORT macro instead of
+ ACE_STATIC_SVC_DECLARE to force the static service descriptor to
+ be exported on Windows, and thus allow it to be used when the
+ TAO SSLIOP pluggable protocol is linked statically.
+
+Tue Jan 15 00:01:09 2002 Rob Ruff <rruff@scires.com>
+ Craig Rodrigues <crodrigu@bbn.com>
+
+ * orbsvcs/orbsvcs/AV/UDP.:
+ * orbsvcs/orbsvcs/AV/UDP.cpp: Fix memory leaks of address
+ and control_address.
+
+ * orbsvcs/orbsvcs/AV/RTCP.cpp: Fix TAO_AV_RTCP_Object::destroy().
+ Call send_report() from TAO_AV_RTCP_Callback::handle_stop() and
+ TAO_AV_RTCP_Callback::handle_destroy().
+
+Mon Jan 14 23:51:54 2002 Craig Rodrigues <crodrigu@bbn.com>
+
+ * orbsvcs/tests/AVStreams/server_discovery: Removed.
+ Depends on files from the old mpeg player which is no longer
+ in repository.
+
+Mon Jan 14 19:53:18 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * tao/PortableServer/IORInfo.cpp (current_factory):
+ Was a returning a void value. Fixed it.
+
+ * tao/PortableServer/POA.cpp (establish_components):
+ Modified variable i as variable j to satisfy win.
+ Also modified a const variable as non-const.
+
+Mon Jan 14 19:37:03 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * tao/PortableServer/TAO_PortableServer_Static.dsp (SOURCE):
+ * tao/PortableServer/TAO_PortableServer.dsp:
+ Updated to add IORInfor, ObjectReferenceTemplate and
+ ObjectReferenceFactory.
+
+ * tao/TAO.dsp:
+ * tao/TAO_Static.dsp:
+ Updated to remove IORInfo
+
+Mon Jan 14 18:08:50 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * tao/ORB_Core.h (TAO_ORB_Core):
+ Used the correct form of TAO_ENV_ARG_DECL
+
+Mon Jan 14 17:56:09 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/Makefile.CosNotification:
+ * orbsvcs/orbsvcs/Makefile.ETCL:
+
+ Updated dependencies.
+
+Mon Jan 14 15:25:25 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * TAO_IDL/be/be_visitor_interface_fwd/cdr_op_ci.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/cdr_op_ci.cpp:
+ * TAO_IDL/be/be_visitor_valuetype_fwd/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype_fwd/cdr_op_ci.cpp:
+ Fixed syntax error generated in the CDR operators for
+` valuetypes. There was no blank after the export macro name.
+
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/be/be_global.cpp:
+ * TAO_IDL/be/be_interface.cpp:
+ * TAO_IDL/be/be_valuetype.cpp:
+ Cosmetic fixes
+
+Mon Jan 14 15:19:05 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * tao/PortableInterceptorC.h:
+ Fixed compilation problem due to bugs in IDL compiler.
+
+ * tao/PortableServer/ObjectReferenceTemplate.cpp:
+ Removed bogus #include for ObjectReferenceTemplate.i, the file
+ does not exist.
+
+ * tao/Makefile:
+ * tao/BiDir_GIOP/Makefile:
+ * tao/Domain/Makefile:
+ * tao/DynamicAny/Makefile:
+ * tao/DynamicInterface/Makefile:
+ * tao/IFR_Client/Makefile:
+ * tao/IORManipulation/Makefile:
+ * tao/IORTable/Makefile:
+ * tao/PortableServer/Makefile:
+ * tao/RTCORBA/Makefile:
+ * tao/RTPortableServer/Makefile:
+ * tao/SmartProxies/Makefile:
+ * tao/Strategies/Makefile:
+ * tao/TypeCodeFactory/Makefile:
+ Update dependencies.
+
+Mon Jan 14 15:03:53 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * tao/ORB_Core.cpp:
+ Removed include of IORInfo.h
+
+Mon Jan 14 14:41:17 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ The following set of changes are wrt to Object Reference Template.
+
+ * tao/IORInfo.h:
+ * tao/IORInfo.cpp:
+ Moved these files to PortableServer directory to continue
+ keeping the TAO library independent of PortableServer.
+
+ * tao/Exception.cpp:
+ Added a new minor code to the OBJ_ADAPTER_TABLE.
+ The description of the minor code is "Exception in
+ IORInterceptor::components_established in call
+ to POA::create_POA "
+
+ * tao/ClientRequestInfo.cpp (get_service_context_i):
+ Changed the minor code from 23 to 26 according to the ORT
+ spec.
+
+ * tao/ORB_Core.h :
+ * tao/ORB_Core.i :
+ * tao/ORB_Core.cpp :
+
+ Removed the include of IORInfo.h since ORB_Core doesnt use
+ IORInfo anymore.
+
+ Added support for the new ORB Configuration Options:
+ -ORBId: is to set an Id to the ORB as the name suggests.
+ -ORBServerId: is to uniquely identify a server.
+ -ORBListenEndpoints: is similar to ORBEndPoint option.
+ The ORBEndpoint Option will be deprecated later.
+ -ORBNoProprietaryActivation: is to set a glabal flag so
+ that none of the ORB's proprietary can be used.
+
+ Added a new method set_endpoint_helper for code reusing purposes
+ since the two ORB options -ORBEndpoint and -ORBListenEndPoints
+ are the same. This might not be needed later when the
+ -ORBEndpoint is deprecated totally.
+
+ New accessor method for the ORBServerId that was passed
+ using the -ORBServerId Option:
+ const char *server_id (void) const;
+
+ Added another accessor method is to get the underlying
+ transport cache:
+ TAO_Transport_Cache_Manager *transport_cache (void);
+
+ Modified the implementation of create_stub_object method.
+ The establish_components method should now be invoked
+ every time a new POA is created and hence should be
+ invoked even before the create_stub_object is invoked.
+ Hence the implementation of TAO_ORB_Core::create_stub_object
+ now doesnt involve invoking the establish components method.
+
+ The establish_components method is now modified and moved to
+ TAO_POA.
+
+ Added a new method open (TAO_ENV_ARG_DECL) to set endpoints for
+ listening.
+
+ In the TAO_ORB_Core::run method, the Environment variable is
+ going to be used. So, changed TAO_ENV_ARG_DECL_NOT_USED to
+ TAO_ENV_ARG_DECL. Also, invoke the new TAO_ORB_Core::open method
+ in here. We donot want to setup the listening points
+ when the RootPOA is created but now. One of the main features of
+ ORT is the ability to set a new factory (and possibly point the
+ ior to another endpoint) with the help of interceptors.
+ If we open an endpoint when the RootPOA is created, then it
+ would endup costly if another endpoint has to be
+ opened during run time (i.e. because of the interceptors being
+ used). So, we are going to open the endpoints during the run
+ time rather than during the RootPOA creation.
+
+ Private variables: server_id_, open_lock_, open_called_;
+
+ * tao/PortableServer/IORInfo.h:
+ * tao/PortableServer/IORInfo.h:
+ Moved the files from tao to PortableServer. And, added new
+ methods: manager_id, state, adapter_template, current_factory
+ according to the ORT spec.
+
+ Modified the implementation of add_ior_component and
+ add_ior_component_to_profile to invoke
+ TAO_POA::save_ior_component and
+ save_ior_component_and_profile_id instead of adding them
+ immediately for reasons explained later.
+
+ * tao/PortableServer/ObjectReferenceTemplate.h :
+ * tao/PortableServer/ObjectReferenceTemplate.cpp :
+ * tao/PortableServer/ObjectReferenceFactory.h :
+ * tao/PortableServer/ObjectReferenceFactory.cpp :
+ New files for the ObjectReferenceFactory and
+ ObjectReferenceTemplate classes.
+
+ * tao/RTPortableServer/RT_POA.i (create_reference_with_priority):
+ Modified the call create_reference_i and
+ create_reference_with_id_i to go along with the
+ modified signatures of the respective methods.
+
+ * tao/PortableServer/ServerRequestInfo.h:
+ * tao/PortableServer/ServerRequestInfo.cpp:
+ New methods server_id, orb_id and adapter_name from the ORT
+ spec. Accessor methods to get the server_id of the server
+ ( passed via -ORBServerId option), orb_id ( ORBId value that
+ is passed to the ORB_init call) and the name of the related
+ Object Adapter.
+
+ * tao/PortableServer/POAManager.h:
+ * tao/PortableServer/POAManager.cpp:
+ New method adapter_manager_state_changed which calls all
+ the registered interceptor's adapter_manager_state_changed
+ methods. Included new header files as needed.
+
+ * tao/PortableServer/Object_Adapter.cpp (open):
+ As explained in ORB_Core changes, we are going to open
+ the default resources during run time and not during RootPOA
+ creation. So, removed the invocation leading to opening the
+ endpoints.
+
+ * tao/PortableServer/POA.cpp :
+ This file has a big bunch of changes.
+
+ Included new header files as needed.
+
+ New methods:
+
+ set_obj_ref_factory: Public method to set the private
+ variable: TAO_ObjectReferenceFactory *obj_ref_factory_
+ The value of this variable is initially the same as
+ TAO_ObjectReferenceTemplate *obj_ref_template_.
+ The value of obj_ref_factory_ can be reset by the
+ TAO_IOR_Info::current_factory method.
+
+ tao_establish_components: Helper method for
+ establish_components. Instantiates the needed variables and
+ calls establish_components.
+
+ adapter_name: Returns the adapter_name of an object_adapter
+ (POA).
+
+ adapter_name_i: Helper method for adapter_name.
+
+ get_adapter_template:
+ set_adapter_template:
+ get_obj_ref_factory:
+ set_obj_ref_factory: Accessor methods to ort_template_ and
+ obj_ref_factory_ member variables related to a POA.
+
+ get_policy_list:
+ set_policy_list:
+ get_mprofile:
+ set_mprofile: Accessor methods to get policy_list_ and
+ mprofile_ respectively. TAO_IORInfo needs these values.
+
+ save_ior_component:
+ save_ior_component_and_profile_id:
+ According to the ORT spec, the Interceptor's
+ establish_components method should be invoked each time a new
+ POA is created. And, the establish_components method is where
+ the IORInfo can get hold of the ior components that are to be
+ added to the mprofiles. But, we donot add the components to the
+ profile when the POA is created but rather when the stub object is
+ to be created. So, to solve this, we save the tagged component
+ and profile_id that we get via the establish_components method
+ and use them later when we are actually creating the stub
+ object. These two methods help save the values, as the name of
+ the method suggests.
+
+ tao_add_ior_component:
+ tao_add_ior_component_to_profile: Methods to call the
+ add_tagged_component of all the registered interceptors.
+
+ get_adapter_state:
+ set_adapter_state: Accessor methods to the POA state which could
+ be in one of HOLDING, ACTIVE, DISCARDING, INACTIVE and
+ NON_EXISTENT states.
+
+ adapter_state_changed: Method to notify the IOR Interceptors
+ when there is a change in the state of the POA not related to the
+ POA Manager.
+
+ invoke_key_to_object: The TAO_ObjectReferenceFactory::make_object
+ creates the object references by default (ie. unless the factory
+ is changed with the help of interceptors). It invokes the POA's
+ invoke_key_to_object method for the same purpose. This method
+ gets all the required values and invokes the key_to_object which
+ actually creates the object reference.
+
+ get_manager_id: Accessor method to get the manager id.
+
+ The constructor of TAO_POA is also changed. Each POA has an
+ ObjectReferenceTemplate * and ObjectReferenceFactory * member
+ variables. The initial values of the ObjectReferenceTemplate is
+ set in the TAO_POA constructor. The initial value of
+ obj_ref_factory_ is the same as that of ort_template_. While
+ the value of ort_template_ is remains the same, the value of the
+ obj_ref_factory_ can be changed with the help of the
+ interceptors.
+
+ According to the ORT specification, the interceptor's
+ establish_components method needs to be invoked each time any
+ new POA is created. By invoking the tao's
+ establish_components method from the constructor itself, we
+ are making sure that this method is called for all the POA's
+ including the RootPOA.
+
+ Changed the order in which the private variables are
+ instantiated in the constructor.
+
+ Modified the signature of create_reference_i and
+ create_reference_with_id_i to not have the priority as
+ an argument. Where needed, we can get the priority value using
+ the cached_policies_ variable.
+
+ Modified their implementation to call the this->obj_ref_factory_
+ 's make_object method instead of calling the key_to_object
+ method directly. Made changes accordingly. The implementation of
+ servant_to_reference method is also modified similarly.
+ This is because the ObjectReferenceFactory associated with the
+ POA is the one that is supposed to create the object references.
+ To generalize between the default case and the case in which the
+ object reference factory is changed with the help of interceptors,
+ all the methods that end up creating a object reference (by
+ invoking key_to_object method) now end up invoking the
+ associated object reference factory's make_object method. If the
+ default value of the obj_ref_factory_ is not changed, the
+ TAO_ObjectReferenceFactory::make_object is invoked. If the value
+ of obj_ref_factory_ is changed, the make_object of that
+ particular class in invoked.
+
+ Also, in the servant_to_reference method, instead of setting
+ value of the priority variable to
+ this->cached_policies_.server_priority (), am setting it to
+ TAO_INVALID_PRIORITY. This is because when the control comes to
+ this method, this->cached_policies_ is nil. By setting it to
+ TAO_INVALID_PRIORITY doesnt hurt since the priority is actually
+ set in servant_to_system_id method.
+
+ Added TAO_ObjectReferenceFactory and TAO_ObjectReferenceTemplate
+ as friend classes to TAO_POA class.
+
+ * tao/PortableServer/Makefile:
+ Added new files.
+ IORInfo
+ ObjectReferenceTemplate
+ ObjectReferenceFactory
+
+ * tao/PortableInterceptorC.cpp:
+ * tao/PortableInterceptorC.h:
+ * tao/PortableInterceptorC.i:
+ * tao/PortableInterceptorS.h:
+ Regenerated and applied patches. The diffs are generated and
+ placed in diffs directory.
+
+ * tao/PortableInterceptor.pidl:
+ Modified according to the ORT specification.
+
+
+ * tao/Makefile:
+ Removed IORInfo since its now moved to PortableServer. Updated
+ dependencies.
+
+ * tao/BiDir_GIOP/Makefile:
+ * tao/Domain/Makefile:
+ * tao/DynamicAny/Makefile:
+ * tao/DynamicInterface/Makefile:
+ * tao/IFR_Client/Makefile:
+ * tao/IORManipulation/Makefile:
+ * tao/IORTable/Makefile:
+ Updated dependencies.
+
+ * orbsvcs/examples/ORT/README :
+ * orbsvcs/examples/ORT/Makefile :
+ * orbsvcs/examples/ORT/server.cpp :
+ * orbsvcs/examples/ORT/client.cpp :
+ * orbsvcs/examples/ORT/Gateway.idl :
+ * orbsvcs/examples/ORT/sum_server.idl :
+ * orbsvcs/examples/ORT/sum_server_i.h :
+ * orbsvcs/examples/ORT/sum_server_i.cpp :
+ * orbsvcs/examples/ORT/Server_IORInterceptor.cpp :
+ * orbsvcs/examples/ORT/Server_IORInterceptor.h :
+ * orbsvcs/examples/ORT/Server_IORInterceptor_ORBInitializer.cpp :
+ * orbsvcs/examples/ORT/Server_IORInterceptor_ORBInitializer.h :
+ * orbsvcs/examples/ORT/Gateway_i.h :
+ * orbsvcs/examples/ORT/Gateway_i.cpp :
+ * orbsvcs/examples/ORT/Server_IORInterceptor_ORBInitializer.cpp :
+ * orbsvcs/examples/ORT/Object_Factory_i.h :
+ * orbsvcs/examples/ORT/Object_Factory_i.cpp :
+ * orbsvcs/examples/ORT/Gateway_ObjRef_Factory.h :
+ * orbsvcs/examples/ORT/Gateway_ObjRef_Factory.cpp :
+
+ Example to show how ORT can be used.
+
+ * tests/ORT/README:
+ * tests/ORT/Makefile:
+ * tests/ORT/server.cpp:
+ * tests/ORT/ORT_test.idl:
+ * tests/ORT/ORT_test_IORInterceptor.cpp:
+ * tests/ORT/ORT_test_IORInterceptor.h:
+ * tests/ORT/ORT_test_IORInterceptor_ORBInitializer.cpp:
+ * tests/ORT/ORT_test_IORInterceptor_ORBInitializer.h:
+ * tests/ORT/ORT_test_i.cpp:
+ * tests/ORT/ORT_test_i.h:
+ * tests/ORT/client.cpp:
+ Test for the ORT changes.
+
+Mon Jan 14 14:46:54 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * docs/tutorials/Quoter/Event_Service/Makefile:
+ * docs/tutorials/Quoter/RT_Event_Service/Makefile:
+ Update dependencies.
+
+Mon Jan 14 14:44:31 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * orbsvcs/orbsvcs/Makefile.av:
+ The dependencies for AV/md5c.c were not generated properly
+ because the Makefile assumed all sources were .cpp files.
+
+Tue Jan 15 00:30:30 2002 Boris Kolpackov <bosk@ipmce.ru>
+
+ * TAO_IDL/be/be_valuetype.cpp:
+ Moved implementation to client stubs for _var and _out classes.
+
+Mon Jan 14 15:35:13 2002 Rob Ruff <rruff@scires.com>
+ Craig Rodrigues <crodrigu@bbn.com>
+
+ * orbsvcs/orbsvcs/AV/AV_Core.h:
+ * orbsvcs/orbsvcs/AV/AV_Core.cpp: Add remove_acceptor(), remove_connector(),
+ get_control_flowname() methods.
+
+ * orbsvcs/orbsvcs/AV/UDP.h: Add close() method.
+ * orbsvcs/orbsvcs/AV/UDP.i: Add close() method.
+ * orbsvcs/orbsvcs/AV/UDP.cpp: Improve cleanup in TAO_AV_UDP_Connector
+ TAO_AV_UDP_Flow_Handler, and TAO_AV_UDP_Acceptor classes. Close
+ socket in TAO_AV_UDP_Flow_Handler destructor.
+
+ * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Improve cleanup in destructors
+ and destroy() method. TAO_Tokenizer::operator[] returns
+ a const char * instead of dynamically allocated char *.
+ In TAO_StreamEndpoint::destroy(), call destroy() on protocol
+ objects AFTER calling remove_connector() on the AV core.
+
+ * orbsvcs/orbsvcs/AV/TCP.h: Add virtual destructor to TAO_AV_TCP_Flow_Handler.
+ * orbsvcs/orbsvcs/AV/TCP.cpp: Add destructor to TAO_AV_TCP_Flow_Handler, improve cleanup in other classes.
+ * orbsvcs/orbsvcs/AV/Transport.h: Add close() methods to
+ TAO_AV_Connector_Registry and TAO_AV_Acceptor_Registry.
+ * orbsvcs/orbsvcs/AV/Transport.cpp: Add close() methods to
+ TAO_AV_Connector_Registry and TAO_AV_Acceptor_Registry.
+ Return result of reactor()->cancel_timer() in
+ TAO_AV_Flow_Handler::cancel_timer().
+ * orbsvcs/orbsvcs/AV/RTCP.cpp: In TAO_AV_RTCP_Object::destroy(),
+ delete this.
+ * orbsvcs/orbsvcs/AV/RTP.cpp: In TAO_AV_RTP_Object::destroy(),
+ delete this.
+ * orbsvcs/orbsvcs/AV/FlowSpec_Entry.h: Make operator[] return
+ const char *. Add variables for cleanup.
+ * orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp: Add variables for cleanup.
+ * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: Memory leak fixes.
+ Comment out calls to activate_with_poa().
+ * orbsvcs/tests/AVStreams/Asynch_Three_Stage/receiver.cpp:
+ Do not call orb->shutdown(), instead set a flag.
+
+
+Mon Jan 14 14:04:36 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/Makefile.PortableGroup: Regenerated
+ dependencies.
+
+Mon Jan 14 13:41:11 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/ETCL/ETCL.dsp:
+ * orbsvcs/orbsvcs/ETCL/ETCL_Static.dsp:
+ * orbsvcs/orbsvcs/ETCL/ETCL.rc:
+ * orbsvcs/orbsvcs/ETCL/ETCL_Constraint.inl:
+ * orbsvcs/orbsvcs/ETCL/ETCL_Constraint_Visitor.h:
+ * orbsvcs/orbsvcs/ETCL/ETCL_Interpreter.cpp:
+ * orbsvcs/orbsvcs/ETCL/ETCL_Interpreter.h:
+ * orbsvcs/orbsvcs/ETCL/ETCL_y.cpp.diff:
+ * orbsvcs/orbsvcs/ETCL/ETCL_y.h.diff:
+
+ New files added to finish the implementation of the
+ Extended Trader Constraint Language library that was
+ begun by Carlos O'Ryan <coryan@uci.edu>. Thanks to
+ Chad Elliott <elliott_c@ociweb.com> for supplying
+ ETCL_Static.dsp.
+
+ * orbsvcs/orbsvcs/ETCL/ETCL.ll:
+ * orbsvcs/orbsvcs/ETCL/ETCL.yy:
+ * orbsvcs/orbsvcs/ETCL/ETCL_Constraint.cpp:
+ * orbsvcs/orbsvcs/ETCL/ETCL_Constraint.h:
+ * orbsvcs/orbsvcs/ETCL/ETCL_l.cpp:
+ * orbsvcs/orbsvcs/ETCL/ETCL_l.cpp.diff:
+ * orbsvcs/orbsvcs/ETCL/ETCL_y.cpp:
+ * orbsvcs/orbsvcs/ETCL/ETCL_y.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Filter_i.h:
+ * orbsvcs/orbsvcs/Makefile.CosNotification:
+ * orbsvcs/orbsvcs/Makefile.ETCL:
+ * TAOACE_Static.dsw:
+
+ Changes to ETCL and Notification Service files to complete
+ the implementation of the ETCL library and to make the
+ Notification Service use this library to filter events,
+ instead of using the Trading Service's Trader Constraint
+ Language, as it did previously.
+
+ * orbsvcs/tests/Notify/Notify_Tests.dsw:
+ * orbsvcs/tests/Notify/Basic/Simple.dsp:
+ * orbsvcs/tests/Notify/lib/Notify_Test_Client.cpp:
+ * orbsvcs/tests/Notify/lib/Notify_Test_Client.h:
+
+ Changes to Notification Service test coce submitted by
+ Chad Elliott <elliott_c@ociweb.com>.
+
+Mon Jan 14 13:09:31 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * orbsvcs/tests/InterfaceRepo/Application_Test/ifr_dii_client.cpp:
+
+ Added .in() to instances of TAO_String_Manager and
+ TAO_Object_Manager when used in the rhs of an expression,
+ and made other cosmetic changes.
+
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_obv_ch.cpp:
+
+ Removed unused local variable in visit_valuetype().
+
+Mon Jan 14 10:01:12 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/PortableServer/PortableServerC.i
+ (tao_PortableServer_IdUniquenessPolicy_narrow):
+ * tao/diffs/PortableServerC.i.diff:
+
+ Fixed incorrect use of TAO_ENV_ARG_PARAMETER where
+ TAO_ENV_ARG_DECL was expected.
+
+ * tao/PortableServer/POA.cpp (reference_to_ids):
+
+ Fixed incorrect use of PortableServer::IDs::_nil(). There is no
+ such thing. Zero is the correct value.
+
+Mon Jan 14 10:32:09 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * orbsvcs/tests/FaultTolerance/IOGRManipulation/IOGRTest.dsp:
+
+ * orbsvcs/tests/FaultTolerance/IOGR/Manager.dsp:
+ * orbsvcs/tests/FaultTolerance/IOGR/server.dsp: Fixed the
+ libraries that are linked to.
+
+Mon Jan 14 10:25:22 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/Fault_Tolerance.dsp (RSC): Added the right
+ library for linking in the debug builds.
+
+Mon Jan 14 09:34:35 2002 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/IDL_Test/including.idl:
+
+ Prefix the enum value FE with TAO_ to avoid a conflict on HP-UX
+ 10.20.
+
+Mon Jan 14 09:27:44 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/Makefile.PortableGroup: Added missing
+ PortableGroup directory for POA_Hooks.
+
+Mon Jan 14 09:19:43 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * performance-tests/AMI_Latency/client.cpp:
+ Fixed compile error.
+
+Mon Jan 14 08:49:31 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/PortableGroup.idl: Changed include
+ specification to work under Win32 release builds.
+
+Mon Jan 14 09:52:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Makefile.bor:
+ Added Request_Dispatcher
+
+ * orbsvcs/tests/Makefile.bor:
+ Added new Miop directory
+
+ * orbsvcs/tests/Miop/Makefile.bor:
+ Added new BCB makefile
+
+ * orbsvcs/orbsvcs/FT_ORB.bor:
+ Added new BCB makefile for this library
+
+ * orbsvcs/orbsvcs/FaultTolerance.bor:
+ Updated makefile to use the new FT_ORB library
+
+ * orbsvcs/orbsvcs/Makefile.bor:
+ Added new FT_ORB.bor makefile
+
+Sun Jan 13 21:50:22 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * tao/TAO_Static.dsp: Added Request_Dispatcher.{cpp,h} to the
+ file listing.
+
+Sun Jan 13 21:24:59 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * tao/Request_Dispatcher.cpp: Fixed ACE_CHECK typo. Thanks to
+ Venkita for catching it.
+
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Loader.h:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.h:
+ Cleaned up two comments.
+
+Sun Jan 13 18:23:11 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * tests/Two_Objects/Makefile:
+ Regenerated dependencies.
+
+Sun Jan 13 16:19:24 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/Security/Security_ORBInitializer.cpp (pre_init):
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.cpp
+ (pre_init):
+
+ Corrected erroneous comments.
+
+Sun Jan 13 15:22:10 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * docs/releasenotes/index.html (MIOP): Added a section for
+ MIOP.
+
+Sun Jan 13 14:35:08 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * performance-tests/AMI_Latency/client.cpp: Rearranged the code
+ a bit to perform better in single-threaded configurations.
+ Thanks to Sean McCauliff <seanm@Narus.com> for reporting this.
+
+Sun Jan 13 13:02:41 2002 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * TAOACE.dsw:
+ * orbsvcs/orbsvcs/PortableGroup.dsp
+ Added PortableGroup (MIOP) to the workspace.
+
+ * orbsvcs/orbsvcs/Makefile:
+ * orbsvcs/orbsvcs/Makefile.PortableGroup:
+ Build the PortableGroup code now.
+
+ * orbsvcs/orbsvcs/PortableGroup.idl:
+ * orbsvcs/orbsvcs/mgm.idl:
+ * orbsvcs/orbsvcs/miop.idl:
+ Added new IDL from the MIOP specification:
+
+ * tao/IOP.pidl:
+ * tao/corbafwd.h:
+ Added MIOP specification tag identifiers. These need to be
+ updated to OMG specified numbers as soon as they come out.
+
+ * orbsvcs/orbsvcs/PortableGroup/README:
+ Readme for the MIOP and PortableGroup code.
+
+ * orbsvcs/orbsvcs/PortableGroup/POA_Hooks.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/POA_Hooks.h:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.h:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Loader.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Loader.h:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.h:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.h:
+ * orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/portablegroup_export.h:
+ PortableGroup implementation. Includes hooks to handle
+ new POA methods to associate group references with normal
+ references, dispatch code based on group ID, and code to
+ dynamically open multicast endpoint acceptors when association
+ is made.
+
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.i:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.i:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connector.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connector.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.i:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Factory.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Factory.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.i:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.i:
+ UIPMC (Unreliable IP MultiCast) pluggable protocol
+ implementation.
+
+ * orbsvcs/tests/Miop/README:
+ README for MIOP tests. Currently just describes the
+ McastHello test.
+
+ * orbsvcs/tests/Miop/McastHello/Makefile:
+ * orbsvcs/tests/Miop/McastHello/Makefile.bor:
+ * orbsvcs/tests/Miop/McastHello/McastHello.cpp:
+ * orbsvcs/tests/Miop/McastHello/McastHello.dsw:
+ * orbsvcs/tests/Miop/McastHello/McastHello.h:
+ * orbsvcs/tests/Miop/McastHello/README:
+ * orbsvcs/tests/Miop/McastHello/Test.idl:
+ * orbsvcs/tests/Miop/McastHello/client.bor:
+ * orbsvcs/tests/Miop/McastHello/client.conf:
+ * orbsvcs/tests/Miop/McastHello/client.cpp:
+ * orbsvcs/tests/Miop/McastHello/client.dsp:
+ * orbsvcs/tests/Miop/McastHello/run_test.pl:
+ * orbsvcs/tests/Miop/McastHello/server.bor:
+ * orbsvcs/tests/Miop/McastHello/server.conf:
+ * orbsvcs/tests/Miop/McastHello/server.cpp:
+ * orbsvcs/tests/Miop/McastHello/server.dsp:
+ Added a simple unit test to try out multicast
+ request generation, transmission, reception,
+ and dispatch.
+
+ * tao/CORBALOC_Parser.cpp:
+ Added check to allow "miop" corbaloc specifiers.
+
+ * tao/GIOP_Message_Base.cpp:
+ Added call to request dispatcher to strategize how
+ requests are dispatched to the POA. For MIOP, a
+ request be identified by a GroupId and be dispatched
+ to one or more ObjectKeys.
+
+ * tao/GIOP_Message_Generator_Parser.cpp:
+ * tao/GIOP_Message_Generator_Parser.h:
+ * tao/GIOP_Message_Generator_Parser_10.cpp:
+ * tao/GIOP_Message_Generator_Parser_12.cpp:
+ Moved GIOP 1.2 target address spec demarshal code
+ to Tagged_Profile.*, so that the TAO_Tagged_Profile could
+ know what kind of addressing mode it was actually
+ representing. Previously, it was always assumed that
+ TAO_Tagged_Profile contained an object key. Now, with
+ MIOP, it is possible for requests to not have ObjectKeys
+ in their target specifiers. Instead, they have a profile
+ that has a GroupID embedded within it.
+
+ * tao/Tagged_Profile.cpp:
+ * tao/Tagged_Profile.h:
+ * tao/Tagged_Profile.i:
+ Added logic to unmarshal target specifications from
+ GIOP_Message_Generator_Parser*. Note that
+ TAO_Tagged_Profile is only used to handle the target
+ specification field and was specialized for this
+ purpose before this change - despite what it's name
+ may imply.
+
+ * tao/IIOP_Acceptor.cpp:
+ * tao/Strategies/DIOP_Acceptor.cpp:
+ * tao/Strategies/SHMIOP_Acceptor.cpp:
+ Fixed debug text to indicate the right method name.
+
+ * tao/Makefile:
+ Added Request_Dispatcher and updated dependencies.
+
+ * tao/Profile.cpp:
+ * tao/Profile.h:
+ * tao/Profile.i:
+ * tao/Stub.cpp
+ * tao/Stub.h
+ * tao/Stub.i
+ * tao/Invocation.cpp:
+ Changes to maintain the GIOP 1.2 target addressing mode
+ in the profile as opposed to the stub. This is the needed
+ since the target addressing mode is decided upon based on
+ the profile. For example, a UIPMC profile needs to use
+ the "profile" addressing mode, since it does not have an
+ object key. Additionally, if a remote ORB sends an
+ addressing mode exception back, it should only affect the
+ current profile as opposed to all profiles on a stub, since
+ those profiles might go to some other ORB.
+
+ * tao/ORB_Core.cpp:
+ * tao/ORB_Core.h:
+ * tao/ORB_Core.i:
+ Added request dispatcher strategy and hooks for the
+ PortableGroup library to replace functionality in the
+ PortableServer library.
+
+ * tao/Request_Dispatcher.cpp:
+ * tao/Request_Dispatcher.h:
+ Default request dispatcher to send requests to the POA
+ based on their ObjectKey. (Replaced when the
+ PortableGroup library is active.)
+
+ * tao/TAO.dsp:
+ Added Request_Dispatcher.{cpp,h}.
+
+ * tao/TAO_Server_Request.cpp:
+ Added missing this-> to conform to ACE standard.
+
+ * tao/orbconf.h:
+ Added MIOP version definitions.
+
+ * tao/PortableServer/POA.cpp:
+ * tao/PortableServer/POA.h:
+ Added methods to forward processing of the new group
+ functionality introduced by the MIOP specification.
+
+ * tao/PortableServer/PortableGroup_Hooks.cpp:
+ * tao/PortableServer/PortableGroup_Hooks.h:
+ Base class to implementing the PortableGroup functionality.
+
+ * tao/PortableServer/TAO_PortableServer.dsp:
+ Added PortableGroup_Hooks.{cpp,h}.
+
+ * tao/BiDir_GIOP/Makefile:
+ * tao/Domain/Makefile:
+ * tao/DynamicAny/Makefile:
+ * tao/DynamicInterface/Makefile:
+ * tao/IFR_Client/Makefile:
+ * tao/IORManipulation/Makefile:
+ * tao/IORTable/Makefile:
+ * tao/PortableServer/Makefile:
+ * tao/RTCORBA/Makefile:
+ * tao/RTPortableServer/Makefile:
+ * tao/SmartProxies/Makefile:
+ * tao/Strategies/Makefile:
+ * tao/TypeCodeFactory/Makefile:
+ Regenerated dependencies.
+
+ * tao/PortableServer/PortableServer.pidl:
+ * tao/PortableServer/PortableServerC.cpp:
+ * tao/PortableServer/PortableServerC.h:
+ * tao/PortableServer/PortableServerC.i:
+ * tao/diffs/PortableServerC.cpp.diff:
+ * tao/diffs/PortableServerC.h.diff:
+ * tao/diffs/PortableServerC.i.diff:
+ Updated the POA with the group reference association
+ methods introduced by the MIOP specification.
+
+Sun Jan 13 10:52:03 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * orbsvcs/tests/FaultTolerance/IOGManpulation/Makefile: Updated
+ dependencies.
+ * orbsvcs/tests/FaultTolerance/IOGManpulation/IOGRTest.cpp: Fixed
+ a compilation error.
+
+Sun Jan 13 10:33:18 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/Makefile: Added an FTORB option.
+ * orbsvcs/tests/FaultTolerance/IOGR/Makefile: Updated
+ dependencies.
+
+Sun Jan 13 09:35:31 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * TAOACE_Static.dsw (Project): Added FT_ORB.dsp.
+
+Sun Jan 13 09:03:25 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * tests/Two_Objects/worker.h:
+ * tests/Two_Objects/server.cpp:
+ Fixed compile errors on SunCC51.
+
+Sat Jan 12 21:45:31 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/FT_ORB.dsp (RSC): Added a new dsp file
+ * orbsvcs/orbsvcs/Fault_Tolerance.dsp: Made some slight changes.
+
+ * orbsvcs/orbsvcs/orbsvcs.dsw:
+ * orbsvcs/orbsvcs/orbsvcs_static.dsw: Added the new dsp file to
+ the workspace.
+
+Sat Jan 12 21:14:31 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/FT_CORBA_ORB.idl: A new file that contains
+ additions only to the ORB core. This would be good for a variety
+ of reasons. Some point in time, users would like to have only
+ the FT ORB features loaded without the service layer. This
+ should be useful for such cases. An excellent example is when
+ the Heartbeats are going to be implemented. Regular users may
+ need that without any extra stuff, like Notification, DynamicAny
+ etc.
+
+ * orbsvcs/orbsvcs/FT_CORBA.idl: Has only the service layer
+ interfaces.
+
+ * orbsvcs/orbsvcs/Makefile.FTORB: A new file for the TAO_FTORB
+ library.
+
+ * orbsvcs/orbsvcs/Makefile.FaultTolerance: Updated this file.
+
+ * orbsvcs/orbsvcs/Makefile: Added the new Makefile.
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.h: Included
+ FT_CORBA_ORBC.h.
+
+ * orbsvcs/tests/FaultTolerance/IOGR/Makefile:
+ * orbsvcs/tests/FaultTolerance/IOGRManipulation/Makefile: Updated
+ the file to include the TAO_FTORB library.
+
+ * orbsvcs/tests/FaultTolerance/IOGR/svc.conf: Used the new library
+ to load.
+
+Sat Jan 12 10:46:47 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * tests/Two_Objects/worker.h:
+ Fixed compile error on Fuzz builds.
+
+Sat Jan 12 09:46:00 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * tests/Two_Objects/server.cpp:
+ * tests/Two_Objects/First_i.cpp:
+ * tests/Two_Objects/Second_i.cpp:
+ * tests/Two_Objects/Second_i.h:
+ * tests/Two_Objects/Object_Factory_i.cpp:
+ Fixed compile errors on certain builds.
+
+Sat Jan 12 13:06:12 2002 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Makefile.bor:
+ Added new Two_Obects directory to BCB makefile
+
+Fri Jan 11 17:36:22 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tao/orbconf.h: Removed the #if defined clause for the
+ TAO_NAMESPACE definition. Now TAO_NAMESPACE will define
+ namespace by default with no conditionality associated. The
+ macro has been left behind for backward compatibility. This
+ shoudl fix the LynxOS builds.
+
+Fri Jan 11 12:28:48 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * orbsvcs/tests/Security/Makefile (DIRS):
+ Added MT_SSLIOP to DIRS section.
+
+Fri Jan 11 07:50:41 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * orbsvcs/performance-tests/EC_Colocated_Latency/POA_Destroyer.h:
+ Fixed some Fuzz warnings.
+
+Fri Jan 11 09:53:41 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * tests/Makefile:
+ Added entry for Two_Objects test.
+
+Thu Jan 10 17:43:22 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * orbsvcs/orbsvcs/Makefile.RTCORBAEvent:
+ * orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.h:
+ * orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.inl:
+ * orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.cpp:
+ * orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.h:
+ * orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.inl:
+ * orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.cpp:
+ Add new dispatching strategy based on RT-CORBA. Still
+ work-in-progress.
+
+ * orbsvcs/performance-tests/EC_Colocated_Latency/Makefile:
+ * orbsvcs/performance-tests/EC_Colocated_Latency/Consumer.h:
+ * orbsvcs/performance-tests/EC_Colocated_Latency/Consumer.cpp:
+ * orbsvcs/performance-tests/EC_Colocated_Latency/POA_Destroyer.h:
+ * orbsvcs/performance-tests/EC_Colocated_Latency/POA_Destroyer.inl:
+ * orbsvcs/performance-tests/EC_Colocated_Latency/POA_Destroyer.cpp:
+ * orbsvcs/performance-tests/EC_Colocated_Latency/Receive_Task.h:
+ * orbsvcs/performance-tests/EC_Colocated_Latency/Receive_Task.cpp:
+ * orbsvcs/performance-tests/EC_Colocated_Latency/Send_Task.h:
+ * orbsvcs/performance-tests/EC_Colocated_Latency/Send_Task.cpp:
+ * orbsvcs/performance-tests/EC_Colocated_Latency/Servant_var.h:
+ * orbsvcs/performance-tests/EC_Colocated_Latency/Servant_var.inl:
+ * orbsvcs/performance-tests/EC_Colocated_Latency/Servant_var.cpp:
+ * orbsvcs/performance-tests/EC_Colocated_Latency/Supplier.h:
+ * orbsvcs/performance-tests/EC_Colocated_Latency/Supplier.cpp:
+ * orbsvcs/performance-tests/EC_Colocated_Latency/driver.cpp:
+ * orbsvcs/performance-tests/EC_Colocated_Latency/ec.supplier_filter_null.conf:
+ * orbsvcs/performance-tests/EC_Colocated_Latency/ec.supplier_filter_per_supplier.conf:
+ * orbsvcs/performance-tests/EC_Colocated_Latency/run_supplier_filtering.sh:
+ Add new performance test to measure latency in the colocated
+ case.
+
+Thu Jan 10 12:48:02 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * tests/Two_Objects/worker.cpp:
+ * tests/Two_Objects/worker.h:
+
+ Fixed compile errors.
+
+Thu Jan 10 12:13:28 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * tests/Two_Objects/Two_Objects.idl:
+ * tests/Two_Objects/server.cpp:
+ * tests/Two_Objects/client.cpp:
+ * tests/Two_Objects/worker.h:
+ * tests/Two_Objects/worker.cpp:
+ * tests/Two_Objects/First_i.cpp:
+ * tests/Two_Objects/First_i.h:
+ * tests/Two_Objects/Second_i.cpp:
+ * tests/Two_Objects/Second_i.h:
+ * tests/Two_Objects/Object_Factory_i.h:
+ * tests/Two_Objects/Object_Factory_i.cpp:
+ * tests/Two_Objects/Two_Objects.dsw:
+ * tests/Two_Objects/server.dsp:
+ * tests/Two_Objects/client.dsp:
+ * tests/Two_Objects/run_test.pl:
+ * tests/Two_Objects/Makefile:
+ * tests/Two_Objects/Makefile.bor:
+ * tests/Two_Objects/server.bor:
+ * tests/Two_Objects/client.bor:
+ * tests/Two_Objects/README:
+
+ Created a new test for bug fix 575. This is a test to show
+ that there can be concurrent upcalls to two objects in the
+ same POA on the same connection.
+
+Thu Jan 10 11:53:22 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tao/GIOP.pidl: Added come comments.
+ * tao/GIOPC.h:
+ * tao/GIOPC.cpp:
+ * tao/GIOPC.i (Version_var): Added GIOP::Version_var to the
+ generated code.
+
+ * tao/diffs/GIOPC.cpp.diff:
+ * tao/diffs/GIOPC.h.diff:
+ * tao/diffs/GIOPC.i.diff:
+ * tao/diffs/GIOPS.cpp.diff:
+ * tao/diffs/GIOPS.h.diff:
+ * tao/diffs/GIOPS.i.diff:
+ * tao/diffs/GIOPS_T.cpp.diff:
+ * tao/diffs/GIOPS_T.h.diff:
+ * tao/diffs/GIOPS_T.i.diff: Added diffs to the generated code.
+
+
+Wed Jan 9 18:07:55 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TO_IDL/fe/fe_init.cpp (populate_global_scope):
+
+ Removed the guards around the calls related to valuetypes.
+
+Wed Jan 9 11:35:58 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/ORB_Core.cpp (init):
+
+ Removed last remnants of the long deprecated -ORBSetUID and
+ -ORBSetGID ORB options.
+
+Wed Jan 9 13:36:14 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/be/be_decl.cpp:
+
+ Changed the order of member initialization to match the
+ order of declaration.
+
+Wed Jan 9 11:39:02 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/be/be_visitor_array/cdr_op_ci.cpp:
+ * TAO_IDL/be/be_visitor_sequence/cdr_op_ci.cpp:
+
+ Added declaration of CDR operators for anonymous sequence
+ array element to the stub inline file. When ACE_INLINE is
+ defined, the declarations of these in the header file is
+ not included.
+
+Wed Jan 9 08:46:58 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * docs/Options.html: Clarified the use of the
+ -ORBDottedDecimalAddresses option. Thanks to Michael Gillmann
+ <michael.gillmann@infor.de> for motivating this.
+
+Tue Jan 8 16:20:37 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp:
+ * TAO_IDL/be/be_visitor_typecode/typecode_decl.cpp:
+
+ Added '::' to instances of 'CORBA::TypeCode_ptr' in
+ type code generation. If there is a nested module
+ named 'CORBA', MSVC gets confused. Thanks to
+ Tom Howard <tom_howard@yahoo.com> for pointing out
+ the problem.
+
+Tue Jan 8 14:52:46 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/ast/ast_typedef.cpp:
+ * TAO_IDL/be/be_array.cpp:
+ * TAO_IDL/be/be_sequence.cpp:
+ * TAO_IDL/be/be_type.cpp:
+ * TAO_IDL/be/be_typedef.cpp:
+
+ Added explicit calls to base class constructors.
+
+ * TAO_IDL/be/be_decl.cpp:
+
+ Added explicit calls to base class constructors, and
+ added missing member initialization.
+
+ * TAO_IDL/be/be_visitor_array/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_array/cdr_op_ci.cpp:
+ * TAO_IDL/be/be_visitor_typedef/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_typedef/cdr_op_ci.cpp:
+
+ Changed the logic for generating CDR operators for
+ named arrays of anonymous sequences. Some recent
+ change broke this, and it was showing up in IDL_Test.
+ Also made cosmetic changes.
+
+ * TAO_IDL/be/be_visitor_sequence/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_typedef/any_op_ch.cpp:
+
+ Added line breaks to strings of output stream operators,
+ to avoid side effects when a method call is in the string.
+ Also made cosmetic changes.
+
+ * TAO_IDL/be/be_visitor_interface/interface_ch.cpp:
+ * TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ch.cpp:
+
+ Changed the logic of the code generation for forward
+ declared interfaces. The existing logic was a case of two
+ wrongs making a right, and was causing a problem with the
+ implementation of AMH in the IDL compiler. Thanks to
+ Carlos O'Ryan <coryan@uci.edu> and Mayur Deshpande
+ <mayur@ics.uci.edu> for pointing out the problem.
+
+Mon Jan 7 10:27:43 2002 Chad Elliott <elliott_c@ociweb.com>
+
+ * tao/PortableServer/PolicyS_T.i:
+
+ Corrected an invalid ENV parameter macro name. This was detected
+ as an error on HP-UX. Thanks to Rob Martin <martin_r@ociweb.com>
+ for pointing this out.
+
+Sun Jan 6 13:18:43 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/be/be_operation_strategy.cpp:
+
+ Removed an unused argument, and made cosmetic changes.
+
+Sun Jan 6 09:45:24 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * examples/Advanced/ch_8_and_10/client.cpp (main):
+ Added some casts to make certain C++ compilers happy.
+ Thanks to Roy Sharon <roysharon@hotmail.com> for
+ reporting this.
+
+Sat Jan 5 21:31:43 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * TAO_IDL/be_include/be_visitor_amh_pre_proc.h:
+ * TAO_IDL/be/be_visitor_amh_pre_proc.cpp:
+
+ Added code to generate the Client side abstract RH class and the
+ skeleton RH class. For the above two interfaces, there should be
+ no classes generated on teh 'other side' i.e. for the client RH
+ interface node, there should be no class generatd in the
+ skeleton files. Currently there are a few problems with this
+ and with the exact names and inheritance of the generated
+ classes.
+
+Sat Jan 5 18:27:59 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * TAO_IDL/be_include/be_visitor_operation/amh_ss.h:
+ * TAO_IDL/be/be_visitor_operation/amh_ss.cpp:
+
+ Added code to generate the skeleton-source code for AMH-skelton
+ operation. The amh-method differs from the original method in
+ the following ways:
+ - Return type is always void
+ - IN and INOUT parameters _only_ are de-marshalled
+ One part left to be done is the creation and instantiation of
+ the RH inside the generated method body.
+
+Sat Jan 5 18:15:34 2002 Mayur Deshpande <mayur@ics.uci.edu>
+
+ * TAO_IDL/be/be_visitor_interface/interface.cpp:
+
+ Added actions for all the AMH states (including amh_rh).
+ Previously some of them returned 0 or just didn't do anything.
+
+ * TAO_IDL/be/be_visitor_interface/interface_ss.cpp:
+
+ Removed all the code from the visit_interface that generates
+ code for the this_method and put it into a seperate method
+ called this_method. This method already existed but for some
+ reason a part of the code was left in the visit_interface
+ method. With this in place, the AMH class can now implement all
+ the changes that are needed in the _this () method.
+
+ * TAO_IDL/be/be_visitor_interface/amh_ss.cpp:
+
+ - Changed the this_method(). This method now generates all the
+ code for the _this() method in amh-skeleton. Changes include a
+ narrow of original interface rather than teh AMH-skeleton narrow
+ and commenting of the generation of the safe_stub.release()
+ line. - Changed the dispath_method () so that it now generates
+ a call to asynchronous_upcall_dispatch rather than
+ synchronous_upcall_dispatch as is generated for a normal
+ skeleton.
+
+Sat Jan 5 20:39:25 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/IIOP_Connection_Handler.cpp (handle_input, handle_output):
+
+ Reverted my change that avoided a function call. Bala correctly
+ points out that the handled passed in as a parameter may be an
+ invalid handle if the event handler is dispatched by the
+ reactor's notification mechanism. Not bueno.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp
+ (handle_input, handle_output):
+
+ Likewise.
+
+Sat Jan 5 20:00:21 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/Connection_Handler.inl (TAO_Connection_Handler):
+
+ Initialize "pending_upcalls_" and "pending_upcall_lock_" in the
+ base member initializer list. Although this constructor is not
+ used, it is best to ensure that proper initialization is
+ performed in the event this constructor is used in the future.
+
+Sat Jan 5 19:30:08 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/orbconf.h:
+
+ Include "ace/Basic_Types.h" to pull in the definition of
+ ACE_LITTLE_ENDIAN.
+
+Sat Jan 5 17:54:27 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/LF_Strategy.h:
+
+ No need to include "tao/orbconf.h." Forward declaring
+ ACE_Time_Value is enough.
+
+ * tao/orbconf.h:
+
+ Instead of "ace/OS.h", include "ace/config-all.h". The latter
+ is all that is needed. This change should improve compile times
+ since "config-all.h" does not include the large number of system
+ headers found in "OS.h," which provides for improved C++
+ preprocessing times in TAO.
+
+ (TAO_DEFAULT_ORB_TABLE_SIZE):
+
+ New constant that is used when setting the initial size of the
+ ORB table. Previously a default of 1024 was used. However,
+ most applications rarely use more than one ORB, meaning that
+ an ORB table size of 1024 is overkill. The default is now 16.
+ This size should be more than adequate for the majority of
+ applications.
+
+ (MCAST_SERVICE_ID, NO_OF_MCAST_SERVICES):
+
+ Prepend "TAO_" to these macros to avoid polluting the global
+ namespace.
+
+ * tao/ORB.h (resolve_service):
+ * tao/ORB.cpp (resolve_service):
+ * tao/params.h (service_port):
+ * tao/params.i (service_port):
+ * tao/params.cpp (TAO_ORB_Parameters):
+
+ Changed the parameter type "MCAST_SERVICEID" to
+ "TAO_MCAST_SERVICEID," in accordance with the changes made to
+ `orbconf.h' described above.
+
+ * tao/ORB_Table.cpp (TAO_ORB_Table):
+
+ Initialize the underlying hash map (the ORB table) to a size of
+ TAO_DEFAULT_ORB_TABLE_SIZE. This change reduces the default ORB
+ table size from 1024 to 16 (TAO_DEFAULT_ORB_TABLE_SIZE), thus
+ greatly reducing the initial ORB table memory utilization.
+
+ * tao/IIOP_Connection_Handler.cpp (handle_input, handle_output):
+
+ No need to make a function call to retrieve the handle. Just
+ use the handle parameter passed in to the method.
+
+Sat Jan 5 15:04:46 2002 Craig Rodrigues <crodrigu@bbn.com>
+
+ * orbsvcs/orbsvcs/AV/Fill_ACE_QoS.h: Fix comments.
+
+ * orbsvcs/performance-tests/EC_Federated_Scalability/Makefile:
+ * orbsvcs/performance-tests/EC_Scalability/Makefile:
+ * orbsvcs/performance-tests/EC_Federated_Latency/Makefile:
+ * orbsvcs/performance-tests/EC_Latency/Makefile:
+
+ Only build these tests if RTEvent is set in TAO_ORBSVCS.
+
+Fri Jan 4 17:30:21 2002 Jaiganesh Balasubramanian <jai@kelvar.ece.uci.edu>
+
+ * docs/tutorials/Quoter/RT_Event_Service/index.html:
+ Corrected some broken links. The errors were pointed out thanks
+ to Eric Peters <egpeters@u.washington.edu>.
+
+Fri Jan 4 19:02:41 2002 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ChangeLogs/ChangeLog-01c: A new file after splitting from this
+ one.
+
+Fri Jan 4 18:28:44 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/be/be_decl.cpp:
+ * TAO_IDL/be_include/be_decl.h:
+
+ Removed compute_repoID(), the version that is always
+ called in in the base class AST_Decl. Thanks to
+ Brian Olson <bolson@rtlogic.com> for pointing out
+ that the be_decl version was not doing the version
+ part of the string correctly.
+
+Fri Jan 4 16:30:04 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * tao/DynamicAny/DynCommon.cpp (insert_reference):
+
+ Since the argument is passed in as a CORBA::Object_ptr,
+ and ultimately inserted into the member Any with the
+ non-virtual operator <<=, then
+ dyn_any->to_any()->type ()->id() would always yield
+ "IDL:CORBA/Object:1.0", no matter what
+ dyn_any->type()->id() yields. So the insertion into
+ the memeber Any has been changed to use _tao_replace(),
+ and passing in the dyn_any's type code, which is
+ always of the derived type. Thanks to Mahesh Vedantam
+ <mahesh@ociweb.com> for reporting the problem.
+
+Fri Jan 4 15:21:33 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * orbsvcs/IFR_Service/ifr_visitor.cpp (visit_factory):
+
+ Removed an unused argument.
+
+ * TAO_IDL/fe/fe_tmplinst.cpp:
+
+ Removed explicit instantiation of ACE_Node<char *>, since
+ it already appears in ACE.
+
+ * TAO_IDL/fe/lex.yy.cpp:
+
+ Changed isspace() to ACE_OS::ace_isspace().
+
+ * TAO_IDL/be/be_interface_strategy.cpp (compute_coll_names):
+
+ Changed a local const char[] to static const char*. The
+ string "POA_" is assigned to this constant, and there
+ has been a long-standing intermittent problem with
+ garbage being generated in place of the string. Although
+ the problem has never been duplicated by the DOC Group,
+ Sorin Iordachescu <sorin.iordachescu@am-beo.com> has
+ produced it repeated and has suggested the above fix.
+
+ * TAO_IDL/util/utl_err.cpp:
+
+ Removed all use of ACE_TEXT from methods that return char*.
+ When compilation is done with ACE_USES_WCHAR, the return
+ type is incorrect. Thanks to Johnny Willemsen
+ <johnny_willemsen@planet.nl> for reporting the problem.
+
+Fri Jan 4 14:32:43 2002 Craig Rodrigues <crodrigu@bbn.com>
+
+ * orbsvcs/orbsvcs/AV/Fill_QoS.h: Add #include <ace/OS_QoS.h>.
+
+Thu Jan 3 07:18:22 2002 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * orbsvcs/LifeCycle_Service/LifeCycle_Service.bor:
+ Added library required for a statically linked build.
+
+ * orbsvcs/Notify_Service/NT_Notify_Service.bor:
+ * orbsvcs/Notify_Service/Notify_Service.bor:
+ Reverted the changes made to these files in
+ Sun Dec 30 20:30:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+ as the trading library is required for a static build.
+
+ * orbsvcs/orbsvcs/*.bor:
+ * orbsvcs/orbsvcs/Security.rc:
+ * tao/*/Makefile.bor:
+ * tao/*/*.rc:
+ Added Borland makefile support for the new resource files.
+
+Wed Jan 2 20:48:36 2002 Douglas C. Schmidt <schmidt@siesta.cs.wustl.edu>
+
+ * TAO-INSTALL.html: Fixed a couple of missing links. Thanks to
+ Patrick Cosmo <Patrick@incognito.com> for reporting this.
+
+Wed Jan 2 18:00:43 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/fe/lex.yy.cpp:
+
+ Changed an instance of != ' ' to !isspace.
+
+Wed Jan 2 15:57:52 2002 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * orbsvcs/orbsvcs/Naming/Naming_Context_Interface.cpp (to_url):
+ The to_url method should actually be returning a corbaname type
+ URL instead of the corbaloc style URL. According to the
+ INS specification, the method should return a fully formed URL
+ along with the key_string and corbaname format is the one that
+ can have the key_string in it.
+
+ Moved the pointer to the end of the dest string before
+ concatenating something to it. Previously, it was returning only
+ escaped key_string.
+
+ * orbsvcs/tests/Interoperable_Naming/ncontextext_client_i.cpp :
+ Modified the string that is passed to the to_url method to have
+ a ':' before the dummy address. Now, its in one of the correct
+ syntaxes.
+
+ Thanks to Scott Harris <harris_s@ociweb.com> for reporting all
+ these.
+
+Wed Jan 02 15:25:53 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * tao/ValueFactory.h: Removed the non-standard tao extension
+ repository_id(). According to the spec, for valuetypes without
+ a factory method, the developer supplied ValueFactory class
+ should inherit from CORBA::ValueFactoryBase directly.
+ Therefore, we can no longer generate this repository_id() method
+ in the IDL compiler.
+
+ Changed the TAO_OBV_REGISTER_FACTORY to take the type of
+ valuetype it handles as an extra parameter. The macro will
+ simply use the non-standard TAO extension to stick in the
+ repository_id for the valuetype. This may not be the correct
+ way to get the repository_id for a valuetype as it is not clear
+ to me how one can get it.
+
+ * examples/OBV/Typed_Events/Event_Types_impl.h: Changed to inherit
+ valuetype factories from CORBA::ValueFactoryBase.
+
+ * examples/OBV/Typed_Events/Server_i.cpp:
+ * examples/OBV/Typed_Events/Client_i.cpp: Added type of valuetype
+ when registering factory with the TAO_OBV_REGISTER_FACTORY
+ macro.
+
+Wed Jan 2 15:27:57 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/be/be_valuetype.cpp:
+
+ Added some missing ACE_INLINEs to the _var and _out class
+ method implementation code generation.
+
+Wed Jan 2 12:02:35 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/fe/lex.yy.cpp (idl_valid_version):
+
+ Had to add a check for trailing whitespace. SunCC's
+ preprocessor leaves it in, it seems, and this was
+ leading to version strings being falsely invalidated.
+
+Wed Jan 2 10:22:59 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/be/be_visitor_typedef/typedef_ci.cpp (visit_array):
+
+ Made changes that were overlooked in
+
+ Fri Dec 28 15:41:18 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ that correspond to changes made in typedef_ch.cpp.
+
+ * TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp (visit_array):
+
+ Cosmetic changes.
+
+Wed Jan 2 09:41:03 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * orbsvvcs/IFR_Service/drv_init_ifr.cpp:
+ * orbsvvcs/IFR_Service/ifr_adding_visitor.cpp:
+ * orbsvvcs/IFR_Service/ifr_adding_visitor.h:
+ * orbsvvcs/IFR_Service/ifr_adding_visitor_exception.cpp:
+ * orbsvvcs/IFR_Service/ifr_adding_visitor_operation.cpp:
+ * orbsvvcs/IFR_Service/ifr_adding_visitor_structure.cpp:
+ * orbsvvcs/IFR_Service/ifr_adding_visitor_union.cpp:
+ * orbsvvcs/IFR_Service/ifr_visitor.cpp:
+ * orbsvvcs/IFR_Service/ifr_visitor.h:
+
+ Changes related to corresponding changes in the TAO IDL
+ compiler regarding value types and #pragma prefix.
+
+Tue Jan 1 17:40:23 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * orbsvcs/orbsvcs/AV/AVStreams_i.h:
+ * orbsvcs/orbsvcs/AV/AVStreams_i.cpp:
+ Remove dummy copy constructor, that should clear some of the
+ builds.
+
+Tue Jan 1 09:38:58 2002 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * examples/RTCORBA/Activity/Activity.cpp:
+ examples/RTCORBA/Activity/Builder.cpp:
+ Fixed compile errors.
diff --git a/TAO/Makefile.bor b/TAO/Makefile.bor
new file mode 100644
index 00000000000..152b2a4826b
--- /dev/null
+++ b/TAO/Makefile.bor
@@ -0,0 +1,54 @@
+#
+# Makefile for building ACE and TAO
+#
+
+!ifndef BUILD
+BUILD = typical
+!endif
+
+!if $(BUILD) == minimal
+
+DIRS = \
+ ..\ace \
+ ..\apps\gperf\src \
+ ..\XML \
+ tao \
+ TAO_IDL \
+ orbsvcs
+
+!elif $(BUILD) == typical
+
+DIRS = \
+ ..\ace \
+ ..\apps\gperf\src \
+ ..\XML \
+ tao \
+ TAO_IDL \
+ orbsvcs \
+ utils
+
+!elif $(BUILD) == all
+
+DIRS = \
+ ..\ace \
+ ..\apps \
+ ..\netsvcs \
+ ..\tests \
+ ..\examples \
+ ..\performance-tests \
+ ..\XML \
+ ..\XML\tests \
+ tao \
+ TAO_IDL \
+ orbsvcs \
+ examples \
+ tests \
+ performance-tests \
+ orbsvcs\tests \
+ utils
+
+!else
+!error Please set your BUILD variable to one of "minimal", "typical" or "all".
+!endif
+
+!include <$(ACE_ROOT)\include\makeinclude\recurse.bor>
diff --git a/TAO/TAOACE.dsw b/TAO/TAOACE.dsw
new file mode 100644
index 00000000000..21127c9de88
--- /dev/null
+++ b/TAO/TAOACE.dsw
@@ -0,0 +1,1115 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ACE DLL"=..\ace\ace_dll.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "ACE_SSL"=..\ace\SSL\ACE_SSL.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "AV"=.\orbsvcs\orbsvcs\AV.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosProperty
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosTrading
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name IORTable
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "BiDirGIOP"=.\tao\BiDir_GIOP\TAO_BiDir_GIOP.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Concurrency_Service"=.\orbsvcs\Concurrency_Service\Concurrency_Service.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosConcurrency
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosConcurrency"=.\orbsvcs\orbsvcs\CosConcurrency.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosEvent"=.\orbsvcs\orbsvcs\CosEvent.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosEvent_Service"=.\orbsvcs\CosEvent_Service\CosEvent_Service.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosEvent
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosLifeCycle"=.\orbsvcs\orbsvcs\CosLifeCycle.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosNaming"=.\orbsvcs\orbsvcs\CosNaming.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name Svc Utils
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name IORTable
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosNotification"=.\orbsvcs\orbsvcs\CosNotification.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosEvent
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name ETCL DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name DynamicAny
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosProperty"=.\orbsvcs\orbsvcs\CosProperty.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name gperf
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosTime"=.\orbsvcs\orbsvcs\CosTime.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosTrading"=.\orbsvcs\orbsvcs\CosTrading.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name DynamicAny
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Domain"=.\tao\Domain\TAO_Domain.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name IFR_Client
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "DsLogAdmin"=.\orbsvcs\orbsvcs\DsLogAdmin.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosTrading
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc Utils
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Dump_Schedule"=.\orbsvcs\Dump_Schedule\Dump_Schedule.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTOLDEvent
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTSched
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "DynamicAny"=.\tao\DynamicAny\TAO_DynamicAny.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "DynamicInterface"=.\tao\DynamicInterface\TAO_DynamicInterface.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "ETCL DLL"=.\orbsvcs\orbsvcs\ETCL\ETCL.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Event_Service"=.\orbsvcs\Event_Service\Event_Service.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTEvent
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTOLDEvent
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTSched
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTSchedEvent
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "FT ORB"=.\orbsvcs\orbsvcs\FT_ORB.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name IORManip
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Fault Tolerance"=.\orbsvcs\orbsvcs\Fault_Tolerance.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name FT ORB
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosEvent
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNotification
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name IORManip
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc Utils
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "IFR_Client"=.\tao\IFR_Client\TAO_IFR_Client.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "IFR_Service"=.\orbsvcs\IFR_Service\IFR_Service.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name Svc Utils
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name IORTable
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TypeCodeFactory
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "IORManip"=.\tao\IORManipulation\TAO_IORManip.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "IORTable"=.\tao\IORTable\TAO_IORTable.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "ImplRepo_Service"=.\orbsvcs\ImplRepo_Service\implrepo.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc Utils
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name IORTable
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name DynamicInterface
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "LifeCycle_Service"=.\orbsvcs\LifeCycle_Service\LifeCycle_Service.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosLifeCycle
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosTrading
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "LoadBalancing"=.\orbsvcs\orbsvcs\LoadBalancing.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "NT_Naming_Service"=.\orbsvcs\Naming_Service\NT_Naming_Service.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Naming_Service"=.\orbsvcs\Naming_Service\Naming_Service.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Notify_Service"=.\orbsvcs\Notify_Service\Notify_Service.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNotification
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "PortableGroup"=.\orbsvcs\orbsvcs\PortableGroup.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "PortableServer"=.\tao\PortableServer\TAO_PortableServer.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTCORBA"=.\tao\RTCORBA\TAO_RTCORBA.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTEvent"=.\orbsvcs\orbsvcs\RTEvent.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc Utils
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTSched
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTOLDEvent"=.\orbsvcs\orbsvcs\RTOLDEvent.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTEvent
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTSched
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTPortableServer"=.\tao\RTPortableServer\TAO_RTPortableServer.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTCORBA
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTSched"=.\orbsvcs\orbsvcs\RTSched.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc Utils
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTSchedEvent"=.\orbsvcs\orbsvcs\RTSchedEvent.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTEvent
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTSched
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "SSLIOP"=.\orbsvcs\orbsvcs\SSLIOP.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE_SSL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Security
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Scheduling_Service"=.\orbsvcs\Scheduling_Service\Scheduling_Service.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTSched
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Security"=.\orbsvcs\orbsvcs\Security.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "SmartProxies"=.\tao\SmartProxies\SmartProxies.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Svc Utils"=.\orbsvcs\orbsvcs\Svc_Utils.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO DLL"=.\tao\TAO.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO_IDL Compiler"=.\TAO_IDL\tao_idl.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL_BE_DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL_FE_DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO_IDL_BE_DLL"=.\TAO_IDL\TAO_IDL_BE_DLL.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL_FE_DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO_IDL_FE_DLL"=.\TAO_IDL\TAO_IDL_FE_DLL.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name gperf
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO_IFR_BE_DLL"=.\orbsvcs\IFR_Service\TAO_IFR_BE_DLL.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name IFR_Service
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL_FE_DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO_Strategies"=.\tao\Strategies\TAO_Strategies.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Trading_Service"=.\orbsvcs\Trading_Service\Trading_Service.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosTrading
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc Utils
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TypeCodeFactory"=.\tao\TypeCodeFactory\TypeCodeFactory.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name IFR_Client
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "gperf"=..\apps\gperf\src\gperf.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name gperf_lib
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name ACE DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "tao_ifr"=.\orbsvcs\IFR_Service\tao_ifr.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL_FE_DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IFR_BE_DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "tao_imr"=.\orbsvcs\ImplRepo_Service\tao_imr.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/TAO/TAOACE_Static.dsw b/TAO/TAOACE_Static.dsw
new file mode 100644
index 00000000000..a19365f7e79
--- /dev/null
+++ b/TAO/TAOACE_Static.dsw
@@ -0,0 +1,686 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ACE LIB"=..\ace\ace_lib.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "AV_Static"=.\orbsvcs\orbsvcs\AV_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosProperty_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc_Utils_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosConcurrency_Static"=.\orbsvcs\orbsvcs\CosConcurrency_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosEvent_Static"=.\orbsvcs\orbsvcs\CosEvent_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosLifeCycle_Static"=.\orbsvcs\orbsvcs\CosLifeCycle_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosNaming_Static"=.\orbsvcs\orbsvcs\CosNaming_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name IORTable_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc_Utils_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosNotification_Static"=.\orbsvcs\orbsvcs\CosNotification_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosEvent_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc_Utils_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name ETCL_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosProperty_Static"=.\orbsvcs\orbsvcs\CosProperty_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosTime_Static"=.\orbsvcs\orbsvcs\CosTime_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc_Utils_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosTrading_Static"=.\orbsvcs\orbsvcs\CosTrading_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Domain_static"=.\tao\Domain\TAO_Domain_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name IFR_Client_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "DsLogAdmin_Static"=.\orbsvcs\orbsvcs\DsLogAdmin_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosTrading_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "DynamicInterface_Static"=.\TAO\DYNAMICINTERFACE\TAO_DynamicInterface_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "ETCL_Static"=.\orbsvcs\orbsvcs\ETCL\ETCL_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Event_Service_static"=.\orbsvcs\Event_Service\Event_Service_static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "IFR_Client_Static"=.\tao\IFR_Client\TAO_IFR_Client_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "IORManip_Static"=.\tao\IORManipulation\TAO_IORManip_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "IORTable_Static"=.\tao\IORTable\TAO_IORTable_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "LoadBalancing_Static"=.\orbsvcs\orbsvcs\LoadBalancing_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Naming Service Static"=.\orbsvcs\Naming_Service\Naming_Server_static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE LIB
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name gperf
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc_Utils_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name IORTable_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "PortableServer_Static"=.\tao\PortableServer\TAO_PortableServer_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTCORBA_Static"=.\tao\RTCORBA\TAO_RTCORBA_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTEvent_Static"=.\orbsvcs\orbsvcs\RTEvent_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc_Utils_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTOLDEvent_Static"=.\orbsvcs\orbsvcs\RTOLDEvent_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTEvent_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTSched_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTPortableServer_Static"=.\tao\RTPortableServer\TAO_RTPortableServer_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTCORBA_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTSchedEvent_Static"=.\orbsvcs\orbsvcs\RTSchedEvent_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTEvent_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTSched_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc_Utils_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTSched_Static"=.\orbsvcs\orbsvcs\RTSched_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc_Utils_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "SmartProxies_Static"=.\tao\SmartProxies\SmartProxies_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Svc_Utils_Static"=.\orbsvcs\orbsvcs\Svc_Utils_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO LIB"=.\tao\TAO_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO_IDL Compiler Static"=.\TAO_IDL\tao_idl_static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL_BE_LIB
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL_FE_LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO_IDL_BE_LIB"=.\TAO_IDL\TAO_IDL_BE_LIB.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL_FE_LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO_IDL_FE_LIB"=.\TAO_IDL\TAO_IDL_FE_LIB.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE LIB
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name gperf
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO_Strategies_Static"=.\tao\Strategies\TAO_Strategies_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TypeCodeFactory_Static"=.\tao\TypeCodeFactory\TypeCodeFactory_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name IFR_Client_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "gperf"=..\apps\gperf\src\gperf.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE LIB
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name gperf_lib
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/TAO/rules.tao.GNU b/TAO/rules.tao.GNU
new file mode 100644
index 00000000000..5f3716eede8
--- /dev/null
+++ b/TAO/rules.tao.GNU
@@ -0,0 +1,244 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+# Common Makefile rules for all of TAO
+#
+#----------------------------------------------------------------------------
+
+####
+#### Required macros for TAO.
+####
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+
+ifndef TAO_IDL
+ TAO_IDL = $(TAO_ROOT)/TAO_IDL/tao_idl
+endif
+
+TAO_IDL_DEP = $(TAO_IDL)$(EXEEXT)
+
+ifndef COMSPEC
+ ifdef ComSpec
+ #### ACE+TAO use COMSPEC, but ComSpec is defined.
+ COMSPEC = $(ComSpec)
+ endif # ComSpec
+endif # ! COMPSPEC
+
+ifdef COMSPEC
+ #### Assume we're on a WIN32 host.
+ ifndef TAO_IDL_PREPROCESSOR
+ #### Assume we have Bourne shell and sed. Otherwise, the user
+ #### should find out here that the TAO_IDL_PREPROCESSOR environment
+ #### variable must be set explicitly!
+ ifneq ($(mingw32),1)
+ TAO_IDL_PREPROCESSOR := $(shell type $(CXX) | sed 's/.* is //')
+ else
+ TAO_IDL_PREPROCESSOR := \
+ $(shell cygpath -w $(shell type $(CXX) | sed 's/.* is //'))
+ endif # !mingw32
+ endif # ! TAO_IDL_PREPROCESSOR
+endif # COMSPEC
+
+####
+#### TAO libraries
+####
+TAO_BASE_LIBS=-lTAO $(ACELIB) $(LIBS)
+RT_TAO_BASE_LIBS=-lTAO_RTCORBA $(TAO_BASE_LIBS)
+TAO_SRVR_LIBS=-lTAO_PortableServer $(TAO_BASE_LIBS)
+RT_TAO_SRVR_LIBS=-lTAO_RTPortableServer -lTAO_PortableServer $(RT_TAO_BASE_LIBS)
+TAO_CLNT_LIBS= $(TAO_BASE_LIBS)
+RT_TAO_CLNT_LIBS= $(RT_TAO_BASE_LIBS)
+TAO_DYNAMIC_LIBS=-lTAO_DynamicInterface
+
+####
+#### Macro customization.
+####
+ifeq ($(findstring g++,$(CXX)),g++)
+ ifeq ($(ACE_HAS_GNUG_PRE_2_8),1)
+ #### g++ < 2.8 complains about unused parameters in generated code.
+ CCFLAGS += -Wno-unused
+ ami=0
+ endif # g++ < 2.8
+endif # g++
+
+ifeq ($(minimum_corba),1)
+ ifndef rt_corba
+ rt_corba = 0
+ endif # ! rt_corba
+ ifndef corba_messaging
+ corba_messaging = 0
+ endif # ! corba_messaging
+ ifndef ami
+ ami = 0
+ endif # ! ami
+ ifndef interceptors
+ interceptors = 0
+ endif # ! interceptors
+ CPPFLAGS += -DTAO_HAS_MINIMUM_CORBA=1
+else # minimum_corba
+ override minimum_corba = 0
+endif # minimum_corba
+
+ifeq ($(ami),0)
+ CPPFLAGS += -DTAO_HAS_AMI=0
+else
+ override ami = 1
+ # The following line is not needed,
+ # the $TAO_ROOT/tao/orbconf.h file defines it by default
+ # CPPFLAGS += -DTAO_HAS_AMI=1
+ ifndef ami_callback
+ ami_callback = 1
+ endif # ! ami_callback
+ ifndef ami_poller
+ ami_poller = 1
+ endif # ! ami_poller
+endif # ami
+
+ifeq ($(ami_poller),0)
+ CPPFLAGS += -DTAO_HAS_AMI_POLLER=0
+else # ami_poller
+ override ami_poller = 1
+ # The following line is not needed,
+ # the $TAO_ROOT/tao/orbconf.h file defines it by default
+ # CPPFLAGS += -DTAO_HAS_AMI_POLLER=1
+endif # ami_poller
+
+ifeq ($(ami_callback),0)
+ CPPFLAGS += -DTAO_HAS_AMI_CALLBACK=0
+else # ami_callback
+ override ami_callback = 1
+ # The following line is not needed,
+ # the $TAO_ROOT/tao/orbconf.h file defines it by default
+ # CPPFLAGS += -DTAO_HAS_AMI_CALLBACK=1
+endif # ami_callback
+
+ifeq ($(rt_corba),0)
+ CPPFLAGS += -DTAO_HAS_RT_CORBA=0
+else # rt_corba
+ override rt_corba = 1
+ # The following line is not needed,
+ # the $TAO_ROOT/tao/orbconf.h file defines it by default
+ # CPPFLAGS += -DTAO_HAS_RT_CORBA=1
+endif # rt_corba
+
+ifeq ($(corba_messaging),0)
+ CPPFLAGS += -DTAO_HAS_CORBA_MESSAGING=0
+else # corba_messaging
+ override corba_messaging = 1
+ # The following line is not needed,
+ # the $TAO_ROOT/tao/orbconf.h file defines it by default
+ # CPPFLAGS += -DTAO_HAS_CORBA_MESSAGING=1
+endif # corba_messaging
+
+ifeq ($(interceptors),0)
+ CPPFLAGS += -DTAO_HAS_INTERCEPTORS=0
+else # interceptors
+ override interceptors = 1
+ # The following line is not needed,
+ # the $TAO_ROOT/tao/orbconf.h file defines it by default
+ # CPPFLAGS += -DTAO_HAS_INTERCEPTORS=1
+endif # interceptors
+
+ifeq (1,$(CROSS-COMPILE))
+else
+ifeq (1,$(ACE_HAS_GNUG_PRE_2_8))
+endif # ! ACE_HAS_GNUG_PRE_2_8
+endif # ! CROSS-COMPILE
+
+####
+#### Event Channel customization.
+####
+# Uncomment out the following line (or invoke make with
+# TAO_LACKS_EVENT_CHANNEL_ANY=1)
+# if you don't want support for anys in the Event Channel.
+# TAO_LACKS_EVENT_CHANNEL_ANY = 1
+ifneq ($(TAO_LACKS_EVENT_CHANNEL_ANY),)
+ override TAO_LACKS_EVENT_CHANNEL_ANY = -DTAO_LACKS_EVENT_CHANNEL_ANY
+endif
+
+# TAO_LACKS_EVENT_CHANNEL_OCTET_SEQUENCE = 1
+ifneq ($(TAO_LACKS_EVENT_CHANNEL_OCTET_SEQUENCE),)
+ override TAO_LACKS_EVENT_CHANNEL_OCTET_SEQUENCE := \
+ -DTAO_LACKS_EVENT_CHANNEL_OCTET_SEQUENCE
+endif
+
+# TAO_LACKS_EVENT_CHANNEL_TIMESTAMPS = 1
+ifneq ($(TAO_LACKS_EVENT_CHANNEL_TIMESTAMPS),)
+ override TAO_LACKS_EVENT_CHANNEL_TIMESTAMPS := \
+ -DTAO_LACKS_EVENT_CHANNEL_TIMESTAMPS
+endif
+
+TAO_IDLFLAGS += \
+ $(TAO_LACKS_EVENT_CHANNEL_ANY) \
+ $(TAO_LACKS_EVENT_CHANNEL_OCTET_SEQUENCE) \
+ $(TAO_LACKS_EVENT_CHANNEL_TIMESTAMPS)
+
+CPPFLAGS += \
+ $(TAO_LACKS_EVENT_CHANNEL_ANY) \
+ $(TAO_LACKS_EVENT_CHANNEL_OCTET_SEQUENCE) \
+ $(TAO_LACKS_EVENT_CHANNEL_TIMESTAMPS)
+
+####
+#### Build rules.
+####
+IDL_EXT_MINUS=$(IDL_CLIENT_INL_EXT) $(IDL_CLIENT_SRC_EXT) \
+ $(IDL_SERVER_HDR_EXT) $(IDL_SERVER_INL_EXT) \
+ $(IDL_SERVER_SRC_EXT) $(IDL_SERVER_THDR_EXT) \
+ $(IDL_SERVER_TINL_EXT) $(IDL_SERVER_TSRC_EXT)
+IDL_EXT=$(IDL_CLIENT_HDR_EXT) $(IDL_EXT_MINUS)
+IDL_EXT2_MINUS=Cli.i Cli.cpp Ser.h Ser.i Ser.cpp Ser_T.h Ser_T.i Ser_T.cpp
+IDL_EXT2=Cli.h $(IDL_EXT2_MINUS)
+
+.SUFFIXES: $(IDL_EXT)
+
+ifneq ($(use_flick),1)
+$(foreach ext, $(IDL_EXT_MINUS), %$(ext)): %$(IDL_CLIENT_HDR_EXT)
+ @
+
+ifneq ($(tao_dont_use_idl_make_rule),1)
+%C.h: %.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) $<
+endif
+
+$(foreach ext, $(IDL_EXT2_MINUS), %$(ext)): %Cli.h
+ @
+
+ifneq ($(tao_dont_use_idl_make_rule),1)
+%Cli.h: %.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) $<
+endif
+
+else
+#### You can redefine the following in your platform_macros.GNU
+
+ifndef FLICK_SRCDIR
+ FLICK_SRCDIR = /project/doc/nanbor/mom
+endif
+ifndef FLICK_OBJDIR
+ FLICK_OBJDIR = /project/doc/nanbor/dad
+endif
+
+CCFLAGS += -I$(FLICK_OBJDIR)/runtime/headers -I$(FLICK_SRCDIR)/runtime/headers
+
+CORBA_FE=$(FLICK_OBJDIR)/bin/flick-fe-newcorba
+CORBA_PG=$(FLICK_OBJDIR)/bin/flick-c-pfe-corbaxx
+CORBA_BE=$(FLICK_OBJDIR)/bin/flick-c-pbe-iiopxx
+
+ifneq ($(tao_dont_use_idl_make_rule),1)
+$(foreach ext, $(IDL_EXT) $(IDL_EXT2), %$(ext)): %.idl
+ $(CORBA_FE) $< && \
+ $(CORBA_PG) -c -o $*-client.prc $*.aoi && \
+ $(CORBA_BE) $*-client.prc -o $*$(IDL_CLIENT_SRC_EXT) -h $*$(IDL_CLIENT_HDR_EXT) -f $*$(IDL_SERVER_HDR_EXT) --presentation_implementation $(FLICK_SRCDIR)/runtime/headers/flick/pres/tao_cxx.scml && \
+ echo > $*$(IDL_CLIENT_INL_EXT)
+ $(CORBA_FE) $< && \
+ $(CORBA_PG) -s -o $*-server.prc $*.aoi && \
+ $(CORBA_BE) $*-server.prc --no_mu_stubs -o $*$(IDL_SERVER_SRC_EXT) -h $*$(IDL_SERVER_HDR_EXT) -F $*$(IDL_CLIENT_HDR_EXT) --presentation_implementation $(FLICK_SRCDIR)/runtime/headers/flick/pres/tao_cxx.scml && \
+ echo > $*$(IDL_SERVER_INL_EXT) && \
+ echo > $*$(IDL_SERVER_THDR_EXT) && \
+ echo > $*$(IDL_SERVER_TINL_EXT) && \
+ echo > $*$(IDL_SERVER_TSRC_EXT)
+endif # tao_dont_use_idl_make_rule
+
+endif # use_flick = 1
diff --git a/THANKS b/THANKS
new file mode 100644
index 00000000000..5b02b03071e
--- /dev/null
+++ b/THANKS
@@ -0,0 +1,1454 @@
+ACKNOWLEDGEMENTS
+
+ACE and TAO have been deeply influenced and improved by the following
+members of my research group at Washington University and at the
+University of California at Irvine.
+
+Everett Anderson <eea1@cec.wustl.edu>
+Alexander Babu Arulanthu <alex@cs.wustl.edu>
+Shawn Atkins <sma1@cs.wustl.edu>
+Matt Braun <mjb2@cs.wustl.edu>
+Darrell Brunsch <brunsch@uci.edu>
+Chris Cleeland <cleeland@cs.wustl.edu>
+Angelo Corsaro <corsaro@cs.wustl.edu>
+Mayur Deshpande <mayur@ics.uci.edu>
+Eric Ding <qnd1@cs.wustl.edu>
+Sergio Flores-Gaitan <sergio@cs.wustl.edu>
+Chris Gill <cdgill@cs.wustl.edu>
+Andrew G. Gilpin <agg1@cs.wustl.edu>
+Aniruddha Gokhale <gokhale@cs.wustl.edu>
+Priyanka Gontla <pgontla@ece.uci.edu>
+Pradeep Gore <pradeep@cs.wustl.edu>
+Shawn Hannan <hannan@cs.wustl.edu>
+Tim Harrison <harrison@cs.wustl.edu>
+John Heitmann <jwh1@cs.wustl.edu>
+James Hu <jxh@cs.wustl.edu>
+Prashant Jain <pjain@cs.wustl.edu>
+Vishal Kachroo <vishal@cs.wustl.edu>
+Michael Kircher <Michael.Kircher@mchp.siemens.de>
+Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+Fred Kuhns <fredk@cs.wustl.edu>
+David Levine <levine@cs.wustl.edu>
+Mike Moran <mm4@cs.wustl.edu>
+Sumedh Mungee <sumedh@cs.wustl.edu>
+Balachandran Natarajan <bala@cs.wustl.edu>
+Kirthika Parameswaran <kirthika@cs.wustl.edu>
+Krishnakumar Pathayapura <krish@cs.wustl.edu>
+Carlos O'Ryan <coryan@uci.edu>
+Ossama Othman <ossama@uci.edu>
+Jeff Parsons <parsons@cs.wustl.edu>
+Irfan Pyarali <irfan@cs.wustl.edu>
+Marina Spivak <marina@cs.wustl.edu>
+Venkita Subramonian <venkita@cs.wustl.edu>
+Nagarajan Surendran <naga@cs.wustl.edu>
+Nanbor Wang <nanbor@cs.wustl.edu>
+Seth Widoff <sbw1@cs.wustl.edu>
+Torben Worm <tworm@cs.wustl.edu>
+
+I would also like to thank all the following people who have also
+contributed to ACE and TAO over the years:
+
+Paul Stephenson <pstephenson@objectspace.com>
+Olaf Kruger <okruger@cssc-melb.tansu.com.au>
+Ed Brown <eebrown@netcom.com>
+Lee Baker <baker@ctis.af.mil>
+Alex Ranous <ranous@nsa.hp.com>
+Mark Patton <mark_patton@tx72.mot.com>
+Steffen Winther Sorensen <sts@siimnet.dk>
+Troy Warner <tnw1@core01.osi.com>
+Stacy Mahlon <mcs@contour.mayo.edu>
+Charles Eads <eads@synoptics.com>
+Mark Frutig <mfrutig@fnbc.com>
+Todd Hoff <thm@ictv.com>
+George <george@truffula.fp.trw.com>
+Brad Needham <bneedham@ix.netcom.com>
+Leslee Xu <lxu@ics.uci.edu>
+Detlef Becker <Detlef.Becker@med.siemens.de>
+Bruce Worden <bruce@betsy.gps.caltech.edu>
+Chris Tarr <ctarr@objectspace.co>
+Bill Sears <wsears@world.std.com>
+Greg Lavender <g.lavender@isode.com>
+Steve Warwick <sjw@aesthetic.com>
+Mats Sundvall <sundvall@perrier.embnet.se>
+Andreas Ueltschi <Andreas.Ueltschi@ska.com>
+Nigel Hooke <n.hooke@trl.oz.au>
+Medhi Tabatabai <Mehdi.Tabatabai@ed.nce.sita.int>
+Stuart Powell <stuartp@ot.com.au>
+Bin Mu <mubin@wfg.com>
+Andrew McGowan <mcgowan@wg2.waii.com>
+Ken Konecki <kenk@wfg.com>
+John P. Hearn <jph@ccrl.nj.nec.com>
+Giang Hoang Nguyen <yang@titan.com>
+Carlos Garcia Braschi <cgarcia@caramba.tid.es>
+Jam Hamidi <jh1@osi.com>
+Eric Vaughan <evaughan@arinc.com>
+Karlheinz Dorn <Karlheinz.Dorn@med.siemens.de>,
+Gerhard Lenzer <Gerhard.Lenzer@med.siemens.de>
+Steve Ritter <ritter@titan.com>
+Chandra Venkatapathy <cvenkat@develop.bsis.com>
+Matt Stevens <mstevens@kirk.softeng.infonautics.com>
+Bob Vistica <robertv@ims.com>
+David Trumble <trumble@cvg.enet.dec.com>
+George Reynolds <george@dvcorp.com>
+Hans Rohnert <hans.rohnert@mchp.siemens.de>
+Alex V. Maclinovsky <alexm@teltrunk1.tait.co.nz>
+Todd Blanchard <tblancha@evolving.com>
+Rob Clairmont <rclairmo@bnr.ca>
+Christian Millour <chris@etca.fr>
+Neil B. Cohen <nbc@cisco.com>
+Dieter Quehl <Dieter.Quehl@med.siemens.de>
+Reginald S. Perry <perry@zso.dec.com>
+James Morris <jmorris@aurora.apana.org.au>
+Mark Seaborn <mseaborn@itthp1.comm.mot.com>
+Phil Brooks <phil_brooks@mentorg.com>
+E. Jason Scheck <jasons@ims.com>
+Daniel Proulx <daproulx@qc.bell.ca>
+Bill Tang <tang@tekats.com>
+John Huchinson <hutchiso@epi.syr.ge.com>
+Jack Erickson <JErickson@exchange.ml.com>
+Byron Walton <bwalton@hughes.scg.hac.com>
+Bill Lear <rael@anarchy.cybercom.net>
+Mark Zusman <marklz@topaz.technion.ac.il>
+Aurelio Nocerino <aurelio@irsipcs2-27-le0.irsip.na.cnr.it>
+Walt Akers <akers@cebaf.gov>
+Greg Baker <GBaker@p01.az15m.iac.honeywell.com>
+Alexandre Karev <karev@vxcern.cern.ch>
+Pramod Kumar Singh <pramod@saturn.miel.mot.com>
+Bryon Rigg <bryon_rigg@mail.telecorpsys.com>
+Brad Brown <Brad.A.Brown@usa.alcatel.com>
+Patty Genualdi <genualdp@agcs.com>
+Eshel Liran <liran@bimacs.cs.biu.ac.il>
+Mick Adams <eeimas@eei.ericsson.se>
+Chris Eich <Chris_Eich@optilink.optilink.dsccc.com>
+Mike Flinn <mike.flinn@smtpgate.aws.waii.com>
+Audun Tornquist <Audun.Tornquist@iu.hioslo.no>
+Sandeep Joshi <sandeepj@emailbox.att.com>
+Bernd Hofner <hofner@pd.et-inf.uni-siegen.de>
+Craig Perras <cperras@watchguard.com>
+Kirk Sinnard <kirk.sinnard@lawson.com>
+Matthew Newhook <matthew@ooc.com>
+Gerolf Wendland <wendland@hpp015.mch2.scn.de>
+Phil Mesnier <mesnier_p@ociweb.com>
+Ross Dargahi <rossd@krinfo.com>
+Richard Orr <rorr@costello.den.csci.csc.com>
+Rich Ryan <rryan@mseng.kla.com>
+Jan Rychter <jwr@icm.edu.pl>
+Tom Marrs <0002104588@mcimail.com>
+Bob Olson <olson@mcs.anl.gov>
+Jean-Francois Ripouteau <Jean-Francois.Ripouteau@netsurf.org>
+Ajit Sagar <asagar@spdmail.spd.dsccc.com>
+Ashish Singhai <singhai@delirius.cs.uiuc.edu>
+David Sames <David.L.Sames.1@gsfc.nasa.gov>
+Gonzalo Diethelm <gonzalo.diethelm@aditiva.com>
+Raj <raj@itd.ssb.com>
+Darrin Edelman <darrin@aetherworks.com>
+Steve Weismuller <spweismu@rsoc.rockwell.com>
+Eric C. Newton <ecn@fault-tolerant.org>
+Andres Kruse <andres.kruse@creaturelabs.com>
+Ramesh Nagabushnam <rcn@nynexst.com>
+Antonio Tortorici <antonio@rh0011.roma.tlsoft.it>
+Nigel Lowe <nigel@nt.com>
+Tom Leith <trl@icon-stl.net>
+Michael Fortinsky <mike@vocaltec.com>
+Marco Sommerau <sommerau@matisse.informatik.uni-stuttgart.de>
+Gary Salsbery <gsalsber@simsun.atsc.allied.com>
+Eric Beser <beser@simsun.atsc.allied.com>
+Alfred Keller <kellera@pop.eunet.ch>
+John Lu <johnlu@f1.telekurs.ch>
+James Mansion <james@wgold.demon.co.uk>
+Jesper S. M|ller <Jesper.Moller@ameridata.dk>
+Chris Lahey <clahey@cccis.com>
+Michael R"uger <m_rueger@syscomp.de>
+Istvan Buki <istvan.buki@euronet.be>
+Greg Wilson <gvwilson@vnet.ibm.com>
+Garrett Conaty <gconaty@outbackinc.com>
+Brad Flood <BFLOOD@slc.unisysgsg.com>
+Marius Kjeldahl <marius@funcom.com>
+Steve Huston <shuston@riverace.com>
+Eugene K. Plaude <jec@r-style.msk.su>
+Joseph DeAngelis <bytor@faxint.com>
+Kim Gillies <gillies@noao.edu>
+Luca Priorelli <lucapri@mbox.vol.it>
+Alan Stewart <axs2@osi.com>
+Hani Yakan <hani@i-online.com>
+William L. Gerecke <gerecke@rayva.org>
+Craig Johnston <johnston@tortilla.ds.boeing.com>
+Pierre-Yves Duval <duval@cppm.in2p3.fr>
+Rochi Febo Dommarco <rocky@alter.it>
+Jonathan Biggar <jon@biggar.org>
+Scott Shupe <shupes@mitre.org>
+Chuck Gehr <gehr@sweng.stortek.com>
+Avi Nash <anash@RedBrick.COM>
+Padhu Ramalingam <padhu@magicnet.net>
+Jay Denkberg <jay_denkberg@comverse.com>
+Ayman Farahat <afarahat@CCGATE.HAC.COM>
+Tilo Christ <christ@swl.fh-heilbronn.de>
+Ari Erev <Ari_Erev@icomverse.com>
+Hamutal Yanay <Hamutal_Yanay@icomverse.com>
+Vital Aza <va3@cs.wustl.edu>
+Alex Villazon <villazon@cui.unige.ch>
+David Artus <david.artus@sbil.co.uk>
+Todd Barkalow <todd_barkalow@stortek.com>
+Alexander Smundak <sasha@migration.com>
+Thilo Kielmann <kielmann@informatik.uni-siegen.de>
+Matthias Kerkhoff <make@cs.tu-berlin.de>
+Fred LaBar <flabar@fallschurch.esys.com>
+Hanan Herzog <hanan@wallenda.stanford.edu>
+Eric Parker <eparker@credence.com>
+James Michael Dwyer <jdwyer@knox.edu>
+Arun Katkere <katkere@praja.com>
+Bob Dunmire <bobd@titan.com>
+Sandro Doro <doro.s@flashnet.it>
+Robert Lyng <rlyng@synertech.highmark.com>
+Phil Logan <phill@in.ot.com.au>
+John Cosby <John.D.Cosby@cpmx.saic.com>
+Wayne Vucenic <wvucenic@netgate.net>
+Harry Gunnarsson <hg@carmenta.se>
+James CE Johnson <jcej@lads.com>
+Samuel_Bercovici <Samuel_Bercovici_at_EFT__AD2@mail.icomverse.com>
+Per Andersson <Per.Andersson@hfera.ericsson.se>
+Anthony McConnell <Tonym@datel.demon.co.uk>
+Mark Rabotnikov <mark@usp.elscintcorp.co.il>
+John Bossom <John.Bossom@Cognos.COM>
+Rino Simioni <sir@necsy.it>
+Slawomir Kuzniar <kuzniar@Bear.COM>
+Rob Jordan <jordan@hursley.ibm.com>
+Michael Maxie <maxie@acm.org>
+John Cosby <John.D.Cosby@cpmx.saic.com>
+Nigel Owen <Nigel@voicelink.co.nz>
+Jorn Jensen <jornj@funcom.com>
+Paul Roman <proman@npac.syr.edu>
+Dave Mayerhoefer <davem@lynx.com>
+Bert Craytor <Bert_Craytor@peoplesoft.com>
+Joey Zhu <joey.zhu@wcom.com>
+Arthur J. Lewis <hfdh99a@prodigy.com>
+Michael R. MacFaden <mrm@yagosys.com>
+Paul Han <phan@CCGATE.HAC.COM>
+Jeff Morgan <jeff@audioactive.com>
+Arturo Montes <mitosys@colomsat.net.co>
+Elliot Lau <eeklau@post1.com>
+Mark Wright <markw@odi.com.au>
+Michael Newton <michaeln@in.ot.com.au>
+Kumar Neelakantan <kneelaka@painewebber.com>
+Scott Halstead <scott.halstead@gs.com>
+Jean-Marc Strauss <jms97@club-internet.fr>
+Adam Porter <aporter@cs.umd.edu>
+Hakan Kallberg <hk@simulina.se>
+Eric Dean Russell <edrusse@somnet.sandia.gov>
+Daniel Montalibet <daniel_montalibet@stortek.com>
+Norbert Rapp <norbert.rapp@nexus-informatics.de>
+Ganesh Pai <gpai@voicetek.com>
+Berni Merkle <merkle@io.freinet.de>
+Tom Wright <twright@gem-net.demon.co.uk>
+Torbjorn Lindgren <tl@funcom.no>
+Mike Bernat <sagmb@sagus.com>
+Brian Mendel <brian.r.mendel@boeing.com>
+Jeremy Buch <davinci@nortel.ca>
+Kevin Boyle <kboyle@sanwafp.com>
+Kevin Martindale <kevin_martindale@stortek.com>
+Luis Lopes <llopes@tick.rcc.Ryerson.CA>
+Adrian Salt <acsalt@magi.com>
+Hongbo Xu <hxu@mas.co.nz>
+Michael Hartman <c62nt57@ibx.com>
+Tom Dobridge <dobridge@persimmon.com>
+Rich Christy <rchristy@cccis.com>
+Satoshi Ueno <satoshi.ueno@gs.com>
+Eugene R. Somdahl <gene@endo.com>
+Robert Head <rhead@mail.virtc.com>
+Ivan Murphy <Ivan.Murphy@med.siemens.de>
+Jan Perman <jan.perman@osd.uab.ericsson.se>
+Shankar Krishnamoorthy <kshankar@lucent.com>
+Reza Roodsari <reza@sprynet.com>
+Jim Crossley <jim@lads.com>
+Johannes Gutleber <Johannes.Gutleber@cern.ch>
+Marina Spivak <marina@cs.wustl.edu>
+Yigong Liu <ygl@emailbox.lucent.com>
+Erik Urdang <erik@bhi.com>
+Mike Schweiger <mikes@bmo.com>
+Anthony Mutiso <amutiso@hughes.cg.hac.com>
+Jeff R. Hayes <Jeff.Hayes@osi.com>
+David Brackman <dbrackman@OhioEE.com>
+Dave Moore <dave.moore@gecm.com>
+Joseph Cross <joseph.k.cross@lmco.com>
+Cherif Sleiman <sleiman@research.moore.com>
+Stefan Ericsson <Stefan.Ericsson@osd.uab.ericsson.se>
+Wei Chiang <wei.chiang@horizon.ntc.nokia.com>
+Thanh Ma <tma@encore.com>
+Oleg Krivosheev <kriol@fnal.gov>
+Stephen Coy <stevec@wsa.com.au>
+Bob Laferriere <laferrie@gsao.med.ge.com>
+Satheesh Kumar MG <satheesh@india.aspectdv.com>
+Karen Amestoy <kamestoy@CCGATE.HAC.COM>
+Jeff Richard <jrichard@OhioEE.com>
+Samuel Melamed <sam@vdo.net>
+Vladimir Schipunov <vlad@staff.prodigy.com>
+Felix Popp <fxpopp@immd9.informatik.uni-erlangen.de>
+Billy Quinn <bquinn@lads.com>
+Michael McKnight <mcknight@signalsoftcorp.com>
+Huiying Shen <shen@environ.org>
+Alex Chan <Alex.Chan@Aspect.com>
+Aaron Valdivia <avaldivia@hns.com>
+Edan Ayal <edan@bandwiz.com>
+Jeffrey Peterson <jpeterson@fallschurch.esys.com>
+Neil Lavelle <nlavelle@imcl.com>
+Steven Wohlever <wohlever@mitre.org>
+Manojkumar Acharya <mja@cvsf325.gpt.co.uk>
+Evgeny Beskrovny <evgeny_beskrovny@icomverse.com>
+Kirill Rybaltchenko <Kirill.Rybaltchenko@cern.ch>
+Laura Paterno <lpaterno@d0chb.fnal.gov>
+Ben Eng <ben@jetpen.com>
+Mike Kamrad <J.M.KAMRAD.II@cdev.com>
+Marios Zikos <zikos@csi.forth.gr>
+Mark L Boriack <mboriack@dctc.saic.com>
+Mark Hyett <mhyett@dctd.saic.com>
+Caleb Epstein <epstein_caleb_unix@jpmorgan.com>
+Valik Solrzano Barboza <valik@xs4all.nl>
+John Connett <jrc@skylon.demon.co.uk>
+Tom Arbuckle <arbuckle@uran.informatik.uni-bonn.de>
+Stephen Henry <shenry@mdc.com>
+Dani Flexer <danif@ivory-sw.com>
+Michael Hoffman <Hoffman_Michael@mac-mailserver.atc.ll.mit.edu>
+John Lindal <jafl@cheshire-cat.caltech.edu>
+Dustin Laurence <laurence@alice.wonderland.caltech.edu>
+Ernie Makris <emakris@ziplink.net>
+Timothy A. Brown <tabrown@montana.com>
+Patrick J. McNerthney <pat@cartia.com>
+Lori Anderson <lori@probita.com>
+Erik Margraf <erik@asgard.gud.siemens.co.at>
+Bryan Doerr <Bryan.S.Doerr@boeing.com>
+Adam Miller <adam@royalblueny.com>
+Thomas Jordan <ace@programmer.net>
+Keith Nicewarner <knicewar@erg.sri.com>
+Frederic Andres <andres@rd.nacsis.ac.jp>
+Achint Sandhu <sandhu@nortelnetworks.com>
+Mitch Kuninsky <Mitch_Kuninsky@avid.com>
+Alex Chan <Alex.Chan@Aspect.com>
+Jeff Hellzen <JHellzen@hwdcsaws.cahwnet.gov>
+Thomas Venturella <thomas.e.venturella@boeing.com>
+Philippe O'Reilly <philippe@robot.ireq.ca>
+Stan Leeson <STANLEY.D.LEESON@cdev.com>
+Richard Keizer <RICHARD.L.KEIZER@cdev.com>
+Edgar Villanueva <edgarvil@ix.netcom.com>
+Oliver Kellogg <Oliver.Kellogg@vs.dasa.de>
+Dave Meyer <dmeyer@std.saic.com>
+Thomas Hampson <thomas.hampson@lmco.com>
+Jay Kistler <jjk@pa.dec.com>
+Scott Snyder <snyder@d0sgif.fnal.gov>
+Mark Evans <mark.evans@tandem.com>
+Todd Pack <todd@rwii.com>
+Mark Maris <maris@scgp.com>
+Jason Katz <Jason@email.rts-inc.com>
+Jim Penny <jpenny@universal-fasteners.com>
+Chris Ryan <cryan@qualcomm.com>
+J. Russell Noseworthy <rnosewor@objectsciences.com>
+Carol Sanders <Carol.Sanders@Boeing.com>
+Jerry Bickle <glbick@most.fw.hac.com>
+Paul von Behren <Paul_von_Behren@stortek.com>
+Sudish Joseph <sj@eng.mindspring.net>
+Loren Rittle <rittle@comm.mot.com>
+Alexander Ovsiankin <sasha@technologist.com>
+Fred Kuhns <fredk@arl.wustl.edu>
+Ravi Nagabhyru <ravi@future-minds.com>
+Tom Brusehaver <tgb@cozy.netco.com>
+Dave Tallman <tallman@acsys.com>
+Monish Rajpal <monish@cs.jhu.edu>
+Garry Brother <gmbroth@romulus.ncsc.mil>
+Andreas Schuelke <Andreas.Schuelke@med.siemens.de>
+Ganapathi <guns@fs.IConNet.NET>
+James Garrison <jhg@austx.tandem.com>
+Brad Walton <brad.walton@transnexus.com>
+Paul Motuzenko <p_motuzenko@hotmail.com>
+Kurt Sussman <kls@best.com>
+Rob Thornton <ret1@cec.wustl.edu>
+Chanaka Liyanaarachchi <chanaka@ociweb.com>
+Saneyasu <sane@sail.t.u-tokyo.ac.jp>
+Steve Kay <slk1@icore.ih.lucent.com>
+Greg White <gwhite@northlink.com>
+Ki-hyun Yoon <abird@nextware.co.kr>
+Umar Syyid <usyyid@hotmail.com>
+Bill Fulton <Bill_A_Fulton@raytheon.com>
+Amancio Hasty <hasty@rah.star-gate.com>
+Zoran Ivanovic <Zoran_Ivanovic@i2.com>
+Sree Oggu <dharani@sutmyn.com>
+James Risinger <jrisinge@cgi.com>
+Leo Modica <lmodica@lucent.com>
+Bob Scott <bob_scott@broder.com>
+Mark Kettner <m.kettner@elsevier.nl>
+Kent Watsen <kent@watsen.net>
+Chris Healey <chealey@entera.com>
+Philippe Klein <Philippe_Klein@vocaltec.com>
+William S. Lear <rael@dejanews.com>
+John Geiss <jtgb@eci-esyst.com>
+Ernesto Guisado <eguisado@saincotrafico.com>
+Stuart Myles <smyles@wsj.dowjones.com>
+Lothar Werzinger <lwerzinger@krones.de>
+Andrew Harbick <aharbick@opentext.com>
+Pavel Motuzenko <p_motuzenko@hotmail.com>
+Ross J. Lillie <lillie@rsch.comm.mot.com>
+Sam Hauer <shauer@nmo.gtegsc.com>
+Frank. J. Hodum <fhodum@dctd.saic.com>
+David Miron <dxm@crapper.dsto.defence.gov.au>
+Anton van Straaten <anton@appsolutions.com>
+Joe Covalesky <joe@nowsol.com>
+Bill Backstrom <backstr@anubis.network.com>
+Jeff Franks <Jeffrey_Franks@i-o.com>
+John Mulhern <9107@mn3.lawson.lawson.com>
+Johan Lundin <johan@lundin.com>
+Eric Powers <powerg@deltanet.com>
+Zheng Han <zhan@glenvan.glenayre.com>
+Gabriel Lima <gali@enea.se>
+Doug Anderson <dla@home.com>
+Hongyin Quan <hq1@arl.wustl.edu>
+Maximilian Hoferer <mhoferer@krones.de>
+Kevin Stanley <kstanley1@mdc.com>
+Jeff Greif <jmg@trivida.com>
+Jeff McDaniel <jsmpcdani@gte.net>
+Andreas Geisler <Andreas.Geisler@erl9.siemens.de>
+Bob McWhirter <bob@werken.com>
+Daniel Winder <Daniel.Winder@cern.ch>
+Zheng Han <zhan@glenvan.glenayre.com>
+Christa Schwanninger <christa.schwanninger@mchp.siemens.de>
+Byron Harris <harris_b@ociweb.com>
+Barney Dalton <barneyd@cyllene.uwa.edu.au>
+Peter Gorgia <Peter.Gorgia@libnet.com>
+Dirk Broer <Dirk.Broer@gsfc.nasa.gov>
+Joseph E. LaPrade <laprade@engw.ana.bna.boeing.com>
+Goran Lowkrantz <Goran.Lowkrantz@infologigruppen.se>
+Susan Liebeskind <susan.liebeskind@gtri.gatech.edu>
+Dana Hackman <upboms@network-one.com>
+Margherita Vittone Wiersma <vittone@fndaub.fnal.gov>
+Priya Narasimhan <priya@lambda.ece.ucsb.edu>
+Jeff Hopper <jhopper@nosc.mil>
+Mats Nilsson <mats.nilsson@xware.se>
+Dongwook Kim <baksoo@dbserver.kaist.ac.kr>
+Don Davis <ded@heart.jhuapl.edu>
+Alberto Villarica <Alberto.Villarica.rav@nt.com>
+XuYifeng <xuyf@pop.zg169.net>
+Ossama Othman <othman@astrosun.tn.cornell.edu>
+Tom Shields <Shields@MarsHotel.CMPU.NET>
+Krishna Padmasola <pkrishna@cybercash.co.in>
+Andre Folkers <folkers@informatik.mu-luebeck.de>
+Paul Sexton <pauls@ENTERPRISE.bt.co.uk>
+Marc Lehmann <pcg@goof.com>
+Anne Blankert <anne@geodan.nl>
+Raja Ati <rati@montereynets.com>
+Clinton Carr <ccarr@websocket.com>
+Peter Liqun Na <liqunna@cs.sunysb.edu>
+Frank Adcock <frank@bushlife.com.au>
+Xu Yifeng <xuyifeng@www.kali.com.cn>
+Valery Arkhangorodsky <valerya@servicesoft.com>
+Alan Scheinine <scheinin@crs4.it>
+Andrew G. Harvey <agh@cisco.com>
+Dann Corbit <DCorbit@SolutionsIQ.com>
+James <james@tsunami.com>
+Jason Milley <Jason.Milley.jcmilley@nt.com>
+Ulf Jaehrig <jaehrig@desys.com>
+Peter Nordlund <petern@nada.kth.se>
+Mark Weel <weel@lucent.com>
+Tres Seaver <tseaver@palladion.com>
+Erik Koerber <erik.koerber@siemens.at>
+Eric R. Medley <palantir@net56.net>
+David O'Farrell <dave@virgo.aersoft.ie>
+Amir Bahmanyari <amir@peakstone.com>
+Ian Wright <I.Wright@elsevier.co.uk>
+David Janello <David.Janello@abnamro.com>
+Rich Wellner <rw2@wellner.org>
+Fernando D. Mato Mira <matomira@acm.org>
+Jonathan Reis <reis@stentor.com>
+Seung-Lee Hoon <tarjan@lgsoft.com>
+Russell L. Carter <rcarter@pinyon.org>
+Bill Hall <hts@gte.net>
+Brian Gilstrap <gilstrap_b@ociweb.com>
+Balaji Srinivasan <balaji@cplane.com>
+Anders W. Tell <anderst@toolsmiths.se>
+Larry Lachman <larry@paradigmsim.com>
+Terry Rosenbaum <Terry.Rosenbaum@Radiology.MSU.edu>
+Rainer Blome <rainer_blome@de.ibm.com>
+Kirk Ellett <kellett@mdc.com>
+Sunil Kumar <skumar@sutmyn.com>
+T Stach <t.stach@inobis.de>
+Ron Barack <r.barack@inobis.de>
+Daniel Nieten <dnieten@bellsouth.net>
+Paul K. Fisher <pfisher@plexware.com>
+Jim Buck <jim@nowsol.com>
+Olivier Lau <olivier_lau@srtelecom.com>
+Achim Stindt <stindt@conbis.de>
+Fredrik Lindahl <fredrik.lindahl@ausys.se>
+Joseph Weihs <joseph-w@Orbotech.Co.IL>
+Serge Kolgan <skolgan@cisco.com>
+James Megquier <jmegq@bbn.com>
+Martin Krumpolec <krumpolec@asset.sk>
+Michael Thomas <Michael.Thomas@Australia.Boeing.com>
+Vicentini Emanuele <arena.sci.univr.it>
+Bob Price <Bob_Price@tssdc.saic.com>
+Ramiro Penataro Blanco <penataro@ll.iac.es>
+Sigg Pascal <pascal.sigg@zkb.ch>
+Ivan Leong <ivanl@pacific.net.sg>
+Virginie Amar<vamar@amadeus.net>
+Tom Ziomek <tomz@cc.comm.mot.com>
+Hamish Friedlander <hamishf@usa.net>
+Mark De Jong <mdj@intervu.net>
+Knut Johannessen <knutj@funcom.com>
+Leif Jakobsmeier <leif@informatik.uni-frankfurt.de>
+Jon Lindgren <jlindgren@SLK.com>
+Steve Vinoski <vinoski@iona.com>
+Christian Mueffling <cvm@aiss.de>
+Victor Yu <victor.yu@computechnics.com.au>
+Jeff Donner <JDonner@schedsys.com>
+Joe Loyall <jloyall@bbn.com>
+Stanislav Meduna <stanom@etm.co.at>
+Christian Korn <korn@gate.qaqa.com>
+Ron Barack <rab@terminal.cz>
+Steve Totten <totten_s@ociweb.com>
+Faron Dutton <fdutton@avxus.com>
+Gary York <gfyork@ix.netcom.com>
+Patty Hair <patty@Lynx.COM>
+Ivan Pascal <pascal@info.tsu.ru>
+William A. Hoffman <hoffman@crd.ge.com>
+Mark Lucovsky <markl@microsoft.com>
+Greg Holtmeyer <greg.holtmeyer@windriver.com>
+Jody Hagins <jody@atdesk.com>
+Patrice Bensoussan <pbensoussan@amadeus.net>
+Keith Brown <kalbrown@ix.netcom.com>
+Barry Hoggard <hoggard@cfx.com>
+Peter J. Mason <peter.mason@retriever.com.au>
+Jerry D. De Master <jdemaste@rite-solutions.com>
+Greg Gallant <gcg@micrografx.com>
+wym <wym@dekang.com>
+Karel Zuiderveld <kzuiderveld@vitalimages.com>
+Mike Goldman <whig@by.net>
+Peter Gross <pgross@signalsoftcorp.com>
+Greg Ross <gwross@west.raytheon.com>
+Stanford S. Guillory <sguillory@vignette.com>
+Peter Weat <weatp@syntron.com>
+Magnus Karlsson <magnus.karlsson@syncom.se>
+Andreas Tobler <toa@pop.agri.ch>
+John Aughey <jha@FreeBSD.ORG>
+Knut-Havard Aksnes <knut@orion.no>
+Eric Mitchell <emitchell@altaira.com>
+Tommy Andreasen <tommy.andreasen@radiometer.dk>
+Slava Galperin <galperin@teknowledge.com>
+Jeff Olszewski <jolszewski@std.saic.com>
+Sudhanshu Garg <sg2@ladybug.cec.wustl.edu>
+Mike Preradovic <michael_preradovic@epicdata.com>
+Greg Harrison <harrisog@erinet.com>
+Sangwoo Jin <swjinjin@sei.co.kr>
+Jacques Salerian <Jacques.Salerian@era.ericsson.se>
+Steve Coleman <Steve.Coleman@jhuapl.edu>
+Diethard Ohrt <Diethard.Ohrt@siemens.at>
+Jacob Jones <Jacob.J.Jones@notesmta.gd-is.com>
+Phil Ruelle <Phil.Ruelle@adv.sonybpe.com>
+Sush Bankapura <Sush.Bankapura@sylantro.com>
+Eric Covington <eric@nowsol.com>
+Darren Whobrey <whobrey@fecit.co.uk>
+Mason Taube <taube@westcon.prc.com>
+Rod Joseph <rodjoseph@adt.com>
+Hans Horsmann <Hans.Horsmann@icn.siemens.de>
+Kevin Royalty <kevin.l.royalty@boeing.com>
+Souhad Mcheik <mcheiks@inrs-telecom.uquebec.ca>
+Mark Little <M.C.Little@ncl.ac.uk>
+Tim Stack <stack@cs.utah.edu>
+Marc Engel <engelm@tlse.sofreavia.fr>
+Uma Markandu <umam@nortelnetworks.com>
+Henrik Nordberg <hnordberg@lbl.gov>
+Tad Jarosinski <tadj@qualcomm.com>
+Andy Marchewka <AndyM@who.net>
+Neal Norwitz <nnorwitz@arinc.com>
+Frederic Maria <fmaria@lucent.com>
+David Hooker <DHooker@uniview.net>
+Christian.Destor <Christian.Destor@alcatel.fr>
+Andrew Hobson <ahobson@eng.mindspring.net>
+Andre Folkers <folkers@informatik.mu-leubeck.de>
+Torsten Kuepper <kuepper2@uni-wuppertal.de>
+Hao Ruan <hruan@lucent.com>
+Alexander Davidovich <sasha@ms.com>
+Cristian Ferretti <cristian_ferretti@yahoo.com>
+N Becker <nbecker@fred.net>
+Yaolong Lan <lyaolong@cs.sunysb.edu>
+Elias Sreih <sealstd1@nortelnetworks.com>
+Liang Chen <chenl@nortelnetworks.com>
+Mark Laffoon <mark.laffoon@burning-glass.com>
+Ti Z <tiz@cisco.com>
+Brian Dance <Brian_Dance@UECCS.co.uk>
+Alexey Gadzhiev <alg@null.ru>
+Francois Bernier <fbernier@gel.ulaval.ca>
+Bill Rizzi <rizzi@softserv.com>
+Peter Windle <peterw@ugsolutions.com>
+Andy Alvarez <axab@eci.esys.com>
+Jaepil Kim <jpkim@lgsoft.com>
+Dmitry Goldshtain <goldstein@arcormail.de>
+Carl Grinstead <grinstea@tsunami.com>
+Henric Jungheim <junghelh@pe-nelson.com>
+Konstantinos Margaritis <kmargar@cc.uoa.gr>
+Michael Preobrazhensky <mikep@xpedite.com>
+Gregory D. Fee <gdf2@cec.wustl.edu>
+Roland Gigler <roland@mch.pn.siemens.de>
+Frank Buschmann <Frank.Buschmann@mchp.siemens.de>
+Eric Eide <eeide@cs.utah.edu>
+Don Busch <busch_d@ociweb.com>
+Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov>
+David Hauck <davidh@netacquire.com>
+Joe Hoffert <joeh@tango.cs.wustl.edu>
+Keith Rohrer <KRohrer@hnv.com>
+Tim Rose <trose@bridgewatersys.com>
+Sam Rhine <rmsolution20@earchlink.net>
+Chris Schleicher <chrissch@cnd.hp.com>
+Margaret Reitz <margaret@veritas.com>
+Thomas Mehrkam <Thomas_Mehrkam@i-o.com>
+Erik Ivanenko <erik.ivanenko@utoronto.ca>
+Sarmeesha Reddy <sarmeesha@bigfoot.com>
+Steven Tine <stevent@tr.comm.mot.com>
+Dave Steele <Dave_Steele@Mitel.COM>
+Simeon Simeonov <simeons@allaire.com>
+David H. Whittington <david.h.whittington@boeing.com>
+Ian MacDonald <ianmacd@bg.com>
+Hans Ridder <ridder@veritas.com>
+Todd Mullanix <Todd.Mullanix@sylantro.com>
+Hai Vu <Hai_Vu@Mitel.Com>
+Paul Francis <francip@navcanada.ca>
+Kristopher Johnson <kjohnson@gardnersys.com>
+Dave Butenhof <butenhof@zko.dec.com>
+Dominic Williams <dom@connected-place.co.uk>
+Srikumar Kareti <skareti@htc.honeywell.com>
+Ian Pepper <ian@aptest.ie>
+Kevin Lyda <kevin.lyda@trintech.com>
+James D. Rucker <jdrucker@huey.jpl.nasa.gov>
+Brian Wallis <Brian.Wallis@sr.com.au>
+Sandeep Goyal <sagoyal@hss.hns.com>
+englishmalc@my-dejanew.com
+Frank O'Dwyer <fod@brd.ie>
+Long Hoang <LHoang@hwdcsaws.cahwnet.gov>
+Steven D. Chen <sdc2951@aw101.iasl.ca.boeing.com>
+Alain Magloire <alain@qnx.com>
+Jim Rogers <jrogers@viasoft.com>
+Nick Sawadsky <Nick_Sawadsky@BrooksSoftware.com>
+David Brownell <david-b@pacbell.net>
+Richard Stallman <rms@gnu.org>
+Casey Lucas <clucas@sabre.com>
+Brian C. Olson <bolson@rtlogic.com>
+Joseph A. Condlin <jac@slpmbo.ed.ray.com>
+Serge Du <du@lal.in2p3.fr>
+Mike Mazurek <mmazurek@std.saic.com>
+Christian Schuderer <Christian.Schuderer@erl9.siemens.de>
+John R. Taylor <jrtaylor@george.lbl.gov>
+Bill Tovrea <gwtovrea@west.raytheon.com>
+Wallace Owen <owen@visicom.com>
+Vyacheslav A. Batenin <slavikb@iname.com>
+Edwin D. Windes <ewindes@usa.net>
+Christopher Kohlhoff <chris@kohlhoff.com>
+Andreas Terstegge <andreas.terstegge@nokia.com>
+Stefaan Kiebooms <stefaan@ghs.com>
+Keith Nichol <knichol@syscorp.com.au>
+Rebecca Sanford <Rebecca.A.Sanford@gd-is.com>
+Ram Vishnuvajjala <rvishnuvajjala@lucent.com>
+Tom Bradley <thomas.bradley@maisel-gw.enst-bretagne.fr>
+Shaun Ohagan <jk13@dial.pipex.com>
+Dale Wood <dale_wood@Mitel.com>
+Robert Flanders <rdfa@eci.esys.com>
+Gul Onural <Gul_Onural@Mitel.COM>
+Stephen E Blake <stephen_e_blake@email.moore.com>
+Eric S Rosenthal <esr@netcom.com>
+Sridevi Subramanian <subrams@erols.com>
+Bruce Trask <brucetrask@aol.com>
+Jake Hamby <jehamby@anobject.com>
+Rick Weisner <Rick.Weisner@East.Sun.COM>
+Dennis C. De Mars <demars@mminternet.com>
+V. Lakshmanan <lakshman@doplight.nssl.noaa.gov>
+Hata Yoshiaki <hatay@alpha.co.jp>
+Vidya Narayanan <CVN065@lmpsil02.comm.mot.com>
+Sean Landis <seanl@rsch.comm.mot.com>
+Youzhong Liu <yoliu@cise.ufl.edu>
+John Weald <John.Weald@sylantro.com>
+Gilbert Roulot <gilbert.roulot@tts.thomson-csf.com>
+Gildo Medeiros Junior <gildo@siemens.com.br>
+Brian Peterson <bpeterson@globalmt.com>
+Fabrice Podlyski <podlyski@clrhp04.in2p3.fr>
+Darren DeRidder <darren.deridder@bridgewatersys.com>
+John Tucker <johnny_tucker@yahoo.com>
+Oleg Orlov <orlov@diasoft.ru>
+Timothy Canham <Timothy.Canham@jpl.nasa.gov>
+Randy Heiland <heiland@ncsa.uiuc.edu>
+Joyce Fu <fu@gsao.med.ge.com>
+Surender Kumar <csk037@lmpsil02.comm.mot.com>
+Pradeep Avasthi <Pradeep.Avasthi@motorola.com>
+Guicheney Christophe <guichene@clrhp04.in2p3.fr>
+Madhu Konety <madhu.konety@stdc.com>
+Isaac Stoddard <i_stoddard@hso.link.com>
+Alvarez <alvarez@nagra-kudelski.ch>
+Peter Brandstrom <peter.brandstrom@ericsson.com>
+Eugene Surovegin <ebs@glasnet.ru>
+Thaddeus Olczyk <olczyk@interaccess.com>
+John Chludzinski <john_chludzinski@jsims.com>
+Pedro Alves Ferreira <pedro.ferreira@inescn.pt>
+Bruce Edge <bedge@sattel.com>
+Dan Butler <daniel.g.butler@boeing.com>
+Ron MacKenzie <ronm@SLAC.Stanford.EDU>
+Craig Rodrigues <crodrigu@bbn.com>
+Phil Y. Wang <yhwang@cs.columbia.edu>
+David Brock <dbrock@momsdesk.com>
+John Morey <jmorey@tbi.com>
+Dwayne Burns <dburns@isrglobal.com>
+Denis Ouellet <douellet@gel.ulaval.ca>
+Stefan Ullrich <SUllrich@Heimannsystems.com>
+Brian Raven <brianr@liffe.com>
+Gheorghe Aprotosoaie <gaprotosoaie@paragonms.com>
+Carsten Zerbst <zerbst@tu-harburg.de>
+Paul Calabrese <calabrese_p@ociweb.com>
+Stephane Chatre <schatre@oresis.com>
+James Whitledge <jwhitledge@spyglass.com>
+Erik Johannes <ejohannes@oresis.com>
+Alex Hornby <alex@anvil.co.uk>
+Riaz Syed <syed@Lynx.COM>
+Clarence M. Weaver <clarence_m_weaver@md.northgrum.com>
+Roger Egbers <regbers@isrglobal.com>
+Ralf Kluthe <kluthe@iti.mu-luebeck.de>
+Ruud Diterwich<R.M.L.Diterwich@marin.nl>
+Bill Nesbitt <bnesbitt@magellan.com>
+Will Skunk <willskunk@homemail.com>
+David Digby <DWD15274@glaxowellcome.co.uk>
+Timothy Schimke <Schimke.Timothy@LittonDSD.com>
+Jim Robinson <robinson@wdg.mot.com>
+Peter Mueller <pmueller@decrc.abb.de>
+Raghu Nambiath <raghun@wipinfo.soft.net>
+Mike Gingell <mgingell@istar.ca>
+David McCann <david.mccann@alcatel.at>
+Ruediger Franke <Ruediger.Franke@decrc.abb.de>
+Brian Jones <bjones@edgemail.com>
+Michael Garvin <mgarvin@nortelnetworks.com>
+Mike Vitalo <mvitalo@sprynet.com>
+Kirk Davies <Kirk.Davies@pobox.com>
+Arno Pernozzoli <pernozzoli@bigfoot.com>
+Trey Grubbs <t-grubbs1@raytheon.com>
+Matthias Schumann <matthias.schumann@xcc.de>
+John Gathright <johng@keck.hawaii.edu>
+Alexander Villatora <alex@cfx.com>
+Hoang Duong <hduong@lycosmail.com>
+Michael Roth <ombelico@gmx.net>
+Craig Anderson <chanders@timing.com>
+Mitsuhiko Hara <Mitsuhiko.Hara@gemsa.med.ge.com>
+Weihai Yu <weihai@cs.uit.no>
+Tal Lev-Ami <tla@tici.co.il>
+Chris Zimman <chris@ishiboo.com>
+Rick Wesson <wessorh@ar.com>
+Sridhara Rao Dasu <dasu@slac.stanford.edu>
+Walter Welzel <Walter.Welzel@med.siemens.de>
+Anthony Shipman <als@aaii.oz.au>
+Tobin Bergen-Hill <tbhill@dctd.saic.com>
+Toshio Hori <toshi@etl.go.jp>
+John Mink <John.Mink@nl.origin-it.com>
+Duane Binder <duane.binder@veritas.com>
+Randall Sharo <rasb@eci.esys.com>
+Dave Madden <dhm@mersenne.com>
+Cliff_H_Campbell <Cliff_H_Campbell@res.raytheon.com>
+Narendra Ravi <naren@cs.ualberta.ca>
+Krishnakumar B. <kitty@neo.shinko.co.jp>
+David Sunwall <das@planet8.tds-eagan.lmco.com>
+Brian Wright <bwright@paladyne.com>
+Yosi Sarusi <yosi@appstream.com>
+Robert Shewan <rshew@peri.com>
+Skye Sweeney <ssweeney@sanders.com>
+Lars Immisch <lars@ibp.de>
+Adrian Mercieca <adrian@anvil.co.uk>
+Stefan Wendt <wendts@stud.fh-luebeck.de>
+Herbert <herbert@shym.com>
+Clarence Bishop <clarence.bishop@na.marconicomms.com>
+Giga Giguashvili <gregoryg@ParadigmGeo.com>
+Philipp Slusallek <slusallek@graphics.stanford.edu>
+Matthew Davis <matthew.davis@solers.com>
+Janusz Stopa <jstopa@bear.com>
+Rusty Conover <rconover@zootweb.com>
+Alex Mintz <amintz@bear.com>
+Phillippe Merle <Philippe.Merle@lifl.fr>
+Mark Winrock <mwinrock@nortelnetworks.com>
+Boris Kaminer <kaminer.boris@cherus.msk.ru>
+Martin Botzler <martin.botzler@mchp.siemens.de>
+Lorin Hochstein <lmh@xiphos.ca>
+Wenli Bai <bai@gsao.med.ge.com>
+Harry Forry <harry_l_forry@res.raytheon.com>
+Jose Rubio <jrubio@tr.comm.mot.com>
+Joerg Pommnitz <pommnitz@darmstadt.gmd.de>
+Mogens Hansen <mogens_h@dk-online.dk>
+Shafiek Savahl <shafiek.savahl@ericsson.com.au>
+Pierre Grondin <pierre_grondin@srtelecom.com>
+John Masiyowski <jmasiyowski@fallschurch.esys.com>
+Uwe Landrock <Uwe.Landrock@med.siemens.de>
+Klaus Banzer <klaus.banzer@mchp.siemens.de>
+Probal Bhattacharjya <probal@lucent.com>
+Dmitri Katchalov <Dmitri.Katchalov@computershare.com.au>
+Alok Gupta <alokg@ssind.stpn.soft.net>
+Chien Yueh <cyueh@viasoft.com>
+John K. Black <jblack@s22ct.npt.nuwc.navy.mil>
+Kamen Penev <penev@earthlink.net>
+Gregory Yarmit <Gregory.Yarmit@hboc.com>
+Jarek Tomaszewski <jarek-tomaszewski@vertel.de>
+Siegurd Weber <siegurdw@hotmail.com>
+Fabrizio Giannotti <fabrizio.giannotti@alephinfo.it>
+Harald Finster <finster@ave.ac.agit.de>
+Fritz Bosch <FBosch@alcatel.de>
+Charles Frasch <cfrasch@spawar.navy.mil>
+Chris Hafey <chafey@stentor.com>
+Rick Hess <rick.hess@lmco.com>
+David Dunn <dunn@tripos.com>
+Jaymes Galvin <galvinj@agcs.com>
+Marat <c_marat@mypad.com>
+Sergey Nemanov <sergey.nemanov@intel.com>
+Vladimir Kondratiev <vladimir.kondratiev@intel.com>
+John Glynn <Jjg9419@bjc.org>
+Raymond Wiker <raymond@orion.no>
+Michael Pitman <mcp@mira.net>
+Joseph Jefferson <jjefferson@relinc.com>
+Engelbert Staller <engelbert.staller@siemens.at>
+George Ball <george@jgserv.co.uk>
+Dennis Noll <Dennis.Noll@MW.Boeing.com>
+Ronald Fischer <ronald.fischer@icn.siemens.de>
+Marvin Allen Wolfthal <maw@weichi.com>
+Dan Gilboa <dgilboa@qualcomm.com>
+Sean Boudreau <seanb@qnx.com>
+Shalini Yajnik <shalini@research.bell-labs.com>
+Matt Thompson <thompsom@stoner.com>
+Peter C Chien <peter@nowsol.com>
+Bruce Alderson <balderso@triant.com>
+Christoph Poggemann <Christoph.Poggemann@ptv.de>
+Travis Shirk <travis@pobox.com>
+Alain Sauron <sauron@syseca.thomson-csf.com>
+Yury Kuznesov <yury@websci.ru>
+David Delano <delanod@agcs.com>
+Boris Sukholitko <boriss@richfx.com>
+Brian Mason <bmason@oresis.com>
+Thomas Groth <groth.th@stn-atlas.de>
+Damien Dufour <damien.dufour@horoquartz.fr>
+Paulo Breda Vieira <breda@inesca.pt>
+Samuel Stickland <sps196@hotmail.com>
+Bryan Van de Ven <bryanv@arlut.utexas.edu>
+Greg Siebers <gsiebers@vignette.com>
+Rob Gabbot <rgabbot@sandia.gov>
+Paul Carreiro <pcarreir@genuity.com>
+Jovan Kilibarda <jovank@realtimeint.com>
+Derek Dominish <Derek.Dominish@Australia.Boeing.com>
+Devesh Kothari <dkothari@atdsprint.com>
+Stephen Moon <smoon@oxmol.co.uk>
+Hani Mawlawi <hmawlawi@wecan.com>
+Benedikt Eric Heinen <beh@icemark.ch>
+Jason Topaz <topaz@panix.com>
+Alexander Dergatch <dergy@websci.ru>
+Airat A. Sadreev <airat@hq.tatenergo.ru>
+Klaus Hofmann <Klaus.Hofmann@astrum.de>
+Miroslav Koncar <mkoncar@mail.com>
+Extern Chatterji <Extern.Chatterji@kmweg.de>
+Zach Frey <zfrey@bright.net>
+Ruibiao Qiu <ruibiao@arl.wustl.edu>
+Marcelo Matus <mmatus@dinha.acms.arizona.edu>
+R Seshardi <rseshadri@lucent.com>
+Stephan Kulow <coolo@kde.org>
+Alexander Belopolsky <belopolsky@my-deja.com>
+Ben Bourner <ben@orion.no>
+Lalitha Chinthamani <lchinthamani@oresis.com>
+Thomas Huang <Thomas.Huang@jpl.nasa.gov>
+Sankaranarayanan K. V <sankar@miel.mot.com>
+Ephraim Vider <eff@allot.com>
+Reid Spencer <reid@unique2u.com>
+Kevin Dalley <kevind@rahul.net>
+Jan Nielsen <jnielsen@campuspipeline.com>
+Jochen Linkohr <Jochen.Linkohr@stz-rechnereinsatz.de>
+Mirko Brandner <mbrandner@yahoo.com>
+Yuval Yosef <yuvi@isdn.net.il>
+Chad Elliott <elliott_c@ociweb.com>
+David X. Callaway <david.x.callaway@intel.com>
+Soren Ilsoe <soren.ilsoe@tellabs.com>
+Eric Hopper <ehopper@globalmt.com>
+Martin Johnson <mjhn@bigpond.net.au>
+Pierre Oberson <oberson@nagra-kudelski.ch>
+Chris Uzdavinis <chris@atdesk.com>
+Ishay Green <ishaygreen@hotmail.com>
+Andrey Nechypurenko <andreynech@yahoo.com>
+Charlie Duke <cduke@cuseeme.com>
+Jonathan Luellen <jluellen@scires.com>
+Andrew Psaltis <apsaltis@mho.net>
+Erik Jones <ej@pcslink.com>
+Ted Burghart <burghart@quoininc.com>
+Mike Winter <Mike.Winter@Schwab.com>
+Judy Ward <ptr_corp@ptrsv1.pko.dec.com>
+Ken Block <ptr_corp@ptrsv1.pko.dec.com>
+Jamshid Afshar <jafshar@vignette.com>
+Jerry Jiang <javalist@21cn.com>
+Rob Ruff <rruff@scires.com>
+Hugh Arnold <harnold@itginc.com>
+Hessel Idzenga <idzenga@lucent.com>
+Mark C. Barnes <marcus@muse3d.com>
+Suresh Kannan <kannan@uav.ae.gatech.edu>
+Alex Scholte <Alex.Scholte@getronics.com>
+Greg Jansen <plaidriver@msn.com>
+Raj Narayanaswamy <rnarayanaswamy@hologic.com>
+Iain Melville <Iain.Melville@opentrade.co.uk>
+Daniel Lang <dl@leo.org>
+Chris Leishman <chris_leishman@freeonline.com.au>
+Klemen Zagar <klemen.zagar@irj.si>
+Rick Ohnemus <rjohnemus@systemware-inc.com>
+Adamo, Vince <adamo@vignette.com>
+Defang Zhou <dzhou@inktomi.com>
+Dave Zumbro <zumbro_d@ociweb.com>
+Ted Nolan <ted@ags.ga.erg.sri.com>
+Jianfei Xu <jxu@yahoo.com>
+Alvin C. Shih <acs@ml.com>
+J. Scott Evans <evans@cpi.com>
+Alex Luk <fluk7@ie.cuhk.edu.hk>
+Kenneth Osenbroch <kennetho@stud.cs.uit.no>
+Jason Czavislak <jczavislak@osprey.smcm.edu>
+Alex Chachanashvili <achacha@panix.com>
+Gilbert Grosdidier <Gilbert.Grosdidier@in2p3.fr>
+James Briggs <James.Briggs@dsto.defence.gov.au>
+Herbert Wang <herb@nowsol.com>
+Anders Olsson <epkanol@s1.epk.ericsson.se>x
+Sergey Gnilitsky <SGnilitsky@telesens.com.ua>
+David Wicks <wicks@swbell.net>
+Girish Birajdar <birajdar@lucent.com>
+Hajdukiewicz Markus <MHajdukiewic@heyde.de>
+Gerwin Robert <RGerwin@heyde.de>
+Alia Atlas <akatlas@bbn.com>
+David Hall <David.Hall@grc.nasa.gov>
+Todd Gruhn <tgruhn2@mail.com>
+John Hickin <hickin@nortelnetworks.com>
+Alex Brown <abrown@3com-ne.com>
+Rich Seibel <seibel_r@ociweb.com>
+Jim Scheller <csoftware@iname.com>
+Bob Bouterse <BBouterse@escient.com>
+Sandeep Adwankar <adwankar@rsch.comm.mot.com>
+W. Craig Trader <ct7@vitelinc.com>
+Bruce McIntosh <Bruce.McIntosh@australia.boeing.com>
+Natarajan Kalpathy <Natarajan_Kalpathy@mw.3com.com>
+David O'Farrell <eeidofl@eei.ericsson.se>
+Bob Bouterse <BBouterse@escient.com>
+Malcolm Spence <spence_m@ociweb.com>
+Dong-Yueh Liu <dyliu@ms1.hinet.net>
+Craig Ball <Craig.Ball@megasys.com>
+Norbert Krain <krain@lineone.net>
+Adrian Miranda <ade@psg.com>
+Cody Dean <cody.dean@mindspring.com>
+Hans Scharkowitz <hanssch@my-deja.com>
+Charles Meier <cmeier@concentus-tech.com>
+Tim Sim <tim_sim@optusnet.com.au>
+Shalabh Bhatnagar <shalabh_b@hotmail.com>
+Charles Scott <Charles.P.Scott@jpl.nasa.gov>
+Espen Harlinn <espen@harlinn.no>
+mulder <mul@iitb.fhg.de>
+Richard L. Johnson <rich@huey.jpl.nasa.gov>
+Tam Nguyen <tnguyen@viasat.com>
+Jeff Graham <jgraham@lincom-asg.com>
+Ralph Loader <suckfish@ihug.co.nz>
+Ji Wuliu <jiwuliu0952_cn@sina.com>
+Wada Hiroshi <syu-@yhb.att.ne.jp>
+Sal Amander <virgis@megagis.lt>
+Bill Tonseth <tonseth@shamra.mv.com>
+Torsten Pfuetzenreuter <torsten_pf@geocities.com>
+John M. Mills <jmills@tga.com>
+David McWeeny <davemcw@tr.comm.mot.com>
+Florian Lackerbauer <florian.lackerbauer@mchp.siemens.de>
+Manuel Benche <mbenche@jazz.cs.utsa.edu>
+Steve Luoma <stevel@dvc400.com>
+Roger Tragin <r.tragin@computer.org>
+Alex Bangs <bangs@entelos.com>
+Yangfen Qiu <yqiu@thomas.com>
+Johnny Chen <jchen@informatica.com>
+John Foresteire <John_J_Foresteire@res.raytheon.com>
+Larry Peacock <larry@appsmiths.com>
+Francisco Bravo <emefjbm@madrid.es.eu.ericsson.se>
+Antti Valtokari <Antti.Valtokari@iocore.fi>
+John Smyder <jsmyder@salient.com>
+Mathew Samuel <Mathew.Samuel@msdw.com>
+Conrad Hughes <conrad@baltimore.ie>
+John Rodgers <jrrodgers@acm.org>
+Charles Taurines <ctaurines@amadeus.net>
+James Lacey <James.Lacey@motorola.com>
+Nick Pratt <npratt@microstrategy.com>
+Xiaojun Wu <depender@yahoo.com>
+George Lafortune <lafortg@res.raytheon.com>
+Aoxiang Xu <axu@cim.mcgill.ca>
+Dima Skvortsov <dskvortsov@mediasite.com>
+Moore Y. Cao <yilincao@lucent.com>
+Wai Keung Fung <wkfung@maews69.mae.cuhk.edu.hk>
+Michael Laing <mpl@flni.com>
+Benoit Viaud <benoit.viaud@artal.fr>
+Ken Weinert <kenw@ihs.com>
+Ferran Boladeres Salvad <salvadof@iis.fhg.de>
+Bill Tonseth <tonseth@shamra.mv.com>
+Steve Vranyes <steve.vranyes@veritas.com>
+Jim Melton <Jim.Melton@lmco.com>
+Ron Klein <rklein@west.raytheon.com>
+Anuj Singhal <ASinghal@mediasite.com>
+Henrik Kai <hka@ddk.de>
+Dominic Hughes <dominic@aersoft.ie>
+Lior Shalev <lior@bandwiz.com>
+Charlie Duke <cduke@www.cuseemeworld.com>
+William Horn <whorn1984@my-deja.com>
+Greg Hall <Greg.Hall@Australia.Boeing.com>
+Aviad Eden <Aviad_Eden@icomverse.com>
+Vianney Lecroart <acegsm@itineris.net>
+Russell Mora <rd.mora@router.econz.co.nz>
+Samir Shaikh <SamirShaikh@bigfoot.com>
+Eric Yee <eyee@authentica.com>
+Matt Emerson <memerson@escient.com>
+Yiu L. Lee <yiulee@crosskeys.com>
+Pedro Brandao <pbrandao@inescn.pt>
+Hakon Innerdal <hakoni@funcom.com>
+Sami Aario <saempylae@hotmail.com>
+Ingo Dahm <ingo.dahm@sun.com>
+Vijay Aswadhati <wyseman@planetbazaar.com>
+Xiaowen Wang <swangken@cfdlab.ae.utexas.edu>
+<vsg@ivl.kiev.ua>
+Warren Miller <wmiller@stsci.edu>
+Youngkwan Cho <ykcho@ece.arizona.edu>
+Dorr H. Clark <dhclark@Lynx.COM>
+Dave McNeely <Dave_McNeely@md.northgrum.com>
+Eric Malenfant <EMalenfant@interstarinc.com>
+Roland Fischer <roli@gugus.com>
+Alexander Libman <alibman@ihug.com.au>
+Roger Larsson <larssoro@hotmail.com>
+Martin Stack <mstack@cambertx.com>
+Michael Ravits <miquel@bitsmart.com>
+Derek Viljoen <derek@viljoen.com>
+Hamed Azizadah <Azizadah@ix.netcom.com>
+Keo Kelly <kkelly@fallschurch.esys.com>
+Joachim Achtzehnter <joachima@netacquire.com>
+Tomer Amiaz <Tomer@bandwiz.com>
+Sergey Osokin <osa@freebsd.org.ru>
+Nick Logvinov <nl@rpb.ru>
+Viatcheslav Batenine <slavikb@infra2000.com>
+Shashi Bhushan <Shashi.Bhushan@lmco.com>
+Javier Corrales <jcorrales@tcpsi.es>
+J. Randy Pitz <james.r.pitz@boeing.com>
+Richard Reitmeyer <richard@verecomm.com>
+Xavier Montet <montet@cena.fr>
+Letha Etzkorn <letzkorn@cs.uah.edu>
+James Dabbs <jdabbs_home@mindspring.com>
+Matej Sekoranja <matej.sekoranja@ijs.si>
+Mattias Eriksson <snaggen@acc.umu.se>
+Nicoletta Viale <nicoletta.viale@sodalia.it>
+George Reid <greid@entrenet.com>
+Kim Lester <Kim_R_Lester@rta.nsw.gov.au>
+Wilson Chan <wilson@i-finance.com.hk>
+William Rucklidge <wjr@imarkets.com>
+Victor Krebss <lopik@delfi.lv>
+Chander P. Thareja <cthareja@ssind.stpn.soft.net>
+John Mills <jmills@tga.com>
+Haifeng Lee <haifeng@dset.com.cn>
+Hans Utz <hans.utz@student.uni-ulm.de>
+Askok Kumar Kalanithi <k_ashok_kumar@yahoo.com>
+Chris Able <cable@scires.com>
+John Hiltenbrand <jhiltenb@uiuc.edu>
+Steve Hespelt <shespelt@bear.com>
+Peter Fischer <fischer@softec.de>
+Madhu Ramachandran <mramacha@atdsprint.com>
+Caleb Epstein <cae@home.com>
+Bruno Marconi <bmarconi@jetstream.com>
+Ken Childress <kchildre@uccs.jpl.nasa.gov>
+Michael Kramer <kramer@ave.ac.agit.de>
+Johnny Willemsen <johnny.willemsen@meco.nl>
+Jonathan Astle <JNASTLE@dera.gov.uk>
+Javier Lopez Sanchez <jlopez@uida.es>
+Nir Drang <Nir@bandwiz.com>
+Albert Wijnja <Albert.Wijnja@meco.nl>
+Marcel Van Der Weert <mvdweert@aweta.nl>
+Mervyn Quah <mquah@guoco.com>
+Giovanni Zito <gzito@mbox.thunder.it>
+Matthew Adams <madams@bexusa.com>
+Sameer Schabungbam <schabungbam@hss.hns.com>
+Jeff Butler <jeff@panasas.com>
+Roland Rüdenauer <roland.ruedenauer@freenet.de>
+John Buckman <john@lyris.com>
+Guy Rosen <grosen@bigfoot.com>
+<amoderni@viasoft.com>
+Bennett R. Stabile <bstabile@home.com>
+Paul Caffrey <pcaffrey@iel.ie>
+Low Aik long <aiklong@softhome.net>
+Michael Rinne <Michael.Rinne@ZN-AG.de>
+Jaffar Shaikh <Jaffar_Shaikh@Mitel.com>
+Roger Beck <roger_beck@royalsun.com.au>
+Trueman Bill <truemanbill@yahoo.com>
+Harold Bien <harold_bien@yahoo.com>
+Mateu Batle <mbatle@iname.com>
+Philip Miller <pwmiller@sarnoff.com>
+Base V Paul <basev@wiproge.med.ge.com>
+Evghenii Filippov <evghenii.filippov@ngcan.com>
+Mike Curtis <mccurry@my-deja.com>
+Jessie Ragsdale <jessie.ragsdale@latuslw.com>
+Shourya Sarcar <Shourya.Sarcar@geind.ge.com>
+Eric Crampton <EricCrampton@worldnet.att.net>
+Sandip Patel <spatel@gigabitwireless.com>
+ChenXu <chenxu_xjtu@263.net>
+Vsevolod Novikov <novikov@df.nnov.rfnet.ru>
+Brendan Corcoran <brendan@jenisys.com.au>
+Steve Sivier <Steven.Sivier@Eng.Sun.COM>
+Rick Schneeman <rschneeman@nist.gov>
+Klaus H. Wolf <hw@cyland.com>
+Jean-Christophe Dubois <jcd@one.com>
+Michael Hampel <michael.hampel@fhs-hagenberg.ac.at>
+Wei Zheng <weizheng@uiuc.edu>
+Bernd Annamaier <bernd.annamaier@de.adtranz.com>
+Joachim Tremouroux <joachim.tremouroux@microresearch.be>
+Momchil Velikov <velco@fadata.bg>
+Munagala Ramanath <amberarrow@yahoo.com>
+Kevin Marshall <KCMarshall@att.net>
+Adrian Mercieca <adrian@anvil.co.uk>
+David Channon <djc@uq.net.au>
+Andy Guy <andy@emory.demon.co.uk>
+Oscar Rodriquez <Oscar.Rodriquez@eln.ericsson.se>
+Jonathan Cano <jcano@mmcnet.com>
+Alain Decamps <Alain.Decamps@PIDPA.be>
+Paul Rubel <prubel@bbn.com>
+Jon Loeliger <jloeliger@chiaro.com>
+Ricardo Chan <ricchan@nortelnetworks.com>
+Sarabjeet Duhra <sarabjeet_duhra@hp.com>
+Sathish Tiptur <Sathish.Tiptur@geind.ge.com>
+Michael Rushton <miker@mbmnz.co.nz>
+Arno Pernozzoli <a.bernicchia@tiscalinet.it>
+Calum Mitchell <calum.mitchell@cp.net>
+Jerry Odenwelder <jerry.o@mindspring.com>
+Kent Stewart <kbstew99@hotmail.com>
+Alexander Kogan <jk@kogan.nnov.ru>
+Michael Lindner <mikel@att.net>
+Arnaud Compan <compan@ipanematech.com>
+Frank A. Hunleth <fhunleth@cs.wustl.edu>
+Michael Searles <msearles@base16.com>
+Bogdan Jeram <bjeram@eso.org>
+Sebastian Schubert <sschuber@et.htwk-leipzig.de>
+Li Zhou <lizhou@doc.ece.uci.edu>
+Shivakumar Patil <shivakumar.patil@stdc.com>
+Steve Olson <Steve_Olson@illinova.com>
+Allen Broadman <broadmana@plural.com>
+Yuriy Zaporozhets <zaz@internet-zahav.net>
+Joe Guan <jguan@mistwireless.com>
+Attilio Dona <dona@sodalia.it>
+McGanahan Skjellifetti <cmeier@concentus-tech.com>
+Matthias Wittig <m.wittig@com-on.de>
+Sharath R. Cholleti <sharath@cs.wustl.edu>
+David Allen <dallen@storm.com>
+Edwin McKay <mckayea@betalasermike.com>
+Scott Bolin <scott.bolin@pgs.com>
+Mike Anderson <manderson@sonusnet.com>
+David Singer <David_P_Singer@res.raytheon.com>
+Nick Lin <nicklin@vantech.com.tw>
+Ron Hashimshony <Ron@bandwiz.com>
+Max Khon <fjoe@iclub.nsu.ru>
+Jonas Nordin <jonas.nordin@syncom.se>
+Jonathan Stockdale <Jonathan.Stockdale@locusdialogue.com>
+Jean-Francois Daune <Daune@IBA.be>
+Wei Chiang <wei.chiang@kolumbus.fi>
+Rick Stille <stille_r@ociweb.com>
+Kirill Kuolechov <Kirill.Koulechov@gmx.net>
+Edwin Wrench <Edwin.Wrench@itt.com>
+Yung Trinh <ytrinh@email.com>
+Richard Eperjesi <reperjesi@yahoo.com>
+Ben Strong <bstrong@bluelark.com>
+David Karr <dkarr@bbn.com>
+Sathish Tiptur <Sathish.Tiptur@geind.ge.com>
+Frank Hunleth <fhunleth@cs.wustl.edu>
+Lu Yunhai <luyunhai@huawei.com>
+Christian Ewald <christian.ewald@zuehlke.com>
+Samuel Qi Luo <Samuel.QiLuo@ericsson.com.au>
+Sergey Logvin <S.Logvin@telesens.com.ua>
+Orlando Ribeiro <oribeiro@inescporto.pt>
+Doug Warner <dougwarner@micron.com>
+Kevin Regan <kregan@infoglide.com>
+Andy Olson <andrew.olson@lmco.com>
+Max Voronoy <m.voronoy@telesens.com.ua>
+Alexandr Gavrilov <gavr@trustworks.com>
+Scott Gunn <gunns@tvratings.com>
+Mason Deaver <mason.deaver@tripointglobal.com>
+Richard Huber <rhuber@amadeus.net>
+Glen Osterhout <gosterho@elronsw.com>
+YingLi <taoace@sina.com>
+Haka <newhaka@21cn.com>
+Sam Chong <sam@i2i-inc.com>
+Virgilijus Globis <virgis@megagis.lt>
+Stefan Scherer <stefan_scherer@sepp.de>
+Pim Philipse <ppm@rogan-medical.com>
+Michael Grove <snowymike@aol.com>
+John Mackenzie <John.Mackenzie.extern@icn.siemens.de>
+Ricky Marek <ricky@waveip.com>
+Patrick Maassen <patrick.maassen@meco.nl>
+Christian Schuhegger <Christian.Schuhegger@cern.ch>
+David L Smith <david.l.smith@larc.nasa.gov>
+Rainer Doerntge <doerntge@kiwilogic.com>
+Tompa <safdsfd@adsffda.com>
+Derek Horton <trohed@yahoo.com>
+Shameek Basu <sbasu@ivast.com>
+Dipti Jain <dijain@hss.hns.com>
+Eric Zuur <Eric.Zuur@meco.nl>
+Jeffrey J. Persch <hyperslug@yahoo.com>
+Rahul Shukla <rshukla@ggn.aithent.com>
+Pierre Fayolle <fayolle@enseirb.fr>
+Greg McCain <greg.mccain@veritas.com>
+Matt Cheers <matt.cheers@boeing.com>
+Benjamin Fry <ben@thrownet.com>
+Ram Ben-Yakir <Ram@bandwiz.com>
+Eric Desamore <Eric.Desamore@idtv.bull.net>
+John Ashmun <John.ASHMUN@esca.com>
+Przemyslaw Marciniak <pmarciniak@lucent.com>
+Boris Kolpackov <bosk@ipmce.ru>
+Carsten Madsen <com@navicon.dk>
+David Sperry <sperryd@res.raytheon.com>
+Ted Horst <Ted.Horst@ubsw.com>
+Diana Arroyo <darroyo@infoglide.com>
+Peter Phillips <pphillip@home.com>
+Benny Prijono <bennylp@switchlab.net>
+Roland Ziegler <zi@ave-web.de>
+Stelios Sfakianakis <ssfak@ics.forth.gr>
+Mike Letchworth <mletchwo@cisco.com>
+Brian Gilmer <Brian.Gilmer@jhuapl.edu>
+James Dunham <James.Dunham@esecurityinc.com>
+Juergen Pfreundt <Juergen.Pfreundt@gft.com>
+Joel Sherrill <joel@OARcorp.com>
+Jules Colding <dsl11814@vip.cybercity.dk>
+Stephane Pion <PION_Stephane@stna.dgac.fr>
+Raghu Narayan <raghu_narayan@non.hp.com>
+Richard Goold <rgoold@inexum.com>
+Nathalie D'Amours <nathalie@stentor.com>
+Albert Pariante <albert@sw.bev.etn.com>
+Stephen Torri <s.torri@lancaster.ac.uk>
+Philippe Perrin <perrin@enseirb.fr>
+Gunnar Buason <a98gunbu@student.his.se>
+David Hanvey <d.hanvey@qub.ac.uk>
+Jeff McNiel <Jeff_McNiel@VitalCom.com>
+Georg Lohrer <GeorgLohrer@web.de>
+Rachel G Smith <Rachel_G_Smith@raytheon.com>
+Tom Lake <Tom.Lake@glossa.co.uk>
+Logan Modahala <lmodahal@cisco.com>
+Jean Malenfant <jean.malenfant@locusdialog.com>
+Victor Poznyak <VictorP@Webley.COM>
+Juan Jose Comellas <jcomellas@novamens.com>
+James Dorsey <James.Dorsey@acxiom.com>
+Benot Desmeules <bdesmeules@eurekium.com>
+Tom Moog <tmoog@polhode.com>
+Stan Pinte <spinte@latinia.com>
+Dayisi <dayisi@163.com>
+Peter Georgakakis <peterg@gdc.ca>
+Richard Hardgrave <hardgrav@ttd.teradyne.com>
+Mark Drijver <mdrijver@remedy.nl>
+Guy Bolton King <guy_bolton_king@non.agilent.com>
+Carlton Teel <teel@signal-analysis.com>
+Alexandre Cervieri <alexandre.cervieri@terra.com.br>
+Darren Griffith <darren.griffith@esecurityinc.com>
+Sam Mok <sam.mok@westwave.com>
+Josh Curry <Josh.Curry@lipper.reuters.com>
+Norman Wilson <Norman.Wilson@liffe.com>
+Itzhak Briskman <ibriskman@ndsisrael.com>
+James Kanyok <james.kanyok@lmco.com>
+Corey Trager <corey.trager@tradingtechnologies.com>
+Kirat Singh <kirat.singh@gs.com>
+Oleg Pavliv <oleg_pavliv@yahoo.com>
+Frederick Niemi <fniemi@cisco.com>
+Andrew Munro <Andrew.Munro@Australia.Boeing.com>
+Nicolas Huynh <HUYNH_Nicolas@cena.fr>
+Kevin Burge <kcburge@systemware-inc.com>
+Wayne Erchak <wayne@stentor.com>
+Yew Khong See <seeyk@yahoo.com>
+Greg Thompson <gregt@ot.com.au>
+Mike Pyle <mike.pyle@burning-glass.com>
+Kobi Cohen-Arazi <kobi@mivzak.com>
+Israel Illescas Gomez <illescas@dycsa.es>
+Brodie Thiesfield <brodie.thiesfield@activesky.com>
+Erik Toubro Nielsen <enielsen@mdsproteomics.dk>
+Masaoud T. Moonim <masaoud@mailandnews.com>
+Steve Witten <steve_witten@hp.com>
+Gil Rapaport <grapaport@comgates.co.il>
+Boris Temkin <borist@allcharge.com>
+Steve Perkins <steve@steveperkins.net>
+Jerry Thomas <jto@consegna.co.uk>
+cuma <cuma@dslab.csie.ncu.edu.tw>
+Ron Heald <rheald@nrao.edu>
+Andrew Finnell <Andrew.Finnell@esecurityinc.com>
+Dan Levi <DanL@webmap.com>
+Rob Andzik <andzik@rtlogic.com>
+James Maynard <James.Maynard@ot.com.au>
+Francois Rioux <rioux01@gel.ulaval.ca>
+Ophir Bleiberg <ophir@personeta.com>
+Allen Kelly <akelly@postx.com>
+Victor Pitchouc <pitchouc@tlsoft.ru>
+Srikanth Vedire <srvedire@yahoo.com>
+J Shane Culpepper <pepper@channelogics.com>
+Benn Howard <Benn_Howard@raytheon.com>
+Steffen Hieber <Steffen.Hieber@erl9.siemens.de>
+Craig L. Ching <cching@mqsoftware.com>
+Ben Howard <Ben_Howard@raytheon.com>
+Rich Newman <RNewman@directv.com>
+Kelly F. Hickel <kfh@mqsoftware.com>
+David Trusty <david.trusty@westwave.com>
+Burkhard Neppert <b.neppert@dr-staedtler.de>
+Crawford Lodge <crawford.lodge@xmlglobal.com>
+Scott Gaa <scott_a_gaa@md.northgrum.com>
+Jenny Kowald <jkowald@oz.agile.tv>
+Oren Zeev-Ben-Mordehai <oren@phonedo.com>
+Holger P. Krekel <krekel@merlinux.de>
+Glenn Popelka <gpp@gpopelka.com>
+Marco Kranawetter <Marco.Kranawetter@icn.siemens.de>
+Tibor Kiss <tkiss@mindmaker.hu>
+Robert Davidson <robert@rdavidson.freeserve.co.uk>
+Peter Crowther <peter.crowther@networkinference.com>
+Mouna Seri <seri@crhc.uiuc.edu>
+Vladimir Chovanec <Vladimir.CHOVANEC@asset.sk>
+Alexander Rieger <Alexander.Rieger@inka.de>
+Glen Coakley <gcoakley@mqsoftware.com>
+Scott Plant <splant@softhome.net>
+Wilfried Reinoehl <Wilfried.Reinoehl@WiredMinds.de>
+Sangeetha Ramadurai <Sangeetha.Ramadurai@geind.ge.com>
+Victor Chernenko <v_chernenko@hotmail.com>
+Frank Wolf <fwolf@gum.de>
+Christophe Galerne <christophgalerne@earthlink.net>
+Scott Harris <harris_s@ociweb.com>
+Stefan Kluehspies <Stefan.Kluehspies@gmx.net>
+Egon Wuchner <Egon.Wuchner@mchp.siemens.de>
+Ugendreshwar Kudupudi <ugenderk@rediffmail.com>
+Ekkehard Hoffmann <ehoffman@fzi.de>
+Ted Krovetz <ted@digitalfountain.com>
+Grzegorz Sikora <GSikora1@era.pl>
+Fabris <fabris65@my-deja.com>
+Christina Junru <junruli@lucent.com>
+Patrick Rabau <Patrick.Rabau@htc.com>
+Hyman Rosen <hyrosen@mail.com>
+Torbjorn Backstrom <torbjorn.k.backstrom@volvo.com>
+Robert Burke <rburke2002@yahoo.com>
+Olivier Brunet <obrunet@groupama-ccama.tm.fr>
+Bret Clark <clarkbt@tvratings.com>
+Steve Rahn <SRahn@rim.net>
+Bertrand Motuelle <bertrand.motuelle@effix.fr>
+Blair Zajac <blair@gps.caltech.edu>
+Gary Duzan <gduzan@bbn.com>
+Garry Shammis <Garry.Shamis@kbcfp.com>
+Eamonn Saunders <Esaunders@softricity.com>
+Yev Omenzel <omenzel@yahoo.com>
+John E Hein <jhein@timing.com>
+Tino Schwarze <tino.schwarze@informatik.tu-chemnitz.de>
+Don Hinton <dhinton@gmx.net>
+Gergely Timar <timarok@elender.hu>
+Peter Phillips <pphillip@opentext.com>
+Kuznesov Yury <yury@newst.net>
+Daniel Manfis <dany_100@yahoo.com>
+Massimo Pichini <massimo@webbridges.it>
+Eyal Neuman <eyal@tradertools.com>
+Dave Hale <d.hale@rane.net>
+Giulio Agostini <giulio.agostini@db.com>
+Werner Buchert <w.buchert@medat.de>
+Kevin Cline <krc@one.com>
+Mahesh Varadarajan <mahesh.varadarajan@divatv.com>
+Olof Lindfors <olof.lindfors@protegrity.com>
+Tom Wagner <TomW@CoManage.net>
+Kyle Brost <Kyle.Brost@quest.com>
+Nicolas Vincent <Vincent.Nicolas@Radiometer.dk>
+Jon Wackley <jonw@mountaincable.net>
+Jan Kalin <jan.kalin@zag.si>
+Andreas Huggel <huggel_andreas@isoftel.com>
+Alain Totouom <atotouom@gmx.de>
+Tushar Nair <ntushar@yahoo.com>
+Sunny Leung <sleung@opentext.com>
+Bonifides Bautista <earlboy@my-deja.com>
+Brad Hoskins <BHoskins@slo.newport.com
+Donald Acton <acton@opentext.com>
+Hagen Ulrich <ulrich.hagen@siemens.com>
+Adrian Mercieca <adrian@anvilmalta.com>
+Lars Steubesand <Lars_Steubesand@hsgmed.com>
+Heping He <heping.he@riskmetrics.com>
+Leo Kov <leo_kov@hotmail.com>
+Suresh N <suresh.n@vergiltech.com>
+David Arndt <darndt@oresis.com>
+Tad Hetke <thetke@oresis.com>
+Graeme Clark <gclark@opentext.com>
+Gu Song <gusong_m@yahoo.com>
+Chris Hughes <chughes@stentor.com>
+Fikri Pribadi <fikri@ugotacall.com>
+Ioulia Passynkova <ioulia.passynkova@nettest.com>
+Steve Osselton <steve@prismtechnologies.com>
+Doron Rajwan <doron@BANDWIZ.COM>
+Stuart Jones <sjones@clcsmail.ksc.nasa.gov>
+Guillaume Renaud <guillaume.renaud@valtech.fr>
+Tommy Svensson <tommysvensson@yahoo.com>
+Jstwo <jstwo@writeme.com>
+Hartmut Quast <HartmutQuast@t-online.de>
+Ulrich Voigt <Ulrich.Voigt@ddg.de>
+Syed Wasim Ali <syed.ali@neustar.com>
+Bo Balder <bba@post.utfors.se>
+Michael Sawczyn <msawczyn@columbus.rr.com>
+Ildar Gabdulline <ildar_gabdullin@mailru.com>
+David Yongqiang Wang <davidyw@avaya.com>
+Andrew Foster <awf@prismtechnologies.com>
+C Chan <CChan@md.aacisd.com>
+Alexey Chalimov <alexey@allcharge.com>
+Andrea Bernicchia <a.bernicchia@acsys.it>
+Praphul Menon <praphulm@yahoo.com>
+Patrick N <pn@milhouse.co.uk>
+Garth Watney <Garth.J.Watney@jpl.nasa.gov>
+Jim Connelly <jim.connelly@neustar.com>
+Eyal Lubetzky <eyall@BANDWIZ.COM>
+Gaoyan Xie <gxie@eecs.wsu.edu>
+Michael Brinkmann <michael.brinkmann@materna.de>
+Chatchai Khumboa <ckhumboa@gmu.edu>
+Andrey Shkinev <andreyshkinev@rogers.com>
+Michael Graf <mg@leutek.de>
+Justin Michel <michel_j@ociweb.com>
+Robert Martin <martin_r@ociweb.com>
+Charles Meidinger <Charles.Meidinger@MSFC.NASA.GOV>
+Petr Tuma <petr.tuma@mff.cuni.cz>
+Greg Burley <Burley@tabq.com.au>
+Marvin Greenberg <mgreenberg@dctd.saic.com>
+Mike Connors <mike.connors@ghs.com>
+Ben Flight <ben.flight@wanadoo.fr>
+Bob Jolliffe <bjolliffe@cs.up.ac.za>
+Jesse <jesse@thrownet.com>
+Robert Handl <Robert.Handl@era.ericsson.se>
+Keith Snively <ksnively@d-a-s.com>
+Ahmed Riza <Ahmed.Riza@ubsw.com>
+Miljenko Norsic <Miljenko.Norsic@etk.ericsson.se>
+David Robison <drrobison@openroadsconsulting.com>
+Preston Elder <prez@srealm.net.au>
+Eric Peters <egpeters@u.washington.edu>
+Edward A Thompson <ed4becky_2000@yahoo.com>
+Eugene Alterman <eugalt@myrealbox.com>
+Patrick Cosmo <Patrick@incognito.com>
+Ran Kohavi <ran@kashya.con>
+Harvinder Sawhney <harvindersawhney@yahoo.com>
+Sorin Iordachescu <sorin.iordachescu@am-beo.com>
+Mahesh Vedantam <mahesh@ociweb.com>
+Brian Olson <bolson@rtlogic.com>
+Roy Sharon <roysharon@hotmail.com>
+Charlie Grames <charlie.grames@windriver.com>
+Tom Howard <tom_howard@yahoo.com>
+Michael Gillmann <michael.gillmann@infor.de>
+Yaniv Ben Ari <yanivb@bis.co.il>
+Victor Terber <vterber@csksoftware.de>
+David Sanders <dsanders@chaincast.com>
+Yoram Zini <yoram.zini@emblaze.com>
+Sean McCauliff <seanm@Narus.com>
+Shmulik Regev <shmul@vself.com>
+Andrew L. Shwaika <als@solvo.ru>
+Gerhard Voss <Gerhard_Voss@t-online.de>
+Gregor Bruce <gregorb@clear.net.nz>
+Ian Cahoon <icahoon@cisco.com>
+Alexei I. Adamovich <lexa@adam.botik.ru>
+Sohail Husain <chulbulla@yahoo.com>
+Jerome Julius <julius@erols.com>
+William R Volz <WRVO@chevrontexaco.com>
+
+I would particularly like to thank Paul Stephenson, who worked with me
+at Ericsson in the early 1990's. Paul devised the recursive Makefile
+scheme that underlies this distribution and also spent countless hours
+with me discussing object-oriented techniques for developing
+distributed application frameworks.
+
+Finally, I'd also like to thank Todd L. Montgomery <tmont@cs.wvu.edu>,
+fellow heavy metal head, for fulfilling his quest to get ACE to
+compile with GCC!
+
+In conclusion, our goal is to see ACE+TAO continue to evolve and
+become a more comprehensive, robust, and well-documented C++ class
+library that is freely available to researchers and developers. If
+you have any improvements, suggestions, and or comments, we'd like to
+hear about it. Please see the instructions in
+
+$ACE_ROOT/PROBLEM-REPORT-FORM
+$TAO_ROOT/PROBLEM-REPORT-FORM
+
+for instructions on submitting suggestions or fixes.
+
+ Thanks,
+
+ Douglas C. Schmidt
+ schmidt@uci.edu
diff --git a/apps/JAWS2/JAWS/Assoc_Array.h b/apps/JAWS2/JAWS/Assoc_Array.h
new file mode 100644
index 00000000000..2adb6de7d0d
--- /dev/null
+++ b/apps/JAWS2/JAWS/Assoc_Array.h
@@ -0,0 +1,102 @@
+/* -*- c++ -*- */
+// $Id$
+
+#ifndef JAWS_ASSOC_ARRAY_H
+#define JAWS_ASSOC_ARRAY_H
+
+template <class KEY, class DATA> class JAWS_Assoc_Array_Iterator;
+
+template <class KEY, class DATA>
+class JAWS_Assoc_Array
+{
+
+friend class JAWS_Assoc_Array_Iterator<KEY, DATA>;
+
+public:
+ JAWS_Assoc_Array (int maxsize = 1024);
+ ~JAWS_Assoc_Array (void);
+
+ int index (const KEY &k);
+ // Returns the index into the array associated with key k
+ // Returns -1 if not found.
+
+ DATA * find (const KEY &k);
+ // Returns the data associated with key k. 0 if not found.
+
+ DATA * find (int i);
+ // Returns the data associated with array index i. Returns 0 if the
+ // index is invalid.
+
+ DATA * insert (const KEY &k, const DATA &d);
+ // Inserts a *copy* of the key and data into the associated array.
+ // Both KEY and DATA must have well defined semantics for copy
+ // construction. This method returns a pointer to the inserted item
+ // copy, or 0 if an error occurred. NOTE: if an identical key
+ // already exists in the tree, no new item is created, and the
+ // returned pointer addresses the existing item associated with the
+ // existing key.
+
+ int remove (const KEY &k);
+ // Removes the item associated with the given key from the
+ // tree and destroys it. Returns 1 if it found the item
+ // and successfully destroyed it, 0 if it did not find the
+ // item, or -1 if an error occurred.
+
+ void clear (void);
+ // Destroys all keys and associated data.
+
+protected:
+
+ int find_i (const KEY &k);
+ // If k points to an associated data item, then this function
+ // returns the index into the arrays that hold it. Otherwise, it
+ // returns an index suitable to insert the item. If the item is not
+ // found and the table is full, maxsize_ is returned.
+
+private:
+ KEY **k_array_;
+ DATA **d_array_;
+ int maxsize_;
+};
+
+template <class KEY, class DATA>
+class JAWS_Assoc_Array_Iterator
+{
+public:
+
+ JAWS_Assoc_Array_Iterator (const JAWS_Assoc_Array<KEY, DATA> &aa);
+ ~JAWS_Assoc_Array_Iterator (void);
+
+ KEY * key (void);
+ DATA * data (void);
+
+ int first (void);
+ int last (void);
+ int next (void);
+ int previous (void);
+ int is_done (void);
+
+private:
+
+ // declare private and do not define: explicitly
+ // prevent assignment and copy construction of iterators
+ JAWS_Assoc_Array_Iterator (const JAWS_Assoc_Array_Iterator<KEY, DATA> &);
+ void operator= (const JAWS_Assoc_Array_Iterator<KEY, DATA> &);
+
+private:
+
+ const JAWS_Assoc_Array<KEY, DATA> &aa_;
+
+ int i_;
+ // The current item pointed by iterator.
+
+ int j_;
+ // The next item to be pointed to by iterator.
+
+};
+
+#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
+#include "JAWS/Assoc_Array.cpp"
+#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
+
+#endif /* !defined (JAWS_ASSOC_ARRAY_H) */
diff --git a/apps/JAWS2/JAWS/Hash_Bucket_T.h b/apps/JAWS2/JAWS/Hash_Bucket_T.h
new file mode 100644
index 00000000000..f37c959445f
--- /dev/null
+++ b/apps/JAWS2/JAWS/Hash_Bucket_T.h
@@ -0,0 +1,206 @@
+/* -*- c++ -*- */
+// Hey Emacs! This is a C++ file!
+// $Id$
+
+#ifndef JAWS_HASH_BUCKET_T_H
+#define JAWS_HASH_BUCKET_T_H
+
+#include "ace/Containers.h"
+
+#define JAWS_HASH_BUCKET_ITEM JAWS_Hash_Bucket_Item<EXT_ID, INT_ID>
+#define JAWS_HASH_BUCKET_DLCSTACK JAWS_Hash_Bucket_DLCStack<EXT_ID, INT_ID>
+#define JAWS_HASH_BUCKET_DLCSTACK_ITERATOR \
+ JAWS_Hash_Bucket_DLCStack_Iterator<EXT_ID, INT_ID>
+
+
+// Why Hash_Bucket?
+//
+// This is an attempt to simplify the creation of high-performance
+// hash tables with respect to concurrent access by multiple threads.
+// To this end, we attempt to raise the amount of concurrency through
+// the use or readers/writer locks rather than through mutual
+// exclusion.
+
+template <class EXT_ID, class INT_ID>
+class JAWS_Hash_Bucket_Item
+{
+public:
+ JAWS_Hash_Bucket_Item (const EXT_ID &ext_id, const INT_ID &int_id,
+ JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *next = 0,
+ JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *prev = 0);
+ JAWS_Hash_Bucket_Item (JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *next = 0,
+ JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *prev = 0);
+
+ ~JAWS_Hash_Bucket_Item (void);
+ // Destructor.
+
+ EXT_ID ext_id_;
+ // Key used to look up an entry.
+
+ INT_ID int_id_;
+ // The contents of the entry itself.
+
+ JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *next_;
+ // Pointer to the next item in the bucket of overflow nodes.
+
+ JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *prev_;
+ // Pointer to the prev item in the bucket of overflow nodes.
+
+};
+
+
+template <class EXT_ID, class INT_ID> class JAWS_Hash_Bucket_DLCStack_Iterator;
+
+template <class EXT_ID, class INT_ID, class EQ_FUNC>
+class JAWS_Hash_Bucket_Manager;
+
+template <class EXT_ID, class INT_ID>
+class JAWS_Hash_Bucket_DLCStack
+// Create a doubly linked circular stack to be managed by the
+// Hash_Bucket_Manager
+{
+ friend class JAWS_Hash_Bucket_DLCStack_Iterator<EXT_ID, INT_ID>;
+
+public:
+
+ JAWS_Hash_Bucket_DLCStack (ACE_Allocator *alloc = 0);
+ ~JAWS_Hash_Bucket_DLCStack (void);
+
+ int is_empty (void) const;
+ // Returns 1 if the container is empty, otherwise returns 0.
+
+ JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *push (const EXT_ID &ext_id,
+ const INT_ID &int_id);
+ // Adds <new_item> to the head of the list.
+ // Returns the new item that was inserted.
+
+ JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *pop (void);
+ // Removes and returns the first <item> in the list. Returns
+ // internal node's address on success, 0 if the queue was empty.
+ // This method will *not* free the internal node.
+
+ void reset (void);
+ // Reset the <JAWS_Hash_Bucket_DLCStack> to be empty.
+ // Notice that since no one is interested in the items within,
+ // This operation will delete all items.
+
+ int remove (JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *item);
+ // If item is still part of the CStack, it is removed.
+ // In anycase, if there is no error, item is freed.
+ // Returns 0 if ok, -1 on error.
+
+ ACE_Allocator *allocator_;
+
+private:
+
+ JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *head_;
+ JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *tail_;
+
+};
+
+
+template <class EXT_ID, class INT_ID>
+class JAWS_Hash_Bucket_DLCStack_Iterator
+{
+public:
+
+ JAWS_Hash_Bucket_DLCStack_Iterator (const JAWS_HASH_BUCKET_DLCSTACK &dlcstack);
+
+ int first (void);
+ // Moves to first element in the set, clears done flag. Returns 0
+ // if empty, 1 otherwise.
+
+ int last (void);
+ // Moves to last element in the set, clears done flag. Returns 0 if
+ // empty, 1 otherwise.
+
+ int advance (void);
+ // Move forward by one element of set. Returns 0 if empty or we end
+ // up being the first element in the set, 1 otherwise. If advance
+ // takes us to the first element, done is set to true.
+
+ int revert (void);
+ // Move backward by one element of set. Returns 0 if empty or we
+ // end up being the last element in the set, 1 otherwise. If revert
+ // takes us to the last element, done is set to true.
+
+ int next (JAWS_HASH_BUCKET_ITEM *&item);
+ int next (JAWS_HASH_BUCKET_ITEM *&item) const;
+ // Pass back the next item. Returns 0 if done is true, 1 otherwise.
+
+ int prev (JAWS_HASH_BUCKET_ITEM *&item);
+ int prev (JAWS_HASH_BUCKET_ITEM *&item) const;
+ // Pass back the previous item. Returns 0 if done is true, 1
+ // otherwise.
+
+ int done (void) const;
+ // Returns 1 if done_ flag is set, 0 otherwise. done_ flag is set
+ // if next takes us to first element or prev takes us to last
+ // element.
+
+private:
+ const JAWS_HASH_BUCKET_DLCSTACK &dlcstack_;
+ JAWS_HASH_BUCKET_ITEM *next_;
+ JAWS_HASH_BUCKET_ITEM *prev_;
+ int done_;
+};
+
+
+template <class EXT_ID, class INT_ID, class EQ_FUNC>
+class JAWS_Hash_Bucket_Manager
+{
+public:
+ JAWS_Hash_Bucket_Manager (ACE_Allocator *alloc = 0);
+ int open (ACE_Allocator *alloc = 0);
+
+ ~JAWS_Hash_Bucket_Manager (void);
+ int close (void);
+
+ int find (const EXT_ID &ext_id) const;
+ int find (const EXT_ID &ext_id, INT_ID &int_id) const;
+ // Locate <ext_id> and pass out parameter via <int_id>. If found,
+ // return 0, returns -1 if not found.
+
+ int bind (const EXT_ID &ext_id, const INT_ID &int_id);
+ int trybind (const EXT_ID &ext_id, INT_ID &int_id);
+ // Associate <ext_id> with <int_id> if and only if <ext_id> is not
+ // in the map. If <ext_id> is already in the map then the <int_id>
+ // parameter is assigned the existing value in the map. Returns 0
+ // if a new entry is bound successfully, returns 1 if an attempt is
+ // made to bind an existing entry, and returns -1 if failures occur.
+
+ int rebind (const EXT_ID &ext_id, const INT_ID &int_id,
+ EXT_ID &old_ext_id, INT_ID &old_int_id);
+ // Associate <ext_id> with <int_id>. If <ext_id> is not in the map
+ // then behaves just like <bind>. Otherwise, store the old values
+ // of <ext_id> and <int_id> into the "out" parameters and rebind the
+ // new parameters. This is very useful if you need to have an
+ // atomic way of updating <JAWS_Hash_Map_Entrys> and you also need full
+ // control over memory allocation. Returns 0 if a new entry is
+ // bound successfully, returns 1 if an existing entry was rebound,
+ // and returns -1 if failures occur.
+
+ int unbind (const EXT_ID &ext_id);
+ int unbind (const EXT_ID &ext_id, INT_ID &int_id);
+ // Break any association of <ext_id>. Returns the value of <int_id>
+ // in case the caller needs to deallocate memory. Return value is 0
+ // if unbind succeeds, -1 otherwise.
+
+protected:
+
+ JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *find_i (const EXT_ID &ext_id) const;
+ // Returns the item associated with ext_id if found in list.
+ // Returns NULL if not found.
+
+private:
+
+ JAWS_Hash_Bucket_DLCStack<EXT_ID, INT_ID> dlcstack_;
+
+};
+
+
+#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
+#include "JAWS/Hash_Bucket_T.cpp"
+#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
+
+#endif /* JAWS_HASH_BUCKET_T_H */
diff --git a/apps/gperf/ChangeLog b/apps/gperf/ChangeLog
new file mode 100644
index 00000000000..a243474ca76
--- /dev/null
+++ b/apps/gperf/ChangeLog
@@ -0,0 +1,1990 @@
+Mon Jan 14 14:43:53 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * tests/Makefile:
+ Re-generate dependencies.
+
+Mon Dec 24 12:47:27 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * src/Options.cpp:
+ Add temporary fix until something better shows up, at least it
+ compiles this way!
+
+Sat Sep 22 09:06:10 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * src/Makefile: Removed the rules.lib.GNU file since it didn't
+ seem to be needed and was causing problems for MinGW. Thanks to
+ Jeff McNiel <JMcNiel@datacrit.com> for reporting this.
+
+Wed Sep 19 02:29:37 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * tests/Makefile:
+ Another minor problem in the generated Makefile, i.e. the script
+ continues to break for filenames that contain a '+' sign in them.
+
+Wed Sep 12 16:06:46 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * tests/Makefile:
+
+ Added missing dependency in runtests and entry in realclean for
+ taoout. This fixes a long standing nagging problem.
+
+Sat Sep 8 22:40:21 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * src/Key_List.cpp (output_lookup_array):
+
+ Removed a compilation warning on 64-bit Linux.
+
+Sun Jul 29 12:17:55 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * The following changes fix a bug reported by Karl Proese
+ <karl.proese@mchp.siemens.de> and Jeff Parsons.
+
+ * tests: Patched the *.exp files to include the new WORDLIST_SIZE
+ macro.
+
+ * src/Key_List.cpp: Generate a new const/enum that defines the
+ size of the wordlist array. This is now used to fix a nasty bug
+ where MAX_HASH_VALUE was used instead of WORDLIST_SIZE.
+
+ * src/Key_List.cpp (output_lookup_array): Reformatted the
+ debugging output to make it easier to tell what's going on.
+
+ * tests/tao.exp: Updated this file based on the expected output of
+ the new test example.
+
+ * tests/tao.gperf: Updated this to use a different set of keys since
+ they exercise the range of screwy inputs better than the earlier
+ contents of this file. In particular, this should detect
+ certain nasty bugs that were plaguing GPERF earlier for keyword
+ sets with a large number of duplicates.
+
+ * src/Key_List.cpp (read_keys): Clarified the debugging message
+ to indicate the key links are *static*.
+
+ * src/Options.cpp (parse_args): Fixed a stupid typo...
+
+Sun Jul 1 08:33:56 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * tests/Makefile: For some strange reason there was a BIN2 macro
+ but no BIN macro, which caused problems...
+
+ * tests: Added support to check for the condition that caused
+ TAO's IDL compiler to break on keylists that have a large number
+ of duplicates!
+
+ * src/Key_List.cpp (output_lookup_function): Fixed a tiny mistake
+ where "slot < MAX_HASH_VALUE" should have been "slot <=
+ MAX_HASH_VALUE". Thanks to Vsevolod Novikov
+ <novikov@df.nnov.rfnet.ru> and Jeff Parsons
+ <parsons@cs.wustl.edu> for helping to track this down.
+
+Sat Jun 2 13:30:30 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * src/Makefile (INSTALL): Fixed several minor problems with the
+ Makefile so that this will build correctly on mingw. Thanks to
+ Cristian Ferretti <cristian_ferretti@yahoo.com> for pointing
+ this out.
+
+Fri Mar 30 11:30:54 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * tests/Makefile:
+ And we need to patch dependencies yet another time.
+
+Wed Jan 24 13:44:53 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * tests/Makefile:
+ And I got nailed by the same problem again:
+ Just doing 'make depend' generates invalid dependencies for some
+ reason, had to manually patch them.
+
+Mon Oct 16 10:34:06 2000 Carlos O'Ryan <coryan@uci.edu>
+
+ * tests/Makefile:
+ Just doing 'make depend' generates invalid dependencies for some
+ reason, had to manually patch them.
+
+Fri Apr 21 20:33:11 2000 Carlos O'Ryan <coryan@uci.edu>
+
+ * tests/Makefile:
+ Add dependencies for the runtest rule, otherwise parallel builds
+ fail.
+
+Thu Apr 20 09:04:27 2000 Carlos O'Ryan <coryan@uci.edu>
+
+ * tests/Makefile:
+ Just running 'make depend' on this file introduces an spurious
+ 'c++' string in the middle of the dependencies. Have no time to
+ figure out why.
+
+Wed Mar 8 17:26:22 2000 Ossama Othman <ossama@uci.edu>
+
+ * src/Key_List.cpp (Key_List, ~Key_List, output_types):
+
+ Fixed memory leaks related to lack of deallocation of variables
+ that were initialized with static strings, and then
+ reinitialized with strings that were dynamically allocated.
+ [Bug 334]
+
+Tue Feb 22 18:25:02 2000 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Key_List.cpp,
+ src/Bool_Array.cpp,
+ src/Gen_Perf.cpp,
+ src/Hash_Table.cpp,
+ src/Options.h,
+ src/Options.cpp: Renamed the DEBUG enum to DEBUGGING enum
+ to avoid problems with -DDEBUG is enabled. Thanks to
+ Tobin Bergen-Hill <tbhill@dctd.saic.com> for reporting this.
+
+Sat Nov 13 18:43:53 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Key_List.cpp: The code for output_lookup_function() was
+ not being called if option[GLOBAL] was set. Thanks to Eugene
+ Surovegin <ebs@glasnet.ru> for reporting the bug and the fix.
+
+Tue Aug 31 14:47:06 1999 Pradeep Gore <pradeep@flamenco.cs.wustl.edu>
+
+ * Makefile:
+ Fix for Bug#:250 - The Makefile now uses ACE's build commands.
+ This also gets rid of the build warning on egcs when compiling
+ with repo=1. Thanks to David, Ossama, Bala and Yamuna.
+
+Thu Jul 1 09:31:32 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
+
+ * Makefile:
+ If we are cross compiling we shouldn't compile gperf, it is not
+ going to help anyway, because we could not run it.
+
+Sun Jun 27 20:40:30 1999 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * src/Key_List.cpp: Added some initializers to keep EGCS from
+ complaining.
+
+Wed Jun 23 07:24:58 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Key_List.cpp (output_hash_function): Use conditional
+ compilation rather than a runtime check to test if
+ ACE_STANDARD_CHARACTER_SET_SIZE == ACE_EBCDIC_SIZE. This
+ suppresses a warning on DEC UNIX. Thanks to David Levine for
+ reporting this.
+
+Fri Jun 18 16:54:43 1999 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * apps/gperf/src/Key_List.cpp (output_lookup_array): Prefixed
+ debug message with "GPERF".
+
+Thu Jun 17 18:04:30 1999 Douglas C. Schmidt <schmidt@mambo.cs.wustl.edu>
+
+ * tests/test-[1-5].exp: Fixed all the tests to account for the new
+ EBCDIC output.
+
+Thu Jun 17 17:25:00 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Key_List.cpp (output_hash_function): Generate an asso_values
+ table that will have the appropriate values for both EBCDIC or
+ ASCII, depending on the platform.
+
+ * src/Key_List.cpp (output_hash_function),
+ src/Gen_Perf.cpp (Gen_Perf),
+ src/Vectors.h: Replaced the use of ALPHA_SIZE with
+ ACE_STANDARD_CHARACTER_SET_SIZE, which works correctly for
+ EBCDIC platforms, as well as ASCII ones. Thanks to
+ Jim Rogers <jrogers@viasoft.com> for this suggestion.
+
+Wed Jun 16 19:08:01 1999 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * src/Key_List.cpp: Fixed the key_word table generation so that it
+ generates the "default fill" string for the null entries in the
+ table. Thanks to Irfan and Naga for helping in this.
+
+Sun Jun 6 15:47:23 1999 Douglas C. Schmidt <schmidt@danzon.cs.wustl.edu>
+
+ * src/Key_List.cpp (output_switch): Make sure to generate "const
+ char *resword;" rather than "char *resword" since otherwise C++
+ compilers correctly complain.
+
+ * tests: Fixed a bunch of warnings related to misuses of "const
+ char *".
+
+Sun Jun 6 10:30:09 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * tests/test-4.exp: Fixed another use of "index". Thanks to David
+ Levine for reporting this.
+
+Sat Jun 5 23:17:39 1999 Douglas C. Schmidt <schmidt@danzon.cs.wustl.edu>
+
+ * Replaced all uses of "index" with "slot" to avoid problems with
+ broken C++ compilers that define a macro called "index".
+
+Tue May 4 14:24:27 1999 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * src/Options.cpp (parse_args): Removed %a flag from -v option and
+ used ACE_OS::exit (0) instead.
+
+Mon Apr 26 15:42:54 1999 Ossama Othman <othman@cs.wustl.edu>
+
+ * tests/test-{1,2,3,4,5}.exp: Forgot to update the expected test
+ output to reflect the version string update listed below.
+
+Mon Apr 26 10:42:08 1999 Ossama Othman <othman@cs.wustl.edu>
+
+ * src/Version.cpp (version_string): Updated version string to "2.8
+ (ACE version)" since 2.7 is used by the old Cygnus maintained
+ gperf.
+
+ * src/*.{h,cpp}: Updated copyright/distribution information to GPL
+ v2 style notice.
+
+Sun Apr 25 16:16:12 1999 Ossama Othman <othman@cs.wustl.edu>
+
+ * mdate-sh: Added this file to the CVS repository. It will be
+ used once the auto{conf,make} integrations are in place.
+
+Sun Apr 25 16:13:40 1999 Ossama Othman <othman@cs.wustl.edu>
+
+ * COPYING: Updated to GPL version 2.
+
+Sat Apr 24 18:18:35 1999 Ossama Othman <othman@cs.wustl.edu>
+
+ * gperf.1:
+ * gperf.info:
+ * gperf.texi: Added missing quote, cosmetic fix, regenerated
+ gperf.info.
+
+ * src/Key_List.cpp
+ * src/Options.h:
+ * src/Options.cpp: Merged Cygnus patch that allows the user to
+ specify a default fill expression/value in the keyword table.
+ Updated help message with new `-F' option. Made some cosmetic
+ fixes to the help message, too.
+
+ * tests/test.cpp: Minor spelling correction in comment
+
+ * tests/test-6.exp: Updated with new expected gperf output.
+
+Mon Nov 9 23:37:09 1998 Vishal Kachroo <vishal@cs.wustl.edu>
+
+ * src/Key_List.cpp: Fixed the problem with Binary and Linear
+ Search code.
+
+Sat Oct 10 18:40:56 1998 Vishal Kachroo <vishal@merengue.cs.wustl.edu>
+
+ * tests/test-6.exp (Usage): copied the output of gperf -h option
+ into test-6.exp. This test was failing because it didn't have
+ the -b option previously. Thanks to David for reporting the
+ failure of tests.
+
+ * src/Options.cpp : Changed the option case 'h' to include the
+ following line " -b/t Code for Linear Search".
+
+Fri Oct 9 01:06:56 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * src/Options.cpp :
+ * src/Key_List.cpp (output_linear_search_function): Changed option
+ -z to -b for generating linear search. Removed <len> parameter
+ from the lookup code. We dont need <len> in the generated code
+ in the case of linear/binary search options.
+
+Thu Oct 8 17:40:19 1998 Vishal Kachroo <vishal@merengue.cs.wustl.edu>
+
+ * src/Gen_Perf.cpp (run): added the linear search changes.
+ * src/Gen_Perf.h : added the linear search changes.
+ * src/Options.cpp : added the linear search changes.
+ * src/Options.h : added the linear search changes.
+ * src/Key_List.cpp : added the linear search changes.
+ * src/Key_List.h : added the linear search changes.
+
+
+Wed Oct 7 01:20:35 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * tests/test-6.exp:
+ Updated thif file to the current help message. Thanks to Hans
+ for reporting this.
+
+Tue Oct 6 11:51:47 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * src/Key_List.cpp (Key_List): Fixed g++ warnings.
+
+Tue Oct 6 02:48:37 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ Thanks to Vishal the following things have been done to get Binary
+ Search code generated from GPERF.
+
+ * src/Options.cpp (parse_args): Added the -B option for the binary
+ search.
+
+ * src/Options.h (enum Option_Type): Added the BINARYSEARCH in the
+ enumeration.
+
+ * src/Key_List.cpp : Added the function
+ output_binary_search_function(void). Changed the output function
+ to include the Binary Search option. Used option[BINARYSEARCH]
+ to distinguish the binary search case from the hashing case.
+
+ * src/Key_List.h : Added the prototype for
+ output_binary_search_function. Also added the key_sort variable
+ to enable sorting based on key values.
+
+Mon Oct 5 18:24:15 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Gen_Perf: Created a new function that allows us to split the
+ binary search and perfect hash logic apart. Thanks to Vishal
+ and Alex for reporting this.
+
+ * src/Key_List.cpp (dump): Fixed the unsigned problems with line
+ 1502 YET again... Thanks to David/Darrell for reporting this.
+
+Sun Oct 4 20:42:56 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src: Fixed yet another problem with switching from array-based
+ lookups to switch-based lookups. Thanks to Carlos for reporting
+ this.
+
+Sat Oct 3 19:36:52 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * src/Options.h:
+ * src/Options.cpp:
+ * src/Key_List.h:
+ * src/Key_List.cpp: Reverted all the changes done for Binary
+ Search.
+
+Sat Oct 3 17:51:10 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
+
+ * tests/test-6.exp: Added the new -B option.
+
+Sat Oct 3 13:47:40 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * src/Key_List.cpp (output_binary_search_function): Added a new
+ line after binary search code.
+
+Sat Oct 3 10:11:15 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * src/Options.cpp (parse_args): Changed the option for binary
+ search to '-B'
+
+Fri Oct 2 21:38:54 1998 Vishal Kachroo <vishal@merengue.cs.wustl.edu>
+
+ * src/Options.cpp (parse_args): Added the -b option for the binary
+ search.
+
+ * src/Options.h (enum Option_Type): Added the BINARYSEARCH in the
+ enumeration.
+
+ * src/Key_List.cpp : Added the function
+ output_binary_search_function (void). Changed the output
+ function to include the Binary Search option. Used
+ option[BINARYSEARCH] to distinguish the binary search case from
+ the hashing case.
+
+ * src/Key_List.h : Added the prototype for
+ output_binary_search_function. Also added the key_sort variable
+ to enable sorting based on key values.
+
+Thu Oct 1 12:40:59 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * src/Options.cpp (parse_args): Comments for Vishal to incorporate
+ Binary Seach on to GPERF.
+
+Wed Sep 30 16:55:53 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
+
+ * tests/Makefile: Updated dependencies, added a realclean target
+ to remove the output from the tests.
+
+Wed Sep 30 12:41:29 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Key_List.cpp (dump): Fixed another signed/unsigned int
+ mismatch. Thanks to David Levine for reporting this.
+
+Mon Sep 28 13:18:05 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * tests: Updated all the test-*.exp files to reflect the latest
+ "unsigned" changes.
+
+ * src/Key_List.cpp (output_hash_function): Fixed another use of
+ int to be unsigned int.
+
+ * tests/test.cpp: Fixed the signature of in_word_set() to be
+ consistent with the new gperf. Thanks to David Levine and
+ Carlos O'Ryan for this fix.
+
+Sun Sep 27 00:04:18 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Key_List.cpp (dump): Reverted back to using int for
+ keyword_width to keep certain compilers happy. Thanks to David
+ Levine for reporting this.
+
+ * src/Key_List: MAke sure that we don't generate the lookup table
+ twice if we're forced to change to the switch format.
+
+ * src/Key_List: Replaced the use of "int" with "unsigned int" for
+ parameters and hash values.
+
+ * src/Key_List: Fixed the code so that if we change over to using
+ the switch statement then we use the already generated keyword
+ table appropriately. This prevents unnecessary warnings from
+ some C++ compilers. Thanks to David Levine for reporting this.
+
+ * src/Key_List.cpp (output): If it's not possible to use the
+ lookup_array implementation of -D (e.g., because there aren't
+ enough empty slots in the lookup_array), then default to using
+ -S1 option... This fixes a nasty bug that's been in gperf for
+ years....
+
+ * src/Key_List.cpp: (output_lookup_array): Added a "return 0" to
+ make the C++ compiler happy. Thanks to David for noticing this.
+
+ * tests/c++-res.exp: Added a new test for C++ keywords.
+
+ * tests/corba.gperf: Added a proper test for CORBA keywords.
+
+Sat Sep 26 15:32:56 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Hash_Table.cpp (find): Fixed a bug in the increment
+ computation that arose if the -n option was given.
+
+ * src: Removed all set_ and get_ prefixes to be more consistent
+ with ACE programming guidelines.
+
+ * src: GPERF now Purifies cleanly.
+
+ * src/Gen_Perf: Cleaned up the code so that if errors occur they
+ get handled properly.
+
+ * src/List_Node: Added a destructor to remove the memory when
+ we're done.
+
+ * src: Continued to tidy up the source code so that it is better
+ designed and Purifies cleanly on shutdown.
+
+ * src/Makefile: Removed the need for libGperf.{a,so}.
+
+ * src/Key_List: Changed read_keys() to return a value so that we
+ can check for errors.
+
+Fri Sep 25 08:54:41 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * src/Key_List.cpp (Key_List ctor): reordered initializers to
+ match declaration order.
+
+Thu Sep 24 18:20:36 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Key_List: Changed char_set field to keysig to be consistent
+ with the paper.
+
+ * src/Hash_Table: Renamed operator() to find(). What the heck was
+ I thinking in '92?!
+
+ * src/gperf.cpp (main): Removed the LARGE_STACK_ARRAYS option.
+ This was annoying...
+
+Tue Sep 22 21:30:59 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * tests/corba.exp: added this file, it hadn't been checked in.
+
+Tue Sep 22 18:02:01 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * tests/Makefile: Added a new test for CORBA keywords.
+
+ * tests: Added a new test for the type of input that is causing
+ problems with TAO's IDL compiler.
+
+ * src/Key_List.cpp (output_lookup_array): Changed the assertion
+ from assert (i != 0) to assert (i >= 0) since I think that's
+ correct... (ah, so THAT's why comments are important thinks the
+ '92 Doug... ;-)).
+
+ * src/Options: Improved the comments for the '-h' option to
+ reflect current reality...
+
+Thu Sep 17 11:42:53 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Key_List.cpp (output_lookup_array): Put 'signed' keyword
+ before 'char lookup' to avoid problems on platforms where char
+ is defined as unsigned. Thanks to Margherita Vittone Wiersma
+ <vittone@fndaub.fnal.gov> for reporting this.
+
+Wed Sep 16 19:08:13 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * Makefile: don't run build/run tests on CROSS-COMPILE platforms.
+ Thanks to Raja Ati <rati@montereynets.com> for reporting this
+ problem.
+
+Wed Sep 16 18:18:41 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * tests/Makefile: Changed CFLAGS to CCFLAGS to make aCC happy on
+ HP/UX. Thanks to John Mulhern for reporting this.
+
+Tue Sep 15 18:14:08 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * tests/test-6.exp (Usage): Fixed the usage so diff should no
+ longer complain... Thanks to David for reporting this.
+
+Tue Sep 15 21:54:07 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * tests/Makefile: filter timestamps from test output so that
+ diffs will pass.
+
+Tue Sep 15 18:14:08 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * tests: Updated the expected output to look for 2.7 vs 2.6
+ of gperf.
+
+Thu Sep 10 16:50:21 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
+
+ * tests/Makefile:
+ The test programs were not linking against ACE.
+
+Tue Sep 8 12:45:53 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * tests/test.cpp: Added #include "ace/OS.h" so that the ACE_RCSID
+ macro is defined. Thanks to Arturo Montes
+ <mitosys@colomsat.net.co> for reporting this.
+
+Sat Aug 22 08:44:15 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * src/Options.cpp : Fixed the typo (-V instead of -v) under 'case
+ h' print string.
+
+Fri Aug 21 11:57:57 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Key_List.cpp (set_output_types): Make sure that we leave an
+ extra space between the struct tag and the wordlist so the
+ compiler doesn't complain. Thanks to Andy Gokhale for reporting
+ this.
+
+ * src/gperf.cpp: Modified the main() program so that it doesn't
+ print the starting time until AFTER we've parsed the arguments.
+
+ * src/Version.cpp: Updated the version to 2.7 to reflect the
+ new changes.
+
+ * src/Options.cpp (operator): Added a new -V option, which just
+ exits with a value of 0. This is useful for checking if gperf
+ exists in the search path. We use the feature in TAO.
+
+ * src: Removed the globally overloaded new operator. This was a
+ portability pain and didn't really improve performance very
+ much.
+
+ * src/Options.cpp (operator): Fixed '%e' to be '%r' to come up to
+ speed with ACE changes.
+
+Sat Aug 15 07:59:58 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * src/gperf.cpp (main): added ACE_UNUSED_ARGS for argc and
+ argv if ! ACE_HAS_GPERF.
+
+Fri Aug 14 13:47:00 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * src/new.cpp (delete): aded ACE_UNUSED_ARG (ptr).
+
+Fri Jul 31 18:28:45 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu>
+
+ * src/Bool_Array.cpp:
+ * src/Gen_Perf.cpp:
+ * src/Hash_Table.cpp:
+ * src/Iterator.cpp:
+ * src/Key_List.cpp:
+ * src/List_Node.cpp:
+ * src/Options.cpp:
+ * src/Vectors.cpp:
+ * src/Version.cpp:
+ * src/gperf.cpp:
+ * src/new.cpp:
+ * tests/test.cpp:
+ Added ACE_RCSID to these files.
+
+Tue Jul 21 09:30:51 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * src/gperf.cpp (main): added a trivial main () if ! ACE_HAS_GPERF,
+ so that the link succeeds.
+
+Mon Jul 20 16:02:18 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * src/Makefile: fixed INSTALL. It works with the latest
+ $ACE_ROOT/include/makeinclude/rules.lib.GNU.
+
+Mon Jul 20 15:35:59 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * Wrapped all the files with "#if defined (ACE_HAS_GPERF)" so that
+ it compiles on appropriate platforms.
+
+Sun Jul 19 22:21:17 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * src/new.cpp (new): wrapped assignment with parens where used
+ as a conditional.
+
+ * src/Iterator.cpp (Iterator), List_Node.cpp (List_Node),
+ Hash_Table.cpp (Hash_Table):
+ reordered initializers to match declaration order.
+
+ * src/Hash_Table.cpp (~Hash_Table),
+ * src/Bool_Array.cpp (init): cast sizeof
+ to int to avoid compiler (g++/Linux alpha) warning about
+ mismatch with %d format specifier.
+
+ * src/new.cpp (new): use ACE_THROW_SPEC instead of
+ _RWSTD_THROW_SPEC.
+
+Sun Jul 19 13:11:59 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/new.cpp: Added support for the _RWSTD_THROW_SPEC macro for
+ DEC UNIX. Thanks to David Levine for reporting this.
+
+ * src/Key_List.cpp: Fixed one of those nasty "for loop counter
+ scoping glitches. Again, thanks to David Levine and DEC C++ for
+ catching this. * src/Key_List.cpp (reorder): Clarified the code
+ so that we don't write horrible C-style hacks. Thanks to David
+ Levine and the DEC C++ compiler for finding this one!
+
+Tue Jun 30 15:43:16 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * src/Options.h :
+ * src/Options.cpp :
+ * src/Key_List.cpp : Added the following options to gperf.
+ - "-m" To mute warnings. (If -D option is enabled,
+ gperf doesnt say anything about duplicate hash
+ values etc.
+ - "-M" To skip class definition while in C++ mode.
+ - "-J" To skip the line "#include <string.h>" in the
+ output.
+
+Thu May 14 16:37:39 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
+
+ * src: ACE'ifed most of the gperf source code, yow!
+
+Sun Apr 14 14:31:10 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu)
+
+ * src: Changed things so that there's no longer any use of the
+ Read_Line and Std_Err code. All of this has been pushed into
+ the ACE components, which is where it belongs...
+
+ * src: Changed things so that there's no longer any use of the
+ pointless inheritance in the code. This was a result of my not
+ understanding inheritance back in 1989... ;-)
+
+ * Began to integrate GNU gperf into the ACE release. Started off
+ by bringing the standard GNU version up to date wrt to the
+ changes I made back in 1991!
+
+Tue Oct 10 16:37:28 1995 Mike Stump <mrs@cygnus.com>
+
+ * src/new.cc: Since malloc/delete are not paired, we cannot call
+ free.
+
+Wed Jan 4 12:40:14 1995 Per Bothner <bothner@kalessin.cygnus.com>
+
+ * src/Makefile.in ($(TARGETPROG)): Link with $(LDFLAGS).
+ Patch from John Interrante <interran@uluru.stanford.edu>.
+
+Sat Nov 5 19:12:48 1994 Jason Merrill (jason@phydeaux.cygnus.com)
+
+ * src/Makefile.in (LIBS): Remove.
+
+Tue Oct 18 17:51:14 1994 Per Bothner <bothner@kalessin.cygnus.com>
+
+ * src/std-err.cc: Use stderror, instead of the non-standard
+ sys_nerr and sys_errlist.
+
+Sat Sep 17 22:02:13 1994 Per Bothner (bothner@kalessin.cygnus.com)
+
+ * src/key-list.cc (output_hash_function):
+ Patch from William Bader <wbader@CSEE.Lehigh.Edu>.
+
+Fri Jul 15 09:38:11 1994 Per Bothner (bothner@cygnus.com)
+
+ * src/std-err.cc: #include <errno.h>, and only declare
+ extern int errno if errno is not a macro.
+
+Mon May 30 17:29:34 1994 Per Bothner (bothner@kalessin.cygnus.com)
+
+ * Makefile.in (src_all, install): Make sure to add '/' after
+ `pwd` in $rootme, as expected by FLAGS_TO_PASS.
+
+Wed May 11 00:47:22 1994 Jason Merrill (jason@deneb.cygnus.com)
+
+ Make libg++ build with gcc -ansi -pedantic-errors
+ * src/options.h: Lose commas at end of enumerator lists.
+
+Sun Dec 5 19:16:40 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
+
+ * src/hash-table.cc (Hash_Table::~Hash_Table): Don't pass an
+ argument to fprintf, since it's not expecting one.
+
+Fri Nov 26 19:03:18 1993 Per Bothner (bothner@kalessin.cygnus.com)
+
+ * src/list-node.cc: #undef index, for the sake of broken NeXT,
+
+Thu Nov 4 11:16:03 1993 Per Bothner (bothner@kalessin.cygnus.com)
+
+ * Makefile.in (install): Use INSTALL_DATA for gperf.1.
+
+Mon Oct 25 18:40:51 1993 Per Bothner (bothner@kalessin.cygnus.com)
+
+ * src/key-list.cc (Key_List::read_keys): Use POW macro
+ to increase hash table size to power of 2.
+
+ * options.h (LARGE_STACK_ARRAYS): New flag. Defaults to zero.
+ * gen-perf.cc, key-list.cc, read-line.cc:
+ Only stack-allocate large arrays if LARGE_STACK_ARRAYS is set.
+ * main.cc (main): Only call setrlimit (RLIMIT_STACK, ...)
+ if LARGE_STACK_ARRAYS.
+
+Mon Oct 4 17:45:08 1993 Per Bothner (bothner@kalessin.cygnus.com)
+
+ * src/gen-perf.cc: Always use ANSI rand/srand instead of BSDisms.
+
+Wed Aug 18 12:19:53 1993 Per Bothner (bothner@kalessin.cygnus.com)
+
+ * Makefile.in (src_all): Make less verbose output.
+
+Fri May 28 14:01:18 1993 Per Bothner (bothner@rtl.cygnus.com)
+
+ * src/gen-perf.cc (Gen_Perf::change): Don't use gcc-specific
+ 2-operand conditional expression.
+ * src/key-list.cc (Key_List::output_lookup_array):
+ Don't use variable-size stack arrays, unless compiled by g++.
+
+Tue May 4 14:08:44 1993 Per Bothner (bothner@cygnus.com)
+
+ Changes (mostly from Peter Schauer) to permit compilation
+ using cfront 3.0 and otherwise be ARM-conforming.
+ * src/key-list.h: class Key_List must use public derivation
+ of base class Std_Err (because Gen_Perf::operator() in gen-perf.cc
+ calls Std_Err::report_error).
+ * src/gen-perf.cc (Gen_Perf::affects_prev), src/hash-table.cc
+ (Hash_Table::operator()): Don't use gcc-specific 2-operand
+ conditional expression.
+ * src/iterator.cc (Iterator::operator()): Don't use gcc-specific
+ range construct in case label.
+ * key-list.cc (Key_List::output_lookup_array, Key_List::read_keys),
+ src/gen-perf.cc (Gen_Perf::operator(), src/read-line.cc
+ (Read_Line::readln_aux): If not gcc, don't allocate
+ variable-sized arrays on stack.
+ * src/new.cc (operator new): Argument type should be size_t.
+ * key-list.cc (Key_List::output_lookup_array, Key_List::read_keys),
+ new/cc (::operator new): Don't use non-standard >?= operator.
+
+Tue Apr 27 20:11:30 1993 Per Bothner (bothner@cygnus.com)
+
+ * src/Makefile.in: Define TARGETPROG, and use it.
+
+Mon Apr 19 00:29:18 1993 Per Bothner (bothner@cygnus.com)
+
+ * Makefile.in, configure.in: Re-vamped configure scheme.
+ * gperf.texinfo: Renamed to gperf.texi.
+ * src/bool-array.{h,cc}: ANSIfy bzero->memset.
+
+Sat Jan 30 20:21:28 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
+
+ * tests/Makefile.in (mostlyclean): Also delete aout, cout, m3out,
+ pout, and preout.
+
+Tue Dec 29 08:58:17 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * Makefile.in: pass $(FLAGS_TO_PASS) to all calls to make.
+ (FLAGS_TO_PASS): added INSTALL, INSTALL_DATA, INSTALL_PROGRAM.
+
+Mon Dec 21 18:46:46 1992 Per Bothner (bothner@rtl.cygnus.com)
+
+ * tests/expected.* renamed to *.exp to fit in 14 chars.
+ * tests/Makefile.in: Update accordingly.
+ Also rename output.* to *.out.
+ * src/Makefile.in (clean): Remove gperf program.
+
+Wed Dec 9 14:33:34 1992 Per Bothner (bothner@cygnus.com)
+
+ * src/hash-table.cc, src/bool-array.h: ANSIfy bzero->memset.
+
+Thu Dec 3 19:34:12 1992 Per Bothner (bothner@cygnus.com)
+
+ * Makefile.in (distclean, realclean): Don't delete
+ Makefile before recursing.
+
+Fri Nov 6 13:41:49 1992 Per Bothner (bothner@rtl.cygnus.com)
+
+ * key-list.{h,cc}: Remove MAX_INT (and similar) constant
+ fields from Key_List class, and use INT_MAX (etc) from limits.h.
+ * key-list.{h,cc}, options.{h,cc}, vectors.h: Removed all
+ uses of initialized const fields, as they are non-standard
+ - and their use was easy to do away with. Mostly, just
+ made the constants static non-fields in the .cc file.
+
+Mon Nov 2 13:10:11 1992 Per Bothner (bothner@cygnus.com)
+
+ * tests/Makefile.in: When generating cinset.c, don't pass -C,
+ since -C assumes an ANSI compiler. Add the -C flag (with -a)
+ when generating test.out.3 instead.
+ * tests/expected.out.3: Update accordingly.
+
+Wed Aug 12 11:47:54 1992 Per Bothner (bothner@cygnus.com)
+
+ * Makefile.in: Factor out common flags into $(FLAGS_TO_PASS).
+ * Makefile.in: 'install-info' depends on gperf.info.
+
+Mon Aug 10 11:39:52 1992 Ian Lance Taylor (ian@dumbest.cygnus.com)
+
+ * Makefile.in, src/Makefile.in: always create installation
+ directories.
+
+Mon Jul 20 15:33:21 1992 Mike Stump (mrs@cygnus.com)
+
+ * src/new.cc (operator new): Add cast from void * to char *,
+ since it is not a standard conversion.
+
+Wed Jun 17 16:25:30 1992 Per Bothner (bothner@rtl.cygnus.com)
+
+ * src/gen-perf.cc: #include <_G_config.h> for _G_SYSV.
+ * src/key-list.cc: alloca() hair.
+ * src/main.cc (main): Only call getrlimit if _G_HAVE_SYS_RESOURCE.
+ * Makefile,in, {src,test}/Makefile.in: Fix *clean rules.
+
+Fri May 29 13:21:13 1992 Per Bothner (bothner@rtl.cygnus.com)
+
+ * src/gen-perf.cc: Replace USG -> _G_SYSV.
+
+Thu May 14 13:58:36 1992 Per Bothner (bothner@rtl.cygnus.com)
+
+ * src/Makefile.in: Don't pass obsolete flag -DUNLIMIT_STACK.
+ * tests/Makefile.in (clean): Fix.
+
+Sat Mar 7 00:03:56 1992 K. Richard Pixley (rich@rtl.cygnus.com)
+
+ * gperf.texinfo: added menu item hook.
+
+Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com)
+
+ * Makefile.in, configure.in: removed traces of namesubdir,
+ -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
+ copyrights to '92, changed some from Cygnus to FSF.
+
+Sun Jan 26 19:21:58 1992 Per Bothner (bothner at cygnus.com)
+
+ * tests/Makefile.in: Use re-directed stdin instead of file
+ name in argv. This allows us to remove the filename
+ from the output, the expected output, and hence the diffs.
+ (Note that the input file is in $(srcdir), which we cannot
+ place in the expected out files.)
+ * tests/expected.out.[1235]: Edit out input filename,
+ to match new output.
+
+Mon Nov 4 15:04:41 1991 Douglas C. Schmidt (schmidt at bastille.ics.uci.edu)
+
+ * Need to do something about the end-of-line marker being
+ hard-coded to '\n'...
+
+ * Need to do something about the comment character being
+ hard-coded to '#'...
+
+Fri Sep 27 09:30:15 1991 Douglas C. Schmidt (schmidt at net4.ics.uci.edu)
+
+ * Fixed a stupid problem with printout out a local enum with the
+ -E option (I forgot to check for the case of 0 duplicates, so it
+ was saying 1 duplicate instead!).
+
+Mon Aug 19 00:39:40 1991 Douglas C. Schmidt (schmidt at javel.ics.uci.edu)
+
+ * Yow, all finished making gperf run with cfront/Saber C++. Not
+ really all that hard, actually, though did need to remove some
+ GNU specific hacks, like dynamically sized arrays and
+ initializing class data members in their declarations, etc.
+
+ * Bumped up the version # to reflect the recent changes.
+
+Sun Aug 18 22:25:32 1991 Douglas C. Schmidt (schmidt at javel.ics.uci.edu)
+
+ * Changed passage of Options::usage function in Options.C to have
+ a leading `&' so that Saber C++ wouldn't complain...
+
+ * Added a new header file called gperf.h that includes system-wide
+ info.
+
+ * Hacked up the release to work with Saber C++! Changed all *.cc
+ files to *.C.
+
+Mon Aug 5 21:18:47 1991 Douglas C. Schmidt (schmidt at net1.ics.uci.edu)
+
+ * Yow, hacked in the nifty changes to the Std_Err error handling
+ abstraction. This now adds format string support for printing
+ out signals and the name of the function when things go wrong.
+ Make changes throughout the source to make use of the new
+ facilities and also to make sure all previous uses of
+ Std_Err::report_error are now prefixed by the name of the class.
+
+Tue Jul 30 00:02:39 1991 Douglas C. Schmidt (schmidt at net4.ics.uci.edu)
+
+ * Make sure to add 1 to the Key_List::total_duplicates value when
+ printing it out since any time we have more than zero duplicates
+ we really have two or more duplicates!
+
+ * Added support for the -O (optimize option). This option
+ optimizes the generated lookup function by assuming that all
+ input keywords are members of the keyset from the keyfile.
+
+ * Added #define DUPLICATES and #define HASH_VALUE_RANGE (and of
+ course the enum equivalent) to the generated output. Don't know
+ how useful this will be, but it allows us to determine at a
+ glance whether we've got a minimal perfect hash function (in
+ which case TOTAL_KEYWORDS = HASH_VALUE_RANGE, and DUPLICATES =
+ 0).
+
+ * Fixed a small bug in the Key_List::output_keyword_table routine
+ that caused an extra newline to be printed if there where no
+ leading blank entries... (who cares, right?!)
+
+Mon Jul 29 22:05:40 1991 Douglas C. Schmidt (schmidt at net4.ics.uci.edu)
+
+ * Modified the handling of the -E (emit enums rather than
+ #defines) option in conjunction with the -G option. Now, if -G
+ and -E are given the enums are generated outside the lookup
+ function, rather than within it!
+
+ * Yow, as part of my Software Practice and Experience submission
+ writeup I realized I needed to make the # comment character work
+ correctly. Now if you put a backslash character ('\') in front
+ of the # it treats the first character as a #. Naturally, to
+ put a '\' character on the front of the line you need to escape
+ it also, i.e.,
+ \\I'm a line that starts with only one \
+ # I'm a comment line
+ \#define I'm walking a fine line... ;-)
+
+Wed Jun 26 11:21:02 1991 Douglas C. Schmidt (schmidt at bastille.ics.uci.edu)
+
+ * Changed all uses of the identifier `iteration_number' to
+ `generation_number' (also updated the paper!).
+
+Tue Apr 9 07:59:42 1991 Doug Schmidt (schmidt at net4.ics.uci.edu)
+
+ * Had to change a whole bunch of little thangs in key-list.cc and
+ list-node.cc to make the -I option work.
+
+ * Changed an alloca statement in key-list.cc to reflect the
+ strncasecmp modification (i.e., we now need to be able to
+ allocate a longer buffer if the -I option is used).
+
+Mon Apr 8 18:17:04 1991 Doug Schmidt (schmidt at net4.ics.uci.edu)
+
+ * Yucko, there was a bug in the handling of -c (and of course the
+ new -I command in key-list.cc). Apparently when I added the
+ super-duper hack that provided support for duplicate keys I
+ forgot to update the strcmp output...
+
+ * Boy, it has been a *long* time since I hacked this puppy. Let's
+ see, I'm about to add long-overdue support for case-insensitive
+ string comparisons to gperf's generated output code. We are
+ going to employ the hitherto unused option -I to indicte this!
+
+Thu Jun 28 16:17:27 1990 Doug Schmidt (schmidt at brilliant)
+
+ * Wow, first fix on the new job! There was a dumb error
+ in Key_List::output_lookup_function, where I printed the
+ string "&wordlist[key]" instead of the correct "&wordlist[index]".
+
+ * Added a couple of #ifdefs for USG support.
+
+Sun Jun 3 17:16:36 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Updated the version number to 2.5 and sent to Doug Lea for release
+ with the latest GNU libg++.
+
+ * Changed the error handling when a keyword file cannot be opened
+ (now calls perror).
+
+Wed May 30 14:49:40 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Instrumented the source code with trace statements automagically
+ inserted using my new automated trace instrumentation tool!
+
+Wed May 9 11:47:41 1990 Doug Schmidt (schmidt at siam.ics.uci.edu)
+
+ * Really fixed the previous bug. Turns out that a small amount
+ of logic had to be duplicated to handle static links that occur
+ as part of dynamic link chains. What a pain!!!
+
+Tue May 8 23:11:44 1990 Doug Schmidt (schmidt at siam.ics.uci.edu)
+
+ * Fixed a stupid bug in Key_List::output_lookup_array that was
+ causing incorrect counts to be generated when there were both
+ static and dynamic links occurring for the same hash value.
+ Also simplified the code that performs the logic in this routine.
+
+Mon Apr 30 17:37:24 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Fixed stupid bug in Key_List::output_lookup_array that was
+ making the generated lookup[] array contain `chars' even
+ when the values stored in the chars are greater than 127!
+
+ * Changed the behavior of the -G (global table) option so that it
+ will output the `length[]' array in the global scope along with
+ the `word_list[]' array.
+
+ * Fixed a stupid bug in Key_List::output_lookup_function that
+ would always output the complicated `duplicate-handling' lookup
+ logic, even when there were no duplicates in the input!
+
+ * Yikes, had to modify a bunch of stuff in key-list.cc to correctly
+ handle duplicate entries. Changed the generated code so that
+ the MIN_HASH_VALUE is no longer subtracted off when calculating
+ the hash value for a keyword. This required changing some other
+ code by substituting MAX_HASH_VALUE for TOTAL_KEYS in several places.
+ Finally, this means that the generated tables may contain leading
+ null entries, but I suppose it is better to trade-off space to get
+ faster performance...
+
+Mon Mar 26 13:08:43 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Updated version number to 2.4 to reflect the latest changes.
+
+ * Changed the main program so that it always prints out gperf's
+ execution timings to the generated output file.
+
+Sun Mar 25 12:39:30 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Added the -Z option so that users can specify the name of the
+ generated class explicitly. Updated documentation to reflect
+ this change.
+
+ * Modified the generated C++ class interface so that the functions
+ are declared static (to remove the overhead of passing the `this'
+ pointer). This means that operator()() can no longer be used,
+ since it only works on non-static member functions.
+ Also changed things so that there is no constructor (why waste
+ the extra call, when it doesn't do anything, eh?)
+
+ * Modified the behavior of Key_List::output when the -L C++ option
+ is enabled. Previously the code generated use const data members
+ to record MIN_WORD_LENGTH, MIN_HASH_VALUE, etc. However, as
+ pointed out by James Clark this may result in suboptimal behavior
+ on the part of C++ compilers that can't inline these values.
+ Therefore, the new behavior is identical to what happens with
+ -L C, i.e., either #defines or function-specific enums are used.
+ Why sacrifice speed for some abstract notion of `code purity?' ;-)
+
+Tue Mar 6 18:17:42 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Added the -E option that defines constant values using an enum
+ local to the lookup function rather than with #defines. This
+ also means that different lookup functions can reside in the
+ same file. Thanks to James Clark (jjc@ai.mit.edu).
+
+Sat Mar 3 20:19:00 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Added a special case to key_list::output_switch that doesn't
+ generate extra comparisons when the `-S' is given an argument
+ of 1 (the normal case). This should speed up the generated
+ code output a tad...
+
+Fri Feb 23 14:21:28 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Renamed all instances of member function get_keysig_size
+ to get_max_keysig_size, since this is more precise...
+
+ * Changed all occurrences of charset to keysig (stands for ``key
+ signature'') to reflect the new naming convention used in the
+ USENIX paper.
+
+Thu Feb 22 11:28:36 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Changed the name of the generated associated values table from
+ asso_value to asso_values to reflect conventions in the USENIX
+ C++ paper.
+
+Thu Feb 15 23:29:03 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Updated the gperf.texinfo file to fix some formatting problems
+ that had crept in since last time.
+
+Wed Feb 14 23:27:24 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Fixed stupid bug in key-list.cc (get_special_input), wher
+ gperf replaced each '%' with the succeeding character.
+
+ * Added support for multiple target language generation. Currently
+ handled languages are C and C++, with C as the default. Updated
+ documentation and option handler to reflect the changes.
+
+ * Added a global destructor to new.cc and removed the #ifdef, since
+ the bloody thing now works with libg++.
+
+Mon Feb 14 13:00:00 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Found out that my gperf paper was accepted at the upcoming
+ USENIX C++ Conference in San Francisco. Yow!
+
+Tue Jan 30 09:00:29 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * #ifdef'd out the new.cc memory allocator, since there are
+ problems with this and the libg++ stuff.
+
+ * Changed key-list.h so that class Vectors is a public (rather
+ than private) base class for class Key_List. The previous
+ form was illegal C++, but wasn't being caught by the old
+ g++ compiler. Should work now... ;-)
+
+Sun Dec 10 14:08:23 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Added several changes from rfg@ics.uci.edu. These changes
+ help to automate the build process.
+
+Wed Nov 15 15:49:33 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Removed conditional compilation for GATHER_STATISTICS. There's
+ really no good reason to avoid collecting this info at run-time,
+ since that section of code is *hardly* the bottleneck... ;-)
+
+ * Simplified the C output routines in Key_List::set_output_types
+ and Key_List::output_keyword_table a bit in order to
+ speed-up and clean up the code generation.
+
+ * Modified function Key_List::get_special_input so that it does
+ not try to `delete' a buffer that turned out to be too short.
+ This is important since the new memory management scheme
+ does not handle deletions. However, adding a small amount of
+ garbage won't hurt anything, since we generally don't do this
+ operation more than a couple times *at most*!
+
+ * Created a new file (new.cc) which includes my own overloaded
+ operator new. This function should dramatically reduce the
+ number of calls to malloc since it grabs large chunks and
+ doles them out in small pieces. As a result of this change
+ the class-specific `operator new' was removed from class List_Node.
+
+Tue Nov 14 21:45:30 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Continued to refine the great hack. The latest trick is to
+ try and replace most uses of dynamic memory (i.e., calls to
+ new) with uses of gcc dynamic arrays (i.e., an alloca solution).
+ This makes life much easier for the overall process-size, since
+ it reduces the amount of overhead for memory management. As a
+ side-effect from this change there is no reason to have the
+ Bool_Array::dispose member function, so it's outta here!
+
+ * Fixed a stupid bug that was an disaster waiting to happen...
+ Instead of making the boolean array large enough to index
+ max_hash_value it was only large enough to index max_hash_value
+ - 1. Once again, an off-by-one mistake in C/C++!!!!
+
+Mon Nov 13 19:38:27 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Added the final great hack! This allows us to generate hash tables
+ for near-perfect hash functions that contain duplicates, *without*
+ having to use switch statements! Since many compilers die on large
+ switch statements this feature is essential. Furthermore, it appears
+ that the generated code is often *smaller* than that put out by
+ compilers, even though a large, sparse array must be created.
+ Here's the general idea:
+
+ a. Generate the wordlist as a contiguous block of keywords,
+ just as before when using a switch statement. This
+ wordlist *must* be sorted by hash value.
+
+ b. Generate the lookup array, which is an array of signed
+ {chars,shorts,ints}, (which ever allows full coverage of
+ the wordlist dimensions). If the value v, where v =
+ lookup[hash(str,len)], is >= 0 and < TOTAL_KEYWORDS, then we
+ simply use this result as a direct access into the wordlist
+ array to snag the keyword for comparison.
+
+ c. Otherwise, if v is < -TOTAL_KEYWORDS or > TOTAL_KEYWORDS
+ this is an indication that we'll need to search through
+ some number of duplicates hash values. Using a hash
+ linking scheme we'd then index into a different part of
+ the hash table that provides the starting index and total
+ length of the duplicate entries to find via linear search!
+
+Sun Nov 12 13:48:10 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Simplified Key_List::output_min_max considerably by recognizing
+ that since the keyword list was already sorted by hash value finding
+ the min and max values is trivial!
+
+ * Improved the debugging diagnostics considerably in classes Key_List,
+ Hash_Table, and Gen_Perf.
+
+ * Modified the `-s' option so that a negative argument is now
+ interpreted to mean `allow the maximum associated value to be
+ about x times *smaller* than the number of input keys.' This
+ should help prevent massive explosion of generated hash table
+ size for large keysets.
+
+Sat Nov 11 11:31:13 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Added a field in class Key_List that counts the total number
+ of duplicate keywords, both static and dynamic.
+
+ * Added a new member function Bool_Array that deletes the dynamic
+ memory allocated to Bool_Array::storage_array. This space may
+ be needed for subsequent options, so it made sense to free it as
+ soon as possible...
+
+ * Renamed file/class Alpha_Vectors to Vectors, to avoid problems
+ with 14 character length filenames on SYSV. Also changed file
+ adapredefined.gperf to adadefs.gperf in the ./tests directory.
+
+ * Modified class Options by changing the member function
+ Options::total_positions to Options::get_charset_size and
+ Options::set_charset_size. These two routines now either return
+ the total charset size *or* the length of the largest keyword
+ if the user specifies the -k'*' (ALLCHARS) option. This change
+ cleans up client code.
+
+ * Merged all the cperf changes into gperf.
+
+ * Made sure to explicitly initialize perfect.fewest_collisions to
+ 0.
+
+ * Cleaned up some loose ends noticed by Nels Olson.
+ 1. Removed `if (collisions <= perfect.fewest_collisions)'
+ from Gen_Perf::affects_prev since it was superfluous.
+ 2. Removed the fields best_char_value and best_asso_value
+ from Gen_Perf. There were also unnecessary.
+ 3. Fixed a braino in the Bool_Array::bool_array_reset
+ function. Since iteration numbers can never be zero
+ the `if (bool_array.iteration_number++ == 0)' must be
+ `if (++bool_array.iteration_number == 0).'
+ 4. Modified Std_Err::report_error so that it correctly handles
+ "%%".
+
+ * It is important to note that -D no longer enables -S.
+ There is a good reason for this change, which will become
+ manifested in the next release... (suspense!).
+
+ * Made some subtle changes to Key_List::print_switch so that if finally
+ seems to work correctly. Needs more stress testing, however...
+
+ * Made a major change to the Key_List::print_switch function.
+ The user can now specify the number of switch statements to generate
+ via an argument to the -S option, i.e., -S1 means `generate 1
+ switch statement with all keywords in it,' -S2 means generate
+ 2 switch statements with 1/2 the elements in each one, etc.
+ Hopefully this will fix the problem with C compilers not being
+ able to generate code for giant switch statements (but don't
+ hold your breath!)
+
+ * Changed Key_List::length function to Key_List::keyword_list_length.
+
+ * Added a feature to main.c that prints out the starting wall-clock
+ time before the program begins and prints out the ending wall-clock
+ time when the program is finished.
+
+ * Added the GATHER_STATISTICS code in hash-table.c so we can
+ keep track of how well double hashing is doing. Eventually,
+ GATHER_STATISTICS will be added so that all instrumentation
+ code can be conditionally compiled in.
+
+ * Fixed a stupid bug in Key_List::print_switch routine. This
+ was necessary to make sure the generated switch statement worked
+ correctly when *both* `natural,' i.e., static links and dynamic
+ links, i.e., unresolved duplicates, hash to the same value.
+
+ * Modified Bool_Array::~Bool_Array destructor so that
+ it now frees the bool_array.storage_array when it is no longer
+ needed. Since this array is generally very large it makes sense
+ to return the memory to the freelist when it is no longer in use.
+
+ * Changed the interface to constructor Hash_Table::Hash_Table. This
+ constructor now passed a pointer to a power-of-two sized buffer that
+ serve as storage for the hash table. Although this weakens information
+ hiding a little bit it greatly reduces dynamic memory fragmentation,
+ since we can now obtain the memory via a call to alloca, rather
+ than malloc. This change modified Key_List::read_keys calling
+ interface.
+
+ * Since alloca is now being used more aggressively a conditional
+ compilation section was added in main.c. Taken from GNU GCC,
+ this code gets rid of any avoidable limit on stack size so that
+ alloca does not fail. It is only used if the -DRLIMIT_STACK
+ symbol is defined when gperf is compiled.
+
+ * Added warnings in option.c so that user's would be informed
+ that -r superceeds -i on the command-line.
+
+ * Rewrote Gen_Perf::affects_prev. First, the code structure
+ was cleaned up considerably (removing the need for a dreaded
+ goto!). Secondly, a major change occurred so that Gen_Perf::affects_prev
+ returns FALSE (success) when fewest_hits gets down to whatever
+ it was after inserting the previous key (instead of waiting for
+ it to reach 0). In other words, it stops trying if it can
+ resolve the new collisions added by a key, even if there are
+ still other old, unresolved collisions. This modification was
+ suggested by Nels Olson and seems to *greatly* increase the
+ speed of gperf for large keyfiles. Thanks Nels!
+
+ * In a similar vein, inside the Gen_Perf::change routine
+ the variable `perfect.fewest_collisions is no longer initialized
+ with the length of the keyword list. Instead it starts out at
+ 0 and is incremented by 1 every time change () is called.
+ The rationale for this behavior is that there are times when a
+ collision causes the number of duplicates (collisions) to
+ increase by a large amount when it would presumably just have
+ gone up by 1 if none of the asso_values were changed. That is,
+ at the beginning of change(), you could initialize fewest_hits
+ to 1+(previous value of fewest_hits) instead of to the number of
+ keys. Thanks again, Nels.
+
+ * Replaced alloca with new in the Gen_Perf::change function.
+ This should eliminate some overhead at the expense of a little
+ extra memory that is never reclaimed.
+
+ * Renamed Gen_Perf::merge_sets to Gen_Perf::compute_disjoint_union
+ to reflect the change in behavior.
+
+ * Added the -e option so users can supply a string containing
+ the characters used to separate keywords from their attributes.
+ The default behavior is ",\n".
+
+ * Removed the char *uniq_set field from LIST_NODE and modified
+ uses of uniq_set in perfect.c and keylist.c. Due to changes
+ to Gen_Perf::compute_disjoint_sets this field was no longer
+ necessary, and its removal makes the program smaller and
+ potentially faster.
+
+ * Added lots of changes/fixes suggested by Nels Olson
+ (umls.UUCP!olson@mis.ucsf.edu). In particular:
+ 1. Changed Bool_Array so that it would dynamically create
+ an array of unsigned shorts rather than ints if the
+ LO_CAL symbol was defined during program compilation.
+ This cuts the amount of dynamic memory usage in half,
+ which is important for large keyfile input.
+ 2. Added some additional debugging statements that print extra
+ info to stderr when the -d option is enabled.
+ 3. Fixed a really stupid bug in Key_List::print_switch
+ A right paren was placed at the wrong location, which broke
+ strlen ().
+ 4. Fixed a subtle problem with printing case values when keylinks
+ appear. The logic failed to account for the fact that there
+ can be keylinks *and* regular node info also!
+ 5. Changed the behavior of Key_List::read_keys so that it would
+ honor -D unequivocally, i.e., it doesn't try to turn off dup
+ handling if the user requests it, even if there are no
+ immediate links in the keyfile input.
+ 6. Modified the -j option so that -j 0 means `try random values
+ when searching for a way to resolve collisions.'
+ 7. Added a field `num_done' to the Gen_Perf struct. This is used
+ to report information collected when trying to resolve
+ hash collisions.
+ 8. Modified the merge_sets algorithm to perform a disjoint
+ union of two multisets. This ensures that subsequent
+ processing in Gen_Perf::affect_prev doesn't
+ waste time trying to change an associated value that is
+ shared between two conflicting keywords.
+ 9. Modified Gen_Perf::affects_prev so that it doesn't try
+ random jump values unless the -j 0 option is enabled.
+ 10. Fixed a silly bug in Gen_Perf::change. This problem caused
+ gperf to seg fault when the -k* option was given and the
+ keyfile file had long keywords.
+
+Sun Oct 29 00:18:55 1989 Doug Schmidt (schmidt at siam.ics.uci.edu)
+
+ * Modified class-specific new operations for Read_Line and
+ List_Node so they don't fail if SIZE is larger than twice
+ the previous buffer size. Note we double buffer size
+ everytime the previous buffer runs out, as a heuristic
+ to reduce future calls to malloc.
+
+Sun Oct 22 13:49:43 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Updated gperf version number to 2.0. Send to Doug Lea for
+ incorporation into the long-awaited `official' libg++ 1.36
+ release!
+
+ * Thanks to Nels Olson a silly bug in Gen_Perf::change ()
+ was fixed. This problem caused gperf to seg fault when
+ the -k* option was given and the keyfile file had long
+ keywords.
+
+ * Modified Key_List::print_hash_function so that it output
+ max_hash_value + 1 (rather than just max_hash_value) for
+ any associated value entries that don't correspond to
+ keyword charset characters. This should speed up rejection
+ of non-keyword strings a little in some cases.
+
+Sat Oct 21 19:28:36 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Fixed Key_List::print_hash_function so that it no longer output
+ things like `return 0 + ...' Although this probably gets
+ optimized away by even the worst C compilers there isn't any
+ point tempting fate... ;-)
+
+ * Fixed class List_Node's constructor so that it wouldn't a priori
+ refuse to consider trying to hash keys whose length is less
+ than the smallest user-specified key position. It turns out
+ this is not a problem unless the user also specifies the -n
+ (NOLENGTH) option, in which case such keys most likely
+ don't have a prayer of being hashed correctly!
+
+ * Changed the name of the generated lookup table from `Hash_Table'
+ to `asso_value' to be consistent with the gperf paper.
+
+Tue Oct 17 14:19:48 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Added a flag GATHER_STATISTICS in the Makefile. If defined
+ during compilation this turns on certain collection facilities
+ that track the performance of gperf during its execution. In
+ particular, I want to see how many collisions occur for the
+ double hashing Hash_Table.
+
+ * Added a safety check so that we don't screw up if the total
+ number of `resets' of the Bool_Array exceeds MAX_INT. Since
+ this number is around 2^31 it is unlikely that this would ever
+ occur for most input, but why take the risk?
+
+ * Changed the behavior for the -a (ANSI) option so that the
+ generated prototypes use int rather than size_t for the LEN
+ parameter. It was too ugly having to #include <stddef.h> all
+ over the place...
+
+Mon Oct 16 11:00:35 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Continued to work on the gperf paper for the USENIX C++
+ conference. At some point this will be merged back into
+ the gperf documentation...
+
+Sat Oct 14 20:29:43 1989 Doug Schmidt (schmidt at siam.ics.uci.edu)
+
+ * Added a majorly neat hack to Bool_Array, suggested by rfg.
+ The basic idea was to throw away the Ullman array technique.
+ The Ullman array was used to remove the need to reinitialize all
+ the Bool_Array elements to zero everytime we needed to determine
+ whether there were duplicate hash values in the keyword list.
+ The current trick uses an `iteration number' scheme, which takes
+ about 1/3 the space and reduces the overall program running a
+ time by about 20 percent for large input! The hack works as
+ follows:
+
+ 1. Dynamically allocation 1 boolean array of size k.
+ 2. Initialize the boolean array to zeros, and consider the first
+ iteration to be iteration 1.
+ 2. Then on all subsequent iterations we `reset' the bool array by
+ kicking the iteration count by 1.
+ 3. When it comes time to check whether a hash value is currently
+ in the boolean array we simply check its index location. If
+ the value stored there is *not* equal to the current iteration
+ number then the item is clearly *not* in the set. In that
+ case we assign the iteration number to that array's index
+ location for future reference. Otherwise, if the item at
+ the index location *is* equal to the iteration number we've
+ found a duplicate. No muss, no fuss!
+
+Mon Oct 2 12:30:54 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Changed some consts in options.h to enumerals, since g++
+ doesn't seem to like them at the moment!
+
+Sat Sep 30 12:55:24 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Fixed a stupid bug in Key_List::print_hash_function that manifested
+ itself if the `-k$' option was given (i.e., only use the key[length]
+ character in the hash function).
+
+ * Added support for the -C option. This makes the contents of
+ all generated tables `readonly'.
+
+ * Changed the handling of generated switches so that there is
+ only one call to str[n]?cmp. This *greatly* reduces the size of
+ the generated assembly code on all compilers I've seen.
+
+ * Fixed a subtle bug that occurred when the -l and -S option
+ was given. Code produced looked something like:
+
+ if (len != key_len || !strcmp (s1, resword->name)) return resword;
+
+ which doesn't make any sense. Clearly, this should be:
+
+ if (len == key_len && !strcmp (s1, resword->name)) return resword;
+
+Tue Sep 26 10:36:50 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Changed class Read_Line's definition so that it no longer
+ needs to know about the buffering scheme used to speed up
+ dynamic memory allocation of input keywords and their
+ associated attributes. This means that operator new is no longer
+ a friend of Read_Line.
+
+Mon Sep 25 23:17:10 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Decided that Obstacks had too much overhead, so they were
+ removed in favor of super-efficient, low-overhead buffered
+ storage allocation hacks in Read_Line and List_Node.
+
+ * No longer try to inline functions that g++ complains about
+ (Key_List::Merge and Key_List::Merge_Sort).
+
+Sun Sep 24 13:11:24 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Changed classes Read_Line and List_Node to use Obstacks in order
+ to cache memory allocation for keyword strings and List_Nodes.
+
+ * Continued to experiment with inheritance schemes.
+
+ * Added a new file `alpha.h', that declares static data shared
+ (i.e., inherited) between classes List_Node and Key_List.
+
+Tue Sep 12 16:14:41 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Made numerous changes to incorporate multiple inheritance in
+ gperf.
+
+Wed Aug 16 23:04:08 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Added the -DCOMPILER_FIXED flag to the ./src/Makefile. This
+ implies that people trying to compile gperf need to have a
+ working version of the new g++ compiler (1.36.0).
+
+ * Removed some extra spaces that were being added in the generated
+ C code.
+
+Mon Jul 24 17:09:46 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Fixed PRINT_HASH_FUNCTION and PRINT_LOOKUP_FUNCTION in keylist.c
+ so that the generated functions take an unsigned int length argument.
+ If -a is enabled the prototype is (const char *str, size_t len).
+
+Fri Jul 21 13:06:15 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Fixed a typo in PRINT_KEYWORD_TABLE in keylist.cc that prevented
+ the indentation from working correctly.
+
+ * Fixed a horrible typo in PRINT_KEYWORD_TABLE in keylist.cc
+ that prevented links from being printed correctly.
+
+Tue Jul 18 16:04:31 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Fixed up readline.cc and readline.h so that they work OK
+ with g++ compilers that aren't completely up-to-date.
+ If symbol COMPILER_FIXED is defined then the behavior
+ that works on my more recent version of g++ is enabled.
+
+Sun Jul 9 17:53:28 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Changed the ./tests subdirectory Makefile so that it
+ uses $(CC) instead of gcc.
+
+Sun Jul 2 21:52:15 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Fixed a number of subtle bugs that occurred when -S was
+ combined with various and sundry options.
+
+ * Added the -G option, that makes the generated keyword table
+ a global static variable, rather than hiding it inside
+ the lookup function. This allows other functions to directly
+ access the contents in this table.
+
+ * Added the "#" feature, that allows comments inside the keyword
+ list from the input file. Comment handling takes place in readline.c.
+ This simplifies the code and reduces the number of malloc calls.
+
+ * Also added the -H option (user can give the name of the hash
+ function) and the -T option (prevents the transfer of the type decl
+ to the output file, which is useful if the type is already defined
+ elsewhere).
+
+Thu Jun 22 20:39:39 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Modified many classes so that they would inherit Std_Err as
+ a base class. This makes things more abstract...
+
+Fri Jun 16 14:23:00 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Modified the -f (FAST) option. This now takes an argument.
+ The argument corresponds to the number of iterations used
+ to resolve collisions. -f 0 uses the length of the
+ keyword list (which is what -f did before). This makes
+ life much easier when dealing with large keyword files.
+
+Tue Jun 6 17:53:27 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Added the -c (comparison) option. Enabling this
+ will use the strncmp function for string comparisons.
+ The default is to use strcmp.
+
+ * Fixed a typo in key_list.cc (PRINT_SWITCH). This caused
+ faulty C code to be generated when the -D, -p, and -t
+ options were all enabled.
+
+Thu May 25 14:07:21 1989 Doug Schmidt (schmidt at siam.ics.uci.edu)
+
+ * Once again, changed class Read_Line to overload global operator
+ new. Hopefully, this will work...!
+
+Sun May 21 01:51:45 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Modified Key_List::print_hash_function () so that it properly
+ formats the associated values in the hash table according to
+ the maximum number of digits required to represent the largest
+ value.
+
+ * Removed the named return value from class Hash_Table's
+ operator (), since this causes a seg fault when -O is enabled.
+ No sense tripping subtle g++ bugs if we don't have to.... ;-)
+
+ * Removed the operator new hack from Read_Line, since this seemed
+ to create horrible bus error problems.
+
+ * Changed many class member functions and data members to be `static',
+ if they don't manipulate this!
+
+Fri May 12 23:06:56 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Changed class Std_Err to use static member functions, a la
+ Ada or Modula 2. This eliminates the need for an explicit
+ error-handler class object.
+
+ * Added the ``named return value'' feature to Hash_Table::operator ()
+ and Bool_Array::operator [], just for the heck of it.... ;-)
+
+ * Changed the previous hack in Read_Line so that we now use
+ the overloaded global `new' instead of NEW_STRING!
+
+Wed May 3 17:36:55 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Updated to version 1.7. This reflects the recent major changes
+ and the new C port.
+
+ * Modified the GNU getopt.cc routine to have a class-based interface.
+
+ * Fixed a typo in Perfect.cc ~Perfect that prevented the actual maximum
+ hash table size from being printed (maybe the stream classes
+ weren't so bad after all.... ;-).
+
+ * Added support for the -f option. This generates the perfect
+ hash function ``fast.'' It reduces the execution time of
+ gperf, at the cost of minimizing the range of hash values.
+
+Tue May 2 16:23:29 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Added an efficiency hack to Read_Line. Instead of making
+ a call to operator NEW (a.k.a. malloc) for each input string
+ a new member function NEW_STRING stores a large buffer from
+ which new strings are carved out, growing the buffer if
+ necessary. It might be useful to add this throughout the
+ program....
+
+ * Removed all unnecessary calls to DELETE. If the program is about
+ to exit it is silly to waste time freeing memory.
+
+ * Added the GNU getopt program to the distribution. This makes
+ GPERF portable to systems that don't include getopt in libc.
+
+ * Added a strcspn member to class Key_List. This also increases
+ portability.
+
+ * Added the get_include_src function from keylist.c as a member
+ function in class Key_List. Hopefully every function is
+ now associated with a class. This aids abstraction and
+ modularity.
+
+ * Ported gperf to C. From now on both K&R C and GNU G++ versions
+ will be supported. There will be two ChangeLog files, one
+ for each version of the program.
+
+Mon May 1 16:41:45 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Fixed a bug with -k'*'. This now prints out *all* the cases
+ up to the length of the longest word in the keyword set.
+
+Sun Apr 30 12:15:25 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Removed all use of the stream classes. Too ugly, slow, and
+ not handled by the c++-mode formatter....
+
+ * Modified the handling of links (i.e., keywords that have
+ identical hash values as other keywords). This should
+ speed up hash function generation for keyword sets with
+ many duplicate entries. The trick is to treat duplicate
+ values as equivalence classes, so that each set of duplicate
+ values is represented only once in the main list processing.
+
+ * Fixed some capitialization typos and indentations mistakes in
+ Key_List::print_hash_function.
+
+Sat Apr 29 12:04:03 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Fixed a typo/logico in Key_List::print_switch that prevented
+ the last keyword in the keyword list to be print out. This
+ requires further examination.....
+
+ * Fixed a stupid bug in List_Node::List_node. If the -k'*' option
+ was enabled the KEY_SET string wasn't getting terminated with
+ '\0'!
+
+Fri Apr 28 12:38:35 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Renamed strexp.h and strexp.cc to iterator.h and iterator.cc.
+ Also changed the strexp class to iterator. Continued to work
+ on style...
+
+ * Updated the version number to 1.6. This reflects all the
+ recent changes.
+
+Thu Apr 27 00:14:51 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Added the -D option that properly handles keyword sets that
+ contain duplicate hash values.
+
+ * Continued the stylistic changes. Added the #pragma once
+ directive to all the *.h files. Removed all #defines and
+ replaced them with static consts. Also moved the key_sort
+ routine from options.cc into the options class as a
+ member function.
+
+Mon Apr 3 13:26:55 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Made massive stylistic changes to bring source code into
+ conformance with GNU style guidelines.
+
+Thu Mar 30 23:28:45 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Fixed up the output routines so that they generate code
+ corresponding to the GNU style guidelines.
+
+Sat Mar 11 13:12:37 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Fixed Stderr constructors so that they wouldn't try to
+ use the base class initializer syntax for the static
+ class variable Program_Name. G++ 1.34 is stricter in
+ enforcing the rules!
+
+Fri Mar 10 11:24:14 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Removed -v and ``| more'' from the Makefile to keep rfg happy...
+
+Thu Mar 2 12:37:30 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Sent latest GNU gperf version 1.5 to Doug Lea for inclusion
+ into libg++ 1.34. Note that there is a small bug with
+ the new %{ ... %} source inclusion facility, since it doesn't
+ understand comments and will barf if %{ or %} appear nested
+ inside the outermost delimiters. This is too trivial of
+ a defect to fix at the moment...
+
+Tue Feb 28 11:19:58 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Added the -K option, which allows the user to provide a
+ alternative name for the keyword structure component.
+ The default is still ``name.''
+
+ * Added the LEX and YACC-like ability to include arbitrary
+ text at the beginning of the generated C source code output.
+ This required two new functions Get_Special_Input,
+ Key_List::Save_Include_Src;
+
+ * Fixed memory allocation bug in Key_List::Set_Types.
+ Variable Return_Type needs 1 additional location
+ to store the "*" if the -p option is used.
+
+ * Added code to NULL terminate both Struct_Tag and Return_Type,
+ *after* the strncpy (stupid mistake).
+
+Mon Feb 27 14:39:51 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Added a new option -N. This allows the user to specify the
+ name to be used for the generated lookup function. The
+ default name is still ``in_word_set.'' This makes it
+ possible to completely automate the perfect hash function
+ generation process!
+
+Mon Feb 20 23:33:14 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Corrected the Hash_Table::operator () function so that
+ *it* is responsible for deciding when a new key has the
+ same signature as a previously seen key. The key length
+ information is now used internally to this function to
+ decide whether to add to the hash table those keys with
+ the same key sets, but different lengths. Before, this
+ was handled by the Key_List::Read_Keys function. However,
+ this failed to work for certain duplicate keys, since
+ they weren't being entered into the hash table properly.
+
+Sun Feb 19 16:02:51 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Modified class Options by moving the enum Option_Type out
+ of the class. This is to satisfy the new enumeration
+ scope rules in C++.
+
+Sun Jan 15 15:12:09 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Incremented the version number upto 1.4 to reflect the new
+ options that affect the generated code. Send the new
+ distribution off to Michael for use with g++ 1.33.
+
+ * Added a fix to Key_List::Read_Keys so that it checks for links
+ properly when the -n option is used. Previously, it didn't
+ catch obvious links, which caused it to spend large amount
+ of time searching for a solution that could never occur!
+
+ * Modified the Key_List data structure to record *both* the
+ minimum and the maximum key lengths. This information
+ is now computed in Key_List::Read_Keys, and thus
+ Key_List::Print_Min_Max doesn't need to bother.
+
+ * Modifed the key position iterator scheme in options.cc to
+ eliminate the need for member function Options::Advance.
+ Now, the Options::Get function performs the advancement
+ automatically, obviating the need for an extra function call.
+
+ * Added the new function Options::Print_Options, to print out
+ the user-specified command line options to generated C
+ output file.
+
+ * Added a new function, Key_List::Print_Keylength_Table,
+ which creates a table of lengths for use in speeding
+ up the keyword search. This also meant that a new
+ option, -l (LENTABLE) is recognized. It controls
+ whether the length table is printed and the comparison
+ made in the generated function ``in_word_set.''
+
+ * Added a comment at the top of the generated C code
+ output file that tells what version of gperf was used.
+ Next, I'll also dump out the command line options
+ as a comment too. Thanks to Michael Tiemann for the
+ feedback on this.
+
+ * Fixed the -n option to make it work correctly with
+ other parts of the program (most notably the Perfect::Hash
+ function and the computation of minimum and maximum lengths.
+
+Fri Jan 13 21:25:27 1989 Doug Schmidt (schmidt at siam.ics.uci.edu)
+
+ * Realized the the need to add a test that will enable
+ optimziation of the generated C code in the ``hash'' function
+ by checking whether all the requested key positions are
+ guaranteed to exist due to the comparison in `in_word_set.''
+ I'll put this in soon....
+
+Thu Jan 12 20:09:21 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Added pascal, modula3, and modula2 tests inputs to the
+ Makefile
+
+ * Recognised that there is a bug with the -n option. However
+ I'm too busy to fix it properly, right now. The problem
+ is that the generated #define end up being 0, since that's
+ my hack to make -n work. This needs complete rethinking!
+
+Tue Jan 10 00:08:16 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Added a new option, -n, that instructs gperf to not use the
+ length of an identifier when computing the hash functions.
+ I'm not sure how useful this is!
+
+ * Retransmitted the distribution to rocky.oswego.edu. Hopefully,
+ this will work!
+
+ * Began fixing the indentation and capitalization to conform
+ to the GNU coding guidelines.
+
+Mon Jan 9 22:23:18 1989 Doug Schmidt (schmidt at pompe.ics.uci.edu)
+
+ * Fixed horrible bug in Read_Line::Readln_Aux. This was
+ a subtle and pernicous off-by-1 error, that overwrote
+ past the last character of the input string buffer. I
+ think this fault was killing the vax!
+
+ * Yow, fixed an oversight in List_Node::List_Node, where the
+ pointer field Next was uninitialized. Luckily, the new routine
+ seems to return 0 filled objects the first time through!
+
+Sun Jan 8 13:43:14 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Modified the ``key linked'' diagnostic in Key_List::Read_Keys
+ to be more helpful and easy to read.
+
+ * Fixed the List_Node::List_Node so that it would ignore trailing
+ fields if the -t option was not enabled.
+
+ * Moved the List_Node declarations out of keylist.h and
+ into a file of its own, called listnode.cc and listnode.h
+ Made Set_Sort a member function of class List_Node.
+
+ * Massively updated the documentation in the gperf.texinfo file.
+
+ * Polished off the major revision to the print functions,
+ added a few new tests in the Makefile to check for the
+ validity of the program and ftp'ed the entire distribution
+ off to Doug Lea for libg++. ( changed it to
+ 1.3 to reflect the major changes with the generated
+ C code ).
+
+ * Fixed Key_List::Print_Switch to deal with the -p and -t options.
+ This meant that the ``still-born'' function Key_List::
+ Print_Type_Switch was superflous, so I removed it.
+ Also, removed the restriction in Option that the -p and
+ -t options couldn't be used simultaneously.
+
+ * Modified List_Node::List_Node, to perform only 1 call to
+ ``new'' when dynamically allocating memory for the Key_Set
+ and the Uniq_Set.
+
+Sat Jan 7 14:10:51 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Fixed a big bug with the new policy of nesting the
+ wordlist inside of generated function ``in_word_set.''
+ I'd forgotten to declare the wordlist array as static!
+ ( arrgh ).
+
+ * Added a new function Key_List::Set_Types, that figures out
+ the return type for generated function ``in_word_set,''
+ the user-defined ``struct tag,'' if one is used, and also
+ formates the array type for the static local array.
+
+ * Changed the print routines to take advantage of the
+ new -p option.
+
+ * Began adding the hooks to allow the return of a pointer
+ to a user defined struct location from the generated
+ ``in_word_set'' function instead of the current 0 or 1
+ return value. Created function Key_List::Print_Type_Switch
+ and added option -p to class Option, allowing the user to
+ request generation of the aforementioned pointers returned
+ instead of booleans.
+
+ * Put in checks in class Option to make sure that -S and -t
+ options are not used simultaneously. This restriction
+ will be removed in subsequent releases, once I decide on
+ a clean way to implement it.
+
+ * Sent version 1.2 to Doug Lea for possible inclusion into
+ the libg++ distribution.
+
+ * Moved the static word_list array inside the generated function
+ in_word_set. This supports better data hiding.
+
+ * Added a texinfo file, gperf.texinfo
+
+ * Revised the Makefile to cleanup the droppings from texinfo
+ and changed the name of gperf.cc and gperf.h to perfect.cc
+ and perfect.h.
+
+Fri Jan 6 13:04:45 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Implemented the switch statement output format. Much better
+ for large datasets in terms of space used.
+
+ * Added new functions to break up the Key_List::Output function.
+ Functions added were Key_List::Print_Switch,
+ Key_List::Print_Min_Max, Key_List::Print_Keyword_Table,
+ Key_List::Print_Hash_Function, and
+ Key_List::Print_Lookup_Function. This simplifies the big mess
+ in Key_List::Output considerably!
+
+ * Added switch statement option to Options, which potentially
+ trades time for space in the generated lookup code.
+
+Thu Jan 5 22:46:34 1989 Doug Schmidt (schmidt at siam.ics.uci.edu)
+
+ * Released version 1.1
+
+ * Fixed a bug with Gperf::Merge_Set, it was skipping letters
+ shared between the Set_1 and Set_2.
+
+ * Added the optimal min/max algorithm in Key_List::Output. This
+ runs in O (3n/2), rather than O (2n) time.
+
+ * Changed Gperf::Sort_Set to use insertion sort, rather than
+ bubble sort.
+
+ * Added a check in Key_List::Output for the special case where
+ the keys used are 1,$. It is possible to generate more
+ efficient C code in this case.
diff --git a/apps/gperf/tests/Makefile b/apps/gperf/tests/Makefile
new file mode 100644
index 00000000000..0dd5cb2b0c3
--- /dev/null
+++ b/apps/gperf/tests/Makefile
@@ -0,0 +1,277 @@
+# $Id$
+# Copyright (C) 1989, 1992, 1993 Free Software Foundation, Inc.
+# written by Douglas C. Schmidt (schmidt@ics.uci.edu)
+#
+# This file is part of GNU GPERF.
+#
+# GNU GPERF is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 1, or (at your option)
+# any later version.
+#
+# GNU GPERF is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU GPERF; see the file COPYING. If not, write to the Free
+# Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111, USA.
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+srcdir = .
+GPERF = ../src/gperf
+
+PROG_SRCS = \
+ test.cpp \
+ cinset.cpp \
+ c++inset.cpp \
+ iinset.cpp \
+ iinset2.cpp \
+ tinset.cpp \
+ taoinset.cpp \
+ pinset.cpp \
+ m3inset.cpp \
+ adainset.cpp \
+ preinset.cpp
+
+SRC = $(PROG_SRCS)
+
+COUT_OBJS = test.o \
+ cinset.o
+
+AOUT_OBJS = test.o \
+ adainset.o
+
+CPPOUT_OBJS = test.o \
+ c++inset.o
+
+PREOUT_OBJS = test.o \
+ preinset.o
+
+M3OUT_OBJS = test.o \
+ m3inset.o
+
+POUT_OBJS = test.o \
+ pinset.o
+
+IOUT_OBJS = test.o \
+ iinset.o
+
+IOUT2_OBJS = test.o \
+ iinset2.o
+
+TOUT_OBJS = test.o \
+ tinset.o
+
+TAOOUT_OBJS = test.o \
+ taoinset.o
+
+BIN = cout \
+ aout \
+ c++out \
+ preout \
+ m3out \
+ pout \
+ iout \
+ iout2 \
+ tout \
+ taoout
+
+BUILD = $(BIN)
+BUILD+=runtests
+VLDLIBS = $(LDLIBS:%=%$(VAR))
+VBIN = $(BIN:%=%$(VAR))
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+#rules to make the gperf generated source files..
+
+all: cout \
+ aout \
+ c++out \
+ preout \
+ m3out \
+ pout \
+ iout \
+ iout2 \
+ tout \
+ runtests
+
+cinset.cpp: $(srcdir)/c.gperf $(GPERF)
+ $(GPERF) -a -p -c -l -S1 -o $(srcdir)/c.gperf > $@
+
+adainset.cpp: $(srcdir)/ada.gperf $(GPERF)
+ $(GPERF) -a -k1,4,'$$' $(srcdir)/ada.gperf > $@
+
+c++inset.cpp: $(srcdir)/c++.gperf $(GPERF)
+ $(GPERF) -a -D $(srcdir)/c++.gperf > $@
+
+preinset.cpp: $(srcdir)/adadefs.gperf $(GPERF)
+ $(GPERF) -a -p -D -k1,'$$' -s 2 -o $(srcdir)/adadefs.gperf > $@
+
+m3inset.cpp: $(srcdir)/modula3.gperf $(GPERF)
+ $(GPERF) -a -k1,2,'$$' -o $(srcdir)/modula3.gperf > $@
+
+pinset.cpp: $(srcdir)/pascal.gperf $(GPERF)
+ $(GPERF) -a -o -S2 -p < $(srcdir)/pascal.gperf > $@
+
+iinset.cpp: $(srcdir)/idl.gperf $(GPERF)
+ $(GPERF) -m -M -c -C -D -S1 -E -T -a -o -p < $(srcdir)/idl.gperf > $@
+
+# no S1 flag in this case..
+iinset2.cpp: $(srcdir)/idl.gperf $(GPERF)
+ $(GPERF) -m -M -c -C -D -E -T -a -o -p $(srcdir)/idl.gperf > $@
+
+tinset.cpp: $(srcdir)/corba.gperf $(GPERF)
+ $(GPERF) -a -o < $(srcdir)/corba.gperf > $@
+
+taoinset.cpp: $(srcdir)/tao.gperf $(GPERF)
+ $(GPERF) -c -C -D -E -f 0 -a -o < $(srcdir)/tao.gperf > $@
+
+#rules to make the test executables
+
+cout:$(addprefix $(VDIR),$(COUT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+aout:$(addprefix $(VDIR),$(AOUT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+c++out:$(addprefix $(VDIR),$(CPPOUT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+preout:$(addprefix $(VDIR),$(PREOUT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+m3out:$(addprefix $(VDIR),$(M3OUT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+pout:$(addprefix $(VDIR),$(POUT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+iout:$(addprefix $(VDIR),$(IOUT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+iout2:$(addprefix $(VDIR),$(IOUT2_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+tout:$(addprefix $(VDIR),$(TOUT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+taoout:$(addprefix $(VDIR),$(TAOOUT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+runtests: cout aout c++out preout m3out pout iout iout2 tout taoout
+ @echo "performing some tests of the perfect hash generator"
+ # test cout
+ ./cout -v < $(srcdir)/c.gperf > c.out
+ -diff -b $(srcdir)/c.exp c.out
+ # test aout
+ ./aout -v < $(srcdir)/ada.gperf > ada-res.out
+ -diff -b $(srcdir)/ada-res.exp ada-res.out
+ # test c++out
+ ./c++out -v < $(srcdir)/c++.gperf > c++-res.out
+ -diff -b $(srcdir)/c++-res.exp c++-res.out
+ # test preout
+ ./preout -v < $(srcdir)/adadefs.gperf > ada-pred.out
+ -diff -b $(srcdir)/ada-pred.exp ada-pred.out
+ # test m3out
+ ./m3out -v < $(srcdir)/modula3.gperf > modula.out
+ -diff -b $(srcdir)/modula.exp modula.out
+ # test pout
+ ./pout -v < $(srcdir)/pascal.gperf > pascal.out
+ -diff -b $(srcdir)/pascal.exp pascal.out
+ # test iout
+ ./iout -v < $(srcdir)/idl.gperf > idl.out
+ -diff -b $(srcdir)/idl.exp idl.out
+ # test iout2
+ ./iout2 -v < $(srcdir)/idl.gperf > idl.out
+ -diff -b $(srcdir)/idl.exp idl.out
+ #test tout
+ ./tout -v < $(srcdir)/corba.gperf > corba.out
+ -diff -b $(srcdir)/corba.exp corba.out
+ #test taoout
+ ./taoout -v < $(srcdir)/tao.gperf > tao.out
+ -diff -b $(srcdir)/tao.exp tao.out
+ # these next 5 are demos that show off the generated code
+ $(GPERF) -p -j1 -o -t -N is_reserved_word -k1,3,'$$' < $(srcdir)/c-parse.gperf | egrep -v 'ing time is ' > test-1.out
+ -diff -b $(srcdir)/test-1.exp test-1.out
+ $(GPERF) -n -k1-8 -l <$(srcdir)/modula2.gperf | egrep -v 'ing time is ' > test-2.out
+ -diff -b $(srcdir)/test-2.exp test-2.out
+ $(GPERF) -p -j 1 -o -a -C -g -t -k1,4,$$ < $(srcdir)/gplus.gperf | egrep -v 'ing time is ' > test-3.out
+ -diff -b $(srcdir)/test-3.exp test-3.out
+ $(GPERF) -D -p -t < $(srcdir)/c-parse.gperf | egrep -v 'ing time is ' > test-4.out
+ -diff -b $(srcdir)/test-4.exp test-4.out
+ $(GPERF) -g -o -j1 -t -p -N is_reserved_word < $(srcdir)/gpc.gperf | egrep -v 'ing time is ' > test-5.out
+ -diff -b $(srcdir)/test-5.exp test-5.out
+ # prints out the help message
+ -$(GPERF) -a -h > test-6.out 2>&1 || [ a = a ]
+ -diff -b $(srcdir)/test-6.exp test-6.out
+ ./aout -v < $(srcdir)/c.gperf > test-7.out
+ -diff -b $(srcdir)/test-7.exp test-7.out
+
+realclean:
+ $(RM) -rf *.out cinset.cpp c++inset.cpp iinset.cpp iinset2.cpp \
+ tinset.cpp taoinset.cpp pinset.cpp m3inset.cpp adainset.cpp preinset.cpp
+ $(RM) -rf c.out aout preout m3out pout cout c++out iout iout2 tout taoout
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/test.o .obj/test.so .shobj/test.o .shobj/test.so: test.cpp \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h
+
+.obj/cinset.o .obj/cinset.so .shobj/cinset.o .shobj/cinset.so: cinset.cpp
+
+.obj/c++inset.o .obj/c++inset.so .shobj/c++inset.o .shobj/c++inset.so: c++inset.cpp
+
+.obj/iinset.o .obj/iinset.so .shobj/iinset.o .shobj/iinset.so: iinset.cpp
+
+.obj/iinset2.o .obj/iinset2.so .shobj/iinset2.o .shobj/iinset2.so: iinset2.cpp
+
+.obj/tinset.o .obj/tinset.so .shobj/tinset.o .shobj/tinset.so: tinset.cpp
+
+.obj/taoinset.o .obj/taoinset.so .shobj/taoinset.o .shobj/taoinset.so: taoinset.cpp
+
+.obj/pinset.o .obj/pinset.so .shobj/pinset.o .shobj/pinset.so: pinset.cpp
+
+.obj/m3inset.o .obj/m3inset.so .shobj/m3inset.o .shobj/m3inset.so: m3inset.cpp
+
+.obj/adainset.o .obj/adainset.so .shobj/adainset.o .shobj/adainset.so: adainset.cpp
+
+.obj/preinset.o .obj/preinset.so .shobj/preinset.o .shobj/preinset.so: preinset.cpp
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/bin/auto_run_tests.lst b/bin/auto_run_tests.lst
new file mode 100644
index 00000000000..b1bb1837b71
--- /dev/null
+++ b/bin/auto_run_tests.lst
@@ -0,0 +1,185 @@
+# $Id$
+#
+# This is the list of run_test.pl's that need to be run by
+# auto_run_tests.pl.
+# Each line has its own test, and a test can be followed by a
+# list of configurations it does _not_ run on.
+#
+# Example: TAO\examples\foo\run_test.pl: !MINIMUM !ST
+
+tests/run_test.pl
+
+TAO/tests/Param_Test/run_test.pl: !MINIMUM
+TAO/tests/Param_Test/run_test_dii.pl: !MINIMUM
+TAO/performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: !MINIMUM !ST
+TAO/performance-tests/Cubit/TAO/IDL_Cubit/run_test_lite.pl: !MINIMUM !ST !STATIC
+TAO/performance-tests/Cubit/TAO/MT_Cubit/run_test.pl: !ST
+
+TAO/performance-tests/Latency/Single_Threaded/run_test.pl
+TAO/performance-tests/Latency/Thread_Pool/run_test.pl: !ST
+TAO/performance-tests/Latency/Thread_Per_Connection/run_test.pl: !ST
+TAO/performance-tests/Latency/AMI/run_test.pl: !MINIMUM !ST
+TAO/performance-tests/Latency/DSI/run_test.pl: !MINIMUM
+TAO/performance-tests/Latency/DII/run_test.pl: !MINIMUM
+TAO/performance-tests/Latency/Deferred/run_test.pl: !MINIMUM
+
+TAO/performance-tests/Throughput/run_test.pl
+
+TAO/performance-tests/POA/Object_Creation_And_Registration/run_test.pl
+TAO/performance-tests/RTCorba/Oneways/Reliable/run_test.pl: !MINIMUM
+TAO/tests/AMI/run_test.pl: !MINIMUM
+TAO/tests/AMI_Timeouts/run_test.pl: !MINIMUM !ST
+
+TAO/tests/OctetSeq/run_test.pl
+TAO/tests/OctetSeq/run_test1.pl: !STATIC
+TAO/tests/OctetSeq/run_test2.pl: !STATIC
+TAO/tests/BiDirectional/run_test.pl: !MINIMUM
+TAO/tests/BiDirectional_NestedUpcall/run_test.pl: !MINIMUM !STATIC
+TAO/tests/Leader_Followers/run_test.pl: !ST
+TAO/tests/Leader_Followers/run_test_mt.pl: !ST
+TAO/tests/Multiple_Inheritance/run_test.pl
+
+TAO/tests/RTCORBA/Banded_Connections/run_test.pl: !MINIMUM !ST !Linux
+TAO/tests/RTCORBA/Client_Propagated/run_test.pl: !MINIMUM !ST !Linux
+TAO/tests/RTCORBA/Client_Protocol/run_test.pl: !MINIMUM !ST
+TAO/tests/RTCORBA/Collocation/run_test.pl: !MINIMUM !ST !Linux
+TAO/tests/RTCORBA/Destroy_Thread_Pool/run_test.pl: !MINIMUM !ST
+TAO/tests/RTCORBA/Explicit_Binding/run_test.pl: !MINIMUM !ST
+TAO/tests/RTCORBA/Linear_Priority/run_test.pl: !MINIMUM !ST !Linux
+TAO/tests/RTCORBA/MT_Client_Protocol_Priority/run_test.pl: !MINIMUM !ST !Linux
+TAO/tests/RTCORBA/ORB_init/run_test.pl: !MINIMUM
+TAO/tests/RTCORBA/Persistent_IOR/run_test.pl: !MINIMUM !ST
+TAO/tests/RTCORBA/Policy_Combinations/run_test.pl: !MINIMUM !ST !Linux
+TAO/tests/RTCORBA/Private_Connection/run_test.pl: !MINIMUM !ST
+TAO/tests/RTCORBA/RTMutex/run_test.pl: !MINIMUM !ST
+TAO/tests/RTCORBA/Server_Declared/run_test.pl: !MINIMUM !ST !Linux
+TAO/tests/RTCORBA/Server_Protocol/run_test.pl: !MINIMUM
+TAO/tests/RTCORBA/Thread_Pool/run_test.pl: !MINIMUM !ST !Linux
+
+TAO/tests/Hello/run_test.pl
+TAO/tests/Cache_Growth_Test/run_test.pl
+TAO/tests/Muxing/run_test.pl: !ST
+TAO/tests/MT_Client/run_test.pl: !ST
+TAO/tests/File_IO/run_test.pl: !ST !MINIMUM
+TAO/tests/MT_Server/run_test.pl: !ST
+# DISABLED TAO/tests/Client_Leaks/run_test.pl: !ST !Tru64
+TAO/tests/Server_Leaks/run_test.pl
+TAO/tests/Faults/run_test.pl: !MINIMUM
+TAO/tests/Crashed_Callback/run_test.pl: !MINIMUM
+TAO/tests/Crash_On_Write/run_test.pl: !ST
+TAO/tests/NestedUpcall/Simple/run_test.pl: !ST
+TAO/tests/NestedUpcall/MT_Client_Test/run_test.pl: !ST
+TAO/tests/NestedUpcall/Triangle_Test/run_test.pl
+TAO/tests/Nested_Event_Loop/run_test.pl
+TAO/tests/POA/Identity/run_test.pl
+TAO/tests/POA/Excessive_Object_Deactivations/run_test.pl
+TAO/tests/POA/Etherealization/run_test.pl: !MINIMUM
+TAO/tests/POA/Object_Reactivation/run_test.pl: !ST
+TAO/tests/POA/POA_Destruction/run_test.pl
+TAO/tests/POA/Single_Threaded_POA/run_test.pl: !MINIMUM !ST
+TAO/tests/POA/Non_Servant_Upcalls/run_test.pl: !SUNCC5_1
+TAO/tests/POA/wait_for_completion/run_test.pl
+TAO/tests/IORManipulation/run_test.pl
+TAO/tests/Policies/run_test.pl: !MINIMUM !ST
+TAO/tests/Timeout/run_test.pl: !MINIMUM
+TAO/tests/MT_Timeout/run_test.pl: !MINIMUM !ST
+TAO/tests/Timed_Buffered_Oneways/run_test.pl: !MINIMUM
+TAO/tests/Single_Read/run_test.pl:
+TAO/tests/Codec/run_test.pl
+TAO/tests/IDL_Test/run_test.pl
+TAO/tests/ORB_init/run_test.pl
+TAO/tests/ORB_destroy/run_test.pl
+TAO/tests/DSI_Gateway/run_test.pl: !MINIMUM
+TAO/tests/DynAny_Test/run_test.pl: !MINIMUM
+# BROKEN TAO/tests/Connection_Purging/run_test.pl: !ST
+TAO/tests/LongUpcalls/run_test.pl: !MINIMUM
+TAO/tests/Reliable_Oneways/run_test.pl: !MINIMUM
+TAO/tests/Blocking_Sync_None/run_test.pl: !MINIMUM
+TAO/tests/Oneway_Buffering/run_message_count.pl: !MINIMUM
+TAO/tests/Oneway_Buffering/run_buffer_size.pl: !MINIMUM
+TAO/tests/Oneway_Buffering/run_timeout.pl: !MINIMUM
+TAO/tests/Oneway_Buffering/run_timeout_reactive.pl: !MINIMUM
+TAO/tests/AMI_Buffering/run_message_count.pl: !MINIMUM !ST
+TAO/tests/AMI_Buffering/run_buffer_size.pl: !MINIMUM !ST
+TAO/tests/AMI_Buffering/run_timeout.pl: !MINIMUM !ST
+TAO/tests/AMI_Buffering/run_timeout_reactive.pl: !MINIMUM !ST
+TAO/tests/Big_Oneways/run_test.pl: !ST
+TAO/tests/Big_Twoways/run_test.pl: !ST
+TAO/tests/Big_Reply/run_test.pl: !ST
+TAO/tests/Big_Request_Muxing/run_test.pl: !ST !MINIMUM
+TAO/tests/Oneways_Invoking_Twoways/run_test.pl: !ST
+TAO/examples/Buffered_Oneways/run_test.pl: !MINIMUM
+TAO/tests/Queued_Message_Test/run_test.pl
+TAO/tests/DLL_ORB/run_test.pl: !STATIC
+
+# REQUIRES AMI 'TAO/examples/Buffered_AMI/run_test.pl: !MINIMUM
+TAO/tests/InterOp-Naming/run_test.pl: !MINIMUM
+TAO/tests/Multiple/run_test.pl: !SUNCC5_1
+TAO/tests/Exposed_Policies/run_test.pl: !MINIMUM !ST !Linux
+TAO/tests/Portable_Interceptors/Dynamic/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS
+TAO/tests/Portable_Interceptors/IORInterceptor/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS
+TAO/tests/Portable_Interceptors/ForwardRequest/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS
+TAO/tests/Portable_Interceptors/Service_Context_Manipulation/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS
+TAO/tests/Portable_Interceptors/Request_Interceptor_Flow/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS
+TAO/tests/Portable_Interceptors/PICurrent/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS
+TAO/tests/Object_Loader/run_test.pl: !STATIC
+
+TAO/examples/POA/Adapter_Activator/run_test.pl: !MINIMUM !SUNCC5_1
+TAO/examples/POA/DSI/run_test.pl: !MINIMUM
+TAO/examples/POA/Default_Servant/run_test.pl: !MINIMUM
+TAO/examples/POA/Explicit_Activation/run_test.pl: !MINIMUM
+TAO/examples/POA/FindPOA/run_test.pl: !MINIMUM
+TAO/examples/POA/Forwarding/run_test.pl: !MINIMUM
+TAO/examples/POA/NewPOA/run_test.pl: !MINIMUM
+TAO/examples/POA/On_Demand_Activation/run_test.pl: !MINIMUM !STATIC
+TAO/examples/POA/On_Demand_Loading/run_test.pl: !MINIMUM !STATIC !KCC_Linux
+TAO/examples/POA/Reference_Counted_Servant/run_test.pl: !SUNCC5_1
+TAO/examples/POA/Loader/run_test.pl: !MINIMUM !STATIC !KCC_Linux
+TAO/examples/POA/RootPOA/run_test.pl
+TAO/examples/Simple/bank/run_test.pl
+TAO/examples/Simple/grid/run_test.pl
+TAO/examples/Simple/time-date/run_test.pl: !ST !STATIC
+TAO/examples/Simple/time/run_test.pl
+TAO/examples/Quoter/run_test.pl: !MINIMUM
+TAO/examples/Load_Balancing/run_test.pl: !MINIMUM !SUNCC5_1
+TAO/examples/PluggableUDP/tests/Basic/run_test.pl: !STATIC !ST
+TAO/examples/PluggableUDP/tests/SimplePerformance/run_test.pl
+
+TAO/orbsvcs/tests/AVStreams/Pluggable/run_test.pl: !MINIMUM
+#TAO/orbsvcs/tests/AVStreams/Full_Profile/run_test.pl: !MINIMUM
+TAO/orbsvcs/tests/AVStreams/Multicast/run_test.pl: !MINIMUM
+#TAO/orbsvcs/tests/AVStreams/Multicast_Full_Profile/run_test.pl: !MINIMUM
+#TAO/orbsvcs/tests/AVStreams/Latency/run_test.pl: !MINIMUM
+TAO/orbsvcs/tests/AVStreams/Simple_Two_Stage/run_test.pl: !MINIMUM
+TAO/orbsvcs/tests/AVStreams/Simple_Three_Stage/run_test.pl: !MINIMUM
+TAO/orbsvcs/tests/AVStreams/Asynch_Three_Stage/run_test.pl: !MINIMUM
+TAO/orbsvcs/tests/AVStreams/Component_Switching/run_test.pl: !MINIMUM
+
+TAO/orbsvcs/tests/Simple_Naming/run_test.pl: !ST !SUNCC5_1
+TAO/orbsvcs/tests/Trading/run_test.pl: !MINIMUM !SUNCC5_1
+TAO/orbsvcs/tests/Event/Basic/run_test.pl: !ST
+TAO/orbsvcs/tests/Event/Performance/run_test.pl: !ST
+TAO/orbsvcs/tests/EC_Custom_Marshal/run_test.pl: !ST
+TAO/orbsvcs/tests/EC_Throughput/run_test.pl: !ST
+TAO/orbsvcs/tests/ImplRepo/run_test.pl: SANDBOX
+TAO/orbsvcs/tests/ImplRepo/NameService/run_test.pl: SANDBOX
+TAO/orbsvcs/tests/ImplRepo/locked/run_test.pl: !MINIMUM
+
+
+# BREAKS !linux 'TAO/orbsvcs/tests/EC_Mcast/run_test.pl
+# FAILS 'TAO/orbsvcs/tests/EC_Multiple/run_test.pl
+# NO REDIRECTION TAO/examples/Simple/echo/run_test.pl < Echo.idl
+# INTERACTIVE 'TAO/examples/Simple/chat/run_test.pl
+TAO/orbsvcs/tests/Property/run_test.pl
+#HANGS TAO/orbsvcs/tests/ImplRepo/run_test.pl airplane
+#HANGS'TAO/orbsvcs/tests/ImplRepo/run_test.pl airplane_ir
+
+TAO/orbsvcs/tests/Security/Big_Request/run_test.pl: SSL
+TAO/orbsvcs/tests/Security/Callback/run_test.pl: SSL
+TAO/orbsvcs/tests/Security/MT_SSLIOP/run_test.pl: !ST SSL
+TAO/orbsvcs/tests/Security/Secure_Invocation/run_test.pl: SSL
+TAO/orbsvcs/tests/Security/SecurityLevel1/run_test.pl: SSL
+
+TAO/orbsvcs/tests/Miop/McastHello/run_test.pl: !MINIMUM !STATIC
+
+TAO/tests/Two_Objects/run_test.pl: !ST
diff --git a/bin/fuzz.pl b/bin/fuzz.pl
new file mode 100755
index 00000000000..f32e647d42b
--- /dev/null
+++ b/bin/fuzz.pl
@@ -0,0 +1,817 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# Fuzz is a script whose purpose is to check through ACE/TAO files for
+# easy to spot (by a perl script, at least) problems.
+
+use File::Find;
+use Getopt::Std;
+
+###### TODO
+#
+# Add tests for these:
+#
+# - Using TAO_TRY macros instead of ACE_TRY
+# - no relative path to tao_idl in the .dsp files
+# - Linking to wrong type of library in dsp's
+# - not setting up the release configs correctly in dsp files
+# - Guards in .h files
+# - no global functions
+# - other commit_check checks, tabs, trailing spaces.
+# - _narrow() should always have ACE_ENV_ARG_PARAMETER
+# - Using ACE_TRY_NEW_ENV (Nanbor suggests using ACE_DECLARE_NEW_CORBA_ENV)
+#
+# And others in ACE_Guidelines and Design Rules
+#
+# Also add a -g flag to ignore tao_idl generated files
+#
+###### END TODO
+
+# Lists of all the files
+@files_cpp = ();
+@files_inl = ();
+@files_h = ();
+@files_html = ();
+@files_dsp = ();
+@files_idl = ();
+@files_pl = ();
+
+# To keep track of errors and warnings
+$errors = 0;
+$warnings = 0;
+
+##############################################################################
+
+# Find_Modified_Files will use 'cvs -nq' to get a list of locally modified
+# files to look through
+sub find_mod_files ()
+{
+ unless (open (CVS, "cvs -nq up |")) {
+ print STDERR "Error: Could not run cvs\n";
+ exit (1);
+ }
+
+ while (<CVS>) {
+ if (/^[M|A] (.*)/) {
+ store_file ($1);
+ }
+ }
+ close (CVS);
+}
+
+
+
+# Find_Files will search for files with certain extensions in the
+# directory tree
+sub find_files ()
+{
+ # wanted is only used for the File::Find
+ sub wanted
+ {
+ store_file ($File::Find::name);
+ }
+
+ find (\&wanted, '.');
+}
+
+#
+sub store_file ($)
+{
+ my $name = shift;
+ if ($name =~ /\.(c|cc|cpp|cxx)$/i) {
+ push @files_cpp, ($name);
+ }
+ elsif ($name =~ /\.(inl|i)$/i) {
+ push @files_inl, ($name);
+ }
+ elsif ($name =~ /\.(h|hh|hpp|hxx)$/i) {
+ push @files_h, ($name);
+ }
+ elsif ($name =~ /\.(htm|html)$/i) {
+ push @files_html, ($name);
+ }
+ elsif ($name =~ /\.(dsp|vcp)$/i) {
+ push @files_dsp, ($name);
+ }
+ elsif ($name =~ /\.(pidl|idl)$/i) {
+ push @files_idl, ($name);
+ }
+ elsif ($name =~ /\.pl$/i) {
+ push @files_pl, ($name);
+ }
+}
+
+##############################################################################
+## Just messages
+
+sub print_error ($)
+{
+ my $msg = shift;
+ print "Error: $msg\n";
+ ++$errors;
+}
+
+
+sub print_warning ($)
+{
+ my $msg = shift;
+ print "Warning: $msg\n";
+ ++$warnings;
+}
+
+
+##############################################################################
+## Tests
+
+# The point of this test is to check for the existence of ACE_INLINE
+# or ASYS_INLINE in a .cpp file. This is most commonly caused by
+# copy/pasted code from a .inl/.i file
+sub check_for_inline_in_cpp ()
+{
+ print "Running ACE_INLINE/ASYS_INLINE check\n";
+ foreach $file (@files_cpp) {
+ my $line = 0;
+ if (open (FILE, $file)) {
+ print "Looking at file $file\n" if $opt_d;
+ while (<FILE>) {
+ ++$line;
+ if (/^ACE_INLINE/) {
+ print_error ("ACE_INLINE found in $file on line $line");
+ }
+ if (/^ASYS_INLINE/) {
+ print_error ("ASYS_INLINE found in $file on line $line");
+ }
+ }
+ close (FILE);
+ }
+ else {
+ print STDERR "Error: Could not open $file\n";
+ }
+ }
+}
+
+# This test checks to make sure files have the $Id string in them.
+# Commit_check should find these when checking in files, but this can
+# be used locally or to check for files
+sub check_for_id_string ()
+{
+ print "Running \$Id\$ string check\n";
+ foreach $file (@files_cpp, @files_inl, @files_h,
+ @files_html, @files_idl, @files_pl) {
+ my $found = 0;
+ if (open (FILE, $file)) {
+ print "Looking at file $file\n" if $opt_d;
+ while (<FILE>) {
+ if (/\$Id\:/ or /\$Id\$/) {
+ $found = 1;
+ }
+ }
+ close (FILE);
+ if ($found == 0) {
+ print_error ("No \$Id\$ string found in $file");
+ }
+ }
+ else {
+ print STDERR "Error: Could not open $file\n";
+ }
+ }
+}
+
+
+# This test checks for the newline at the end of a file
+sub check_for_newline ()
+{
+ print "Running newline check\n";
+ foreach $file (@files_cpp, @files_inl, @files_h,
+ @files_html, @files_idl, @files_pl) {
+ if (open (FILE, $file)) {
+ my $line;
+ print "Looking at file $file\n" if $opt_d;
+ while (<FILE>) {
+ $line = $_
+ }
+ close (FILE);
+ if ($line !~ /\n$/) {
+ print_error ("No ending newline found in $file");
+ }
+ }
+ else {
+ print STDERR "Error: Could not open $file\n";
+ }
+ }
+}
+
+
+
+# This test checks for the use of "inline" instead of ACE_INLINE
+sub check_for_inline ()
+{
+ print "Running inline check\n";
+ foreach $file (@files_inl) {
+ my $line = 0;
+ if (open (FILE, $file)) {
+ my $disable = 0;
+ print "Looking at file $file\n" if $opt_d;
+ while (<FILE>) {
+ ++$line;
+ if (/FUZZ\: disable check_for_inline/) {
+ $disable = 1;
+ }
+ if (/FUZZ\: enable check_for_inline/) {
+ $disable = 0;
+ }
+ if ($disable == 0 and m/^\s*inline/) {
+ print_error ("inline found in $file on line $line");
+ }
+ }
+ close (FILE);
+ }
+ else {
+ print STDERR "Error: Could not open $file\n";
+ }
+ }
+}
+
+
+# This test checks for the inclusion of math.h. math.h should be avoided
+# since on some platforms, "exceptions" is defined as a struct, which will
+# cause problems with exception handling
+sub check_for_math_include ()
+{
+ print "Running math.h test\n";
+ foreach $file (@files_h, @files_cpp, @files_inl) {
+ my $line = 0;
+ if (open (FILE, $file)) {
+ my $disable = 0;
+ print "Looking at file $file\n" if $opt_d;
+ while (<FILE>) {
+ ++$line;
+ if (/FUZZ\: disable check_for_math_include/) {
+ $disable = 1;
+ }
+ if (/FUZZ\: enable check_for_math_include/) {
+ $disable = 0;
+ }
+ if ($disable == 0
+ and /^\s*#\s*include\s*(\/\*\*\/){0,1}\s*\<math\.h\>/) {
+ print_error ("math.h included in $file on line $line");
+ }
+ }
+ close (FILE);
+ }
+ else {
+ print STDERR "Error: Could not open $file\n";
+ }
+ }
+}
+
+# For general readability, lines should not contain more than 80 characters
+sub check_for_line_length ()
+{
+ print "Running line length test\n";
+ foreach $file (@files_h, @files_cpp, @files_inl) {
+ my $line = 0;
+ if (open (FILE, $file)) {
+ print "Looking at file $file\n" if $opt_d;
+ while (<FILE>) {
+ ++$line;
+
+ # Make sure to ignore ACE_RCSID lines, since they
+ # are difficult to get under 80 chars.
+ if (/.{80,}/ and !/^ACE_RCSID/) {
+ print_error ("Over 80 chars on line $line in $file");
+ }
+ }
+ close (FILE);
+ }
+ else {
+ print STDERR "Error: Could not open $file\n";
+ }
+ }
+}
+
+
+# For preprocessor directives, only the old C style comments (/* */)
+# should be used, not the newer // style.
+sub check_for_preprocessor_comments ()
+{
+ print "Running preprocessor comment test\n";
+ foreach $file (@files_h, @files_cpp, @files_inl) {
+ my $line = 0;
+ if (open (FILE, $file)) {
+ print "Looking at file $file\n" if $opt_d;
+ while (<FILE>) {
+ ++$line;
+ if (/^\#.*\/\//) {
+ print_error ("C++ comment in directive on "
+ ."line $line in $file");
+ }
+ }
+ close (FILE);
+ }
+ else {
+ print STDERR "Error: Could not open $file\n";
+ }
+ }
+}
+
+
+# This test checks for the use of the Win32 Unicode string defines
+# or outdated ASYS_* macros
+# We should only be using the ACE_TCHAR, ACE_TEXT macros instead.
+sub check_for_tchar
+{
+ print "Running TCHAR test\n";
+ foreach $file (@files_h, @files_cpp, @files_inl) {
+ my $line = 0;
+ if (open (FILE, $file)) {
+ my $disable = 0;
+ print "Looking at file $file\n" if $opt_d;
+ while (<FILE>) {
+ ++$line;
+ if (/FUZZ\: disable check_for_tchar/) {
+ $disable = 1;
+ }
+ if (/FUZZ\: enable check_for_tchar/) {
+ $disable = 0;
+ }
+ if ($disable == 0) {
+ if (/LPTSTR/) {
+ print_error ("LPTSTR found on line $line in $file");
+ }
+
+ if (/LPCTSTR/) {
+ print_error ("LPCTSTR found on line $line in $file");
+ }
+
+ if (/ASYS_TCHAR/) {
+ print_error ("ASYS_TCHAR found on "
+ ."line $line in $file");
+ }
+ elsif (/TCHAR/ and !/ACE_TCHAR/) {
+ ### Do a double check, since some macros do have TCHAR
+ ### (like DEFAULTCHARS)
+ if (/^TCHAR[^\w_]/ or /[^\w_]TCHAR[^\w_]/) {
+ print_error ("TCHAR on line $line in $file");
+ }
+ }
+
+ if (/ASYS_TEXT/) {
+ print_error ("ASYS_TEXT on line $line in $file");
+ }
+ elsif (/TEXT/ and !/ACE_TEXT/) {
+ ### Do a double check, since there are several macros
+ ### that end with TEXT
+ if (/^TEXT\s*\(/ or /[^\w_]TEXT\s*\(/) {
+ print_error ("TEXT found on line $line in $file");
+ }
+ }
+ }
+ }
+ close (FILE);
+ }
+ else {
+ print STDERR "Error: Could not open $file\n";
+ }
+ }
+}
+
+
+
+# This checks to make sure files include ace/post.h if ace/pre.h is included
+# and vice versa.
+sub check_for_pre_and_post ()
+{
+ print "Running pre.h/post.h test\n";
+ foreach $file (@files_h) {
+ my $pre = 0;
+ my $post = 0;
+ if (open (FILE, $file)) {
+ my $disable = 0;
+ print "Looking at file $file\n" if $opt_d;
+ while (<FILE>) {
+ if (/FUZZ\: disable check_for_pre_and_post/) {
+ $disable = 1;
+ }
+ if (/FUZZ\: enable check_for_pre_and_post/) {
+ $disable = 0;
+ }
+ if ($disable == 0) {
+ if (/^\s*#\s*include\s*\"ace\/pre\.h\"/) {
+ ++$pre;
+ }
+ if (/^\s*#\s*include\s*\"ace\/post\.h\"/) {
+ ++$post;
+ }
+ }
+ }
+ close (FILE);
+
+ if ($disable == 0 && $pre != $post) {
+ print_error ("pre.h/post.h mismatch in $file");
+ }
+ }
+ else {
+ print STDERR "Error: Could not open $file\n";
+ }
+ }
+}
+
+
+# Check doxygen @file comments
+sub check_for_mismatched_filename ()
+{
+ print "Running doxygen \@file test\n";
+ foreach $file (@files_h, @files_cpp, @files_inl) {
+ if (open (FILE, $file)) {
+ my $disable = 0;
+ print "Looking at file $file\n" if $opt_d;
+ while (<FILE>) {
+ if (m/\@file\s*([^\s]*)/ && $file !~ m/$1$/) {
+ print_error ("\@file mismatch in $file");
+ }
+ }
+ close (FILE);
+ }
+ else {
+ print STDERR "Error: Could not open $file\n";
+ }
+ }
+}
+
+# check for bad run_test
+sub check_for_bad_run_test ()
+{
+ print "Running run_test.pl test\n";
+ foreach $file (@files_pl) {
+ if (open (FILE, $file)) {
+ my $is_run_test = 0;
+ my $line = 0;
+ my $sub = 0;
+
+ print "Looking at file $file\n" if $opt_d;
+
+ while (<FILE>) {
+ ++$line;
+
+ if (m/PerlACE/ || m/ACEutils/) {
+ $is_run_test = 1;
+ }
+
+ if ($is_run_test == 1) {
+ if (m/ACEutils/) {
+ print_error ("ACEutils.pm still being used in $file ($line)");
+ }
+
+ if (m/unshift \@INC/) {
+ print_error ("Still unshifting \@INC, should \"use lib\""
+ ." instead in $file ($line)");
+ }
+
+ if (m/\$EXEPREFIX/) {
+ print_error ("Still using \$EXEPREFIX in $file ($line)");
+ }
+
+ if (m/\$EXE_EXT/) {
+ print_error ("Still using \$EXE_EXT in $file ($line)");
+ }
+
+ if (m/\$DIR_SEPARATOR/) {
+ print_error ("Still using \$DIR_SEPARATOR in $file ($line)");
+ }
+ if (m/ACE\:\:/ && !m/PerlACE\:\:/) {
+ print_error ("Still using ACE::* in $file ($line)");
+ }
+
+ if (m/Process\:\:/ && !m/PerlACE\:\:Process\:\:/) {
+ print_error ("Still using Process::* in $file ($line)");
+ }
+
+ if (m/Process\:\:Create/) {
+ print_error ("Still using Process::Create in $file ($line)");
+ }
+
+ if ((m/\.ior/ || m/\.conf/) && !m/LocalFile/) {
+ print_error ("Not using PerlACE::LocalFile at $file ($line)");
+ }
+
+ if (m/^ [^ ]/) {
+ print_warning ("Still using two-space indentation in $file ($line)");
+ }
+
+ if (m/^\s*\t/) {
+ print_error ("Indenting using tabs in $file ($line)");
+ }
+
+ if (m/^\s*\{/ && $sub != 1) {
+ print_warning ("Using Curly Brace alone on $file ($line)");
+ }
+
+ if (m/timedout/i && !m/\#/) {
+ print_error ("timedout message found on $file ($line)");
+ }
+
+ if (m/^\s*sub/) {
+ $sub = 1;
+ }
+ else {
+ $sub = 0;
+ }
+ }
+ }
+
+ close (FILE);
+
+ if ($is_run_test) {
+ my @output = `perl -wc $file 2>&1`;
+
+ foreach $output (@output) {
+ chomp $output;
+ if ($output =~ m/error/i) {
+ print_error ($output);
+ }
+ elsif ($output !~ m/syntax OK/) {
+ print_warning ($output);
+ }
+ }
+ }
+ }
+ else {
+ print STDERR "Error: Could not open $file\n";
+ }
+ }
+}
+
+
+# Check for links to ~schmidt/ACE_wrappers/, which should not be in the
+# documentation
+sub check_for_absolute_ace_wrappers()
+{
+ print "Running absolute ACE_wrappers test\n";
+ foreach $file (@files_html) {
+ if (open (FILE, $file)) {
+ my $line = 0;
+ print "Looking at file $file\n" if $opt_d;
+ while (<FILE>) {
+ ++$line;
+ if (m/\~schmidt\/ACE_wrappers\//) {
+ chomp;
+ print_error ("~schmidt/ACE_wrappers found in $file on "
+ . "line $line");
+ print_error ($_) if (defined $opt_v);
+ }
+ }
+ close (FILE);
+ }
+ else {
+ print STDERR "Error: Could not open $file\n";
+ }
+ }
+}
+
+# Make sure ACE_[OS_]TRACE matches the function/method
+sub check_for_bad_ace_trace()
+{
+ print "Running TRACE test\n";
+ foreach $file (@files_inl, @files_cpp) {
+ if (open (FILE, $file)) {
+ my $line = 0;
+ my $class;
+ my $function;
+
+ print "Looking at file $file\n" if $opt_d;
+ while (<FILE>) {
+ ++$line;
+
+ # look for methods or functions
+ if (m/(^[^\s][^\(]*)\:\:([^\:^\(]*[^\s^\(])\s*/) {
+ $class = $1;
+ $function = $2;
+ }
+ elsif (m/^([^\s^\(^\#]*) \(/i) {
+ $class = "";
+ $function = $1;
+ }
+ elsif (m/^(operator.*) \(/i) {
+ $class = "";
+ $function = $1;
+ }
+
+ # Look for TRACE statements
+ if (m/ACE_OS_TRACE\s*\(\s*\"(.*)\"/
+ || m/ACE_TRACE\s*\(\s*\"(.*)\"/) {
+ my $trace = $1;
+
+ # reduce the classname
+ if ($class =~ m/([^\s][^\<^\s]*)\s*\</) {
+ $class = $1;
+ }
+
+ if ($class =~ m/([^\s^\&^\*]*)\s*$/) {
+ $class = $1;
+ }
+
+ if ($trace !~ m/\Q$function\E/
+ || ($trace =~ m/\:\:/ && !($trace =~ m/\Q$class\E/ && $trace =~ m/\Q$function\E/))) {
+ print_error ("Mismatched TRACE in $file on line $line");
+ print_error (" I see \"$trace\" but I think I'm in \""
+ . $class . "::" . $function . "\"") if (defined $opt_v);
+ }
+ }
+ }
+ close (FILE);
+ }
+ else {
+ print STDERR "Error: Could not open $file\n";
+ }
+ }
+}
+
+
+
+# This test checks missing ACE_ENV_ARG_PARAMETER when using
+# resolve_initial_references
+sub check_for_missing_rir_env ()
+{
+ print "Running resolve_initial_references() check\n";
+ foreach $file (@files_cpp, @files_inl) {
+ my $line = 0;
+ if (open (FILE, $file)) {
+ my $disable = 0;
+ my $native_try = 0;
+ my $in_rir = 0;
+ my $found_env = 0;
+
+ print "Looking at file $file\n" if $opt_d;
+ while (<FILE>) {
+ ++$line;
+ if (/FUZZ\: disable check_for_missing_rir_env/) {
+ $disable = 1;
+ }
+ if (/FUZZ\: enable check_for_missing_rir_env/) {
+ $disable = 0;
+ }
+ if ($disable == 0) {
+ next if m/^\s*\/\//;
+
+ if (m/^\s*try/) {
+ $disable = 1;
+ next;
+ }
+
+ if (m/[^\:]resolve_initial_references\s*\(/) {
+ $found_env = 0;
+ $in_rir = 1;
+ }
+
+ if (m/ACE_ENV_ARG_PARAMETER/) {
+ $found_env = 1;
+ }
+
+ if ($in_rir == 1 && m/\;\s*$/) {
+ $in_rir = 0;
+ if ($found_env != 1) {
+ print_error ("Missing ACE_ENV_ARG_PARAMETER in"
+ . " resolve_initial_references"
+ . " in $file ($line)");
+ }
+ $found_env = 0;
+ }
+
+ }
+ }
+ close (FILE);
+ }
+ else {
+ print STDERR "Error: Could not open $file\n";
+ }
+ }
+}
+
+# This test checks for usage of ACE_CHECK/ACE_TRY_CHECK
+sub check_for_ace_check ()
+{
+ print "Running ACE_CHECK check\n";
+ foreach $file (@files_cpp, @files_inl) {
+ my $line = 0;
+ if (open (FILE, $file)) {
+ my $disable = 0;
+ my $in_func = 0;
+ my $in_return = 0;
+ my $found_env = 0;
+
+ print "Looking at file $file\n" if $opt_d;
+ while (<FILE>) {
+ ++$line;
+ if (/FUZZ\: disable check_for_ace_check/) {
+ $disable = 1;
+ }
+ if (/FUZZ\: enable check_for_ace_check/) {
+ $disable = 0;
+ }
+
+ if (/FUZZ\: ignore check_for_ace_check/) {
+ next;
+ }
+
+ next if m/^\s*\/\//;
+ next if m/^\s*$/;
+
+ if ($disable == 0) {
+ if (m/[,\(]\s*ACE_TRY_ENV[,\)]/) {
+ $found_env = 1;
+ $in_func = 1;
+ $env_line = $line;
+ }
+
+ # ignore quoted ACE_TRY_ENV's
+ if (m/^[^\"]*\"[^\"]*ACE_TRY_ENV[^\"]*\"[^\"]*$/) {
+ $found_env = 0;
+ }
+
+ if (m/ACE_TRY_ENV.*ACE_TRY_ENV/) {
+ print_error ("Multiple ACE_TRY_ENV in $file ($line)");
+ }
+
+ if ($in_func && m/\)/) {
+ $in_func = 0;
+ }
+ elsif (!$in_func && $found_env) {
+ if (!m/_CHECK/ && !m/^\}/ && !$in_return) {
+ print_error ("Missing ACE_CHECK/ACE_TRY_CHECK for $file ($env_line)");
+ }
+ $found_env = 0;
+ }
+
+ if (m/^\s*return/) {
+ $in_return = 1;
+ }
+ else {
+ $in_return = 0;
+ }
+ }
+ }
+ close (FILE);
+ }
+ else {
+ print STDERR "Error: Could not open $file\n";
+ }
+ }
+}
+
+##############################################################################
+
+use vars qw/$opt_c $opt_d $opt_h $opt_l $opt_m $opt_v/;
+
+if (!getopts ('cdhl:mv') || $opt_h) {
+ print "fuzz.pl [-cdhm] [-l level] [file1, file2, ...]\n";
+ print "\n";
+ print " -c only look at the files passed in\n";
+ print " -d turn on debugging\n";
+ print " -h display this help\n";
+ print " -l level set detection level (default = 5)\n";
+ print " -m only check locally modified files (uses cvs)\n";
+ print " -v verbose mode\n";
+ exit (1);
+}
+
+if (!$opt_l) {
+ $opt_l = 5;
+}
+
+if ($opt_c) {
+ foreach $file (@ARGV) {
+ store_file ($file);
+ }
+}
+elsif ($opt_m) {
+ find_mod_files ();
+}
+else {
+ find_files ();
+}
+
+print "--------------------Configuration: Fuzz - Level ",$opt_l,
+ "--------------------\n";
+
+check_for_inline_in_cpp () if ($opt_l >= 2);
+check_for_id_string () if ($opt_l >= 1);
+check_for_newline () if ($opt_l >= 1);
+check_for_inline () if ($opt_l >= 2);
+check_for_math_include () if ($opt_l >= 3);
+check_for_line_length () if ($opt_l >= 8);
+check_for_preprocessor_comments () if ($opt_l >= 7);
+check_for_tchar () if ($opt_l >= 4);
+check_for_pre_and_post () if ($opt_l >= 4);
+check_for_mismatched_filename () if ($opt_l >= 2);
+check_for_bad_run_test () if ($opt_l >= 6);
+check_for_absolute_ace_wrappers () if ($opt_l >= 3);
+check_for_bad_ace_trace () if ($opt_l >= 4);
+check_for_missing_rir_env () if ($opt_l >= 5);
+check_for_ace_check () if ($opt_l >= 3);
+
+print "\nFuzz.pl - $errors error(s), $warnings warning(s)\n";
+
+exit (1) if $errors > 0;
diff --git a/bin/g++dep b/bin/g++dep
new file mode 100755
index 00000000000..cfd00b95e9e
--- /dev/null
+++ b/bin/g++dep
@@ -0,0 +1,112 @@
+#! /bin/sh
+# $Id$
+
+# This utility is a lightly editted version of the freed Berkeley
+# script `mkdep'. The current script is intended to work for GNU G++.
+
+# Here is the original BSD header:
+# @(#)mkdep.sh 1.7 (Berkeley) 10/13/87
+#
+
+if [ `uname -r` = 5.7 ]; then
+ PATH=/project/danzon/pkg/egcs/bin:/usr/local/bin:/bin:/usr/bin:/usr/ucb:\
+/usr/gnu:/usr/gnu/bin:/opt/gnu/bin:/pkg/gnu/bin:$PATH
+else
+ PATH=/usr/local/bin:/bin:/usr/bin:/usr/ucb:\
+/usr/gnu:/usr/gnu/bin:/opt/gnu/bin:/pkg/gnu/bin:$PATH
+fi
+export PATH
+
+if [ $# = 0 ] ; then
+ echo 'usage: g++dep [-p] [-f makefile] [flags] file ...'
+ exit 1
+fi
+
+DO_ACE_MAKE_DEPEND=0
+MAKE=Makefile
+STOPNOW=0
+while [ $STOPNOW -eq 0 ]
+do
+case $1 in
+ # -f allows you to select a makefile name
+ -f) MAKE=$2
+ shift; shift ;;
+
+ # the -p flag produces "program: program.c" style dependencies
+ # so .o's don't get produced
+ -p) SED='-e s;\.o;;'
+ shift ;;
+
+ # -r allows the use of relative pathnames...
+ -r) REL="-e s;$ACE_ROOT;\$(ACE_ROOT);g ${ACE_DEPEND_SED_CMD}"
+ REL="-e s;${TAO_ROOT:=$ACE_ROOT/TAO};\$(TAO_ROOT);g "$REL
+ shift ;;
+ # -A uses relative pathnames and fixes the .obj line
+ # and it implies -r
+ -A) REL="-e s;$ACE_ROOT;\$(ACE_ROOT);g ${ACE_DEPEND_SED_CMD}"
+ REL="-e s;${TAO_ROOT:=$ACE_ROOT/TAO};\$(TAO_ROOT);g "$REL
+ DO_ACE_MAKE_DEPEND=1
+ shift ;;
+ *) STOPNOW=1
+esac
+done
+
+# Dependencies on local files are better expressed like that, instead
+# of using $(TAO_ROOT) or $(ACE_ROOT). This is specially important
+# for IDL generated files.
+REL="-e s;`pwd`/;;g "$REL
+
+if [ ! -w $MAKE ]; then
+ echo "g++dep: no writeable file \"$MAKE\""
+ exit 1
+fi
+
+TMP=/tmp/g++dep$$
+
+trap 'rm -f $TMP; exit 1' 1 2 3 13 15
+
+cp $MAKE ${MAKE}.bak
+
+sed -e '/DO NOT DELETE THIS LINE/,$d' < $MAKE > $TMP
+
+cat << _EOF_ >> $TMP
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+_EOF_
+
+g++ -MM -DACE_LACKS_PRAGMA_ONCE $* | \
+ sed -e "s; \./; ;g" $SED $REL | \
+ awk '{ if ($1 != prev) \
+ { if (rec != "") print rec; rec = $0; prev = $1; } \
+ else \
+ { if (length(rec $2) > 78) { print rec; rec = $0; } \
+ else rec = rec " " $2 } } \
+ END { print rec }' >> $TMP
+
+if [ $DO_ACE_MAKE_DEPEND -eq 1 ]
+then
+ SCRIPT=${TMP}_script
+ echo "s;\([-a-zA-Z0-9._+]*\)\.o:;\\" > $SCRIPT
+ echo ".obj/\1.o .obj/\1.${SOEXT} ${VSHDIR}\1.o ${VSHDIR}\1.${SOEXT}:;" >> $SCRIPT
+ TMP2=${TMP}_2
+ cat $TMP | \
+ sed \
+ -e '/$(ACE_ROOT)\/ace\/config[^\.]*\.h/d' \
+ -e "s; /[-a-zA-Z0-9_./+]*\.h;;g" \
+ -e 's/\\[ \t][ \t]*\\/\\/g' \
+ -f $SCRIPT > $TMP2
+ mv $TMP2 $TMP
+ rm -f $TMP2
+ rm -f $SCRIPT
+fi
+
+cat << _EOF_ >> $TMP
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
+_EOF_
+
+# copy to preserve permissions
+cp $TMP $MAKE
+rm -f ${MAKE}.bak $TMP
+exit 0
diff --git a/bin/generate_doxygen.pl b/bin/generate_doxygen.pl
new file mode 100755
index 00000000000..825b11c52ba
--- /dev/null
+++ b/bin/generate_doxygen.pl
@@ -0,0 +1,219 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# -*- perl -*-
+# $Id$
+#
+
+require POSIX;
+require File::Path;
+
+# Configuration and default values
+
+$is_release = 0;
+$exclude_ace = 0;
+$exclude_tao = 0;
+$verbose = 0;
+$perl_path = '/usr/bin/perl';
+$dot_path = '/usr/local/bin';
+@ACE_DOCS = ('ace',
+ 'ace_man',
+ 'ace_rmcast',
+ 'ace_ssl',
+ 'ace_qos',
+ 'acexml');
+@TAO_DOCS = ('tao'
+ ,'tao_portableserver'
+ ,'tao_rtportableserver'
+ ,'tao_rtcorba'
+ ,'tao_dynamicany'
+ ,'tao_dynamicinterface'
+ ,'tao_iormanip'
+ ,'tao_iortable'
+ ,'tao_esf'
+ ,'tao_rtevent'
+ ,'tao_cosevent'
+ ,'tao_cosnotification'
+ ,'tao_implrepo'
+ ,'tao_strategies'
+ ,'tao_smartproxies'
+ ,'tao_av'
+ ,'tao_security'
+ ,'tao_ssliop'
+ );
+
+# Modify defaults using the command line arguments
+&parse_args ();
+
+open(CONFIG_H, ">ace/config.h")
+ || die "Cannot create config file\n";
+print CONFIG_H "#include \"ace/config-doxygen.h\"\n";
+close (CONFIG_H);
+
+&generate_doxy_files ('ACE', 'VERSION', @ACE_DOCS) if (!$exclude_ace);
+&generate_doxy_files ('TAO', 'TAO/VERSION', @TAO_DOCS) if (!$exclude_tao);
+
+unlink "ace/config.h";
+
+exit 0;
+
+sub parse_args {
+ my @ARGS = ();
+ while ($#ARGV >= 0) {
+ if (!($ARGV[0] =~ m/^-/)) {
+ push @ARGS, $ARGV[0];
+ } elsif ($ARGV[0] eq "-is_release") {
+ $is_release = 1;
+ } elsif ($ARGV[0] eq "-exclude_ace") {
+ $exclude_ace = 1;
+ } elsif ($ARGV[0] eq "-exclude_tao") {
+ $exclude_tao = 1;
+ } elsif ($ARGV[0] eq "-verbose") {
+ $verbose = 1;
+ } elsif ($ARGV[0] eq "-perl_path" && $#ARGV >= 1) {
+ $perl_path = $ARGV[1];
+ shift;
+ } elsif ($ARGV[0] eq "-dot_path" && $#ARGV >= 1) {
+ $dot_path = $ARGV[1];
+ shift;
+ } else {
+ print "Ignoring option $ARGV[0]\n";
+ }
+ shift @ARGV;
+ }
+ @ARGV = @ARGS;
+}
+
+sub generate_doxy_files {
+
+ my $KIT = shift;
+ my $VERSION_FILE = shift;
+ my @DOCS = @_;
+
+ my $VERSION = 'Snapshot ('.
+ POSIX::strftime("%Y/%m/%d-%H:%M", localtime)
+ .')';
+
+ foreach my $i (@DOCS) {
+ if ($is_release) {
+ my ($major, $minor, $beta) = &get_versions ($KIT, $VERSION_FILE);
+ $VERSION = $major.'.'.$minor.'.'.$beta;
+ }
+
+ my $input = "etc/".$i.".doxygen";
+ my $output = "/tmp/".$i.".".$$.".doxygen";
+
+ open(DOXYINPUT, $input)
+ || die "Cannot open doxygen input file $input\n";
+ open(DOXYOUTPUT, ">$output")
+ || die "Cannot open doxygen output file $output\n";
+
+ my $generate_man = 0;
+ my $generate_html = 0;
+ my @output_dirs = ();
+ while (<DOXYINPUT>) {
+ chomp;
+ if (/^PROJECT_NUMBER/) {
+ print DOXYOUTPUT "PROJECT_NUMBER = ", $VERSION, "\n";
+ next;
+ } elsif (/^PERL_PATH /) {
+ print DOXYOUTPUT "PERL_PATH = $perl_path\n";
+ next;
+ } elsif (/^DOT_PATH /) {
+ print DOXYOUTPUT "DOT_PATH = $dot_path\n";
+ next;
+ } elsif (/^QUIET / && $verbose) {
+ print DOXYOUTPUT "QUIET = NO\n";
+ next;
+ } elsif (/^INLINE_SOURCES/ && $is_release) {
+ print DOXYOUTPUT "INLINE_SOURCES = NO\n";
+ next;
+ } elsif (/^SOURCE_BROWSER/ && $is_release) {
+ print DOXYOUTPUT "SOURCE_BROWSER = NO\n";
+ next;
+ } elsif (/^VERBATIM_HEADERS/ && $is_release) {
+ print DOXYOUTPUT "VERBATIM_HEADERS = NO\n";
+ next;
+# } elsif (/^INCLUDE_GRAPH/ && $is_release) {
+# print DOXYOUTPUT "INCLUDE_GRAPH = NO\n";
+# next;
+# } elsif (/^INCLUDED_BY_GRAPH/ && $is_release) {
+# print DOXYOUTPUT "INCLUDED_BY_GRAPH = NO\n";
+# next;
+ } elsif (/^GENERATE_MAN/ && /= YES/) {
+ $generate_man = 1;
+ } elsif (/^GENERATE_HTML/ && /= YES/) {
+ $generate_html = 1;
+ } elsif ($generate_html && /^HTML_OUTPUT/) {
+ my @field = split(' = ');
+ if ($#field >= 1) {
+ push @output_dirs, $field[1];
+ }
+ } elsif ($generate_html && /^MAN_OUTPUT/) {
+ my @field = split(' = ');
+ if ($#field >= 1) {
+ push @output_dirs, $field[1];
+ }
+ }
+ print DOXYOUTPUT $_, "\n";
+ }
+ close (DOXYOUTPUT);
+ close (DOXYINPUT);
+
+ foreach my $i (@output_dirs) {
+ File::Path::mkpath($i, 0, 0755);
+ }
+
+ &run_doxy ($output);
+
+ unlink $output;
+ }
+}
+
+sub run_doxy {
+ my $config = shift;
+ open(DOX,"doxygen $config 2>&1 |")
+ || die "cannot start ACE doxygen process\n";
+ while (<DOX>) {
+ print $_;
+ }
+ close (DOX)
+ || die "error while running doxygen on $config\n";
+}
+
+########
+######## Retrieve version information from VERSION file(s).
+########
+sub get_versions () {
+ my $KIT = shift;
+ my $VERSION_FILE = shift;
+ my ($major_version, $minor_version, $beta_version);
+
+ open (VERSION, '<'.$VERSION_FILE) ||
+ die "$0: unable to open VERSION\n";
+ while (<VERSION>) {
+ chomp;
+ if (/$KIT version (\d+)\.(\d+)\.(\d+)/) {
+ $major_version = $1;
+ $minor_version = $2;
+ $beta_version = $3;
+ last;
+ } elsif (/$KIT version (\d+)\.(\d+)[^\.]/) {
+ #### Previous release was a minor.
+ $major_version = $1;
+ $minor_version = $2;
+ $beta_version = '0';
+ last;
+ } elsif (/$KIT version (\d+)[^\.]/) {
+ #### Previous release was a major.
+ $major_version = $1;
+ $minor_version = '0';
+ $beta_version = '0';
+ last;
+ }
+ }
+ close VERSION;
+
+ return ($major_version, $minor_version, $beta_version);
+}
diff --git a/bin/make_release b/bin/make_release
new file mode 100755
index 00000000000..a1f2fd7542b
--- /dev/null
+++ b/bin/make_release
@@ -0,0 +1,817 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+#
+# Creates an ACE or TAO kit. Intended to be called from the
+# ACE or TAO top-level Makefiles.
+#
+# The first three lines above let this script run without specifying the
+# full path to perl, as long as it is in the user's PATH.
+# Taken from perlrun man page.
+
+use strict;
+
+my $usage="usage: $0 [-?] [-i] [-g] [-k <kit>] [-n] [-v <version>] " .
+ "[-ta <ACE tag>] [-tt <TAO tag>] " .
+ "[-c <controlled files>] [-r <release files>] [-l <release lib files] " .
+ "[-u] [-z]\n";
+my $long_usage=" -? option prints this message\n" .
+ " -i to install to public web server directory\n" .
+ " -g to generate the man pages\n" .
+ " -k <kit>, where <kit> is ace, tao, or ace+tao\n" .
+ " -n option prints what would be done, but doesn't do it\n" .
+ " -v <version>, where <version> is major, minor, or beta (default)\n" .
+ " -ta <ACE tag>, to specify ACE tag to be use for checkout (export)\n" .
+ " -tt <TAO tag>, to specify TAO tag to be use for checkout (export)\n" .
+ " -c <controlled files> lists the CVS-controlled files\n" .
+ " -r <release files> lists the files to be released\n" .
+ " -l <release lib files> list the files to put in the lib kit\n" .
+ " -u to update versions\n" .
+ " -z to suppress creation of .zip files\n";
+
+
+########
+######## Sanity checks.
+########
+$ENV{'SIGNATURE'} ||
+ die "$0: must set your SIGNATURE environment variable\n";
+
+my $which_host = $ENV{'OSTYPE'};
+
+my $release_host = substr ($which_host, 0, 5);
+
+## We are not going to use any Sun boxes for the release anymore..
+
+if (! ($release_host eq 'linux')){
+ die "$0: You are on the wrong OS, please move to linux box\n";
+}
+
+my $perl_path = '/usr/bin/perl';
+
+&can_run($perl_path.' -V') ||
+ die "$0: perl path is incorrect, please fix the script\n";
+
+my $dot_path = '/project/deuce/gv1.5/bin';
+
+&can_run($dot_path.'/dot -V') ||
+ die "$0: dot path is incorrect, please fix the script\n";
+
+my $doxy_path = '/project/deuce/doxygen/bin';
+
+my $doxy_version = '1.2.13.1';
+
+&can_run($doxy_path.'/doxygen --version | grep '.$doxy_version.' >/dev/null') ||
+ die "$0: doxygen path or version incorrect, please fix the script\n";
+
+$ENV{'PATH'} = $ENV{'PATH'}.':'.$doxy_path;
+
+my $hostname;
+chomp ($hostname = $ENV{'HOSTNAME'} || `uname -n`);
+unless ("$hostname" eq 'deuce.doc.wustl.edu') {
+ #### For efficiency sake . . .
+ die "$0: must run on host deuce.doc\n";
+}
+
+
+$ENV{'CVSROOT'} ||
+ die "$0: must set your CVSROOT environment variable\n";
+
+$ENV{'ACE_ROOT'} ||
+ die "$0: must set your CVSROOT environment variable\n";
+
+########
+######## Configuration parameters.
+########
+my $gnu = '/bin';
+
+####### Add the path to /bin unconditionally..
+
+$ENV{'PATH'} = "$gnu" . ':' . $ENV{'PATH'};
+
+### Any tools in /usr/local/bin can also be added. We dont need that
+### for deuce.doc
+my $gnu2 = '/usr/bin';
+
+####### Add the path to /usr/bin unconditionally..
+$ENV{'PATH'} = "$gnu2" . ':' . $ENV{'PATH'};
+
+my $export_dir = '/project/deuce/ftp/pub/ACE+TAO-distribution';
+my $diffs_dir = "$export_dir/diffs";
+my $exec_prefix = '';
+my $generate_man_pages = 0;
+my $install = 0;
+my $kit = '';
+my $release_type = 'beta';
+my $ace_tag = my $tao_tag = '';
+my $controlled_files = my $release_files = my $release_lib_files = '';
+my $release_tag_files = '';
+my $release_filter = '\\( -name CVS -o -name build \\) -prune -o ' .
+ '! -name \'.\#*\' ! -name \'\#*\' ! -name \'*~\' ' .
+ '! -name \'*.MAK\' -print';
+my $update_versions = 0;
+my $create_zips = 1;
+
+
+########
+######## Process command line args.
+########
+while ($#ARGV >= $[ && $ARGV[0] =~ /^-/) {
+ if ($ARGV[0] eq '-i') {
+ $install = 1;
+ } elsif ($ARGV[0] eq '-g') {
+ $generate_man_pages = 1;
+ } elsif ($ARGV[0] eq '-k') {
+ if ($ARGV[1] =~ /^[^-]+/ &&
+ ($ARGV[1] eq 'ace' || $ARGV[1] eq 'tao' || $ARGV[1] eq 'ace+tao')) {
+ $kit = $ARGV[1]; shift;
+ } else {
+ print STDERR "$0: must provide argument for -k option\n";
+ die "$usage$long_usage";
+ }
+ } elsif ($ARGV[0] eq '-n') {
+ $exec_prefix = 'echo ';
+ } elsif ($ARGV[0] eq '-v') {
+ if ($ARGV[1] =~ /^[^-]+/ &&
+ ($ARGV[1] eq 'major' || $ARGV[1] eq 'minor' ||
+ $ARGV[1] eq 'beta')) {
+ $release_type = $ARGV[1]; shift;
+ } else {
+ print STDERR "$0: must provide argument for -v option\n";
+ die "$usage$long_usage";
+ }
+ } elsif ($ARGV[0] eq '-ta') {
+ if ($ARGV[1] =~ /^[^-]+/) {
+ $ace_tag = $ARGV[1]; shift;
+ } else {
+ print STDERR "$0: must provide argument for -ta option\n";
+ die "$usage$long_usage";
+ }
+ } elsif ($ARGV[0] eq '-tt') {
+ if ($ARGV[1] =~ /^[^-]+/) {
+ $tao_tag = $ARGV[1]; shift;
+ } else {
+ print STDERR "$0: must provide argument for -tt option\n";
+ die "$usage$long_usage";
+ }
+ } elsif ($ARGV[0] eq '-c') {
+ if ($ARGV[1] =~ /^[^-]+/) {
+ $controlled_files = $ARGV[1]; shift;
+ } else {
+ print STDERR "$0: must provide argument for -c option\n";
+ die "$usage$long_usage";
+ }
+ } elsif ($ARGV[0] eq '-r') {
+ if ($ARGV[1] =~ /^[^-]+/) {
+ $release_files = $ARGV[1]; shift;
+ } else {
+ print STDERR "$0: must provide argument for -r option\n";
+ die "$usage$long_usage";
+ }
+ } elsif ($ARGV[0] eq '-l') {
+ if ($ARGV[1] =~ /^[^-]+/) {
+ $release_lib_files = $ARGV[1]; shift;
+ } else {
+ print STDERR "$0: must provide argument for -l option\n";
+ die "$usage$long_usage";
+ }
+ } elsif ($ARGV[0] eq '-u') {
+ $update_versions = 1;
+ } elsif ($ARGV[0] eq '-z') {
+ $create_zips = 0;
+ } elsif ($ARGV[0] eq '-?') {
+ print "$usage$long_usage";
+ exit;
+ } else {
+ print STDERR "$0: unknown option $ARGV[0]\n";
+ die "$usage$long_usage";
+ }
+ shift;
+
+}
+
+die "$0: must specify a -k option\n" unless "$kit";
+my $KIT;
+if ($kit eq 'ace') {
+ $KIT = 'ACE';
+} elsif ($kit eq 'tao') {
+ $KIT = 'TAO';
+} else {
+ #### Creating combined ACE+TAO kit. Don't use $KIT.
+};
+
+my $chmod = 'chmod';
+# All of them had gnu suffixes. Removed them..
+my $chgrp = 'chgrp';
+my $cpio = 'cpio';
+my $cvs = 'cvs';
+my $date = 'date';
+my $egrep = 'egrep';
+my $find = 'find';
+my $gzip = 'gzip';
+my $bzip2 = 'bzip2';
+my $make = 'make -s';
+my $mv = 'mv -f';
+my $rm = 'rm -f';
+my $md5sum = 'md5sum';
+chop (my $now = `$date +"%a %b %d %T %Y"`);
+
+unless ("$controlled_files") {
+ chomp ($controlled_files = `$make show_controlled_files`);
+}
+
+unless ("$release_files") {
+ chomp ($release_files = `$make show_release_files`);
+}
+
+unless ("$release_lib_files") {
+ chomp ($release_lib_files = `$make show_release_lib_files`);
+}
+
+unless ("$release_tag_files") {
+ chomp ($release_tag_files = `$make show_release_tag_files`);
+}
+
+########
+######## Setup signal handlers.
+########
+my $status = 1; #### Must get set to 0 explicitly to indicate success.
+$SIG{'HUP'} = $SIG{'INT'} = $SIG{'QUIT'} = $SIG{'TERM'} = 'cleanup';
+
+
+########
+######## Defend against fascist umasks.
+########
+umask 022;
+
+
+my $major_version = my $minor_version = my $beta_version = 0;
+my $previous_version = my $version = '';
+my $ace_version = '';
+
+########
+######## Main execution thread.
+########
+if ($update_versions && "$kit" ne 'ace+tao') {
+ #### Update versions and tag, but don't create the kit.
+
+ $status =
+ &check_workspace () ||
+ &get_versions () ||
+ &update_version_files () ||
+ &update_changelog () ||
+ &tag ();
+} else {
+ #### Create the kit.
+
+ #### If a tag was specified, export using the tag from a staging area.
+ #### If not, create a kit from the current directory.
+ my $stage_dir = '..';
+ if ("$ace_tag" || "$tao_tag") {
+ $stage_dir = "/tmp/ACE_wrappers_stage-$$/";
+ unless ("$exec_prefix") {
+ mkdir "$stage_dir", 0755 ||
+ die "$0: unable to mkdir $stage_dir\n";
+ }
+ }
+
+ if ("$exec_prefix") {
+ print "chdir $stage_dir\n";
+ } else {
+ chdir $stage_dir || die "$0: unable to chdir $stage_dir\n";
+ }
+
+ if ("$ace_tag") {
+ &ex ("$cvs -q export -r$ace_tag -kv ACE_wrappers > /dev/null") &&
+ die "$0: failed cvs export of $ace_tag in $stage_dir\n";
+ unless ("$exec_prefix") {
+ mkdir "ACE_wrappers/man", 0755 ||
+ die "$0: unable to mkdir $stage_dir/ACE_wrappers/man\n";
+ mkdir "ACE_wrappers/man/man3", 0755 ||
+ die "$0: unable to mkdir $stage_dir/ACE_wrappers/man/man3\n";
+ }
+ if ($generate_man_pages) {
+ &ex ("cd ACE_wrappers && bin/generate_doxygen.pl -is_release -exclude_tao -perl_path $perl_path -dot_path $dot_path")
+ && die "$0: failed to generate ACE man pages in $stage_dir\n";
+
+## DONT generate the windex database on Linux. Things get screwed.
+## &ex ("cd ACE_wrappers/man && catman -w -M .")
+## && die "$0: failed to generate man page index in $stage_dir\n";
+ }
+ &ex ("cd ACE_wrappers && $make ACE-INSTALL") &&
+ die "$0: failed make ACE-INSTALL in $stage_dir/ACE_wrappers\n";
+ }
+
+ if ("$tao_tag") {
+ &ex ("$cvs -q export -r$tao_tag -kv ACE_wrappers/TAO > /dev/null") &&
+ die "$0: failed cvs export of $tao_tag in $stage_dir\n";
+ &ex ("cd ACE_wrappers/TAO && $make INSTALL orbsvcs/README") &&
+ die "$0: failed make INSTALL TAO/orbsvcs/README in " .
+ "$stage_dir/ACE_wrappers/TAO\n";
+
+ if ($generate_man_pages) {
+ &ex ("cd ACE_wrappers && bin/generate_doxygen.pl -is_release -exclude_ace -perl_path $perl_path -dot_path $dot_path")
+ && die "$0: failed to generate TAO man pages in $stage_dir\n";
+ }
+ }
+
+ $status = &create_kit ();
+
+ if (! $status && $install) {
+ if ("$ace_tag") {
+ my $major_v = 0;
+ my $minor_v = 0;
+ my $beta_v = 0;
+ if ($ace_tag =~ /(\d+)_(\d+)_(\d+)/o) {
+ my $major_v = $1;
+ my $minor_v = $2;
+ my $beta_v = $3;
+
+ ## There is a small problem here and was reported by Don
+ ## Hinton<don@gmx.net> . The problem is that
+ ## $previous_version = "$major_v.$minor_v.$previous_beta";
+ ## // and hence if $previous_beta == 0 then the current beta
+ ## == 1 and so $previous_version == "X.Y.0"
+ ## &diff ('ACE_wrappers', "ACE-$previous_version", "$ace_tag");
+ ## // so "ACE-$previous_version" == "ACE-X.Y.0"
+ ## Which gets sent to cvs as "ACE-X_Y_0" but since the real
+ ## tag is "ACE-X_Y", rdiff doesn't find anything. This problem
+ ## needs fixing. Will fix this when we get time.
+
+ #### $previous_version is used by diff ().
+ if ($beta_v > 0) {
+ my $previous_beta = $beta_v - 1;
+ $previous_version = "$major_v.$minor_v.$previous_beta";
+
+ &diff ('ACE_wrappers', "ACE-$previous_version", "$ace_tag");
+ }
+ }
+ }
+
+ if ("$tao_tag") {
+ my $major_v = 0;
+ my $minor_v = 0;
+ my $beta_v = 0;
+ if ($tao_tag =~ /(\d+)_(\d+)_(\d+)/o) {
+ my $major_v = $1;
+ my $minor_v = $2;
+ my $beta_v = $3;
+
+ #### $previous_version is used by diff ().
+ if ($beta_v > 0) {
+ my $previous_beta = $beta_v - 1;
+ $previous_version = "$major_v.$minor_v.$previous_beta";
+
+ &diff ('ACE_wrappers/TAO', "TAO-$previous_version", "$tao_tag");
+ }
+ }
+ }
+ }
+
+ if ("$ace_tag" || "$tao_tag") {
+ if ($install) {
+ chdir "..";
+ &ex ("$rm -r $stage_dir") &&
+ warn "$0: failed to remove $stage_dir\n";
+ } else {
+ warn "$0: kits are in $stage_dir\n";
+ }
+ }
+}
+&cleanup;
+
+
+########
+######## Clean up when done or on signal.
+########
+sub cleanup {
+ exit $status;
+}
+
+
+########
+######## Check that the workspace is up-to-date, if releasing from
+######## the official release directory.
+########
+sub check_workspace () {
+ my $module;
+
+ if ($kit =~ /^ace/) {
+ chdir '..' || die "$0: unable to chdir ..\n";
+ $module = 'ACE_wrappers';
+ } elsif ($kit =~ /tao/) {
+ chdir '../..' || die "$0: unable to chdir ../..\n";
+ $module = 'ACE_wrappers/TAO';
+ }
+
+ my @out_of_date = ();
+ open (CVS, "$cvs -nq checkout -P $module 2>&1 |") ||
+ die "$0: unable to open $cvs\n";
+ while (<CVS>) {
+ next if m%^U %; #### Allow others to update the repository.
+ next if m%^cvs checkout: New directory `.*' -- ignored$%; #### empty dirs.
+
+ push (@out_of_date, $_) if "$_";
+ }
+ close CVS;
+
+ if ($kit =~ /^ace/) {
+ chdir 'ACE_wrappers' || die "$0: unable to chdir ACE_wrappers\n";
+ } elsif ($kit =~ /tao/) {
+ chdir 'ACE_wrappers/TAO' || die "$0: unable to chdir ACE_wrappers/TAO\n";
+ }
+
+ if (@out_of_date) {
+ warn "ERROR: workspace must be updated (with cvs -q up -d) or " .
+ "cleaned:\n " .
+ join ("\n ", @out_of_date) . "\n";
+ return 1;
+ }
+
+ 0;
+}
+
+
+########
+######## Retrieve version information from VERSION file(s).
+########
+sub get_versions () {
+ open (VERSION, '< VERSION') ||
+ die "$0: unable to open VERSION\n";
+ while (<VERSION>) {
+ if (/$KIT version (\d+)\.(\d+)\.(\d+)/o) {
+ $major_version = $1;
+ $minor_version = $2;
+ $beta_version = $3;
+ last;
+ } elsif (/$KIT version (\d+)\.(\d+)[^\.]/o) {
+ #### Previous release was a minor.
+ $major_version = $1;
+ $minor_version = $2;
+ last;
+ } elsif (/$KIT version (\d+)[^\.]/o) {
+ #### Previous release was a major.
+ $major_version = $1;
+ last;
+ }
+ }
+ close VERSION;
+
+ if ($release_type eq 'beta') {
+ ++$beta_version;
+ $version = "$major_version.$minor_version.$beta_version";
+ } elsif ($release_type eq 'minor' ) {
+ $beta_version = 0;
+ ++$minor_version;
+ $version = "$major_version.$minor_version";
+ } elsif ($release_type eq 'major' ) {
+ $minor_version = $beta_version = 0;
+ ++$major_version;
+ $version = "$major_version.$minor_version";
+ }
+
+ print "new $KIT version: $version\n";
+
+ if ($kit =~ /tao/) {
+ my $ace_major_version = my $ace_minor_version = my $ace_beta_version = 0;
+ open (ACE_VERSION, '< ../VERSION') ||
+ die "$0: unable to open ../VERSION\n";
+ while (<ACE_VERSION>) {
+ if (/ACE version (\d+)\.(\d+)\.(\d+)/o) {
+ $ace_major_version = $1;
+ $ace_minor_version = $2;
+ $ace_beta_version = $3;
+ last;
+ } elsif (/ACE version (\d+)\.(\d+)[^\.]/o) {
+ #### ACE release was a minor.
+ $ace_major_version = $1;
+ $ace_minor_version = $2;
+ last;
+ } elsif (/ACE version (\d+)[^\.]/o) {
+ #### ACE release was a major.
+ $ace_major_version = $1;
+ last;
+ }
+ }
+ close ACE_VERSION;
+
+ if ($ace_beta_version == 0) {
+ $ace_version = "$ace_major_version.$ace_minor_version";
+ } else {
+ $ace_version = "$ace_major_version.$ace_minor_version.$ace_beta_version";
+ }
+ }
+
+ 0;
+}
+
+
+########
+######## Update VERSION file(s).
+########
+sub update_version_files () {
+ &ex ("perl -pi -e " .
+ "'s/$KIT version .*/$KIT version $version, released $now./' VERSION");
+ return 1 if $? >> 8;
+
+ &ex ("perl -pi -e 's/$KIT VERSION:.*/$KIT VERSION: $version/' " .
+ "PROBLEM-REPORT-FORM");
+ return 1 if $? >> 8;
+
+ if ($kit =~ /^tao/) {
+ &ex ("perl -pi -e 's/ACE VERSION:.*/ACE VERSION: $ace_version/' " .
+ "PROBLEM-REPORT-FORM");
+ return 1 if $? >> 8;
+
+ if ("$exec_prefix") {
+ print "TAO version ${major_version}.${minor_version}.${beta_version}\n";
+ } else {
+ open (TAO_VERSION_H, "> tao/Version.h") ||
+ die "$0: unable to open tao/Version.h\n";
+
+ print TAO_VERSION_H
+ "// \$Id\$\n" .
+ "// This is an automatically generated file.\n\n" .
+ "\#define TAO_MAJOR_VERSION ${major_version}\n" .
+ "\#define TAO_MINOR_VERSION ${minor_version}\n" .
+ "\#define TAO_BETA_VERSION ${beta_version}\n" .
+ "\#define TAO_VERSION \"${version}\"\n";
+
+ close TAO_VERSION_H;
+ }
+ }
+
+ if ($kit =~ /^ace/) {
+ if ("$exec_prefix") {
+ print "ACE version ${major_version}.${minor_version}.${beta_version}\n";
+ } else {
+
+ open (ACE_VERSION_H, "> ace/Version.h") ||
+ die "$0: unable to open ace/Version.h\n";
+
+ print ACE_VERSION_H
+ "// \$Id\$\n" .
+ "// This is an automatically generated file.\n\n" .
+ "\#define ACE_MAJOR_VERSION ${major_version}\n" .
+ "\#define ACE_MINOR_VERSION ${minor_version}\n" .
+ "\#define ACE_BETA_VERSION ${beta_version}\n" .
+ "\#define ACE_VERSION \"${version}\"\n";
+
+ close ACE_VERSION_H;
+ }
+ }
+
+ 0;
+}
+
+
+########
+######## Add ChangeLog entries, and make sure that they have proper
+######## permissions.
+########
+sub update_changelog () {
+ my $logname = $ENV{'LOGNAME'};
+ if (! "$logname") {
+ chop ($logname = `/usr/ucb/whoami`);
+ }
+ my $signature = $ENV{'SIGNATURE'} || $logname;
+ my $message = "$now $signature <$logname\@cs.wustl.edu>\n\n" .
+ " * $KIT version $version released.\n\n";
+
+ if ("$exec_prefix") {
+ print "Adding to ChangeLog: \n", $message, "\n";
+ return 0;
+ }
+ open (NEW_CHANGELOG, ">ChangeLog.bak")
+ || return 1;
+ open (CHANGELOG, "ChangeLog")
+ || return 1;
+ print NEW_CHANGELOG $message;
+ while (<CHANGELOG>) {
+ print NEW_CHANGELOG $_;
+ }
+ close (CHANGELOG)
+ || return 1;
+ close (NEW_CHANGELOG)
+ || return 1;
+ rename "ChangeLog.bak", "ChangeLog"
+ || return 1;
+
+ my $version_h = $kit =~ /^ace/ ? 'ace/Version.h' : 'tao/Version.h';
+
+ &ex ("$cvs commit -m'$version' " .
+ "VERSION PROBLEM-REPORT-FORM ChangeLog $version_h && " .
+ "chmod 0644 VERSION PROBLEM-REPORT-FORM ChangeLog $version_h; " .
+ "chgrp doc VERSION PROBLEM-REPORT-FORM ChangeLog $version_h");
+ return 1 if $? >> 8;
+
+ 0;
+}
+
+
+########
+######## Tag the release.
+########
+sub tag () {
+ my $tag = "$KIT-$version";
+ #### cvs tag does not allow dots.
+ $tag =~ tr/./_/;
+
+ print "start tagging $tag\n";
+ if ($KIT eq "TAO") {
+ chdir "..";
+ }
+ &ex ("$cvs -q tag $tag $controlled_files $release_tag_files > /dev/null");
+ if ($KIT eq "TAO") {
+ chdir "TAO";
+ }
+ return 1 if $? >> 8;
+ print "finished tagging $tag\n";
+
+ 0;
+}
+
+
+########
+######## If building a beta, create a diff from the previous version.
+########
+sub diff () {
+ my ($module, $previous_tag, $tag) = @_;
+
+ if ("$previous_version") {
+ #### Only create a diff for a beta version.
+
+ #### cvs tag does not allow dots.
+ $previous_tag =~ tr/./_/;
+ $tag =~ tr/./_/;
+
+ &ex ("nice -15 $cvs -q rdiff -u -r $previous_tag -r $tag " .
+ "$module 2>/dev/null | " .
+ "nice -15 sed 's%ACE_wrappers-repository/%ACE_wrappers/%g' | " .
+ "nice -15 $gzip -9 > $diffs_dir/$previous_tag-$tag.diff.gz")
+ if -d "$diffs_dir";
+ }
+
+ #### Ignore return value. No promises on diffs.
+ 0;
+}
+
+
+########
+######## Create the tar file(s) and move to their proper location.
+########
+sub create_kit () {
+
+ #### Create kits with group write permission.
+ umask 002;
+
+ my $dest = $install ? "$export_dir" : 'created';
+ my $dispose = $install ? "$mv" : 'echo';
+ my $checksum = $install ? "$md5sum" : 'echo';
+ my $cksum_ext = 'md5';
+ my $redirect = $install ? '>' : '\>';
+ my $shell_cd = $install ? 'cd' : 'echo cd';
+
+ # These files don't get LF->CRLF conversions done when making the zip.
+ my $bin_files =
+ "\"\\.dsp|\\.dsw|\\.mak|\\.mdp|\\.ide|\\.exe\|\\.ico\|\\.gz\|\\.zip\|" .
+ "\\.gif\"";
+
+ my $build_command;
+ my $archives;
+
+ ##### @@ DISABLED UNTIL READY FOR GENERAL USE -- Ossama
+ ## Temporary ACE+autoconf hack to bootstrap autoconf support into
+ ## ACE distribution.
+ #&ex("cd ACE_wrappers && bin/bootstrap");
+
+ if ($kit eq 'ace' || $kit eq 'ace+tao') {
+ if ($create_zips) {
+ $build_command =
+ "$rm ACE.zip ACE-lib.zip; " .
+ "$find $release_files $release_filter | $egrep $bin_files | " .
+ "zip ACE.zip -q9@ &&" .
+ "$find $release_files $release_filter | $egrep -v $bin_files | " .
+ "zip ACE.zip -qlg9@ &&" .
+ "$find $release_lib_files $release_filter | $egrep $bin_files | " .
+ "zip ACE-lib.zip -q9@ &&" .
+ "$find $release_lib_files $release_filter | $egrep -v $bin_files | " .
+ "zip ACE-lib.zip -qlg9@ &&" .
+ "$find $release_files $release_filter | $cpio -o -H tar | " .
+ "$gzip -9 > ACE.tar.gz && " .
+ "$find $release_files $release_filter | $cpio -o -H tar | " .
+ "$bzip2 > ACE.tar.bz2 && " .
+ "$find $release_lib_files $release_filter | $cpio -o -H tar | " .
+ "$gzip -9 > ACE-lib.tar.gz && " .
+ "$find $release_lib_files $release_filter | $cpio -o -H tar | " .
+ "$bzip2 > ACE-lib.tar.bz2 && " .
+ "$find ACE_wrappers/html $release_filter | $cpio -o -H tar | " .
+ "$gzip -9 > ACE-html.tar.gz && ".
+ "$find ACE_wrappers/html $release_filter | $cpio -o -H tar | " .
+ "$bzip2 -9 > ACE-html.tar.bz2 && ".
+ "$find ACE_wrappers/html $release_filter | $egrep $bin_files | " .
+ "zip ACE-html.zip -q9@ &&" .
+ "$find ACE_wrappers/html $release_filter | $egrep -v $bin_files | " .
+ "zip ACE-html.zip -qlg9@ &&" .
+ "$chmod 664 ACE.tar.gz ACE-lib.tar.gz ACE.tar.bz2 ACE-lib.tar.bz2 ".
+ "ACE.zip ACE-lib.zip ACE-html.zip && " .
+ "$chgrp doc ACE.tar.gz ACE-lib.tar.gz ACE.tar.bz2 ACE-lib.tar.bz2 ".
+ "ACE.zip ACE-lib.zip ACE-html.zip && " .
+ "$dispose ACE.zip ACE-lib.zip ACE-html.zip $dest && " .
+ "$dispose ACE.tar.gz ACE-lib.tar.gz ACE-html.tar.gz ACE.tar.bz2 ACE-lib.tar.bz2 ACE-html.tar.bz2 $dest; ";
+ $archives = " ACE.tar.gz ACE-lib.tar.gz ACE-html.tar.gz ".
+ "ACE.zip ACE-lib.zip ACE-html.zip ACE.tar.bz2 ACE-lib.tar.bz2 ACE-html.tar.bz2 ";
+ } else {
+ $build_command =
+ "$find $release_files $release_filter | $cpio -o -H tar | " .
+ "$gzip -9 > ACE.tar.gz && " .
+ "$find $release_lib_files $release_filter | $cpio -o -H tar | " .
+ "$gzip -9 > ACE-lib.tar.gz && " .
+ "$find ACE_wrappers/html $release_filter | $cpio -o -H tar | " .
+ "$gzip -9 > ACE-html.tar.gz && ".
+ "$chmod 664 ACE.tar.gz ACE-lib.tar.gz ACE-html.tar.gz && " .
+ "$chgrp doc ACE.tar.gz ACE-lib.tar.gz ACE-html.tar.gz && " .
+ "$dispose ACE.tar.gz ACE-lib.tar.gz ACE-html.tar.gz $dest; ";
+ $archives = " ACE.tar.gz ACE-lib.tar.gz TAO-html.tar.gz ";
+ }
+ }
+
+ if ($kit eq 'ace+tao') {
+ $release_files .= ' ACE_wrappers/TAO';
+
+ if ($create_zips) {
+ $build_command .=
+ "$rm ACE+TAO.zip; " .
+ "$find $release_files $release_filter | $egrep $bin_files | " .
+ "zip ACE+TAO.zip -q9@ &&" .
+ "$find $release_files $release_filter | $egrep -v $bin_files | " .
+ "zip ACE+TAO.zip -qlg9@ &&" .
+ "$find $release_files $release_filter | $cpio -o -H tar | " .
+ "$gzip -9 > ACE+TAO.tar.gz && " .
+ "$find $release_files $release_filter | $cpio -o -H tar | " .
+ "$bzip2 > ACE+TAO.tar.bz2 && " .
+ "$chmod 664 ACE+TAO.tar.gz ACE+TAO.zip ACE+TAO.tar.bz2 && " .
+ "$chgrp doc ACE+TAO.tar.gz ACE+TAO.zip ACE+TAO.tar.bz2 && " .
+ "$dispose ACE+TAO.tar.gz ACE+TAO.zip ACE+TAO.tar.bz2 $dest";
+ $archives .= " ACE+TAO.tar.gz ACE+TAO.zip ACE+TAO.tar.bz2 ";
+ } else {
+ $build_command .=
+ "$find $release_files $release_filter | $cpio -o -H tar | " .
+ "$gzip -9 > ACE+TAO.tar.gz && " .
+ "$find $release_files $release_filter | $cpio -o -H tar | " .
+ "$bzip2 > ACE+TAO.tar.bz2 && " .
+ "$chmod 664 ACE+TAO.tar.gz && " .
+ "$chmod 664 ACE+TAO.tar.bz2 && " .
+ "$chgrp doc ACE+TAO.tar.gz && " .
+ "$chgrp doc ACE+TAO.tar.bz2 && " .
+ "$dispose ACE+TAO.tar.gz $dest";
+ "$dispose ACE+TAO.tar.bz2 $dest";
+ $archives .= " ACE+TAO.tar.gz ACE+TAO.tar.bz2 ";
+ }
+ }
+
+ # The "$dest/\$p" is going to look a bit funny if the release isn't
+ # being installed in the FTP directory since it will expand to
+ # `created/ACE.tar.gz', for example. No big deal, I guess.
+ my $checksum_command =
+ "$shell_cd $dest; " .
+ "for p in $archives; do " .
+ "$rm \${p}.${cksum_ext}; " .
+ "$checksum \$p $redirect \${p}.${cksum_ext}; " .
+ "done";
+
+ &ex ($build_command);
+ &ex ($checksum_command);
+}
+
+
+########
+######## Execute a command, unless -n had been specified. Return value
+######## of 0 indicates success.
+########
+sub ex ()
+{
+ my ($command) = @_;
+
+ if ("$exec_prefix") {
+ print $command . "\n";
+ 0;
+ } else {
+ system ("$command");
+ }
+}
+
+########
+######## Verify that a command can be executed, return 1 on sucess
+########
+sub can_run {
+ my $command = shift;
+
+ open (RUN, "$command 2>&1 |")
+ || return 0;
+ while (<RUN>) {}
+ close(RUN)
+ || return 0;
+ return 1;
+}
diff --git a/bin/msvc_auto_compile.pl b/bin/msvc_auto_compile.pl
new file mode 100755
index 00000000000..8955ae1c2b3
--- /dev/null
+++ b/bin/msvc_auto_compile.pl
@@ -0,0 +1,353 @@
+# $Id$
+# Win32 auto_compile script.
+
+use File::Find;
+use Cwd;
+
+if (!$ENV{ACE_ROOT}) {
+ $ACE_ROOT = getcwd ()."\\";
+ warn "ACE_ROOT not defined, defaulting to ACE_ROOT=$ACE_ROOT";
+}
+else {
+ $ACE_ROOT = $ENV{ACE_ROOT};
+}
+
+@directories = ();
+
+@ace_dirs = ("$ACE_ROOT\\ace",
+ "$ACE_ROOT\\XML\\common",
+ "$ACE_ROOT\\XML\\parser",
+ "$ACE_ROOT\\XML\\tests",
+ "$ACE_ROOT\\XML\\examples",
+ "$ACE_ROOT\\apps",
+ "$ACE_ROOT\\ASNMP",
+ "$ACE_ROOT\\examples",
+ "$ACE_ROOT\\netsvcs",
+ "$ACE_ROOT\\performance-tests",
+ "$ACE_ROOT\\tests",
+ "$ACE_ROOT\\websvcs");
+
+$debug = 0;
+$verbose = 0;
+$print_status = 0;
+$Ignore_errors = 0; # By default, bail out if an error occurs.
+$Build_DLL = 0;
+$Build_LIB = 0;
+$Build_Debug = 0;
+$Build_Release = 0;
+$Build_All = 1;
+$build_core_only = 0;
+$Build_Cmd = "/BUILD";
+$use_custom_dir = 0;
+$useenv = '';
+
+# Find_dsp will search a directory for *.dsp files and return a list
+# of strings that include the project name and the configuration
+sub Find_dsp (@)
+{
+ my (@dir) = @_;
+ @array = ();
+ my @config_array = ();
+
+ # wanted is only used for the File::Find
+ sub wanted
+ {
+ $array[++$#array] = $File::Find::name if ($File::Find::name =~ /\.dsp$/i);
+ }
+
+ # get_config grabs the configurations out of a dsp file.
+ sub get_config ($)
+ {
+ my ($file) = @_;
+ my @configs = ();
+
+ print "Looking at $file\n" if ($verbose);
+
+ open (DSP, "< $file") || die $!;
+
+ while (<DSP>)
+ {
+ push @configs, $1 if (/# Name \"([^\"]+)\"/);
+ }
+
+ close (DSP);
+ return @configs;
+ }
+
+ unshift @dir, (\&wanted);
+
+ find @dir;
+
+ for ($i = 0; $i <= $#array; ++$i) {
+ my $filename = "$array[$i]";
+
+ $filename =~ s@/./@/@g;
+ $filename =~ s@/@\\@g;
+ my @dsp_configs = get_config ($array[$i]);
+
+ for ($j = 0; $j <= $#dsp_configs; ++$j) {
+ push @config_array, "$filename--$dsp_configs[$j]";
+ }
+ }
+
+ return @config_array;
+}
+
+
+# Build_Config takes in a string of the type "project--configuration" and
+# runs msdev to build it.
+sub Build_Config ($)
+{
+ my ($arg) = @_;
+ my ($project, $config) = split /--/, $arg;
+
+ return Build ($project, $config);
+}
+
+# Build
+sub Build ($$)
+{
+ my ($project, $config) = @_;
+
+ if ($debug == 1) {
+ print "$project\n";
+ return 0;
+ }
+ else {
+ print "Auto_compiling $project : $config\n";
+
+ print "Building $project $config\n" if $verbose;
+
+ return system ("msdev.com $project /MAKE \"$config\" $Build_Cmd $useenv");
+ }
+}
+
+# Only builds the core libraries.
+sub Build_Core ()
+{
+ print STDERR "Building Core of ACE/TAO\n" if ($print_status == 1);
+ print "Building Core of ACE/TAO\n" if ($verbose == 1);
+
+ print "Build \n" if ($verbose);
+ print "Debug " if ($verbose) && ($Build_Debug);
+ print "Release " if ($verbose) && ($Build_Release);
+ print "DLL " if ($verbose) && ($Build_DLL);
+ print "LIB " if ($verbose) && ($Build_LIB);
+ print "\n" if ($verbose);
+
+ my @core_list = ();
+
+ if ($Build_DLL) {
+ @core_list = ($ACE_ROOT."\\TAO\\TAOACE.dsw");
+
+ foreach $c (@core_list) {
+ if ($Build_Debug) {
+ $Status = Build ($c, "ALL - Win32 Debug");
+ return if $Status != 0 && !$Ignore_errors;
+ }
+ if ($Build_Release) {
+ $Status = Build ($c, "ALL - Win32 Release");
+ return if $Status != 0 && !$Ignore_errors;
+ }
+ }
+ }
+ if ($Build_LIB) {
+ @core_list = ($ACE_ROOT."\\ace\\ace_lib.dsp",
+ $ACE_ROOT."\\apps\\gperf\\src\\gperf.dsp",
+ $ACE_ROOT."\\TAO\\TAO_IDL\\TAO_IDL_BE_LIB.dsp",
+ $ACE_ROOT."\\TAO\\TAO_IDL\\TAO_IDL_FE_LIB.dsp",
+ $ACE_ROOT."\\TAO\\TAO_IDL\\tao_idl_static.dsp",
+ $ACE_ROOT."\\TAO\\tao\\TAO_Static.dsp",
+ $ACE_ROOT."\\TAO\\tao\\PortableServer\\TAO_PortableServer_Static.dsp",
+ $ACE_ROOT."\\TAO\\tao\\DynamicAny\\TAO_DynamicAny_Static.dsp",
+ $ACE_ROOT."\\TAO\\tao\\IORManipulation\\TAO_IORManip_Static.dsp",
+ $ACE_ROOT."\\TAO\\tao\\IORTable\\TAO_IORTable_Static.dsp",
+ $ACE_ROOT."\\TAO\\tao\\Strategies\\TAO_Strategies_Static.dsp",
+ $ACE_ROOT."\\TAO\\tao\\RTCORBA\\TAO_RTCORBA_Static.dsp",
+ $ACE_ROOT."\\TAO\\tao\\RTPortableServer\\TAO_RTPortableServer_Static.dsp",
+ $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\Svc_Utils_Static.dsp",
+ $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosNaming_Static.dsp",
+ $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosProperty_Static.dsp",
+ $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosTrading_Static.dsp",
+ $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\AV_Static.dsp",
+ $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\RTEvent_Static.dsp",
+ $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\RTSched_Static.dsp",
+ $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\RTSchedEvent_Static.dsp",
+ $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\RTOLDEvent_Static.dsp",
+ $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosEvent_Static.dsp",
+ $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosConcurrency_Static.dsp",
+ $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosLifeCycle_Static.dsp",
+ $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosTime_Static.dsp",
+ $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\DsLogAdmin_Static.dsp",
+ $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosNotification_Static.dsp",
+ $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\LoadBalancing_Static.dsp",
+ $ACE_ROOT."\\TAO\\orbsvcs\\Naming_Service\\Naming_Server_static.dsp");
+
+ foreach $c (@core_list) {
+ if ($Build_Debug) {
+ $Status = Build ($c, "ALL - Win32 Static Debug");
+ return if $Status != 0 && !$Ignore_errors;
+ }
+ if ($Build_Release) {
+ $Status = Build ($c, "ALL - Win32 Static Release");
+ return if $Status != 0 && !$Ignore_errors;
+ }
+ }
+ }
+}
+
+sub Build_All ()
+{
+ my @configurations = Find_dsp (@directories);
+
+ print STDERR "First pass (libraries)\n" if ($print_status == 1);
+ print "\nmsvc_auto_compile: First Pass (libraries)\n";
+
+ foreach $c (@configurations) {
+ if ($Build_All
+ || ($Build_DLL && $Build_Debug && $c =~ /Win32 Debug/)
+ || ($Build_DLL && $Build_Release && $c =~ /Win32 Release/)
+ || ($Build_LIB && $Build_Debug && $c =~ /Win32 Static Debug/)
+ || ($Build_LIB && $Build_Release && $c =~ /Win32 Static Release/))
+ {
+ my $Status = 0;
+ $Status = Build_Config ($c)
+ if (($c =~ /Library/) || ($c =~ / DLL /) || ($c =~ / LIB /));
+ return if ($Status != 0 && !$Ignore_errors);
+ }
+ }
+
+
+ print STDERR "Second pass \n" if ($print_status == 1);
+ print "\nmsvc_auto_compile: Second Pass\n";
+
+ $count = 0;
+ foreach $c (@configurations) {
+ print STDERR "Configuration ".$count++." of ".$#configurations."\n" if ($print_status == 1);
+ Build_Config ($c)
+ if (($Build_DLL && $Build_Debug && $c =~ /Win32 Debug/)
+ || ($Build_DLL && $Build_Release && $c =~ /Win32 Release/)
+ || ($Build_LIB && $Build_Debug && $c =~ /Win32 Static Debug/)
+ || ($Build_LIB && $Build_Release && $c =~ /Win32 Static Release/));
+ }
+}
+
+
+## Parse command line argument
+while ( $#ARGV >= 0 && $ARGV[0] =~ /^(-|\/)/ )
+{
+ if ($ARGV[0] =~ '-k') { # Ignore errors
+ print "Ignore errors\n" if ( $verbose );
+ $Ignore_errors = 1;
+ }
+ elsif ($ARGV[0] =~ /^-d$/i) { # debug
+ $debug = 1;
+ }
+ elsif ($ARGV[0] =~ '-v') { # verbose mode
+ $verbose = 1;
+ }
+ elsif ($ARGV[0] =~ '-s') { # status messages
+ $print_status = 1;
+ }
+ elsif ($ARGV[0] =~ '-u') { # USEENV
+ print "Using Environment\n" if ($verbose);
+ $useenv = '/USEENV';
+ }
+ elsif ($ARGV[0] =~ '-CORE') { # Build the core of ace/tao
+ print "Building only Core\n" if ( $verbose );
+ $build_core_only = 1;
+ }
+ elsif ($ARGV[0] =~ '-ACE') { # Build ACE and its programs
+ print "Building ACE\n" if ( $verbose );
+ $use_custom_dir = 1;
+ push @directories, @ace_dirs;
+ }
+ elsif ($ARGV[0] =~ '-TAO') { # Build TAO and its programs
+ print "Building TAO\n" if ( $verbose );
+ $use_custom_dir = 1;
+ push @directories, ("$ACE_ROOT\\TAO");
+ }
+ elsif ($ARGV[0] =~ '-dir') { # Compile only a specific directory
+ shift;
+ print "Adding directory $ARGV[0]\n" if ( $verbose );
+ $use_custom_dir = 1;
+ push @directories, $ARGV[0];
+ }
+ elsif ($ARGV[0] =~ '-rebuild') { # Rebuild all
+ print "Rebuild all\n" if ( $verbose );
+ $Build_Cmd = "/REBUILD";
+ }
+ elsif ($ARGV[0] =~ '-clean') { # Clean
+ print "Cleaning all\n" if ( $verbose );
+ $Build_Cmd = "/CLEAN";
+ }
+ elsif ($ARGV[0] =~ '-Debug') { # Debug versions
+ print "Building Debug Version\n" if ( $verbose );
+ $Build_Debug = 1;
+ $Build_All = 0;
+ }
+ elsif ($ARGV[0] =~ '-Release') { # Release versions
+ print "Building Release Version\n" if ( $verbose );
+ $Build_Release = 1;
+ $Build_All = 0;
+ }
+ elsif ($ARGV[0] =~ '-DLL') { # Build DLL only
+ print "Build DLL only\n" if ( $verbose );
+ $Build_DLL = 1;
+ $Build_All = 0;
+ }
+ elsif ($ARGV[0] =~ '-LIB') { # Build LIB only
+ print "Build LIB only\n" if ( $verbose );
+ $Build_LIB = 1;
+ $Build_All = 0;
+ }
+ elsif ($ARGV[0] =~ '-(\?|h)') { # Help information
+ print "Options\n";
+ print "-d = Debug (only print out projects)\n";
+ print "-k = Ignore Errors\n";
+ print "-v = Script verbose Mode\n";
+ print "-s = Print status messages to STDERR\n";
+ print "-u = Tell MSVC to use the environment\n";
+ print "\n";
+ print "-CORE = Build the Core libraries\n";
+ print "-ACE = Build ACE and its programs\n";
+ print "-TAO = Build TAO and its programs\n";
+ print "-dir <dir> = Compile custom directories\n";
+ print "\n";
+ print "-rebuild = Rebuild All\n";
+ print "-clean = Clean\n";
+ print "-Debug = Compile Debug versions\n";
+ print "-Release = Compile Release versions\n";
+ print "-DLL = Comple DLL Configurations\n";
+ print "-LIB = Comple LIB Configurations\n";
+ exit;
+ }
+ else {
+ warn "$0: unknown option $ARGV[0]\n";
+ die -1;
+ }
+ shift;
+}
+
+if (!$Build_DLL && !$Build_LIB) {
+ $Build_DLL = 1;
+ $Build_LIB = 1;
+}
+
+if (!$Build_Debug && !$Build_Release) {
+ $Build_Debug = 1;
+ $Build_Release = 1;
+}
+
+if ($#directories < 0) {
+ @directories = ($ACE_ROOT);
+}
+
+print "msvc_auto_compile: Begin\n";
+print STDERR "Beginning Core Build\n" if ($print_status == 1);
+Build_Core if (!$use_custom_dir || $build_core_only);
+print STDERR "Beginning Full Build\n" if ($print_status == 1);
+Build_All if !$build_core_only;
+
+print "msvc_auto_compile: End\n";
+print STDERR "End\n" if ($print_status == 1);
diff --git a/bin/nightlybuilds/builds.lst b/bin/nightlybuilds/builds.lst
new file mode 100644
index 00000000000..e8fbeb98c0a
--- /dev/null
+++ b/bin/nightlybuilds/builds.lst
@@ -0,0 +1,236 @@
+#
+# $Id$
+#
+# This is a listing of the web directories and the builds contained in
+# them.
+#
+# Each entry starts with the name in brackets such as [build_name].
+# The name cannot contain spaces.
+#
+# Then several properties that can be used:
+#
+# LIST = URL for the directory of build logs (required)
+# WEB = Link to a build specific page for the builds
+# STATUS = URL to a page that contains build status info
+# GROUP = Name of the group that the build belongs in
+# MANUAL = URL to someplace that can start the build
+# ORANGE = Number of hours until timestamp turns orange (default: 24)
+# RED = Number of hours until timestamp turns red (default: 48)
+#
+
+[Win2000_DLL_Core]
+LIST = http://tao.doc.wustl.edu/bugzilla/Core/
+WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?core
+STATUS = http://tao.doc.wustl.edu/bugzilla/core/status.txt
+
+[Win2000_DLL_Debug]
+LIST = http://tao.doc.wustl.edu/bugzilla/DLL_Debug/
+WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?dll_debug
+STATUS = http://tao.doc.wustl.edu/bugzilla/DLL_Debug/status.txt
+
+[Win2000_DLL_Release]
+LIST = http://tao.doc.wustl.edu/bugzilla/DLL_Release/
+WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?dll_release
+STATUS = http://tao.doc.wustl.edu/bugzilla/DLL_Release/status.txt
+
+[Win2000_Borland]
+LIST = http://tao.doc.wustl.edu/bugzilla/Borland/
+WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?borland
+STATUS = http://tao.doc.wustl.edu/bugzilla/Borland/status.txt
+
+[Win2000_Borland_Wchar]
+LIST = http://tao.doc.wustl.edu/bugzilla/Borland_Wchar/
+WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?borland_wchar
+STATUS = http://tao.doc.wustl.edu/bugzilla/Borland_Wchar/status.txt
+
+[Win2000_Fuzz]
+LIST = http://tao.doc.wustl.edu/bugzilla/Fuzz/
+WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?fuzz
+STATUS = http://tao.doc.wustl.edu/bugzilla/Fuzz/status.txt
+
+[Win2000_WChar_Unicode]
+LIST = http://tao.doc.wustl.edu/bugzilla/Unicode/
+WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?unicode
+STATUS = http://tao.doc.wustl.edu/bugzilla/Unicode/status.txt
+
+[Win2000_WChar]
+LIST = http://tao.doc.wustl.edu/bugzilla/wchar/
+WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?wchar
+STATUS = http://tao.doc.wustl.edu/bugzilla/wchar/status.txt
+
+[Win2000_LIB_Debug]
+LIST = http://ringil.ece.uci.edu/bugzilla/lib_debug/
+WEB = http://ringil.ece.uci.edu/scripts/show_log_dir.pl?lib_debug
+STATUS = http://ringil.ece.uci.edu/bugzilla/lib_debug/status.txt
+
+[Win2000_LIB_Release]
+LIST = http://ringil.ece.uci.edu/bugzilla/lib_release/
+WEB = http://ringil.ece.uci.edu/scripts/show_log_dir.pl?lib_release
+STATUS = http://ringil.ece.uci.edu/bugzilla/lib_release/status.txt
+
+[Win2000_Legacy]
+LIST = http://ringil.ece.uci.edu/bugzilla/legacy/
+WEB = http://ringil.ece.uci.edu/scripts/show_log_dir.pl?legacy
+STATUS = http://ringil.ece.uci.edu/bugzilla/legacy/status.txt
+
+[Win2000_Unicode]
+LIST = http://ringil.ece.uci.edu/bugzilla/unicode/
+WEB = http://ringil.ece.uci.edu/scripts/show_log_dir.pl?unicode
+STATUS = http://ringil.ece.uci.edu/bugzilla/unicode/status.txt
+
+[WinCE_All]
+LIST = http://ringil.ece.uci.edu/bugzilla/wince/
+WEB = http://ringil.ece.uci.edu/scripts/show_log_dir.pl?wince
+STATUS = http://ringil.ece.uci.edu/bugzilla/wince/status.txt
+
+[Debian_KCC]
+LIST = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/doc_KCC/
+WEB = http://doc.ece.uci.edu/cgi-bin/show_log_dir.pl?doc_KCC
+STATUS = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/doc_KCC/status.txt
+
+[Debian_Minimum]
+LIST = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/balar_Minimum/
+WEB = http://doc.ece.uci.edu/cgi-bin/show_log_dir.pl?balar_Minimum
+STATUS = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/balar_Minimum/status.txt
+
+[Debian_Full]
+LIST = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/sirion_Full/
+WEB = http://doc.ece.uci.edu/cgi-bin/show_log_dir.pl?sirion_Full
+STATUS = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/sirion_Full/status.txt
+
+[Debian_Core]
+LIST = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/balar_Core/
+WEB = http://doc.ece.uci.edu/cgi-bin/show_log_dir.pl?balar_Core
+STATUS = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/balar_Core/status.txt
+
+[Debian_WChar]
+LIST = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/rumba_Unicode/
+WEB = http://doc.ece.uci.edu/cgi-bin/show_log_dir.pl?rumba_Unicode
+STATUS = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/rumba_Unicode/status.txt
+
+[Debian_NoInline]
+LIST = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/tango_NoInline/
+WEB = http://doc.ece.uci.edu/cgi-bin/show_log_dir.pl?tango_NoInline
+STATUS = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/tango_NoInline/status.txt
+
+[Debian_GCC_3.0.3]
+LIST = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/rumba_GCC_3.0/
+WEB = http://doc.ece.uci.edu/cgi-bin/show_log_dir.pl?rumba_GCC_3.0
+STATUS = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/rumba_GCC_3.0/status.txt
+
+[RedHat_Static]
+LIST = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/maglor_Static/
+WEB = http://doc.ece.uci.edu/cgi-bin/show_log_dir.pl?maglor_Static
+STATUS = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/maglor_Static/status.txt
+
+[RedHat_Single_Threaded]
+LIST = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/curufin_SingleThreaded/
+WEB = http://doc.ece.uci.edu/cgi-bin/show_log_dir.pl?curufin_SingleThreaded
+STATUS = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/curufin_SingleThreaded/status.txt
+
+[RedHat_Implicit_Templates]
+LIST = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/amrod_ImplicitTemplates/
+WEB = http://doc.ece.uci.edu/cgi-bin/show_log_dir.pl?amrod_ImplicitTemplates
+STATUS = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/amrod_ImplicitTemplates/status.txt
+
+[SunOS_FORTE_UP_1]
+LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/ace_SUNOS_FORTE_UPDATE_1/
+WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?ace_SUNOS_FORTE_UPDATE_1
+STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/ace_SUNOS_FORTE_UPDATE_1/status.txt
+
+[SunOS_SunCC51]
+LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/danzon_SUNOS_SUNCC51/
+WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?danzon_SUNOS_SUNCC51
+STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/danzon_SUNOS_SUNCC51/status.txt
+
+[SunOS_KCC]
+LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/ace_SUNOS_KCC4.0/
+WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?ace_SUNOS_KCC4.0
+STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/ace_SUNOS_KCC4.0/status.txt
+
+[SunOS_GCC_2_95]
+LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/tango_SUNOS_EGCS/
+WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?tango_SUNOS_EGCS
+STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/tango_SUNOS_EGCS/status.txt
+
+[Tru64_CXX]
+LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/guajira.cs.wustl.edu_TRU64_CXX/
+WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?guajira.cs.wustl.edu_TRU64_CXX
+STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/guajira.cs.wustl.edu_TRU64_CXX/status.txt
+
+# Temporarily disabled
+#[Tru64_4.0f_CXX_63]
+#LIST = http://spe121.mro-x.dec.com/~buildlog/auto_compile_logs/spe121.mro-x.dec.com_Tru64_CXX/
+#WEB = http://spe121.mro-x.dec.com/cgi-bin/show_log_dir.cgi?spe121_Tru64_CXX
+#GROUP = External
+
+# Temporarily disabled
+#[VxWorks_5.4_GCC]
+#LIST = http://prince.ociweb.com/buildlogs/auto_compile_logs/maggie_VXWORKS_GCC/
+#WEB = http://prince.ociweb.com/buildlogs/show_log_dir.cgi?maggie_VXWORKS_GCC
+#GROUP = External
+
+# Temporarily disabled
+#[Chorus_4.0.1_GCC]
+#LIST = http://prince.ociweb.com/buildlogs/auto_compile_logs/lisa_CHORUS_4_0_1_GCC/
+#WEB = http://prince.ociweb.com/buildlogs/show_log_dir.cgi?lisa_CHORUS_4_0_1_GCC
+#GROUP = External
+
+# Temporarily disabled
+#[HPUX_ACC]
+#LIST = http://prince.ociweb.com/buildlogs/auto_compile_logs/herb_HPUX_ACC/
+#WEB = http://prince.ociweb.com/buildlogs/show_log_dir.cgi?herb_HPUX_ACC
+#GROUP = External
+
+# Commented out for the timebeing
+#[AIX_VAC]
+#LIST = http://prince.ociweb.com/buildlogs/auto_compile_logs/tripoli_AIX_VAC/
+#WEB = http://prince.ociweb.com/buildlogs/show_log_dir.cgi?tripoli_AIX_VAC
+#GROUP = External
+
+[Lynx_PPC]
+LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/ace_LYNX_PPC/
+WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?ace_LYNX_PPC
+STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/ace_LYNX_PPC/status.txt
+
+#[Lynx_I386]
+#LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/danzon_LYNX_I386/
+#WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?danzon_LYNX_I386
+#STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/danzon_LYNX_I386/status.txt
+
+[RedHat_7.1_Full]
+LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/beguine.doc.wustl.edu_Full/
+WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?beguine.doc.wustl.edu_Full
+STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/beguine.doc.wustl.edu_Full/status.txt
+
+[RedHat_7.1_Core]
+LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/beguine.doc.wustl.edu_Core/
+WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?beguine.doc.wustl.edu_Core
+STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/beguine.doc.wustl.edu_Core/status.txt
+
+[RedHat_7.1_No_AMI_Messaging]
+LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/beguine.doc.wustl.edu_NO_AMI_MESSAGING/
+WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?beguine.doc.wustl.edu_NO_AMI_MESSAGING
+STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/beguine.doc.wustl.edu_NO_AMI_MESSAGING/status.txt
+
+[RedHat_IA64_Linux]
+LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/toutatis_Full
+WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?toutatis_Full
+STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/toutatis_Full/status.txt
+
+[Debian_NoInterceptors]
+LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/charanga_Full/
+WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?charanga_Full
+STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/charanga_Full/status.txt
+
+[Debian_Minimum_Static]
+LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/charanga_Minimum/
+WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?charanga_Minimum
+STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/charanga_Minimum/status.txt
+
+[Solaris8_FORTE_UP_1]
+LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/chipper_SOLARIS8_FORTE_UPDATE1/
+WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?chipper_SOLARIS8_FORTE_UPDATE1
+STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/chipper_SOLARIS8_FORTE_UPDATE1/status.txt
+ORANGE = 48
+RED = 72
diff --git a/bin/performance_stats.sh b/bin/performance_stats.sh
new file mode 100755
index 00000000000..f5df21c0365
--- /dev/null
+++ b/bin/performance_stats.sh
@@ -0,0 +1,127 @@
+#!/bin/sh
+#
+# $Id$
+#
+
+if [ $# -lt 3 ]; then
+ echo "Usage: $0 <ACE_ROOT> <DEST> <DATE>"
+ exit 0
+fi
+
+ACE_ROOT=$1
+DEST=$2
+DATE=$3
+
+COMMON_TESTS="AMI DII DSI Deferred Single_Threaded Thread_Per_Connection Thread_Pool"
+
+cd $DEST/source
+
+/bin/sync
+sleep 10
+(
+ cd $ACE_ROOT/performance-tests/TCP;
+ ./run_test.pl
+) >tcp_test.log 2>&1
+
+if grep -q 'Client throughput: ' tcp_test.log; then
+ (
+ echo -n $DATE " ";
+ awk '/^Client throughput:/ {print $3}' tcp_test.log
+ ) >> TCP.txt;
+fi
+
+/bin/sync
+sleep 10
+(
+ cd $ACE_ROOT/TAO/performance-tests/Latency/Single_Threaded;
+ ./default_configuration.pl > $DEST/source/Default.log 2>&1
+)
+if grep -q 'Total throughput: ' Default.log; then
+ (
+ echo -n $DATE " ";
+ awk '/^Total throughput:/ {print $3}' Default.log
+ ) >> Default.txt
+fi
+
+for i in $COMMON_TESTS; do
+ /bin/sync
+ sleep 10
+ (
+ cd $ACE_ROOT/TAO/performance-tests/Latency/${i};
+ ./run_test.pl > $DEST/source/${i}.log 2>&1
+ )
+ if grep -q 'Total throughput: ' ${i}.log; then
+ (
+ echo -n $DATE " ";
+ awk '/^Total throughput:/ {print $3}' ${i}.log
+ ) >> ${i}.txt
+ fi
+done
+
+for i in $COMMON_TESTS TCP Default; do
+ $ACE_ROOT/bin/generate_performance_chart.sh ${i}.txt ${i}.png "$i"
+ /bin/cp ${i}.png $DEST/images/${i}.png
+ /usr/bin/tac ${i}.txt > $DEST/data/${i}.txt
+ /usr/bin/tail -5 ${i}.txt > $DEST/data/LAST_${i}.txt
+done
+
+gnuplot <<_EOF_ >/dev/null 2>&1
+ set xdata time
+ set timefmt '%Y/%m/%d-%H:%M'
+ set xlabel 'Date (YYYYMMDD)'
+ set ylabel 'Throughput (Requests/Second)'
+ set yrange [0:]
+ set terminal png small color
+ set output "/dev/null"
+ plot 'DII.txt' using 1:2 title 'DII' w l
+ replot 'DSI.txt' using 1:2 title 'DSI' w l
+ replot 'Deferred.txt' using 1:2 title 'Deferred' w l
+ replot 'Single_Threaded.txt' using 1:2 title 'Single_Threaded' w l
+ replot 'Default.txt' using 1:2 title 'Single_Threaded (Defaults)' w l
+ replot 'Thread_Per_Connection.txt' using 1:2 title 'Thread_Per_Connection' w l
+ replot 'Thread_Pool.txt' using 1:2 title 'Thread_Pool' w l
+ replot 'TCP.txt' using 1:2 title 'TCP/IP' w l
+ set output "All.png"
+ replot
+ exit
+_EOF_
+
+gnuplot <<_EOF_ >/dev/null 2>&1
+ set xdata time
+ set timefmt '%Y/%m/%d-%H:%M'
+ set xlabel 'Date (YYYYMMDD)'
+ set ylabel 'Throughput (Requests/Second)'
+ set yrange [0:10000]
+ set terminal png small color
+ set output "/dev/null"
+ plot 'DII.txt' using 1:2 title 'DII' w l
+ replot 'DSI.txt' using 1:2 title 'DSI' w l
+ replot 'Deferred.txt' using 1:2 title 'Deferred' w l
+ replot 'Single_Threaded.txt' using 1:2 title 'Single_Threaded' w l
+ replot 'Default.txt' using 1:2 title 'Single_Threaded (Defaults)' w l
+ replot 'Thread_Per_Connection.txt' using 1:2 title 'Thread_Per_Connection' w l
+ replot 'Thread_Pool.txt' using 1:2 title 'Thread_Pool' w l
+ set output "CORBA.png"
+ replot
+ exit
+_EOF_
+
+/bin/cp CORBA.png All.png $DEST/images/
+
+(
+ cd $DEST/images
+ /bin/cp *.png thumbnails
+ for i in *.png; do
+ /usr/bin/X11/mogrify -geometry '25%' thumbnails/$i
+ done
+)
+
+cd $DEST/data
+/bin/uname -a > uname.txt
+/usr/bin/gcc -v > gcc.txt 2>&1
+/lib/libc.so.6 | sed -e 's/</\&lt;/g' -e 's/>/\&gt;/g' > libc.txt
+cat /proc/cpuinfo > cpuinfo.txt
+cat /proc/meminfo > meminfo.txt
+
+cat $ACE_ROOT/ace/config.h > config.h.txt
+cat $ACE_ROOT/include/makeinclude/platform_macros.GNU > platform_macros.GNU.txt
diff --git a/bin/subst_env.pl b/bin/subst_env.pl
new file mode 100755
index 00000000000..845265a2412
--- /dev/null
+++ b/bin/subst_env.pl
@@ -0,0 +1,71 @@
+#!/usr/bin/perl
+#
+# $Id$
+#
+# This script eases the transition from the CORBA::Environment& ACE_TRY_ENV
+# declarations and method parameters to the ACE_ENV_ARG macros.
+# It was used for converting TAO between versions 1.2.1 and 1.2.2.
+# The converted output is written to stdout.
+# Typical usage would be as follows:
+# perl subst_env.pl file_with_acetryenv.cpp >file_with_taoenvarg.cpp
+#
+$last="";
+$envdecl = "CORBA(::|_)Environment *& *ACE_TRY_ENV";
+$default = " *= *TAO_default_environment";
+while (($l = <>)) {
+ if ($l =~ /ACE_TRY_ENV/) {
+ if ($l =~ /$envdecl/) {
+ if ($l =~ /^\s*$envdecl/) {
+ my $single = "SINGLE_";
+ if ($last =~ /,\s*$/) {
+ $last =~ s/,\s*$/\n/;
+ $single = "";
+ }
+ if ($l =~ /$default/) {
+ $l =~ s/$envdecl${default} *\(\)/ACE_ENV_${single}ARG_DECL_WITH_DEFAULTS/;
+ } else {
+ $l =~ s/$envdecl/ACE_ENV_${single}ARG_DECL/;
+ }
+ } elsif ($l =~ /,\s*$envdecl/) {
+ if ($l =~ /$default/) {
+ $l =~ s/,\s*$envdecl${default} *\(\)/ ACE_ENV_ARG_DECL_WITH_DEFAULTS/;
+ } else {
+ $l =~ s/,\s*$envdecl/ ACE_ENV_ARG_DECL/;
+ }
+ } else {
+ if ($l =~ /$default/) {
+ $l =~ s/$envdecl${default} *\(\)/ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS/;
+ } else {
+ $l =~ s/$envdecl/ACE_ENV_SINGLE_ARG_DECL/;
+ }
+ }
+ } elsif ($l =~ /^\s*ACE_TRY_ENV/) {
+ $last =~ s/,\s*$/\n/;
+ $l =~ s/ACE_TRY_ENV/ACE_ENV_ARG_PARAMETER/;
+ } elsif ($l =~ /, *ACE_TRY_ENV/) {
+ $l =~ s/, *ACE_TRY_ENV/ ACE_ENV_ARG_PARAMETER/;
+ } else {
+ $l =~ s/ACE_TRY_ENV/ACE_ENV_SINGLE_ARG_PARAMETER/;
+ }
+ print $last;
+ print $l;
+ $last = "";
+ } elsif ($l =~ /CORBA(::|_)Environment *&/) {
+ if ($l =~ /^\s*CORBA(::|_)Environment *&/) {
+ $last =~ s/,\s*$/\n/;
+ $l =~ s/CORBA(::|_)Environment *&/ACE_ENV_ARG_DECL_NOT_USED/;
+ } elsif ($l =~ /,\s*CORBA(::|_)Environment *&/) {
+ $l =~ s/,\s*CORBA(::|_)Environment *&/ ACE_ENV_ARG_DECL_NOT_USED/;
+ } else {
+ $l =~ s/CORBA(::|_)Environment *&/ACE_ENV_SINGLE_ARG_DECL_NOT_USED/;
+ }
+ print $last;
+ print $l;
+ $last = "";
+ } else {
+ print $last;
+ $last = $l;
+ }
+}
+print $last;
+
diff --git a/docs/exceptions.html b/docs/exceptions.html
new file mode 100644
index 00000000000..5b8d2e13cab
--- /dev/null
+++ b/docs/exceptions.html
@@ -0,0 +1,657 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!-- $Id$ -->
+<html> <head>
+<title>Using ACE Exception Handling Macros to Enhance CORBA Portability</title>
+</head>
+
+<body text="#000000" link="#0000ff" vlink="#cc0000" bgcolor="#ffffff">
+<Hr><P>
+<h3>Using ACE Exception Handling Macros to Enhance CORBA Portability</h3>
+
+<P>CORBA <CODE>Environment</CODE> arguments provide a way to handle
+exceptions when native c++ exception handling is unavailable or
+undesirable. However, writing portable code using both native C++
+exception handling and <CODE>CORBA::Environment</CODE> objects is very
+hard. If you plan to write portable code that must run on platforms
+that do not have native C++ exceptions, therefore, we recommend you
+use the ACE exception macros. This document explains how these macros
+can help alleviate much of the accidental complexity. However, keep
+in mind macros cannot solve all problems perfectly. </P>
+
+<P>Before reading the rest of this document, we recommend you check
+out pages 307 through to 322 in the book, <A
+HREF="http://cseng.aw.com/bookdetail.qry?ISBN=0-201-37927-9&ptype=0">Advanced
+Corba Programming with C++</A> by <A
+HREF="http://www.triodia.com/staff/michi-henning.html">Michi
+Henning</A> & <A HREF="http://www.iona.com/hyplan/vinoski/">Steve
+Vinoski</A>. Likewise, we recommend that you read the Error Handling chapter from the
+<A HREF="http://theaceorb.com/buy/index.html">TAO Developer's Guide</A>.
+
+<P><HR><P>
+<h3>Table of Contents</h3>
+<ul>
+ <li><a href="#nutshell">ACE Try Macros in a Nutshell</a>
+ <li><a href="#examples">Examples</a>
+ <li><a href="#general">General Guidelines for Exception Handling</a>
+ <li><a href="#transition">Transition from TAO try macros to ACE try
+ macros</a>
+ <li><a href="#caveats">Some Caveats</a>
+</ul>
+
+<HR><P>
+<h3><a name="nutshell">ACE Exception Macros in a Nutshell</h3>
+
+<P>This section explains some simple rules of writing programs for
+platforms with and without native exception support using ACE's
+exception macros.
+</P>
+<P>ACE exception macros are modelled like C++ language exceptions and
+can be used like them, but with a small difference. These macros
+rely on the CORBA::Environment variable to handle exceptions
+on platforms that do not support exception
+handling. (Please note that native exceptions can be turned on
+or off at COMPILE time as an option to your make)
+The exception macros have been modelled with some extra rules to
+ensure this works even on
+platforms without native exception support. See some <a
+href="#examples">quick examples</a> on how to use ACE exception
+macros.
+</P>
+<ol>
+ <li><P><em>Declaration of CORBA::Environment Parameter at Methods</em><br>
+ On platforms lacking native exceptions, all CORBA methods take an
+ extra parameter added at the end of their argument list. This
+ last parameter holds the CORBA::Environment variable.
+ However, on systems with native exceptions, no such extra method
+ parameter is added.<br>
+ In order for both configurations to work with the same source code,
+ following macros are defined. In native exception configurations,
+ they all resolve to <em>empty</em>.</p>
+ <ul>
+ <li><p><em>ACE_ENV_ARG_DECL</em></p>
+ in the pseudo exception configuration resolves to
+ <pre>
+ , CORBA::Environment ACE_TRY_ENV
+ </pre>
+ It is used for declaring the extra Environment parameter
+ at CORBA methods that take one or more regular parameters.
+ The fact that the comma is part of the macro substitution
+ caters for the hiding of this added argument when native
+ exceptions are used. However, by the same virtue its
+ usage is a bit peculiar -<br>
+ Example: a CORBA IDL defined method
+ <pre>
+ void mymethod (boolean b);
+ </pre>
+ may be declared as follows in C++:
+ <pre>
+ void mymethod (CORBA::Boolean b ACE_ENV_ARG_DECL);
+ </pre>
+ Notice the missing comma before the ACE_ENV_ARG_DECL.
+ This notation is necessary because when using native exceptions,
+ also the presence of the comma before the (non-existent)
+ CORBA::Environment parameter must be hidden.</p>
+ </li>
+ <li><p><em>ACE_ENV_SINGLE_ARG_DECL</em></p>
+ is similar to <code>ACE_ENV_ARG_DECL</code>, but is used when
+ the method takes no other parameters. It is necessary as a
+ separate macro because it does not contain the leading comma
+ that <code>ACE_ENV_ARG_DECL</code> does.
+ Example: a CORBA IDL defined method
+ <pre>
+ void mymethod ();
+ </pre>
+ may look like this in C++:
+ <pre>
+ void mymethod (ACE_ENV_SINGLE_ARG_DECL);
+ </pre>
+ <li><p><em>ACE_ENV_ARG_DECL_WITH_DEFAULTS</em>,
+ <li><em>ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS</em></p>
+ are similar to the above two macros but add a default value
+ to the parameter declaration. In case of TAO, the default value
+ is <code>TAO_default_environment()</code>.<p>
+ Notice that these macros are only used at the declaration
+ of methods (usually in header files), not at their definition
+ (usually in implementation files.) At the definition,
+ instead use the corresponding macro without "_WITH_DEFAULTS".
+ Example: the CORBA IDL defined method
+ <pre>
+ void mymethod ();
+ </pre>
+ in the C++ header file looks like this:
+ <pre>
+ void mymethod (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+ </pre>
+ and in the C++ implementation file may look something like:
+ <pre>
+ void mymethod (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ // ...
+ }
+ </pre>
+ </ul>
+
+ <br>
+ </li>
+
+ <li><P><em>Passing the CORBA::Environment Parameter into Method Calls</em><br>
+ Now that we've seen how to declare methods with Environment
+ parameters, let's see how to invoke such methods.</p>
+ <ul>
+ <li><p><em>ACE_ENV_ARG_PARAMETER</em></p>
+ in the pseudo exception configuration resolves to
+ <pre>
+ , ACE_TRY_ENV
+ </pre>
+ and is written as the last parameter of a method call that takes
+ one or more regular parameters. Again we need to omit the
+ comma that would normally precede this last parameter, as the
+ comma is already part of the macro definition. For example,
+ the CORBA IDL method
+ <pre>
+ void mymethod (boolean b);
+ </pre>
+ would be invoked as follows:
+ <pre>
+ some_var.mymethod (bparam ACE_ENV_ARG_PARAMETER);
+ </pre>
+ </ul>
+
+ <ul>
+ <li><p><em>ACE_ENV_SINGLE_ARG_PARAMETER</em></p>
+ is similar to <code>ACE_ENV_ARG_PARAMETER</code> but is used
+ for calling methods that don't take any regular parameters.
+ Our example of a CORBA IDL method
+ <pre>
+ void mymethod ();
+ </pre>
+ we would invoke as follows:
+ <pre>
+ some_var.mymethod (ACE_ENV_SINGLE_ARG_PARAMETER);
+ </pre>
+ </ul>
+ <br>
+ </li>
+
+ <li><P><em>Definition of the CORBA::Environment variable </em><br>
+ We have seen how to declare methods with the CORBA::Environment
+ parameter, and how to invoke such methods. However, where does
+ the variable to pass into methods as the CORBA::Environment
+ parameter come from in the first place?</p>
+ <P>An environment variable can be defined in the needed scope
+ (for example, in the main program, or in a more local scope)
+ by the statement</p>
+ <pre>
+ ACE_DECLARE_NEW_CORBA_ENV;
+ </pre>
+ <P>You can then invoke the methods on the servant from the client
+ side as
+ <pre>
+ object_reference->func_name (x, y ACE_ENV_ARG_PARAMETER);
+ </pre>
+
+ Even if you are interested in making calls within the client
+ side, you can define your method like this
+ <pre>
+ int AN_OBJ::foobar (int a, int b ACE_ENV_ARG_DECL);
+ </pre>
+
+ <li><P><em>Throwing exceptions:</em><br>
+ Use <code>ACE_THROW</code> and <code>ACE_THROW_RETURN</code> to
+ throw exceptions. They should never be used within a try
+ block; please use <code>ACE_TRY_THROW</code> instead.
+ </P>
+ </LI>
+
+ <li><P><em>Propagating exceptions:</em><br>
+ To simulate native exceptions on platforms without native
+ exception handling, <em>every</em> function call that may
+ throw exceptions must be followed by <code>ACE_CHECK</code> or
+ <code>ACE_CHECK_RETURN</code>.</p>
+
+ <p><a name="exc-func">Exception-throwing functions include the
+ following categories:</p>
+
+ <ol>
+ <li><p>Any function that takes a
+ <code>CORBA_Environment</code> argument.</p>
+ </li>
+
+ <li><p><code>ACE_NEW_THROW_EX</code>. Notice that you
+ <em>should not</em> use <code>ACE_NEW_THROW</code>,
+ <code>ACE_NEW_THROW_RETURN</code>,
+ <code>ACE_NEW_TRY_THROW</code> anymore because they don't
+ work right with ACE try macros. Instead, use
+ <code>ACE_NEW_THROW</code> with appropriate ACE_CHECK*
+ macros.</p>
+ </li>
+
+ <li><P><code>ACE_GUARD_THROW_EX</code>,
+ <code>ACE_READ_GURAD_THROW_EX</code>, and
+ <code>ACE_WRITE_THROW_EX</code>.
+
+ <li><p><code>ACE_TRY</code> blocks. Follow every
+ <code>ACE_ENDTRY</code> with appropriate ACE_CHECK*
+ macros.</p>
+ <li>
+ </ol>
+
+ <P>You should pass <code>ACE_TRY_ENV</code> to these
+ functions.
+ </p>
+
+ <P>Be very careful not to combine exception throwing functions
+ in one statement like this:
+ </P>
+ <pre>
+ x = obj1->callme (ACE_ENV_SINGLE_ARG_PARAMETER)
+ + obj2->dare_me (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ </pre>
+ <P>This example may work differently when native exception
+ handling is enabled/disabled.
+ </p>
+ </LI>
+
+ <li><P><em>Catching exceptions:</em><br>
+ Use <code>ACE_TRY</code> to catch exceptions if there's an
+ <code>ACE_TRY_ENV</code> available. Otherwise, you should use
+ <code>ACE_DECLARE_NEW_CORBA_ENV</code> to create one at
+ <em>proper</em> scope. The use of
+ <code>ACE_TRY_NEW_ENV</code> is considered depricated because it
+ can't deal with the case when you have multiple <code>TRY</code>
+ blocks in the scope of <code>ACE_TRY_NEW_ENV</code>. If there are
+ more than one try blocks in a function, use <code>ACE_TRY_EX</code>
+ for all subsequence try blocks to avoid name clashing of labels.
+ </p>
+ <ul>
+ <li><P>Within a <code>ACE_TRY</code> block, use the variable
+ <code>ACE_TRY_ENV</code> to pass down the
+ <code>CORBA_Environment</code> (see <a
+ href="#try_env">this</a> example.)
+ </p>
+ </LI>
+
+ <li><P>Follow <em>every</em> exception throwing function with
+ <code>ACE_TRY_CHECK</code>. If you are using a TRY block
+ within another try block add a <code>ACE_TRY_CHECK</code>
+ at the end of this TRY block ie. after
+ <code>ACE_ENDTRY</code>.
+ </p>
+ </LI>
+
+ <li><P>Use <code>ACE_CATCH</code> to catch exceptions of certain
+ type.
+ </p>
+ </LI>
+
+ <li><P><code>ACE_CATCHANY</code> catches <em>any</em> exceptions
+ of type <code>CORBA_Exception</code>. The caught
+ exception is stored in a variable call
+ <code>ACE_ANY_EXCEPTION</code>.
+ </p>
+ </LI>
+
+ <li><p><code>ACE_CATCHALL</code> emulate the <code>catch
+ (...)</code> c++ statement. It is identical to
+ <code>ACE_CATCHANY</code> on platforms without native
+ exception support. You can not access the caught
+ exception within the <code>ACE_CATCHALL</code> block.</p>
+
+ <li><P>Use <code>ACE_RETHROW</code> to rethrow the same exception
+ within a <code>ACE_CATCH</code> or
+ <code>ACE_CATCHANY</code> block.
+ </p>
+ </LI>
+
+ <li><P>A <code>ACE_TRY</code> block must be terminated with
+ a <code>ACE_ENDTRY</code> statement.
+ </p>
+ </LI>
+
+ <li><P>Throw an exception within a <code>ACE_TRY</code>
+ block or <code>ACE_CATCH</code> block using
+ <a href="#ace_try"><code>ACE_TRY_THROW</code></a>.
+ </p>
+ </LI>
+ </ul>
+ </li>
+
+ <li><p><em>Printing out exceptions.</em> Use <code>ACE_PRINT_EXCEPTION
+ (EX,INFO)</code> to print out an exception. The macro takes two
+ arguments, a reference to an exception (EX) and a <code>char
+ *</code> string (INFO) which provides more information on the
+ exception. Since there's no portable way to print out
+ exceptions, you can redefine ACE_PRINT_EXCEPTION to fit your
+ need (or define it to null.) <em>You should always print out
+ the exception itself, not the CORBA_Environment that carries the
+ exception.</em></p>
+ </li>
+
+ <li><P><em>Name of CORBA::Environment variable</em><br>
+ A function that may throw a CORBA::Exception needs a
+ CORBA::Environment variable to pass up exceptions (to throw in
+ the C++ sense) and to gather (catch () in the C++ sense)
+ exceptions from functions it called. By default, ACE exception
+ macros assume that the variable is named <code>ACE_TRY_ENV</code>.
+ <code>ACE_TRY_ENV</code> itself is also a macro which can be
+ redefined.
+ </pre>
+
+ <P>
+ You can redefine the name of the variable to
+ something else to avoid name clashing. Alternatively, there's
+ another macro (<code>ACE_ADOPT_CORBA_ENV</code>) that allow you
+ to use another variable name as the default CORBA::Environment
+ <em>within</em> a function.
+ </P>
+ </LI>
+
+</ol>
+
+<HR><P>
+<h3>Examples</h3><a name="examples">
+
+Refer to <a href="../ace/CORBA_macros.h"><code>
+$ACE_ROOT/ace/CORBA_macros.h</code></a> for complete definitions of
+macros discussed here.
+
+<ul>Examples on using ACE try macros:
+ <li><p>
+ <pre>
+ <a name="try_env">
+ ACE_TRY // Use ACE_DECLARE_NEW_CORBA_ENV to create ACE_TRY_ENV
+ // if you got undefined symbol warning here.
+ {
+ some_operation (arg1, arg2 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ .
+ .
+ if (whatever)
+ ACE_TRY_THROW (CORBA::BAD_PARAM ());
+
+ some_other_operation (arg1, arg2, arg3 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ <a name="ace_try">
+ ACE_CATCH (CORBA_some_exception, ex)
+ {
+ // error handling.
+ if (still_has_error)
+ ACE_TRY_THROW (CORBA::NOWAY ());
+ }
+ ACE_CATCHANY
+ {
+ // error handling.
+ // then rethow the exception.
+ ACE_RETHROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+ </pre>
+ </p>
+ </li>
+
+ <li><p><code>ACE_TRY</code> and also declares a label for internal
+ use. To avoid defining the same label multiple times within a
+ function, use <code>ACE_TRY_EX</code> with different labels for
+ different try blocks instead. For example,<br>
+
+ <pre>
+ ACE_TRY_EX (block_1)
+ {
+ some_operation (arg1, arg2 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK_EX (block_1);
+
+ some_other_operation (arg1, arg2, arg3 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK_EX (block_1);
+ }
+ ACE_CATCH (CORBA_some_exception, ex)
+ {
+ // error handling.
+ }
+ ACE_CATCHANY
+ {
+ // error handling.
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
+
+ // Some other operation here
+ // .
+ // .
+ // .
+ // .
+
+ ACE_TRY_EX (block_2)
+ {
+ foo (arg ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK_EX (block_2);
+
+ bar (arg1, arg2 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK_EX (block_2);
+ }
+ ACE_CATCH (CORBA_some_exception, ex)
+ {
+ // error handling.
+ }
+ ACE_CATCHANY
+ {
+ // error handling.
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
+ </pre>
+ </p>
+
+ <li><p>You may want to make a different series of calls after you
+ encounter/catch an exception. Here is what we recommend.
+
+ <pre>
+ ACE_TRY
+ {
+ // Calls that can raise an exception
+ some_call1 (arg1, arg2 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ .
+ .
+ .
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCH (CORBA_some_exception, ex)
+ {
+ // Caught an exception, so we need to make some other calls
+ // to continue..
+
+ ACE_TRY_EX (block1) // basically a label
+ {
+ some_other_call1 (arg1,.. ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK_EX (block1);
+ }
+ ACE_CATCH (CORBA_some_other_exception, ex1)
+ {
+ // Handle the exception here..
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1); // Needed to catch uncaught exceptions
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
+ </pre>
+ </p>
+
+ <li><p>Be <em>VERY</em> wary of <code>ACE_CATCHALL</code>. It catches
+ exceptions of any type. If your program depends on it, then,
+ more often than not, there're something wrong with it.
+ </P>
+ </li>
+
+ <li><p>Instead of depending on <code>ACE_CATCHALL</code>, use
+ <code>auto_ptr</code> style mechanism to prevent memory leaks
+ from exceptions.
+ </p>
+ </li>
+</ul>
+
+<HR><P>
+<h3><a name="general">General Guidelines for Exception Handling</h3>
+<ul>
+ <li><p>Don't catch an exception just to rethrow it. Exceptions cost
+ you performance.
+ </p>
+ </li>
+
+ <li><p>When exceptions occur, make sure an object's is still in
+ a valid state or change to a state that can be safely
+ destructed.
+ </p>
+ </li>
+
+ <li><p>Watch out for side effect in the expression which may cause
+ exceptions. In the following example, what should
+ <code>i</code> be if an exception does occur?<br>
+<pre>
+ ACE_TRY
+ {
+ obj[i++] = foo_bar_method (a, b ACE_ENV_ARG_PARAMETER);
+ }
+</pre></p>
+ </li>
+
+ <li><p>Make sure an exception doesn't cause resource leak (memory,
+ socket, ...) (hint: Use auto_ptr to avoid memory leak,
+ and ACE_Guard for locks.)
+ </p>
+ </li>
+
+ <li><p>Don't catch any exception that you don't know how to handle.</p>
+ </li>
+
+ <li><p>Never throw an exception from destructor (unless you know what
+ it implies.)</p>
+ </li>
+
+ <li><p>Use exceptions to provide more information about the error.</p>
+ </li>
+
+ <li><p>Rethrow a different exception only to provide <em>more</em>
+ information. Do not catch an exception just to rethrow, say,
+ <code>unknow_exception</code>.</p>
+ </li>
+</ul>
+
+<HR><P>
+<H3><a name="transition">Transition from TAO try macros to ACE try macros</h3>
+
+This list tries to give a comprehensive list of mapping between TAO
+try macros and ACE try macros. It's sole purpose is to provide hints
+in the converting the use of TAO try macros to ACE try macros and is
+by no mean complete.
+
+<OL>
+ <li><P>Rename all <code>CORBA_Environment</code> variables to
+ <code>ACE_TRY_ENV</code>. </P>
+ </li>
+
+ <li><P>Replace <code>TAO_TRY</code> <code>TAO_TRY_VAR</code> with
+ <code>ACE_TRY</code>. Added
+ <code>ACE_DECLARE_NEW_CORBA_ENV</code> if necessary.</p>
+ </li>
+
+ <li><p>Replace <code>TAO_TRY_EX</code> <code>TAO_TRY_VAR_EX</code>
+ with <code>ACE_TRY_EX</code>.</p>
+ </li>
+
+ <li><p>Replace <code>TAO_CHECK_RETURN</code> and
+ <code>TAO_CHECK_RETURN_VOID</code> with <code>ACE_CHECK_RETURN</code>
+ and <code>ACE_CHECK</code>. These macros are used
+ <em>outside</em> of TRY/CATCH blocks.</P>
+ </li>
+
+ <li><P>Replace <code>TAO_THROW</code>, <code>TAO_THROW_ENV</code>,
+ <code>TAO_THROW_RETURN</code>, <code>TAO_THROW_ENV_RETURN</code>
+ with <code>ACE_THROW</code> and
+ <code>ACE_THROW_RETURN</code>. </p>
+ </li>
+
+ <li><P>Replace <code>ACE_NEW_THROW</code>,
+ <code>ACE_NEW_THROW_RETURN</code>,
+ <code>ACE_TRY_NEW_THROW</code> with
+ <code>ACE_NEW_THROW_EX</code> and appropriate
+ <code>ACE_CHECK*</code> macros. aformention</P>
+
+ <li><p>Replace <code>TAO_CHECK_ENV</code> and
+ <code>TAO_CHECK_ENV_EX</code> with <code>ACE_TRY_CHECK</code>
+ and <code>ACE_TRY_CHECK_EX</code>.</p>
+ </li>
+
+ <li><p>Replace <code>TAO_TRY_THOW</code> and
+ <code>TAO_TRY_THROW_EX</code> with <code>ACE_TRY_THROW</code>
+ and <code>ACE_TRY_THROW_EX</code>. Notice that you can also use
+ <code>ACE_TRY_THROW*</code> within CATCH blocks.</p>
+ </li>
+
+ <li><p>Replace <code>TAO_RETHROW</code>,
+ <code>TAO_RETHROW_RETURN</code>,
+ <code>TAO_RETHROW_RETURN_VOID</code> with
+ <code>ACE_RETHROW</code>.</p>
+ </li>
+
+ <li><p>Replace <code>TAO_CATCH</code>, <code>TAO_CATCHANY</code>,
+ and <code>TAO_CATCHALL</code> with <code>ACE_CATCH</code>,
+ <code>ACE_CATCHANY</code> and <code>ACE_CATCHALL</code>
+ respectively. </p>
+ </li>
+
+ <li><p>Replace <code>TAO_ENDTRY</code> with <code>ACE_ENDTRY</code>
+ followed by an appropriate CHECK macro (<code>ACE_CHECK</code>,
+ <code>ACE_CHECK_RETURN</code>, <code>ACE_TRY_CHECK</code>, or
+ <code>ACE_TRY_CHECK_EX</code>.)</P>
+ </li>
+</ol>
+
+<HR><P>
+<H3><a name="caveats">Caveats</H3>
+
+<P>As we already mentioned no set of macros can cover all cases
+and preserve the semantics between native C++ exceptions and the
+<CODE>CORBA::Environment</CODE> based mapping.
+Some of the problems that our macros are described below:
+<P>
+
+<UL>
+ <LI><P>Using the macros in loops can produce problems with
+ <CODE>break</CODE> and <CODE>continue</CODE> statements, for
+ example:
+ </P>
+ <PRE>
+ for (int i = 0; i < 10; ++i)
+ {
+ ACE_TRY
+ {
+ if (x[i] == 0)
+ continue; // will *not* work
+ if (x[i] == -1)
+ break; // will *not* work either
+ }
+ ACE_CATCH (CORBA::Exception, ex)
+ {
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+ }
+ </PRE>
+ </LI>
+</UL>
+
+<P><HR><P>
+
+Back to the <A
+HREF="http://www.cs.wustl.edu/~schmidt/ACE-documentation.html">ACE
+documentation</A> page.<BR>
+Back to <A HREF="index.html">ACE Documentation Home</A>.
+
+
+<!--#include virtual="/~schmidt/cgi-sig.html" -->
+</body></HTML>
diff --git a/docs/index.html b/docs/index.html
new file mode 100644
index 00000000000..a6cebc678c2
--- /dev/null
+++ b/docs/index.html
@@ -0,0 +1,88 @@
+<html>
+
+<!-- $Id$ -->
+<head>
+<title>ACE Documentation Home</title>
+</head>
+
+<body text = "#000000" link="#000fff" vlink="#ff0f0f" bgcolor="#ffffff">
+
+<hr>
+
+<h1>ACE Documentation Home</h1>
+
+Everything you've always wanted to know about ACE, but were afraid to
+ask. <P>
+
+<hr>
+
+<h2>Bug Reports</h2>
+
+<ul>
+ <li><a href="ACE-bug-process.html">ACE+TAO Bug Fixing Policies</a> - Our policies for
+ handling bug reports.
+ <li><a href="usage-bugzilla.html">Bug Tracking System</a> - Short description of our
+ Bugzilla bug tracking system.
+</ul>
+
+
+<hr>
+
+<h2>Structure</h2>
+
+<ul>
+ <li><a href="ACE-categories.html">Class Categories</a> - Listing of some of the classes
+ in ACE.
+ <li>ACE Inheritance Tree <a href="ACE-inheritance.pdf">[pdf]</a> <a href=
+ "ACE-inheritance.ps.gz">[ps.gz]</a>
+ <li><a href="ACE-subsets.html">ACE Subsets</a> - Outline of some of our ideas
+ for subsetting the ACE library.
+
+</ul>
+
+<hr>
+
+<h2>Tutorials</h2>
+
+<ul>
+ <li><a href="http://www.cs.wustl.edu/~schmidt/ACE-overview.html">Overview of ACE</a> -
+ The top level view.
+ <li>ACE programmers guide <a href="http://www.cs.wustl.edu/~schmidt/PDF/ACE-tutorial.pdf">[pdf.gz]</a>
+ <a href="http://www.cs.wustl.edu/~schmidt/ACE-tutorial.ps.gz">[ps.gz]</a>
+ <li><a href="tutorials/guide-tutorials.html">Online examples from the ACE programmers guide</a>
+ <li><a href="tutorials/online-tutorials.html">Introductory online ACE tutorials</a>
+ <li><a href="tutorials/new-tutorials.html">New Tutorials</a> - How to develop a new
+ ACE tutorial.
+ <!-- Bob's original can always be found at: http://dox.netwrench.com/acedox/fmm/ -->
+ <li><a href="http://www.cs.wustl.edu/~schmidt/ACE-papers.html">Technical Papers</a> -
+ Postscript versions of many ACE papers.
+ <li><a href="ACE-FMM.html">ACE FMM</a> - ACE &quot;Frequently Made Mistakes&quot;
+</ul>
+
+<hr>
+
+<h2>ACE Development</h2>
+
+<ul>
+ <li><a href="ACE-development-process.html">Development and Release Process</a> - The process we use
+ to develop and release the ACE library.
+ <li><a href="ACE-guidelines.html">Style Guide</a> - How to write compliant ACE code.
+ <li><a href="ACE-porting.html">Porting</a> - What to do to port to a new platform.
+ <li><a href="exceptions.html">Exception Macros</a> - How to properly use the ACE TRY
+ macros.
+
+</ul>
+
+<hr>
+
+<h2>Other stuff</h2>
+
+<ul>
+ <li><a href="ACE-lessons.html">Lessons</a> - Lessons we have learned while
+ building ACE.
+ <li><a href="ACE-SSL.html">ACE+SSL</a> - What is ACE+SSL and how to get it.
+ <li><a href="CE-status.txt">CE-status.txt</a> - The status of ACE on Windows CE.
+</ul>
+
+</body>
+</html>
diff --git a/etc/ace.doxygen b/etc/ace.doxygen
new file mode 100644
index 00000000000..f35f18551d1
--- /dev/null
+++ b/etc/ace.doxygen
@@ -0,0 +1,193 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = ACE
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = docs ace
+FILE_PATTERNS = *.h *.cpp *.inl *.i *.txt
+RECURSIVE = NO
+EXCLUDE = ace/config.h
+EXCLUDE_PATTERNS = config-*.h
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/ace
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES =
+GENERATE_TAGFILE = html/ace/ACE.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS =
diff --git a/etc/ace_man.doxygen b/etc/ace_man.doxygen
new file mode 100644
index 00000000000..d15586d3104
--- /dev/null
+++ b/etc/ace_man.doxygen
@@ -0,0 +1,193 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = ACE
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = NO
+SOURCE_BROWSER = NO
+INLINE_SOURCES = NO
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = NO
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = ace
+FILE_PATTERNS = *.h
+RECURSIVE = NO
+EXCLUDE = ace/config.h
+EXCLUDE_PATTERNS = config-*.h
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = NO
+HTML_OUTPUT =
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = YES
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES =
+GENERATE_TAGFILE =
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = NO
+CLASS_GRAPH = NO
+COLLABORATION_GRAPH = NO
+INCLUDE_GRAPH = NO
+INCLUDED_BY_GRAPH = NO
+GRAPHICAL_HIERARCHY = NO
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS =
diff --git a/etc/ace_qos.doxygen b/etc/ace_qos.doxygen
new file mode 100644
index 00000000000..d113fdb3770
--- /dev/null
+++ b/etc/ace_qos.doxygen
@@ -0,0 +1,193 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = ACE_QoS
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = ace/QoS
+FILE_PATTERNS = *.cpp *.h *.i *.inl
+RECURSIVE = NO
+EXCLUDE =
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/ace/QoS
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=..
+GENERATE_TAGFILE = html/ace/QoS/ACE_QoS.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS =
diff --git a/etc/ace_rmcast.doxygen b/etc/ace_rmcast.doxygen
new file mode 100644
index 00000000000..87cb79d8ee2
--- /dev/null
+++ b/etc/ace_rmcast.doxygen
@@ -0,0 +1,193 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = ACE_RMCast
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = ace/RMCast
+FILE_PATTERNS = *.cpp *.h *.i *.inl
+RECURSIVE = NO
+EXCLUDE =
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/ace/rmcast
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=..
+GENERATE_TAGFILE = html/ace/rmcast/ACE_RMCast.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS =
diff --git a/etc/ace_ssl.doxygen b/etc/ace_ssl.doxygen
new file mode 100644
index 00000000000..1bd3d1a9b88
--- /dev/null
+++ b/etc/ace_ssl.doxygen
@@ -0,0 +1,193 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = ACE_SSL
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = ace/SSL
+FILE_PATTERNS = *.cpp *.h *.i *.inl
+RECURSIVE = NO
+EXCLUDE =
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/ace/ssl
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = NO
+EXPAND_ONLY_PREDEF = NO
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=..
+GENERATE_TAGFILE = html/ace/ssl/ACE_SSL.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS =
diff --git a/etc/acexml.doxygen b/etc/acexml.doxygen
new file mode 100644
index 00000000000..c0bcee12b2e
--- /dev/null
+++ b/etc/acexml.doxygen
@@ -0,0 +1,193 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = ACEXML
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = XML
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.txt
+RECURSIVE = YES
+EXCLUDE =
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/xml
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = NO
+EXPAND_ONLY_PREDEF = NO
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=..
+GENERATE_TAGFILE = html/xml/ACEXML.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS =
diff --git a/etc/tao.doxygen b/etc/tao.doxygen
new file mode 100644
index 00000000000..ab960742bc6
--- /dev/null
+++ b/etc/tao.doxygen
@@ -0,0 +1,193 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = TAO
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/tao
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl *.txt
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS = InterfaceC.cpp Services.h
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../ace
+GENERATE_TAGFILE = html/tao/TAO.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS = html/ace
diff --git a/etc/tao_av.doxygen b/etc/tao_av.doxygen
new file mode 100644
index 00000000000..1cbde3e20ee
--- /dev/null
+++ b/etc/tao_av.doxygen
@@ -0,0 +1,198 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = TAO_AV
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/orbsvcs/orbsvcs/AVStreams.idl \
+ TAO/orbsvcs/orbsvcs/Null_MediaCtrl.idl \
+ TAO/orbsvcs/orbsvcs/sfp.idl \
+ TAO/orbsvcs/orbsvcs/AV
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl *.idl
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/av
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace \
+ html/tao/TAO.tag=.. \
+ html/tao/portableserver/TAO_PortableServer.tag=../portableserver
+GENERATE_TAGFILE = html/tao/av/TAO_AV.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS = html/ace
diff --git a/etc/tao_cosevent.doxygen b/etc/tao_cosevent.doxygen
new file mode 100644
index 00000000000..f12d8dedab0
--- /dev/null
+++ b/etc/tao_cosevent.doxygen
@@ -0,0 +1,199 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = TAO_CosEvent
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = \
+ TAO/orbsvcs/orbsvcs/CosEventComm.idl \
+ TAO/orbsvcs/orbsvcs/CosEventChannelAdmin.idl \
+ TAO/orbsvcs/orbsvcs/CosEvent
+FILE_PATTERNS = CEC_*.cpp CEC_*.h CEC_*.i CEC_*.inl CEC_*.pidl *.idl
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/cosevent
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO/orbsvcs TAO .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace \
+ html/tao/TAO.tag=.. \
+ html/tao/portableserver/TAO_PortableServer.tag=../portableserver \
+ html/tao/esf/TAO_ESF.tag=../esf
+GENERATE_TAGFILE = html/tao/cosevent/TAO_CosEvent.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS = html/ace
diff --git a/etc/tao_cosnotification.doxygen b/etc/tao_cosnotification.doxygen
new file mode 100644
index 00000000000..4ed0218bcce
--- /dev/null
+++ b/etc/tao_cosnotification.doxygen
@@ -0,0 +1,202 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = TAO_CosNotification
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = \
+ TAO/orbsvcs/orbsvcs/CosNotification.idl \
+ TAO/orbsvcs/orbsvcs/CosNotifyFilter.idl \
+ TAO/orbsvcs/orbsvcs/CosNotifyComm.idl \
+ TAO/orbsvcs/orbsvcs/CosNotifyChannelAdmin.idl \
+ TAO/orbsvcs/orbsvcs/Notify
+FILE_PATTERNS = *.cpp *.h CEC_*.i CEC_*.inl CEC_*.pidl *.idl
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/cosnotification
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO/orbsvcs TAO .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace \
+ html/tao/TAO.tag=.. \
+ html/tao/portableserver/TAO_PortableServer.tag=../portableserver \
+ html/tao/cosevent/TAO_CosEvent.tag=../cosevent \
+ html/tao/esf/TAO_ESF.tag=../esf
+GENERATE_TAGFILE = html/tao/cosevent/TAO_CosEvent.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS = html/ace
diff --git a/etc/tao_dynamicany.doxygen b/etc/tao_dynamicany.doxygen
new file mode 100644
index 00000000000..9b9751d8a2b
--- /dev/null
+++ b/etc/tao_dynamicany.doxygen
@@ -0,0 +1,193 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = TAO_DynamicAny
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/tao/DynamicAny
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS = InterfaceC.cpp Services.h
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/dynamicany
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace html/tao/TAO.tag=..
+GENERATE_TAGFILE = html/tao/dynamicany/TAO_DynamicAny.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS = html/ace
diff --git a/etc/tao_dynamicinterface.doxygen b/etc/tao_dynamicinterface.doxygen
new file mode 100644
index 00000000000..840b8af69cc
--- /dev/null
+++ b/etc/tao_dynamicinterface.doxygen
@@ -0,0 +1,193 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = TAO_DynamicInterface
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/tao/DynamicInterface
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS = InterfaceC.cpp Services.h
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/dynamicinterface
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace html/tao/TAO.tag=..
+GENERATE_TAGFILE = html/tao/dynamicinterface/TAO_DynamicInterface.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS = html/ace
diff --git a/etc/tao_esf.doxygen b/etc/tao_esf.doxygen
new file mode 100644
index 00000000000..11e94df5816
--- /dev/null
+++ b/etc/tao_esf.doxygen
@@ -0,0 +1,195 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = TAO_ESF
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/orbsvcs/orbsvcs/ESF
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl *.idl
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/esf
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace \
+ html/tao/TAO.tag=.. \
+ html/tao/portableserver/TAO_PortableServer.tag=../portableserver
+GENERATE_TAGFILE = html/tao/esf/TAO_ESF.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS = html/ace
diff --git a/etc/tao_implrepo.doxygen b/etc/tao_implrepo.doxygen
new file mode 100644
index 00000000000..a31fcae25c4
--- /dev/null
+++ b/etc/tao_implrepo.doxygen
@@ -0,0 +1,196 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = TAO_Implementation_Repository
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/orbsvcs/ImplRepo_Service
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.txt
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/implrepo_service
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO/orbsvcs TAO .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace \
+ html/tao/TAO.tag=.. \
+ html/tao/portableserver/TAO_PortableServer.tag=../portableserver \
+ html/tao/iortable/TAO_IORTable.tag=../iortable
+GENERATE_TAGFILE = html/tao/implrepo_service/TAO_ImplRepo.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS = html/ace
diff --git a/etc/tao_iormanip.doxygen b/etc/tao_iormanip.doxygen
new file mode 100644
index 00000000000..e5ee0641509
--- /dev/null
+++ b/etc/tao_iormanip.doxygen
@@ -0,0 +1,194 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = TAO_IORManipulation
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/tao/IORManipulation
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS = InterfaceC.cpp Services.h
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/iormanipulation
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace \
+ html/tao/TAO.tag=..
+GENERATE_TAGFILE = html/tao/iormanipulation/TAO_IORManipulation.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS = html/ace
diff --git a/etc/tao_iortable.doxygen b/etc/tao_iortable.doxygen
new file mode 100644
index 00000000000..f2f690655b0
--- /dev/null
+++ b/etc/tao_iortable.doxygen
@@ -0,0 +1,194 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = TAO_IORTable
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/tao/IORTable
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS = InterfaceC.cpp Services.h
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/iortable
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace \
+ html/tao/TAO.tag=..
+GENERATE_TAGFILE = html/tao/iortable/TAO_IORTable.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Beta
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Beta/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Beta
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS = html/ace
diff --git a/etc/tao_portableserver.doxygen b/etc/tao_portableserver.doxygen
new file mode 100644
index 00000000000..74689eea598
--- /dev/null
+++ b/etc/tao_portableserver.doxygen
@@ -0,0 +1,194 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = TAO_PortableServer
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/tao/PortableServer
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS = InterfaceC.cpp Services.h
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/portableserver
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace \
+ html/tao/TAO.tag=..
+GENERATE_TAGFILE = html/tao/portableserver/TAO_PortableServer.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS = html/ace
diff --git a/etc/tao_rtcorba.doxygen b/etc/tao_rtcorba.doxygen
new file mode 100644
index 00000000000..93c7c67d784
--- /dev/null
+++ b/etc/tao_rtcorba.doxygen
@@ -0,0 +1,194 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = TAO_RTCORBA
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/tao/RTCORBA
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/rtcorba
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace \
+ html/tao/TAO.tag=..
+GENERATE_TAGFILE = html/tao/rtcorba/TAO_RTCORBA.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS = html/ace
diff --git a/etc/tao_rtevent.doxygen b/etc/tao_rtevent.doxygen
new file mode 100644
index 00000000000..ebb7848fecd
--- /dev/null
+++ b/etc/tao_rtevent.doxygen
@@ -0,0 +1,204 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = TAO_RTEvent
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/orbsvcs/orbsvcs/RtecEventComm.idl \
+ TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl \
+ TAO/orbsvcs/orbsvcs/RtecBase.idl \
+ TAO/orbsvcs/orbsvcs/RtecDefaultEventData.idl \
+ TAO/orbsvcs/orbsvcs/RtecUDPAdmin.idl \
+ TAO/orbsvcs/orbsvcs/Event_Utilities.h \
+ TAO/orbsvcs/orbsvcs/Event_Utilities.i \
+ TAO/orbsvcs/orbsvcs/Event_Utilities.cpp \
+ TAO/orbsvcs/orbsvcs/Event
+FILE_PATTERNS = EC_*.cpp EC_*.h EC_*.i EC_*.inl EC_*.pidl *.idl
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/rtevent
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO/orbsvcs TAO .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace \
+ html/tao/TAO.tag=.. \
+ html/tao/portableserver/TAO_PortableServer.tag=../portableserver \
+ html/tao/esf/TAO_ESF.tag=../esf
+GENERATE_TAGFILE = html/tao/rtevent/TAO_RTEvent.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS = html/ace
diff --git a/etc/tao_rtportableserver.doxygen b/etc/tao_rtportableserver.doxygen
new file mode 100644
index 00000000000..179aa2cd10d
--- /dev/null
+++ b/etc/tao_rtportableserver.doxygen
@@ -0,0 +1,194 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = TAO_RTPortableServer
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/tao/RTPortableServer
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/rtportableserver
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace \
+ html/tao/TAO.tag=..
+GENERATE_TAGFILE = html/tao/rtportableserver/TAO_RTPortableServer.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS = html/ace
diff --git a/etc/tao_security.doxygen b/etc/tao_security.doxygen
new file mode 100644
index 00000000000..03bbb805ba2
--- /dev/null
+++ b/etc/tao_security.doxygen
@@ -0,0 +1,200 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = TAO_Security
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/orbsvcs/orbsvcs/Security.idl \
+ TAO/orbsvcs/orbsvcs/SecurityLevel1.idl \
+ TAO/orbsvcs/orbsvcs/SecurityLevel2.idl \
+ TAO/orbsvcs/orbsvcs/SecurityAdmin.idl \
+ TAO/orbsvcs/orbsvcs/SecurityReplaceable.idl \
+ TAO/orbsvcs/orbsvcs/Security
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl *.idl
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/security
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace \
+ html/tao/TAO.tag=.. \
+ html/tao/portableserver/TAO_PortableServer.tag=../portableserver
+GENERATE_TAGFILE = html/tao/security/TAO_Security.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS = html/ace
diff --git a/etc/tao_smartproxies.doxygen b/etc/tao_smartproxies.doxygen
new file mode 100644
index 00000000000..0a0b207cd54
--- /dev/null
+++ b/etc/tao_smartproxies.doxygen
@@ -0,0 +1,193 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = TAO_SmartProxies
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/tao/SmartProxies
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS = InterfaceC.cpp Services.h
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/smartproxies
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace html/tao/TAO.tag=..
+GENERATE_TAGFILE = html/tao/smartproxies/TAO_SmartProxies.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS = html/ace
diff --git a/etc/tao_ssliop.doxygen b/etc/tao_ssliop.doxygen
new file mode 100644
index 00000000000..d9ad50970c2
--- /dev/null
+++ b/etc/tao_ssliop.doxygen
@@ -0,0 +1,201 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = TAO_SSLIOP
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/orbsvcs/orbsvcs/Security.idl \
+ TAO/orbsvcs/orbsvcs/SecurityLevel1.idl \
+ TAO/orbsvcs/orbsvcs/SecurityLevel2.idl \
+ TAO/orbsvcs/orbsvcs/Security \
+ TAO/orbsvcs/orbsvcs/SSLIOP.idl \
+ TAO/orbsvcs/orbsvcs/SSLIOP
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl *.idl
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/ssliop
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace \
+ html/tao/TAO.tag=.. \
+ html/tao/portableserver/TAO_PortableServer.tag=../portableserver \
+ html/tao/security/TAO_Security.tag=../security
+GENERATE_TAGFILE = html/tao/ssliop/TAO_SSLIOP.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS = html/ace
diff --git a/etc/tao_strategies.doxygen b/etc/tao_strategies.doxygen
new file mode 100644
index 00000000000..7e17dfc688e
--- /dev/null
+++ b/etc/tao_strategies.doxygen
@@ -0,0 +1,193 @@
+# Doxyfile 1.1.5
+#
+# $Id$
+#
+
+PROJECT_NAME = TAO_Strategies
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = NO
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/tao/Strategies
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS = InterfaceC.cpp Services.h
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/strategies
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace html/tao/TAO.tag=..
+GENERATE_TAGFILE = html/tao/strategies/TAO_Strategies.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH = /usr/local/bin
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /project/doctmp/Doxygen/Current
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS = html/ace
diff --git a/examples/Connection/misc/Connection_Handler.cpp b/examples/Connection/misc/Connection_Handler.cpp
new file mode 100644
index 00000000000..dc62a95b194
--- /dev/null
+++ b/examples/Connection/misc/Connection_Handler.cpp
@@ -0,0 +1,245 @@
+// $Id$
+
+// ============================================================================
+//
+// = FILENAME
+// Connection_Handler.cpp
+//
+// = DESCRIPTION
+// This test illustrates how to use the Acceptor pattern to
+// create multiple threads, each running its own Reactor. You
+// can connect to this via telnet and keep typing until you enter
+// '^D'.
+//
+// = AUTHOR
+// Doug Schmidt
+//
+// ============================================================================
+
+#include "ace/Acceptor.h"
+#include "ace/SOCK_Acceptor.h"
+#include "ace/Service_Config.h"
+#include "ace/Thread.h"
+
+#include "Connection_Handler.h"
+
+ACE_RCSID(misc, Connection_Handler, "$Id$")
+
+int
+Connection_Handler::open (void *)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "(%P|%t) in open()\n"));
+
+ // Make ourselves an Active Object.
+ return this->activate (THR_NEW_LWP | THR_DETACHED);
+}
+
+int
+Connection_Handler::close (u_long)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "(%P|%t) in close()\n"));
+
+ // Shut ourself down. Note that this doesn't destroy the thread,
+ // just the state of the object.
+ this->destroy ();
+ return 0;
+}
+
+int
+Connection_Handler::svc (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "(%P|%t) in svc()\n"));
+
+ this->finished_ = 0;
+
+ // Create our own personal Reactor just for this thread. Note that
+ // we create this on the stack of the thread since it's only used
+ // for the duration of this connection!
+
+ ACE_Reactor reactor;
+
+ // Each <ACE_Svc_Handler> has its own <ACE_Reactor *>. By default,
+ // this points to the <Acceptor's> Reactor. However, we can point
+ // it to our local Reactor, which is what we do in this case.
+ this->reactor (&reactor);
+
+ // Register ourselves to handle input in this thread without
+ // blocking.
+ if (this->reactor ()->register_handler
+ (this, ACE_Event_Handler::READ_MASK) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "can' (%P|%t) t register with reactor\n"),
+ -1);
+ // Schedule a timer.
+ else if (this->reactor ()->schedule_timer (this,
+ (const void *) this,
+ ACE_Time_Value (2),
+ ACE_Time_Value (2)) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%P|%t) can't register with reactor\n"),
+ -1);
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ "(%P|%t) connected with client\n"));
+
+ // Keep looping until we receive SIGQUIT or the client shutsdown.
+
+ while (this->finished_ == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "(%P|%t) handling events\n"));
+ this->reactor ()->handle_events ();
+ }
+
+ // Cancel all pending timeouts.
+ this->reactor ()->cancel_timer (this);
+
+ // Remove ourselves from the Reactor.
+ this->reactor ()->remove_handler
+ (this, ACE_Event_Handler::READ_MASK | ACE_Event_Handler::DONT_CALL);
+
+ // Zero-out the Reactor field so it isn't accessed later on.
+ this->reactor (0);
+
+ ACE_DEBUG ((LM_DEBUG,
+ "(%P|%t) exiting svc\n"));
+ return 0;
+}
+
+int
+Connection_Handler::handle_close (ACE_HANDLE,
+ ACE_Reactor_Mask)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "(%P|%t) in handle_close \n"));
+
+ // Signal the svc() event loop to shut down.
+ this->finished_ = 1;
+ return 0;
+}
+
+int
+Connection_Handler::handle_input (ACE_HANDLE)
+{
+ char buf[BUFSIZ];
+
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) handle_input\n"));
+
+ switch (this->peer ().recv (buf, sizeof buf))
+ {
+ case -1:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%P|%t) %p bad read\n",
+ "client logger"),
+ -1);
+ case 0:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%P|%t) closing log daemon (fd = %d)\n",
+ this->get_handle ()),
+ -1);
+ default:
+ if (buf[0] == (char) EOF)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%P|%t) closing log daemon (fd = %d)\n",
+ this->get_handle ()),
+ -1);
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ "(%P|%t) from client: %s",
+ buf));
+ }
+
+ return 0;
+}
+
+int
+Connection_Handler::handle_signal (int signum,
+ siginfo_t *,
+ ucontext_t *)
+{
+ // @@ Note that this code is not portable to all OS platforms since
+ // it uses print statements within signal handler context.
+
+ ACE_DEBUG ((LM_DEBUG,
+ "received signal %S\n",
+ signum));
+
+ this->finished_ = 1;
+ return 0;
+}
+
+int
+Connection_Handler::handle_timeout (const ACE_Time_Value &tv,
+ const void *arg)
+{
+ ACE_UNUSED_ARG (tv);
+#if defined (ACE_NDEBUG)
+ ACE_UNUSED_ARG (arg);
+#endif /* ACE_NDEBUG */
+
+ ACE_ASSERT (arg == this);
+ ACE_DEBUG ((LM_DEBUG,
+ "(%P|%t) handling timeout from this = %u\n",
+ this));
+ return 0;
+}
+
+// Define an Acceptor for the <Connection_Handler>.
+
+typedef ACE_Acceptor <Connection_Handler, ACE_SOCK_ACCEPTOR>
+ Connection_Acceptor;
+
+int
+main (int argc, char *argv[])
+{
+ ACE_Service_Config daemon (argv[0]);
+
+ u_short port = argc > 1 ? ACE_OS::atoi (argv[1]) : ACE_DEFAULT_SERVER_PORT;
+
+ ACE_DEBUG ((LM_DEBUG,
+ "(%P|%t) in main\n"));
+
+ // Acceptor factory.
+ Connection_Acceptor peer_acceptor;
+
+ // Create an adapter to end the event loop.
+ ACE_Sig_Adapter sa ((ACE_Sig_Handler_Ex) ACE_Reactor::end_event_loop);
+
+ // Register the signal handler adapter.
+ if (ACE_Reactor::instance ()->register_handler (SIGINT, &sa) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "%p\n",
+ "register_handler"),
+ -1);
+
+ // Open the Acceptor.
+ else if (peer_acceptor.open (ACE_INET_Addr (port),
+ ACE_Reactor::instance ()) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "%p\n",
+ "open"),
+ -1);
+
+ ACE_DEBUG ((LM_DEBUG,
+ "(%P|%t) starting up connection server\n"));
+
+ // Perform connection service until we receive SIGINT.
+
+ while (ACE_Reactor::event_loop_done() == 0)
+ ACE_Reactor::run_event_loop ();
+
+ ACE_DEBUG ((LM_DEBUG,
+ "(%P|%t) shutting down connection server\n"));
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Acceptor<Connection_Handler, ACE_SOCK_ACCEPTOR>;
+template class ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Acceptor<Connection_Handler, ACE_SOCK_ACCEPTOR>
+#pragma instantiate ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/NT_Service/main.cpp b/examples/NT_Service/main.cpp
new file mode 100644
index 00000000000..de95db92bb2
--- /dev/null
+++ b/examples/NT_Service/main.cpp
@@ -0,0 +1,258 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// examples/NT_Service
+//
+// = FILENAME
+// main.cpp
+//
+// = DESCRIPTION
+// This is the main program - it just hands control off to the
+// process instance to figure out what to do. This program only
+// runs on Win32.
+//
+// = AUTHOR
+// Gonzalo Diethelm <gonzo@cs.wustl.edu>
+// and Steve Huston <shuston@riverace.com>
+//
+// ============================================================================
+
+#include "ace/Get_Opt.h"
+#include "ntsvc.h"
+
+// Default for the -i (install) option
+#define DEFAULT_SERVICE_INIT_STARTUP SERVICE_AUTO_START
+
+class Process
+{
+public:
+ Process (void);
+ ~Process (void);
+
+ int run(int argc, ACE_TCHAR* argv[]);
+
+private:
+ void parse_args (int argc,
+ ACE_TCHAR* argv[]);
+ void print_usage_and_die (void);
+
+private:
+ char progname[128];
+
+ int opt_install;
+ int opt_remove;
+ int opt_start;
+ int opt_kill;
+ int opt_type;
+ int opt_debug;
+
+ int opt_startup;
+};
+
+typedef ACE_Singleton<Process, ACE_Mutex> PROCESS;
+
+Process::Process (void)
+ : opt_install (0),
+ opt_remove (0),
+ opt_start (0),
+ opt_kill (0),
+ opt_type (0),
+ opt_debug (0),
+ opt_startup (0)
+{
+ ACE_OS::strcpy (progname,
+ "service");
+ ACE::init ();
+}
+
+Process::~Process (void)
+{
+ ACE::fini ();
+}
+
+void
+Process::print_usage_and_die (void)
+{
+ ACE_DEBUG ((LM_INFO,
+ "Usage: %s"
+ " -in -r -s -k -tn -d\n"
+ " -i: Install this program as an NT service, with specified startup\n"
+ " -r: Remove this program from the Service Manager\n"
+ " -s: Start the service\n"
+ " -k: Kill the service\n"
+ " -t: Set startup for an existing service\n"
+ " -d: Debug; run as a regular application\n",
+ progname,
+ 0));
+ ACE_OS::exit(1);
+}
+
+void
+Process::parse_args (int argc, ACE_TCHAR* argv[])
+{
+ ACE_Get_Opt get_opt (argc, argv, ACE_TEXT ("i:rskt:d"));
+ int c;
+
+ while ((c = get_opt ()) != -1)
+ switch (c)
+ {
+ case 'i':
+ opt_install = 1;
+ opt_startup = ACE_OS::atoi (get_opt.opt_arg ());
+ if (opt_startup <= 0)
+ print_usage_and_die ();
+ break;
+ case 'r':
+ opt_remove = 1;
+ break;
+ case 's':
+ opt_start = 1;
+ break;
+ case 'k':
+ opt_kill = 1;
+ break;
+ case 't':
+ opt_type = 1;
+ opt_startup = ACE_OS::atoi (get_opt.opt_arg ());
+ if (opt_startup <= 0)
+ print_usage_and_die ();
+ break;
+ case 'd':
+ opt_debug = 1;
+ break;
+ default:
+ // -i can also be given without a value - if so, it defaults
+ // to defined value.
+ if (ACE_OS::strcmp (get_opt.argv ()[get_opt.opt_ind () - 1], ACE_TEXT ("-i")) == 0)
+ {
+ opt_install = 1;
+ opt_startup = DEFAULT_SERVICE_INIT_STARTUP;
+ }
+ else
+ {
+ print_usage_and_die ();
+ }
+ break;
+ }
+}
+
+// Define a function to handle Ctrl+C to cleanly shut this down.
+
+static BOOL __stdcall
+ConsoleHandler (DWORD ctrlType)
+{
+ ACE_UNUSED_ARG (ctrlType);
+ SERVICE::instance ()->handle_control (SERVICE_CONTROL_STOP);
+ return TRUE;
+}
+
+ACE_NT_SERVICE_DEFINE (Beeper,
+ Service,
+ ACE_TEXT ("Annoying Beeper Service"));
+
+int
+Process::run (int argc, ACE_TCHAR* argv[])
+{
+ SERVICE::instance ()->name (ACE_TEXT ("Beeper"),
+ ACE_TEXT ("Annoying Beeper Service"));
+
+ parse_args (argc, argv);
+
+ if (opt_install && !opt_remove)
+ {
+ if (-1 == SERVICE::instance ()->insert (opt_startup))
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("insert")));
+ return -1;
+ }
+ return 0;
+ }
+
+ if (opt_remove && !opt_install)
+ {
+ if (-1 == SERVICE::instance ()->remove ())
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("remove")));
+ return -1;
+ }
+ return 0;
+ }
+
+ if (opt_start && opt_kill)
+ print_usage_and_die ();
+
+ if (opt_start)
+ {
+ if (-1 == SERVICE::instance ()->start_svc ())
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("start")));
+ return -1;
+ }
+ return 0;
+ }
+
+ if (opt_kill)
+ {
+ if (-1 == SERVICE::instance ()->stop_svc ())
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("stop")));
+ return -1;
+ }
+ return 0;
+ }
+
+ if (opt_type)
+ {
+ if (-1 == SERVICE::instance ()->startup (opt_startup))
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("set startup")));
+ return -1;
+ }
+ return 0;
+ }
+
+ // If we get here, we either run the app in debug mode (-d) or are
+ // being called from the service manager to start the service.
+
+ if (opt_debug)
+ {
+ SetConsoleCtrlHandler (&ConsoleHandler, 1);
+ SERVICE::instance ()->svc ();
+ }
+ else
+ {
+ ofstream *output_file = new ofstream("ntsvc.log", ios::out);
+ if (output_file && output_file->rdstate() == ios::goodbit)
+ ACE_LOG_MSG->msg_ostream(output_file, 1);
+ ACE_LOG_MSG->open(argv[0],
+ ACE_Log_Msg::STDERR | ACE_Log_Msg::OSTREAM,
+ 0);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%T (%t): Starting service.\n")));
+
+ ACE_NT_SERVICE_RUN (Beeper,
+ SERVICE::instance (),
+ ret);
+ if (ret == 0)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Couldn't start service")));
+ else
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%T (%t): Service stopped.\n")));
+ }
+
+ return 0;
+}
+
+int
+main (int argc, ACE_TCHAR* argv[])
+{
+ return PROCESS::instance ()->run (argc, argv);
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Singleton<Process, ACE_Mutex>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Singleton<Process, ACE_Mutex>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/NT_Service/ntsvc.cpp b/examples/NT_Service/ntsvc.cpp
new file mode 100644
index 00000000000..d872769bc46
--- /dev/null
+++ b/examples/NT_Service/ntsvc.cpp
@@ -0,0 +1,111 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// examples/NT_Service
+//
+// = FILENAME
+// ntsvc.cpp
+//
+// = DESCRIPTION
+// This is the implementation of the NT service. It beeps every 2
+// seconds until the service is stopped.
+//
+// = AUTHOR
+// Gonzalo Diethelm <gonzo@cs.wustl.edu>
+// and Steve Huston <shuston@riverace.com>
+//
+// ============================================================================
+
+#include "ace/OS.h"
+#include "ace/Reactor.h"
+#include "ntsvc.h"
+
+Service::Service (void)
+{
+ // Remember the Reactor instance.
+ reactor (ACE_Reactor::instance ());
+
+ // Schedule a timer every two seconds.
+ ACE_Time_Value tv (2, 0);
+ ACE_Reactor::instance ()->schedule_timer (this, 0, tv, tv);
+}
+
+// This method is called when the service gets a control request. It
+// handles requests for stop and shutdown by calling terminate ().
+// All others get handled by calling up to inherited::handle_control.
+
+void
+Service::handle_control (DWORD control_code)
+{
+ if (control_code == SERVICE_CONTROL_SHUTDOWN
+ || control_code == SERVICE_CONTROL_STOP)
+ {
+ report_status (SERVICE_STOP_PENDING);
+
+ ACE_DEBUG ((LM_INFO,
+ "Service control stop requested\n"));
+ stop_ = 1;
+ reactor ()->notify (this,
+ ACE_Event_Handler::EXCEPT_MASK);
+ }
+ else
+ inherited::handle_control (control_code);
+}
+
+// This is just here to be the target of the notify from above... it
+// doesn't do anything except aid on popping the reactor off its wait
+// and causing a drop out of handle_events.
+
+int
+Service::handle_exception (ACE_HANDLE)
+{
+ return 0;
+}
+
+// Beep every two seconds. This is what this NT service does...
+
+int
+Service::handle_timeout (const ACE_Time_Value &tv,
+ const void *)
+{
+ ACE_UNUSED_ARG (tv);
+ MessageBeep (MB_OK);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%T (%t): Beep...\n")));
+ return 0;
+}
+
+// This is the main processing function for the Service. It sets up
+// the initial configuration and runs the event loop until a shutdown
+// request is received.
+
+int
+Service::svc (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "Service::svc\n"));
+
+ // As an NT service, we come in here in a different thread than the
+ // one which created the reactor. So in order to do anything, we
+ // need to own the reactor. If we are not a service, report_status
+ // will return -1.
+ if (report_status (SERVICE_RUNNING) == 0)
+ reactor ()->owner (ACE_Thread::self ());
+
+ stop_ = 0;
+
+ while (!stop_)
+ reactor ()->handle_events ();
+
+ // Cleanly terminate connections, terminate threads.
+ ACE_DEBUG ((LM_DEBUG,
+ "Shutting down\n"));
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Singleton<Service, ACE_Mutex>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Singleton<Service, ACE_Mutex>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/Service_Configurator/IPC-tests/server/Server.dsp b/examples/Service_Configurator/IPC-tests/server/Server.dsp
new file mode 100644
index 00000000000..dedc82fc1af
--- /dev/null
+++ b/examples/Service_Configurator/IPC-tests/server/Server.dsp
@@ -0,0 +1,299 @@
+# Microsoft Developer Studio Project File - Name="Examples Service Configurator Server Library" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=Examples Service Configurator Server Library - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Server.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Server.mak" CFG="Examples Service Configurator Server Library - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Examples Service Configurator Server Library - Win32 MFC Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "Examples Service Configurator Server Library - Win32 MFC Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "Examples Service Configurator Server Library - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "Examples Service Configurator Server Library - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Examples Service Configurator Server Library - Win32 MFC Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir ""
+# PROP BASE Intermediate_Dir "Release\MFC\Server"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Release\MFC\Server"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../../../" /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "NDEBUG" /D "ACE_SVC_BUILD_DLL" /D ACE_HAS_MFC=1 /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /machine:I386
+# ADD LINK32 ../../../../ace/ACEmfc.lib /nologo /dll /machine:I386 /out:"../../../../bin/Servermfc.dll"
+
+!ELSEIF "$(CFG)" == "Examples Service Configurator Server Library - Win32 MFC Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir ""
+# PROP BASE Intermediate_Dir "Debug\MFC\Server"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug\MFC\Server"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../../" /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "_DEBUG" /D "ACE_SVC_BUILD_DLL" /D ACE_HAS_MFC=1 /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 ../../../../ace/ACEmfcd.lib /nologo /dll /debug /machine:I386 /out:"../../../../bin/Servermfcd.dll" /pdbtype:sept
+
+!ELSEIF "$(CFG)" == "Examples Service Configurator Server Library - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir ""
+# PROP BASE Intermediate_Dir "Release\Server"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Release\Server"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../../../" /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "NDEBUG" /D "ACE_SVC_BUILD_DLL" /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /machine:I386
+# ADD LINK32 ../../../../ace/ACE.lib advapi32.lib /nologo /dll /machine:I386 /out:"../../../../bin/Server.dll"
+
+!ELSEIF "$(CFG)" == "Examples Service Configurator Server Library - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir ""
+# PROP BASE Intermediate_Dir "Debug\Server"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug\Server"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../../" /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "_DEBUG" /D "ACE_SVC_BUILD_DLL" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 ../../../../ace/ACEd.lib /nologo /dll /debug /machine:I386 /out:"../../../../bin/Serverd.dll" /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "Examples Service Configurator Server Library - Win32 MFC Release"
+# Name "Examples Service Configurator Server Library - Win32 MFC Debug"
+# Name "Examples Service Configurator Server Library - Win32 Release"
+# Name "Examples Service Configurator Server Library - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
+# Begin Source File
+
+SOURCE=.\Handle_Broadcast.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_CODgram.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_Dgram.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_FIFO.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_Pipe.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_SPIPE.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_Stream.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_R_Dgram.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_R_Stream.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_Thr_Stream.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_Timeout.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;fi;fd"
+# Begin Source File
+
+SOURCE=.\Handle_Broadcast.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_CODgram.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_Dgram.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_FIFO.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_Pipe.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_SPIPE.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_Stream.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_R_Dgram.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_R_Stream.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_Thr_Stream.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_Timeout.h
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl;pidl"
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "inl;i"
+# Begin Source File
+
+SOURCE=.\Handle_Broadcast.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_CODgram.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_Dgram.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_FIFO.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_Pipe.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_SPIPE.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_Stream.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_R_Dgram.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_R_Stream.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_Thr_Stream.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_Timeout.i
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/include/makeinclude/ace_flags.bor b/include/makeinclude/ace_flags.bor
new file mode 100644
index 00000000000..b013345239e
--- /dev/null
+++ b/include/makeinclude/ace_flags.bor
@@ -0,0 +1,132 @@
+#
+# Flags specific for compiling ACE library and applications
+# with Borland C++Builder
+#
+
+!ifdef STATIC
+DLL_FLAG=0
+DLL_NAME=
+!else
+DLL_FLAG=1
+DLL_NAME=dll
+!endif
+
+#
+# Compiler flags
+#
+!ifdef DEBUG
+ACE_CFLAGS = -I$(ACE_ROOT) -DACE_HAS_DLL=$(DLL_FLAG) -DACE_OS_HAS_DLL=$(DLL_FLAG) -DACE_NO_INLINE=1
+!else
+ACE_CFLAGS = -I$(ACE_ROOT) -DACE_HAS_DLL=$(DLL_FLAG) -DACE_OS_HAS_DLL=$(DLL_FLAG)
+!endif
+!ifdef SSL_ROOT
+SSL_CFLAGS = -I$(SSL_ROOT)\inc32 -DACE_HAS_SSL=1
+!endif
+ACE_XML_CFLAGS = -I$(ACE_ROOT) -I$(ACE_ROOT)\XML -DACEXML_HAS_DLL=$(DLL_FLAG)
+ACE_SSL_CFLAGS = -I$(ACE_ROOT) -DACE_SSL_HAS_DLL=$(DLL_FLAG)
+ACE_QOS_CFLAGS = -I$(ACE_ROOT) -DACE_QoS_HAS_DLL=$(DLL_FLAG)
+ACE_RMCAST_CFLAGS = -I$(ACE_ROOT) -DACE_RMCAST_HAS_DLL=$(DLL_FLAG)
+TAO_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_HAS_DLL=$(DLL_FLAG)
+TAO_DOMAIN_FLAGS = -I$(ACE_ROOT)\TAO -DTAO_DOMAIN_HAS_DLL=$(DLL_FLAG)
+TAO_DYNAMICANY_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_DYNAMICANY_HAS_DLL=$(DLL_FLAG)
+TAO_DYNAMICINTERFACE_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_DYNAMICINTERFACE_HAS_DLL=$(DLL_FLAG)
+TAO_BIDIRGIOP_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_BIDIRGIOP_HAS_DLL=$(DLL_FLAG)
+TAO_IFR_CLIENT_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_IFR_CLIENT_HAS_DLL=$(DLL_FLAG)
+TAO_STRATEGIES_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_STRATEGIES_HAS_DLL=$(DLL_FLAG)
+TAO_PORTABLESERVER_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_PORTABLESERVER_HAS_DLL=$(DLL_FLAG)
+TAO_IORMANIP_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_IORMANIP_HAS_DLL=$(DLL_FLAG)
+TAO_IORTABLE_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_IORTABLE_HAS_DLL=$(DLL_FLAG)
+TAO_SMARTPROXIES_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_SMARTPROXIES_HAS_DLL=$(DLL_FLAG)
+TAO_TYPECODEFACTORY_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_TYPECODEFACTORY_HAS_DLL=$(DLL_FLAG)
+TAO_RTCORBA_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_RTCORBA_HAS_DLL=$(DLL_FLAG)
+TAO_RTPORTABLESERVER_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_RTPORTABLESERVER_HAS_DLL=$(DLL_FLAG)
+TAO_IDL_BE_CFLAGS = -I$(ACE_ROOT)\TAO\TAO_IDL -I$(ACE_ROOT)\TAO\TAO_IDL\be_include \
+ -DTAO_IDL_BE_HAS_DLL=$(DLL_FLAG)
+TAO_IDL_FE_CFLAGS = -I$(ACE_ROOT)\TAO\TAO_IDL -I$(ACE_ROOT)\TAO\TAO_IDL\fe \
+ -I$(ACE_ROOT)\TAO\TAO_IDL\include -I$(ACE_ROOT)\TAO\TAO_IDL\util -DTAO_IDL_FE_HAS_DLL=$(DLL_FLAG)
+TAO_SVC_UTILS_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_SVC_UTILS_HAS_DLL=$(DLL_FLAG)
+TAO_AV_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_AV_HAS_DLL=$(DLL_FLAG)
+TAO_CONCURRENCY_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_CONCURRENCY_HAS_DLL=$(DLL_FLAG)
+TAO_EVENT_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_EVENT_HAS_DLL=$(DLL_FLAG)
+TAO_FT_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_FT_HAS_DLL=$(DLL_FLAG)
+TAO_FTORB_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_FT_HAS_DLL=$(DLL_FLAG)
+TAO_LIFECYCLE_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_LIFECYCLE_HAS_DLL=$(DLL_FLAG)
+TAO_LOADBALANCING_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_LOADBALANCING_HAS_DLL=$(DLL_FLAG)
+TAO_LOG_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_LOG_HAS_DLL=$(DLL_FLAG)
+TAO_NAMING_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_NAMING_HAS_DLL=$(DLL_FLAG)
+TAO_NOTIFY_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_NOTIFY_HAS_DLL=$(DLL_FLAG)
+TAO_PROPERTY_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_PROPERTY_HAS_DLL=$(DLL_FLAG)
+TAO_RTEVENT_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_RTEVENT_HAS_DLL=$(DLL_FLAG)
+TAO_RTOLDEVENT_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_RTOLDEVENT_HAS_DLL=$(DLL_FLAG)
+TAO_RTSCHED_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_RTSCHED_HAS_DLL=$(DLL_FLAG)
+TAO_RTSCHEDEVENT_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_RTSCHEDEVENT_HAS_DLL=$(DLL_FLAG)
+TAO_SECURITY_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_SECURITY_HAS_DLL=$(DLL_FLAG)
+TAO_SSLIOP_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_SSLIOP_HAS_DLL=$(DLL_FLAG)
+TAO_TIME_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_TIME_HAS_DLL=$(DLL_FLAG)
+TAO_TRADING_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_TRADING_HAS_DLL=$(DLL_FLAG)
+TAO_PORTABLEGROUP_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_PORTABLEGROUP_HAS_DLL=$(DLL_FLAG)
+TAO_ETCL_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_ETCL_HAS_DLL=$(DLL_FLAG)
+
+#
+# Libraries
+#
+ACE_LIB = $(CORE_BINDIR)\ace$(LIB_DECORATOR).lib
+!ifdef SSL_ROOT
+SSL_LIB = $(SSL_ROOT)\out32$(DLL_NAME)\libeay32.lib $(SSL_ROOT)\out32$(DLL_NAME)\ssleay32.lib
+!endif
+ACE_XML_LIB = $(CORE_BINDIR)\ACEXML$(LIB_DECORATOR).lib
+ACE_SSL_LIB = $(CORE_BINDIR)\ACE_SSL$(LIB_DECORATOR).lib
+ACE_QOS_LIB = $(CORE_BINDIR)\ACE_QoS$(LIB_DECORATOR).lib
+NETSVCS_LIB = $(CORE_BINDIR)\netsvcs$(LIB_DECORATOR).lib
+ACE_RMCAST_LIB = $(CORE_BINDIR)\ACE_RMCast$(LIB_DECORATOR).lib
+TAO_LIB = $(CORE_BINDIR)\TAO$(LIB_DECORATOR).lib
+TAO_DOMAIN_LIB = $(CORE_BINDIR)\TAO_Domain$(LIB_DECORATOR).lib
+TAO_DYNAMICANY_LIB = $(CORE_BINDIR)\TAO_DynamicAny$(LIB_DECORATOR).lib
+TAO_DYNAMICINTERFACE_LIB = $(CORE_BINDIR)\TAO_DynamicInterface$(LIB_DECORATOR).lib
+TAO_BIDIRGIOP_LIB = $(CORE_BINDIR)\TAO_BiDirGIOP$(LIB_DECORATOR).lib
+TAO_IFR_CLIENT_LIB = $(CORE_BINDIR)\TAO_IFR_Client$(LIB_DECORATOR).lib
+TAO_PORTABLESERVER_LIB = $(CORE_BINDIR)\TAO_PortableServer$(LIB_DECORATOR).lib
+TAO_STRATEGIES_LIB = $(CORE_BINDIR)\TAO_Strategies$(LIB_DECORATOR).lib
+TAO_IORMANIP_LIB = $(CORE_BINDIR)\TAO_IORManip$(LIB_DECORATOR).lib
+TAO_IORTABLE_LIB = $(CORE_BINDIR)\TAO_IORTable$(LIB_DECORATOR).lib
+TAO_SMARTPROXIES_LIB = $(CORE_BINDIR)\TAO_SmartProxies$(LIB_DECORATOR).lib
+TAO_TYPECODEFACTORY_LIB = $(CORE_BINDIR)\TAO_TypeCodeFactory$(LIB_DECORATOR).lib
+TAO_RTCORBA_LIB = $(CORE_BINDIR)\TAO_RTCORBA$(LIB_DECORATOR).lib
+TAO_RTPORTABLESERVER_LIB = $(CORE_BINDIR)\TAO_RTPortableServer$(LIB_DECORATOR).lib
+TAO_IDL_BE_LIB = $(CORE_BINDIR)\TAO_IDL_BE$(LIB_DECORATOR).lib
+TAO_IDL_FE_LIB = $(CORE_BINDIR)\TAO_IDL_FE$(LIB_DECORATOR).lib
+TAO_SVC_UTILS_LIB = $(CORE_BINDIR)\TAO_Svc_Utils$(LIB_DECORATOR).lib
+TAO_AV_LIB = $(CORE_BINDIR)\TAO_AV$(LIB_DECORATOR).lib
+TAO_CONCURRENCY_LIB = $(CORE_BINDIR)\TAO_CosConcurrency$(LIB_DECORATOR).lib
+TAO_EVENT_LIB = $(CORE_BINDIR)\TAO_CosEvent$(LIB_DECORATOR).lib
+TAO_FT_LIB = $(CORE_BINDIR)\TAO_FaultTolerance$(LIB_DECORATOR).lib
+TAO_FTORB_LIB = $(CORE_BINDIR)\TAO_FTORB$(LIB_DECORATOR).lib
+TAO_LIFECYCLE_LIB = $(CORE_BINDIR)\TAO_CosLifeCycle$(LIB_DECORATOR).lib
+TAO_LOADBALANCING_LIB = $(CORE_BINDIR)\TAO_LoadBalancing$(LIB_DECORATOR).lib
+TAO_LOG_LIB = $(CORE_BINDIR)\TAO_DsLogAdmin$(LIB_DECORATOR).lib
+TAO_NAMING_LIB = $(CORE_BINDIR)\TAO_CosNaming$(LIB_DECORATOR).lib
+TAO_NOTIFY_LIB = $(CORE_BINDIR)\TAO_CosNotification$(LIB_DECORATOR).lib
+TAO_PROPERTY_LIB = $(CORE_BINDIR)\TAO_CosProperty$(LIB_DECORATOR).lib
+TAO_RTEVENT_LIB = $(CORE_BINDIR)\TAO_RTEvent$(LIB_DECORATOR).lib
+TAO_RTOLDEVENT_LIB = $(CORE_BINDIR)\TAO_RTOLDEvent$(LIB_DECORATOR).lib
+TAO_RTSCHED_LIB = $(CORE_BINDIR)\TAO_RTSched$(LIB_DECORATOR).lib
+TAO_RTSCHEDEVENT_LIB = $(CORE_BINDIR)\TAO_RTSchedEvent$(LIB_DECORATOR).lib
+TAO_SECURITY_LIB = $(CORE_BINDIR)\TAO_Security$(LIB_DECORATOR).lib
+TAO_SSLIOP_LIB = $(CORE_BINDIR)\TAO_SSLIOP$(LIB_DECORATOR).lib
+TAO_TIME_LIB = $(CORE_BINDIR)\TAO_CosTime$(LIB_DECORATOR).lib
+TAO_TRADING_LIB = $(CORE_BINDIR)\TAO_CosTrading$(LIB_DECORATOR).lib
+TAO_PORTABLEGROUP_LIB = $(CORE_BINDIR)\TAO_PortableGroup$(LIB_DECORATOR).lib
+TAO_ETCL_LIB = $(CORE_BINDIR)\TAO_ETCL$(LIB_DECORATOR).lib
+
+#
+# Compiler flags tests
+#
+TAO_RTEVENT_TEST_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs\tests\Event\lib -DEC_TEST_HAS_DLL=$(DLL_FLAG)
+TAO_COSEVENT_CECTEST_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs\tests\CosEvent\lib -DCEC_Test_HAS_DLL=$(DLL_FLAG)
+TAO_NOTIFYTESTS_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs\tests\Notify\lib -DTAO_NOTIFY_TEST_HAS_DLL=$(DLL_FLAG)
+#
+# Test Libraries
+#
+TAO_RTEVENT_TEST_LIB = $(CORE_BINDIR)\ECTests$(LIB_DECORATOR).lib
+TAO_COSEVENT_CECTEST_LIB = $(CORE_BINDIR)\CECTest$(LIB_DECORATOR).lib
+TAO_NOTIFYTESTS_LIB = $(CORE_BINDIR)\TAO_NotifyTests$(LIB_DECORATOR).lib
diff --git a/include/makeinclude/platform_linux.GNU b/include/makeinclude/platform_linux.GNU
new file mode 100644
index 00000000000..a08d9f529ff
--- /dev/null
+++ b/include/makeinclude/platform_linux.GNU
@@ -0,0 +1,135 @@
+# $Id$
+
+# According to Bryon G. Rigg <bgrigg@opus.bcbnet.com>, this file
+# should allow ACE to be built on Linux.
+
+# debug = 1
+# optimize = 1
+
+ifndef exceptions
+ exceptions = 1
+endif
+ifeq (,$(debug))
+ debug = 1
+endif
+ifeq (,$(optimize))
+ optimize = 1
+endif
+
+ifeq (,$(threads))
+ threads = 1
+endif
+
+ifeq ($(threads),0)
+ CPPFLAGS += -DACE_MT_SAFE=0
+endif # threads
+
+
+PLATFORM_XT_CPPFLAGS=
+PLATFORM_XT_LIBS=-lXt
+LATFORM_XT_LDFLAGS=
+
+PLATFORM_FL_CPPFLAGS=
+PLATFORM_FL_LIBS=-lfltk
+PLATFORM_FL_LDFLAGS=
+
+PLATFORM_X11_CPPFLAGS=-I/usr/X11R6/include
+PLATFORM_X11_LIBS=-lX11
+PLATFORM_X11_LDFLAGS=-L/usr/X11R6/lib
+
+PLATFORM_GL_CPPFLAGS=-I/usr/X11R6/include
+PLATFORM_GL_LIBS =-lGL
+PLATFORM_GL_LDFLAGS =-L/usr/X11R6/lib
+
+PLATFORM_GTK_CPPFLAGS=$(shell gtk-config --cflags)
+PLATFORM_GTK_LIBS =$(shell gtk-config --libs)
+PLATFORM_GTK_LDFLAGS=
+
+PLATFORM_WX_CPPFLAGS= $(shell wx-config --cflags) $(PLATFORM_GTK_CPPFLAGS)
+PLATFORM_WX_LIBS = $(shell wx-config --libs) $(PLATFORM_GTK_LIBS)
+PLATFORM_WX_LDFLAGS =
+
+PLATFORM_AIO_SUPPORT := \
+ $(shell test -e /usr/lib/librt.so && echo -DACE_HAS_AIO_CALLS)
+
+ifeq ($(insure),1)
+CC = insure
+CXX = insure
+else
+CC = gcc
+CXX = g++
+endif
+
+CXX_VERSION := $(shell $(CXX) -dumpversion)
+
+ifeq (2.95,$(findstring 2.95,$(CXX_VERSION)))
+ implicit_templates = 1
+else
+ ifeq (3.,$(findstring 3.,$(CXX_VERSION)))
+ implicit_templates = 1
+ endif
+ ifeq (2.96,$(findstring 2.96,$(CXX_VERSION)))
+ implicit_templates = 1
+ endif
+endif
+
+ifeq ($(implicit_templates),)
+ ifeq ($(IMPLICIT_TEMPLATES_FLAG),)
+ IMPLICIT_TEMPLATES_FLAG=-fno-implicit-templates
+ endif
+endif
+
+CFLAGS += -W -Wall -Wpointer-arith -pipe
+ifeq ($(threads),1)
+ CPPFLAGS += -D_POSIX_THREADS -D_POSIX_THREAD_SAFE_FUNCTIONS -D_REENTRANT \
+ $(PLATFORM_AIO_SUPPORT)
+endif # threads
+
+CCFLAGS += $(CFLAGS) $(IMPLICIT_TEMPLATES_FLAG)
+DCFLAGS += -g
+DLD = $(CXX)
+LD = $(CXX)
+LIBS += -ldl
+
+ifeq ($(threads),1)
+ LIBS += -lpthread
+ ifeq (-DACE_HAS_AIO_CALLS,$(PLATFORM_AIO_SUPPORT))
+ LIBS += -lrt
+ endif
+endif
+
+PLATFORM_QT_CPPFLAGS=-I$(QTDIR)/include
+PLATFORM_QT_LIBS=-lqt
+PLATFORM_QT_LDFLAGS=-L$(QTDIR)/lib
+
+OCFLAGS += -O3
+PIC = -fPIC
+AR = ar
+ARFLAGS = rsuv
+RANLIB = @true
+SOFLAGS = $(CPPFLAGS) -shared
+SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $<; \
+ $(SOLINK.cc) -o $@ $(LDFLAGS) $(VSHDIR)$*.o
+PRELIB = @true
+
+# Added line below to support "Executable Shared Object" files (as
+# needed by the service configurator).
+# Marius Kjeldahl <mariusk@sn.no, marius@funcom.com>
+ifeq ($(threads),1)
+ ESOBUILD = $(COMPILEESO.cc) $(PIC) -shared -o $(VSHDIR)$*.so $<
+ ifndef PRELIB
+ PRELIB = @true
+ endif # ! PRELIB
+endif
+
+#### GNU gas has a string limit of 4096 characters. On Alphas,
+#### builds will fail due to running over that limit. There are
+#### at least two workarounds:
+#### 1) Change the limit to 8192 characters and rebuild gas. See
+#### ACE-INSTALL.html for more information.
+#### 2) Don't use -g when compiling those files.
+#### If you're building on an Alpha and you haven't hacked and
+#### rebuilt gas, you might need to uncomment the following.
+#### ifeq ($(debug),1)
+#### SUPPRESS_DASH_G = 1
+#### endif # debug
diff --git a/include/makeinclude/platform_sunos5_sunc++.GNU b/include/makeinclude/platform_sunos5_sunc++.GNU
new file mode 100644
index 00000000000..8912196b49a
--- /dev/null
+++ b/include/makeinclude/platform_sunos5_sunc++.GNU
@@ -0,0 +1,223 @@
+# $Id$
+
+# SunOS 5.x (Solaris 2.x) with Sun C++ 4.2 and 5.x
+#
+# NOTE: Sun C++ 5.0 users might need to add this to their CCFLAGS:
+# -compat=4 and/or remove -instances=explicit. Please note that
+# inlining is disabled by default with Sun C++ 5.0. If you'd like
+# to try enabling it, comment out the "inline = 0" line below.
+#
+# To enable compilation of 64-bit binaries with Sun CC 5.0, a
+# platform_macros.GNU file such as this can be used:
+# fast=1
+# include $(ACE_ROOT)/include/makeinclude/platform_sunos5_sunc++.GNU
+# CCFLAGS += -xtarget=ultra2 -xarch=v9a #### CPU specific!
+# SOFLAGS += -xtarget=ultra2 -xarch=v9a
+# LDFLAGS += -L/opt/SUNWspro/SC5.0/lib/v9 -L/usr/lib/sparcv9
+# Please note that the xtarget and xarch settings are specific to
+# the target CPU. The /opt/SUNWspro/ Sun C++ installation directory
+# is site-specific.
+#
+# To build 64-bit binaries with Forte 6, build with the "buildbits=64"
+# option (make buildbits=64).
+#
+# With slight modification, this file could be used with Sun C++ 4.1.
+# However, it's likely that you won't be able to build all of ACE
+# with Sun C++ 4.1.
+#
+# NOTE: some ACE files might generate this warning:
+# "Warning: Could not find source for " one of the following:
+# default constructor, copy constructor, destructor, or assignment
+# operator. It appears that with +w, Sun C++ 4.x issues this warning
+# whenever it has to generate one of these functions (because it wasn't
+# defined by the user). This isn't really a problem.
+# This warning appears to be fixed by Sun C++ 4.2 jumbo patch 104631-02.
+#
+# -pta instantiates all template members, which makes libraries bigger.
+# But, it's supposed to put each member into it's own .o, so executable
+# size should not be penalized. We don't use it because it's not
+# necessary with automatic template instantiation.
+
+ifeq (,$(compat4))
+ compat4 = 0
+endif
+ifeq (,$(debug))
+ debug = 1
+endif
+ifeq (,$(distrib))
+ distrib = 0
+endif
+ifeq (,$(stdcpplib))
+ stdcpplib = 1
+endif
+ifeq (,$(threads))
+ threads = 1
+endif
+
+tk_reactor = 0
+ace_with_x11 = 0
+
+PLATFORM_TK_CPPFLAGS=
+PLATFORM_TK_LIBS=-ltk -ltcl
+PLATFORM_TK_LDFLAGS=
+
+PLATFORM_X11_CPPFLAGS= -I/usr/openwin/include -I/usr/dt/include
+PLATFORM_X11_LIBS =-lX11
+PLATFORM_X11_LDFLAGS=
+
+ifeq ($(threads),1)
+ CFLAGS += -mt
+ LDFLAGS += -mt
+endif # threads
+
+CC = cc
+CXX = CC
+
+CC_VERSION = $(shell $(CXX) -V 2>&1)
+
+ifeq (Compilers 4.2,$(findstring Compilers 4.2,$(CC_VERSION)))
+ #### CC 4.2, only, supports -features=castop
+ CCFLAGS += $(CFLAGS) -features=castop
+
+ #### RTTI can coexist with ACE, but it doesn't use it. To enable,
+ #### add rtti=1 to your make invocation. Sun C++ 4.2, only, supports
+ #### this option.
+ ifeq (1,$(rtti))
+ CCFLAGS += -features=rtti
+ else # ! rtti
+ #### ACE_LACKS_RTTI is necessary with -features=castop, but
+ #### without -features=rtti, to convert dynamic_cast to static_cast.
+ CCFLAGS += -DACE_LACKS_RTTI
+ endif # ! rtti
+
+ #### Create template repository to avoid compiler warning.
+ TEMPLATE_REPOSITORY = Templates.DB
+else # ! 4.2
+ ifeq (C++ 5,$(findstring C++ 5,$(CC_VERSION)))
+ #### CC 5.0 or later
+ #### Inlining appears to cause link problems with early releases of
+ #### CC 5.0.
+ ifeq (C++ 5.2,$(findstring C++ 5.2,$(CC_VERSION)))
+ inline = 1
+ exceptions = 1
+ else
+ inline = 0
+ endif
+
+ CCFLAGS += $(CFLAGS)
+
+ #### If compat=4 is desired, set up for that. There are syntactic diffs
+ #### in the compatibility modes, but here all we need to be concerned with
+ #### is turning on -compat=4, and not trying to enable the new libraries.
+ #### RTTI may work, but has not been tested. To try it, cut/paste the
+ #### rtti conditions from the 4.2 section, above.
+ ifeq ($(compat4),1)
+ CCFLAGS += -compat=4 -DACE_LACKS_RTTI -instances=explicit
+ else
+ #### Support RTTI by default. And, use explicit template instantiation
+ #### because automatic instantiation appears to be broken, at least
+ #### with early releases of CC 5.0. And, use old iostreams.
+ CCFLAGS += -instances=explicit
+ ifeq (C++ 5.0,$(findstring C++ 5.0,$(CC_VERSION)))
+ ifeq (1,$(stdcpplib))
+ CCFLAGS += -library=Cstd
+ else
+ CCFLAGS += -library=iostream,no%Cstd -DACE_USES_OLD_IOSTREAMS
+ endif # stdcpplib
+ else
+ ifeq (0,$(stdcpplib))
+ CCFLAGS += -library=iostream -DACE_USES_OLD_IOSTREAMS
+ endif # stdcpplib
+
+ # If 64-bit build is desired, turn that on. If no code gen options
+ # are given to Forte 6, the default build is 32-bit, even when
+ # building on a 64-bit system. Specifying xarch=v9 generates code
+ # that runs on any Sparc v9 (64-bit) processor. If you want to
+ # tune this further, you should extract and insert from CCFLAGS
+ # in a private platform_macros.GNU file.
+ ifeq (64,$(buildbits))
+ CCFLAGS += -xarch=v9
+ LDFLAGS += -xarch=v9
+ endif # buildbits
+ endif # CC 5.0
+ endif # compat4 requested
+ endif # CC 5.0 or later
+endif # ! 4.2
+
+DCFLAGS += -g
+DCCFLAGS += -g
+DLD = $(CXX)
+
+
+#### Sun CC-specific "Pure virtual finction called" bug fix trigger.
+CPPFLAGS += -DSUN_CC_HAS_PVFC_BUG
+
+#### Exception handling breaks on MP machines prior to Sun C++ 4.2
+#### with jumbo patch 104631-02, see ace/config-sunos5.5.h.
+#### If you are using a version of Sun C++ prior to 4,2, or haven't
+#### applied that jumbo patch to your 4.2, or don't want to pay the
+#### performance penalty of exception handling, then use the default
+#### of no exceptions. If you want to enable exception handling,
+#### add "exceptions=1" to your "make" invocation.
+ifeq (0,$(exceptions))
+ CCFLAGS += -noex
+endif # ! exceptions
+
+LD = $(CXX)
+ifeq ($(distrib),0)
+ LDFLAGS += -R $(ACE_ROOT)/ace -R./
+endif
+ LIBS += -lsocket -ldl -lnsl -lgen -lposix4
+
+ifeq (C++ 5,$(findstring C++ 5,$(CC_VERSION)))
+ ifeq ($(compat4),1)
+ COMPAT_LIBDIR=/opt/SUNWspro/lib/CC4
+ LIBS += -L$(COMPAT_LIBDIR) -lC
+ endif
+endif
+
+LDFLAGS += -xildoff
+
+OCFLAGS += -O
+PIC = -KPIC
+AR = CC
+ARFLAGS = -xar -o
+RANLIB = echo
+SOFLAGS = -G $(CPPFLAGS)
+
+ifdef BIN
+ #### Builds .shobj/$*.o file, then .shobj/$*.so file. The .o files
+ #### are used for building libraries and executables. But, it seems
+ #### to be necessary to build the .so files (with -G) in order to get
+ #### all template instantiations.
+ SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $<; \
+ $(SOLINK.cc) -o $@ -h $@ $(LDFLAGS) $(VSHDIR)$*.o
+else
+ #### Optimize builds when no executables are built in the current
+ #### directory. Only a library is being created, and -G is used
+ #### in that step. Therefore, all templates instantations are
+ #### included in the library. This optimization saves almost 11 Mb
+ #### (2.6 percent) and 27 minutes (22 percent) on the entire ACE
+ #### build on a 168 MHz Sun Ultra2.
+ ####
+ #### Sun C++ won't allow the output from a compile to be named with
+ #### a .so extension. Rather than muck with the ACE build rules and
+ #### risk upsetting builds on other platforms, just ln the output
+ #### after building it.
+ SOBUILD = $(RM) $@; $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $< && \
+ /bin/ln $(VSHDIR)$*.o $@
+endif # BIN
+
+#### The following macro overrides enable creation of fast executables.
+#### They _don't_ support fast compilation :-)
+#### To use, add fast=1 to your "make" invocation.
+####
+#### -g is incompatible with -fast. If you need -g, you can
+#### use "-fast -O3".
+####
+ifeq (1,$(fast))
+ CFLAGS += -fast
+ DCFLAGS =
+ DCCFLAGS =
+ LDFLAGS += -fast
+endif # fast
diff --git a/include/makeinclude/wrapper_macros.GNU b/include/makeinclude/wrapper_macros.GNU
new file mode 100644
index 00000000000..446be2c6ed8
--- /dev/null
+++ b/include/makeinclude/wrapper_macros.GNU
@@ -0,0 +1,701 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+# $Id$
+#----------------------------------------------------------------------------
+#
+# ACE supports the following flags. They can be enabled either on
+# the command line, e.g., "make purify=1", or added to your
+# platform_macros.GNU. To disable the option, set the flag to null,
+# e.g., "make debug=". Some flags support setting to 0 disable,
+# e.g., "make debug=0". debug=1 is enabled in the platform files
+# that are released with ACE.
+#
+# Please note that the effects of a flag may be platform specific.
+# Also, combinations of certain flags may or may not be allowed on
+# specific platforms, e.g., debug=1 opt=1 is supported by g++ but
+# not all other C++ compilers.
+#
+# Flag Description
+# ---- -----------
+# debug Enable debugging; see DCFLAGS and DCCFLAGS.
+# exceptions Enable exception handling (not supported by all platforms).
+# include_env Enable usage of CORBA::Environment parameters that is
+# compatible with TAO versions before 1.2.2. Default:
+# disabled. Has no effect when building with exceptions=0
+# minimum_corba Enable minimumCORBA support. (Documented here, but
+# implemented in TAO/rules.TAO.GNU.)
+# fast Enable -fast option, e.g., with Sun C++.
+# inline Enable ACE inlining. Some platforms enable inlining by
+# default, others do not.
+# optimize Enable optimization; see OCFLAGS and OCCFLAGS.
+# pace Enable PACE as the underpinnings of ACE_OS.
+# probe Enable ACE_Timeprobes.
+# profile Enable profiling; see PCFLAGS and PCCFLAGS.
+# purify Purify all executables. purify must be in user's PATH!
+# quantify Quantify all executables. quantify must be in user's PATH!
+# repo Use GNU template repository (g++ with repo patches and
+# egcs only).
+# rtti Enable run-time type identification. On some platforms,
+# it is enabled by default, so this is ignored.
+# shared_libs Build shared libraries. Ignored if static_libs_only is set.
+# static_libs Build static libraries. Ignored if shared_libs_only is set.
+# shared_libs_only Only build shared libraries. Ignored if no SHLIBs are
+# specified by the Makefile, as in performance-tests/Misc.
+# static_libs_only Only build static libraries.
+# threads Build with thread support.
+# xt_reactor Build the XtReactor.
+# fl_reactor Build the FlReactor.
+# tk_reactor Build the TkReactor.
+# qt_reactor Build the QtReactor.
+# gtk_reactor Build the GtkReactor.
+# ssl Build with OpenSSL support.
+# rapi Build with RAPI
+# split Build the library by first splitting up the ACE source to several
+# files, with one object code entity for each source file. This allows
+# an application that is linked with ACE to extract _exactly_ what it
+# needs from the library, resulting in a smaller executable.
+# Setting this to 1 overrides debug to 0.
+#
+# Usually, users do not need to be concerned with make targets.
+# Just enter "make" on the command line to build. A few notable
+# targets are listed below.
+#
+# Target Description
+# ------ -----------
+# show_statics Lists all static objects in object files built for
+# current directory. Only supported for g++.
+# show_uninit Lists all uninitialized in object files built for
+# current directory. Only supported for g++.
+#
+# The following describes the ACE wrapper macros:
+#
+# Variable Description
+# -------- -----------
+# ACE_HAS_GNUG_PRE_2_8 CXX includes "g++", and the g++ version is
+# prior to 2.8.0. This is automatically determined
+# below, but can be overridden in the user's
+# platform_macros.GNU or environment. Three values
+# are supported:
+# 1 for g++ < 2.8.0,
+# 0 for g++ >= 2.8.0 or egcs,
+# undefined for non-g++ compilers.
+# ARFLAGS Flags for the archive utility (ar)
+# CC C compiler command
+# CXX C++ compiler command
+# COMPILE.c Flags for compiling with C
+# COMPILE.cc Flags for compiling with C++
+# CPPFLAGS C pre-processor flags
+# CFLAGS C compilation flags
+# CCFLAGS C++ compilation flags
+# DCFLAGS C compilation flags for debugging
+# DCCFLAGS C++ compilation flags for debugging
+# DEFFLAGS C++ preprocessor flag for defining symbols
+# DLD Name of dynamic linker
+# LD Name of linker
+# IDL Name of the CORBA IDL compiler
+# INSBIN Binary (executable) installation directory
+# INSINC Include file installation directory
+# INSMAN Manpage installation directory
+# INSLIB Library installation directory
+# LDFLAGS ld linker flags
+# LINK.c Flags for linking with C
+# LINK.cc Flags for linking with C++
+# MAKEFLAGS Flags that are passed into the compilation from the commandline
+# OCFLAGS Optimizing C compilation flags
+# OCCFLAGS Optimizing C++ compilation flags
+# PCFLAGS C compilation flags for profiling
+# PCCFLAGS C++ compilation flags for profiling
+# PLATFORM_XT_CPPFLAGS Platform CPP options for X11 (some require -I...)
+# PLATFORM_XT_LDFLAGS Platform LD options for X11 (some require -L...)
+# PLATFORM_XT_LIBS Platform libraries require with X11
+# PLATFORM_SSL_CPPFLAGS Platform CPP options for OpenSSL (may need -I...)
+# PLATFORM_SSL_LDFLAGS Platform LD options for OpenSSL (may need -L...)
+# PLATFORM_SSL_LIBS Platform libraries required with OpenSSL
+# PLATFORM_RAPI_CPPFLAGS Platform CPP options for RAPI
+# PLATFORM_RAPI_LDFLAGS Platform LD options for RAPI
+# PLATFORM_RAPI_LIBS Platform libraries required with RAPI
+# PRELINK Executable to precede linking, such as quantify
+# PURELINK If set, contains purify executable as well as all options
+# PURE_CACHE_BASE_DIR
+# The base directory in which Pure products will produce
+# instrumented libraries. If you don't want that to be below
+# /tmp, set this variable in your environment or on the make
+# command line.
+# PURE_CACHE_DIR
+# The full name of the directory in which Pure produces will
+# produce instrumented libraries.
+# PTDIRS Pathnames of directories containing template code
+# RM Name of program to use to remove files
+# SOFLAGS Flags used to build a shared library
+# SOLINK.cc Link line necessary to build a share library
+# VAR Variant identifier suffix
+# VDIR Directory for object code
+# VSHDIR Directory for shared object code
+# ACE_ROOT Pathname for the root of the build tree
+#
+#----------------------------------------------------------------------------
+# Platform-dependent macro definitions
+# (link to the appropriate platform-specific config file).
+#----------------------------------------------------------------------------
+
+#### Default to building shared libraries only. Set it here to give the
+#### platform a chance to override.
+ifeq ($(shared_libs),)
+ shared_libs = 1
+endif # shared_libs
+ifeq ($(static_libs),)
+ static_libs = 0
+endif # static_libs
+
+#### Defined versioned_so = 1 if your platform requires version number
+#### be appended after so library.
+versioned_so = 0
+
+#### The system has X Windows and we want to include the XtReactor in
+#### the library
+xt_reactor = 0
+
+ifndef PACE_ROOT
+ PACE_ROOT = $(ACE_ROOT)/PACE
+endif # PACE_ROOT
+
+# Include this before the below variables to make it possible for
+# platform_macros.GNU to set default values for them.
+include $(ACE_ROOT)/include/makeinclude/platform_macros.GNU
+
+####
+#### Defaults are exceptions off (0), fast off (0), and rtti off (0)
+####
+ifndef exceptions
+ exceptions = 0
+endif
+
+ifndef fast
+ fast = 0
+endif
+
+# @@@ Should this really be the default? Or should we let the
+# compiler choose?
+ifndef rtti
+ rtti = 0
+endif
+
+#----------------------------------------------------------------------------
+# Platform-independent macro definitions
+#----------------------------------------------------------------------------
+
+CPPFLAGS += $(DEFFLAGS) $(INCLDIRS)
+
+# Define default extentions for IDL-generated files
+ifeq ($(IDL_CLIENT_HDR_EXT),)
+IDL_CLIENT_HDR_EXT = C.h
+endif
+ifeq ($(IDL_CLIENT_INL_EXT),)
+IDL_CLIENT_INL_EXT = C.i
+endif
+ifeq ($(IDL_CLIENT_SRC_EXT),)
+IDL_CLIENT_SRC_EXT = C.cpp
+endif
+ifeq ($(IDL_SERVER_HDR_EXT),)
+IDL_SERVER_HDR_EXT = S.h
+endif
+ifeq ($(IDL_SERVER_INL_EXT),)
+IDL_SERVER_INL_EXT = S.i
+endif
+ifeq ($(IDL_SERVER_SRC_EXT),)
+IDL_SERVER_SRC_EXT = S.cpp
+endif
+ifeq ($(IDL_SERVER_THDR_EXT),)
+IDL_SERVER_THDR_EXT = S_T.h
+endif
+ifeq ($(IDL_SERVER_TINL_EXT),)
+IDL_SERVER_TINL_EXT = S_T.i
+endif
+ifeq ($(IDL_SERVER_TSRC_EXT),)
+IDL_SERVER_TSRC_EXT = S_T.cpp
+endif
+
+ifeq (,$(findstring -I$(ACE_ROOT),$(INCLDIRS)))
+ INCLDIRS += -I$(ACE_ROOT)
+endif
+INSBIN = $(ACE_ROOT)/bin
+INSINC = $(ACE_ROOT)/ace
+INSLIB = $(ACE_ROOT)/ace
+INSMAN = $(ACE_ROOT)/man
+ifeq (,$(findstring -L$(ACE_ROOT)/ace,$(LDFLAGS)))
+ LDFLAGS += -L$(ACE_ROOT)/ace -L./
+endif
+LEX = flex
+
+ifndef COMSPEC
+ ifdef ComSpec
+ #### ACE+TAO use COMSPEC, but ComSpec is defined.
+ COMSPEC = $(ComSpec)
+ endif # ComSpec
+endif # ! COMPSPEC
+
+ifdef COMSPEC
+ #### Assume we're on a WIN32 host.
+ ACE_NUL = nul
+else # ! WIN32
+ ACE_NUL = /dev/null
+endif # ! WIN32
+
+#### Redirect stderr to nul device, and mask exit status.
+ACE_NUL_STDERR = 2>$(ACE_NUL) || true
+PCFLAGS += #### set in platform_macros.GNU file, e.g., -p
+PCCFLAGS += #### set in platform_macros.GNU file, e.g., -p
+VAR =
+
+# Let users override the default VDIR directories
+ifndef VDIR
+VDIR = .obj/
+endif # VDIR
+ifndef VSHDIR
+ VSHDIR = .shobj/
+endif # VSHDIR
+
+ifndef ACELIB
+ ACELIB = -lACE
+endif
+
+# NOTE: VLDLIBS is defined below, in case it is overridden for static-
+# or shared-only builds.
+YACC = bison
+
+# Define SOEXT trailing digits if platform needs it.
+ifeq ($(versioned_so),1)
+ ACE_LDSO_Version_Number := $(shell echo .`perl -ne 'if (/ACE version/) \
+ { s/[^0-9]+(\d+\.\d+)(\.\d+)?.+/\1/ ; print }' ${ACE_ROOT}/VERSION `)
+else
+ ACE_LDSO_Version_Number =
+endif
+
+#----------------------------------------------------------------------------
+# Platform-dependent macros that require platform_macros.GNU.
+#----------------------------------------------------------------------------
+
+ifeq ($(findstring g++,$(CXX)),g++)
+ ifndef ACE_HAS_GNUG_PRE_2_8
+ ifeq ($(filter g++,$(notdir $(CXX))),g++)
+ ACE_HAS_GNUG_PRE_2_8 := \
+ $(shell \
+ if $(CXX) --version | egrep '^(cygnus-)?2\.[0-7]' > /dev/null; then \
+ echo 1; else echo 0; fi)
+ else # ! g++
+ ifeq (eg++,$(filter g++,$(notdir $(CXX))),eg++)
+ # Assume that eg++ is egcs.
+ ACE_HAS_GNUG_PRE_2_8 := 0
+ else # ! plain g++ or eg++
+ # CXX is something like g++386. Assume, for now, that it's an old g++.
+ ACE_HAS_GNUG_PRE_2_8 := 1
+ endif # ! plain g++ or eg++
+ endif # ! g++
+ endif # ! ACE_HAS_GNUG_PRE_2_8
+endif # g++
+
+# We dont want to hard code. Looks like the contents of VDIR should
+# have the right contents in any type of builds. If not, folks please
+# feel to revert it to the way things were in rev 4.114.
+ifndef OBJDIRS
+ OBJDIRS = $(basename $(VDIR))
+endif # OBJDIRS
+
+ifndef OBJEXT
+ OBJEXT=o
+endif
+
+ifndef SOEXT
+ SOEXT=so
+endif
+
+ifndef LIBEXT
+ LIBEXT=a
+endif
+
+ifndef CC_OUTPUT_FLAG
+ CC_OUTPUT_FLAG = -o
+endif # CC_OUTPUT_FLAG
+
+ifndef SO_OUTPUT_FLAG
+ SO_OUTPUT_FLAG = -o
+endif # SO_OUTPUT_FLAG
+
+ifndef LINK_OUTPUT_FLAG
+ LINK_OUTPUT_FLAG = -o
+endif # LINK_OUTPUT_FLAG
+
+#----------------------------------------------------------------------------
+# make flags
+#----------------------------------------------------------------------------
+
+ifeq ($(optimize),0)
+ override optimize =
+endif # optimize
+
+ifneq ($(optimize),)
+ CFLAGS += $(OCFLAGS)
+ CCFLAGS += $(OCCFLAGS)
+endif # optimize
+
+ifeq ($(split),0)
+ override split =
+endif # split
+
+ifneq ($(split),)
+ override split_target = SPLIT
+ override debug = 0
+ CPPFLAGS += -DACE_IS_SPLITTING
+else
+ override split_target =
+endif # split
+
+ifeq ($(debug),0)
+ override debug =
+endif # debug
+
+ifeq ($(debug),)
+ CPPFLAGS += -DACE_NDEBUG
+# Disable the RCSID for release/non-debug builds.
+ ifeq (,$(findstring ACE_USE_RCSID,$(CPPFLAGS)))
+ CPPFLAGS += -DACE_USE_RCSID=0
+ endif
+else
+ CFLAGS += $(DCFLAGS)
+ CCFLAGS += $(DCCFLAGS)
+endif # debug
+
+ifeq ($(threads),0)
+ override threads =
+endif # threads
+
+ifeq ($(xt_reactor),0)
+ override xt_reactor =
+endif # xt_reactor
+
+ifneq ($(xt_reactor),)
+ override ace_with_x11=1
+ CPPFLAGS += -DACE_HAS_XT $(PLATFORM_XT_CPPFLAGS)
+ LIBS += $(PLATFORM_XT_LIBS)
+ LDFLAGS += $(PLATFORM_XT_LDFLAGS)
+endif # xt_reactor
+
+ifeq ($(fl_reactor),0)
+ override fl_reactor =
+endif # fl_reactor
+
+ifneq ($(fl_reactor),)
+ override ace_with_x11=1
+ override ace_with_gl=1
+ CPPFLAGS += -DACE_HAS_FL $(PLATFORM_FL_CPPFLAGS)
+ LIBS += $(PLATFORM_FL_LIBS)
+ LDFLAGS += $(PLATFORM_FL_LDFLAGS)
+endif # fl_reactor
+
+ifeq ($(tk_reactor),0)
+ override tk_reactor =
+endif # tk_reactor
+
+ifneq ($(tk_reactor),)
+ override ace_with_tk=1
+ CPPFLAGS += -DACE_HAS_TK $(PLATFORM_TK_CPPFLAGS)
+ LIBS += $(PLATFORM_TK_LIBS)
+ LDFLAGS += $(PLATFORM_TK_LDFLAGS)
+endif # tk_reactor
+
+ifeq ($(qt_reactor),0)
+ override qt_reactor =
+endif # qt_reactor
+
+ifneq ($(qt_reactor),)
+ override ace_with_qt=1
+ CPPFLAGS += -DACE_HAS_QT $(PLATFORM_QT_CPPFLAGS)
+ LIBS += $(PLATFORM_QT_LIBS)
+ LDFLAGS += $(PLATFORM_QT_LDFLAGS)
+endif # qt_reactor
+
+ifneq ($(QTDIR),)
+ MOC = ${QTDIR}/bin/moc
+else
+ MOC = moc
+endif
+
+ifeq ($(gtk_reactor),0)
+ override gtk_reactor =
+endif # gtk_reactor
+
+ifneq ($(gtk_reactor),)
+ override ace_with_gtk=1
+ CPPFLAGS += -DACE_HAS_GTK $(PLATFORM_GTK_CPPFLAGS)
+ LIBS += $(PLATFORM_GTK_LIBS)
+ LDFLAGS += $(PLATFORM_GTK_LDFLAGS)
+endif # gtk_reactor
+
+ifeq ($(rapi),0)
+ override rapi =
+endif #rapi
+
+ifneq ($(rapi),)
+ CPPFLAGS += -DACE_HAS_RAPI $(PLATFORM_RAPI_CPPFLAGS)
+ LIBS += $(PLATFORM_RAPI_LIBS)
+ LDFLAGS += $(PLATFORM_RAPI_LDFLAGS)
+endif # rapi
+
+ifeq ($(ace_with_gl),0)
+ override ace_with_gl =
+endif # ace_with_gl
+
+ifneq ($(ace_with_gl),)
+ override ace_with_x11 = 1
+ CPPFLAGS += $(PLATFORM_GL_CPPFLAGS)
+ LIBS += $(PLATFORM_GL_LIBS)
+ LDFLAGS += $(PLATFORM_GL_LDFLAGS)
+endif # ace_with_gl
+
+ifeq ($(ace_with_x11),0)
+ override ace_with_x11 =
+endif # ace_with_x11
+
+ifneq ($(ace_with_x11),)
+ CPPFLAGS += $(PLATFORM_X11_CPPFLAGS)
+ LIBS += $(PLATFORM_X11_LIBS)
+ LDFLAGS += $(PLATFORM_X11_LDFLAGS)
+endif # ace_with_x11
+
+ifeq ($(ssl),0)
+ override ssl =
+endif # ssl
+
+ifneq ($(ssl),)
+ CPPFLAGS += $(PLATFORM_SSL_CPPFLAGS)
+ LIBS += $(PLATFORM_SSL_LIBS)
+ LDFLAGS += $(PLATFORM_SSL_LDFLAGS)
+endif # ssl
+
+ifeq ($(exceptions),0)
+ ifeq ($(include_env),1)
+ CPPFLAGS += -DACE_ENV_BKWD_COMPAT
+ endif
+ ifeq ($(ACE_HAS_GNUG_PRE_2_8),0)
+ #### Disable the default exception handling of g++ >= 2.8.0.
+ ifneq ($(ACE_GNUG_ON_UNIXWARE),)
+ CCFLAGS += -fcheck-new
+ else
+ CCFLAGS += -fno-exceptions -fcheck-new
+ endif # ! ACE_GNUG_ON_UNIXWARE
+ endif # ! ACE_HAS_GNUG_PRE_2_8
+else # exceptions
+ CPPFLAGS += -DACE_HAS_EXCEPTIONS
+ ifeq ($(ACE_HAS_GNUG_PRE_2_8),1)
+ #### Enable exception handling with g++ < 2.8.0. Not recommended,
+ #### but provided here for completeness.
+ CCFLAGS += -fhandle-exceptions
+ else # ! ACE_HAS_GNUG_PRE_2_8
+ ifeq ($(ACE_HAS_GNUG_PRE_2_8),0)
+ #### Disable this warning on g++ >= 2.8.0 if exceptions are enabled,
+ #### it gets confused and reports too many bogus warnings.
+ CFLAGS += -Wno-uninitialized
+ endif # g++ > 2.8.0
+ endif # ! ACE_HAS_GNUG_PRE_2_8
+endif # exceptions
+
+ifeq ($(pace),0)
+ override pace=
+endif # pace
+
+ifneq ($(pace),)
+ ifneq ($(inline),0)
+ CPPFLAGS += -DPACE_HAS_INLINE=1
+ endif
+ CPPFLAGS += -DACE_HAS_PACE -DPACE_HAS_ALL_POSIX_FUNCS -I$(ACE_ROOT)/PACE
+ ACELIB = -lACE
+ ifeq ($(inline),0)
+ ACELIB += -lPACE
+ LDFLAGS += -L$(PACE_ROOT)/pace/
+ endif # inline == 0
+ ifdef VXWORKS
+ ACELIB += -lPACE
+ LDFLAGS += -L$(PACE_ROOT)/pace/
+ endif # inline == 0
+ include $(PACE_ROOT)/include/makeinclude/rules.common.GNU
+endif # pace
+
+ifeq ($(profile),0)
+ override profile =
+endif # profile
+
+ifneq ($(profile),)
+ CFLAGS += $(PCFLAGS)
+ CCFLAGS += $(PCCFLAGS)
+endif # profile
+
+ifeq ($(inline),0)
+ CPPFLAGS += -DACE_NO_INLINE
+else
+ifeq ($(inline),1)
+ CPPFLAGS += -D__ACE_INLINE__
+endif # inline eq 1
+endif # inline eq 0
+
+ifeq ($(shared_libs),0)
+ override shared_libs =
+endif # shared_libs
+ifeq ($(static_libs),0)
+ override static_libs =
+endif # static_libs
+
+ifeq ($(shared_libs_only),0)
+ override shared_libs_only =
+endif # shared_libs_only
+ifeq ($(static_libs_only),0)
+ override static_libs_only =
+endif # static_libs_only
+
+ifdef shared_libs_only
+ override shared_libs = 1
+ override static_libs =
+endif # shared_libs_only
+ifdef static_libs_only
+ override shared_libs =
+ override static_libs = 1
+endif # static_libs_only
+
+#### We need to set VBIN here, because it's used in the BUILD
+#### definitions below.
+VBIN = $(BIN:%=%$(VAR))
+
+ifdef shared_libs
+ ifdef static_libs
+ #### Build both shared and static libs.
+ BUILD = $(VSHLIB) $(SHLIBA) $(VLIB) $(VBIN)
+ else # ! static_libs
+ #### Build shared libs only.
+ ifeq ($(SHLIB),)
+ #### Makefile only specifies static libs, so only build static libs.
+ BUILD = $(VLIB) $(VBIN)
+ else # ! SHLIB
+ #### Don't build static libs.
+ BUILD = $(VSHLIB) $(SHLIBA) $(VBIN)
+ LIB =
+# OBJEXT = so
+ ifndef VXWORKS
+ VDIR = $(basename $(VSHDIR))
+ ifeq ($(BIN),)
+ #### No executables are being built, so don't create .obj/.
+ OBJDIRS = $(VSHDIR)
+ endif # BIN
+ endif # ! VXWORKS
+ endif # ! SHLIB
+ endif # ! static_libs
+
+ ifdef SHLIBA
+ LDLIBS := $(LDLIBS:-l%=-l%shr)
+ ACE_SHLIBS := $(ACE_SHLIBS:-l%=-l%shr)
+ endif # SHLIBA
+else # ! shared_libs
+ ifdef static_libs
+ #### Don't build shared libs.
+ BUILD = $(VLIB) $(VBIN)
+ OBJDIRS = $(basename $(VDIR))
+ PIC =
+ SHLIB =
+ SOEXT = o
+ VSHDIR = $(basename $(VDIR))
+ VLDLIBS = $(LDLIBS:%.so=%.o)
+ else # ! static_libs
+ #### Don't build any libs.
+ BUILD = $(VBIN)
+ endif # ! static_libs
+endif # ! shared_libs
+
+VLDLIBS = $(LDLIBS) $(ACELIB) $(LIBS)
+
+ifeq ($(probe),0)
+ override probe =
+endif # probe
+
+ifeq ($(probe),1)
+ CPPFLAGS += -DACE_COMPILE_TIMEPROBES
+endif # probe
+
+ifeq ($(purify),0)
+ override purify =
+endif # purify
+
+PURE_CACHE_BASE_DIR = /tmp/purifycache
+PURE_CACHE_DIR = $(PURE_CACHE_BASE_DIR)-$(LOGNAME)-$(notdir $(CXX) )
+
+ifdef purify
+ #### Pick up Purify directory from the users PATH.
+ ACE_PURIFY_DIR := \
+ $(shell type purify | sed -e 's/.* is //' -e 's%/purify$$%%')
+
+ #### You might want to adjust the Purify options below.
+ #### -best-effort is undocumented but supported, and seems
+ #### to help avoid occasional link failure.
+ PURELINK += purify -best-effort -cache-dir=$(PURE_CACHE_DIR) \
+ -chain-length=20 -fds-inuse-at-exit=no \
+ -inuse-at-exit -max_threads=100
+ CPPFLAGS += -DACE_HAS_PURIFY -I$(ACE_PURIFY_DIR)
+endif # purify
+
+ifeq ($(quantify),0)
+ override quantify =
+endif # quantify
+
+ifdef quantify
+ #### Pick up Quantify directory from the users PATH.
+ ACE_QUANTIFY_DIR := \
+ $(shell type quantify | sed -e 's/.* is //' -e 's%/quantify$$%%')
+
+ #### You might want to adjust the Quantify options below.
+ #### -best-effort is undocumented but supported, and seems
+ #### to help avoid occasional link failure.
+ PRELINK += quantify -best-effort -cache-dir=$(PURE_CACHE_DIR) \
+ -max_threads=100
+ CPPFLAGS += -DACE_HAS_QUANTIFY -I$(ACE_QUANTIFY_DIR)
+
+ ifeq ($(shell uname -p),sparc)
+ PRELINK += -record-register-window-traps
+ endif # sparc
+endif # quantify
+
+ifeq ($(repo),0)
+ override repo =
+endif # repo
+
+ifdef repo
+ #### Remove -fno-implicit-templates from, and add -frepo to, CCFLAGS.
+ CCFLAGS := $(strip $(subst -fno-implicit-templates,,$(CCFLAGS)))
+ CCFLAGS += -frepo
+ CPPFLAGS += -DACE_HAS_GNU_REPO
+# ace_lib_prelink := 1
+endif # repo
+
+
+#----------------------------------------------------------------------------
+# Conditional macro definitions
+#----------------------------------------------------------------------------
+
+COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c
+COMPILE.cc = $(CXX) $(CCFLAGS) $(CPPFLAGS) $(PTDIRS) -c
+COMPILE-NO_DASH_G.cc = `echo $(COMPILE.cc) | sed 's/-g //'`
+# 960905 Marius Kjeldahl <marius@funcom.com>
+# Added the line below to be used for compiling executable shared objects
+COMPILEESO.cc = $(CXX) $(CCFLAGS) $(CPPFLAGS) $(PTDIRS)
+
+ifeq ($(LINK.c),override)
+ LINK.c = $(LINK.c.override)
+else
+ LINK.c = $(PURELINK) $(PRELINK) $(LD) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) \
+ $(LDLIBS) $(LIBS)
+endif # LINK.c.override
+
+ifeq ($(LINK.cc),override)
+ LINK.cc = $(LINK.cc.override)
+else
+ LINK.cc = $(PURELINK) $(PRELINK) $(LD) $(CCFLAGS) $(CPPFLAGS) $(PTDIRS)
+endif # LINK.cc.override
+
+SOLINK.cc = $(PRELINK) $(DLD) $(SOFLAGS)
diff --git a/tests/Framework_Component_Test.cpp b/tests/Framework_Component_Test.cpp
new file mode 100644
index 00000000000..6b1b4e3cadd
--- /dev/null
+++ b/tests/Framework_Component_Test.cpp
@@ -0,0 +1,116 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = DESCRIPTION
+// This program tests both the ACE_Framework_Compondent and ACE_Repository.
+//
+// = AUTHOR
+// Don Hinton <dhinton@ieee.org>
+//
+// ============================================================================
+
+#include "ace/Framework_Component.h"
+
+#include "ace/OS.h"
+#include "ace/Get_Opt.h"
+#include "ace/ARGV.h"
+#include "ace/SString.h"
+#include "tests/test_config.h"
+
+ACE_RCSID(tests, Framework_Component_Test, "$Id$")
+
+/// This is a singleton we will use to test the ACE_Framework_Repository
+class My_Singleton
+{
+public:
+ My_Singleton (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("My_Singleton::ctor\n")));
+ }
+ virtual ~My_Singleton (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("My_Singleton::dtor\n")));
+ }
+
+ static My_Singleton * instance (void);
+
+ static void close_singleton (void);
+
+private:
+ static My_Singleton *instance_;
+};
+
+My_Singleton *My_Singleton::instance_ = 0;
+
+void
+My_Singleton::close_singleton (void)
+{
+ ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("My_Singleton::close_singleton\n")));
+ delete My_Singleton::instance_;
+ My_Singleton::instance_ = 0;
+}
+
+My_Singleton *
+My_Singleton::instance (void)
+{
+ ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("My_Singleton::instance\n")));
+
+ if (My_Singleton::instance_ == 0)
+ {
+ // Perform Double-Checked Locking Optimization.
+ ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon,
+ *ACE_Static_Object_Lock::instance (), 0));
+ if (My_Singleton::instance_ == 0)
+ {
+ ACE_NEW_RETURN (My_Singleton::instance_,
+ My_Singleton (),
+ 0);
+ ACE_REGISTER_FRAMEWORK_COMPONENT(My_Singleton, My_Singleton::instance_);
+ }
+ }
+ return My_Singleton::instance_;
+}
+
+
+int
+main (int, ACE_TCHAR *argv[])
+{
+ ACE_START_TEST (ACE_LIB_TEXT("Framework_Component_Test"));
+ ACE_UNUSED_ARG (argv);
+
+ // Create an instance of My_Singleton that will be managed
+ // by the ACE_Framework_Repository and keep a pointer to
+ // instance.
+ My_Singleton *first = My_Singleton::instance ();
+
+ // Now, close down the repository.
+ ACE_Framework_Repository::close_singleton ();
+
+ ACE_Framework_Repository::instance ();
+
+ // Now get another pointer to My_Singleton and make sure
+ // that it's different. We could also test other pointers
+ // like ACE_Reactor, ACE_Proactor, or the repository itself
+ // if we wanted.
+ My_Singleton *second = My_Singleton::instance ();
+
+ if (first == second)
+ ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("Pointer are equal, but shouldn't be.\n")));
+
+ // Close down the repository again since we are writing debug messages.
+ // And want all of them to go to the log.
+ ACE_Framework_Repository::close_singleton ();
+
+ ACE_END_TEST;
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Framework_Component_T<My_Singleton>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Framework_Component_T<My_Singleton>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/tests/Framework_Component_Test.dsp b/tests/Framework_Component_Test.dsp
new file mode 100644
index 00000000000..d66987f6ac0
--- /dev/null
+++ b/tests/Framework_Component_Test.dsp
@@ -0,0 +1,162 @@
+# Microsoft Developer Studio Project File - Name="Framework_Component_Test" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Framework_Component_Test - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Framework_Component_Test.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Framework_Component_Test.mak" CFG="Framework_Component_Test - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Framework_Component_Test - Win32 Static Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "Framework_Component_Test - Win32 Static Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Framework_Component_Test - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Framework_Component_Test - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Framework_Component_Test - Win32 Static Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Static_Debug"
+# PROP BASE Intermediate_Dir "Static_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Static_Debug"
+# PROP Intermediate_Dir "Static_Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "_DEBUG" /D ACE_AS_STATIC_LIBS /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
+# ADD LINK32 acesd.lib advapi32.lib user32.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Framework_Component_Test - Win32 Static Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Static_Release"
+# PROP BASE Intermediate_Dir "Static_Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Static_Release"
+# PROP Intermediate_Dir "Static_Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D ACE_AS_STATIC_LIBS /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 aces.lib advapi32.lib user32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Framework_Component_Test - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Framework_Component_Test - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "Framework_Component_Test - Win32 Static Debug"
+# Name "Framework_Component_Test - Win32 Static Release"
+# Name "Framework_Component_Test - Win32 Release"
+# Name "Framework_Component_Test - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
+# Begin Source File
+
+SOURCE=.\Framework_Component_Test.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
+# Begin Source File
+
+SOURCE=.\test_config.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/tests/Get_Opt_Test.icc b/tests/Get_Opt_Test.icc
new file mode 100644
index 00000000000..a3e18db1fb0
--- /dev/null
+++ b/tests/Get_Opt_Test.icc
@@ -0,0 +1,15 @@
+// $Id$
+
+include "vacpp_setup.icc"
+option
+ link(libSearchPath, platformLibSearchPath),
+ incl(searchPath, ".."),
+ link(linkWithMultiThreadLib,yes),
+ link(debug)
+ {
+ target type (exe) "Get_Opt_Test"
+ {
+ source type (cpp) "Get_Opt_Test.cpp"
+ source platformLinkLibs
+ }
+ }
diff --git a/tests/INET_Addr_Test.icc b/tests/INET_Addr_Test.icc
new file mode 100644
index 00000000000..c897cdf43db
--- /dev/null
+++ b/tests/INET_Addr_Test.icc
@@ -0,0 +1,15 @@
+// $Id$
+
+include "vacpp_setup.icc"
+option
+ link(libSearchPath, platformLibSearchPath),
+ incl(searchPath, ".."),
+ link(linkWithMultiThreadLib,yes),
+ link(debug)
+ {
+ target type (exe) "INET_Addr_Test"
+ {
+ source type (cpp) "INET_Addr_Test.cpp"
+ source platformLinkLibs
+ }
+ }
diff --git a/tests/Makefile b/tests/Makefile
new file mode 100644
index 00000000000..b9ac6110b76
--- /dev/null
+++ b/tests/Makefile
@@ -0,0 +1,12996 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+# Makefile for all the ACE ``one-button' tests
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+BIN = Aio_Platform_Test \
+ Arg_Shifter_Test \
+ ARGV_Test \
+ Atomic_Op_Test \
+ Auto_IncDec_Test \
+ Barrier_Test \
+ Basic_Types_Test \
+ Bound_Ptr_Test \
+ Buffer_Stream_Test \
+ Cache_Map_Manager_Test \
+ Cached_Accept_Conn_Test \
+ Cached_Conn_Test \
+ Capabilities_Test \
+ CDR_File_Test \
+ CDR_Test \
+ Collection_Test \
+ Config_Test \
+ Conn_Test \
+ Date_Time_Test \
+ Dirent_Test \
+ DLList_Test \
+ DLL_Test\
+ Enum_Interfaces_Test \
+ Env_Value_Test \
+ Framework_Component_Test \
+ Future_Test \
+ Future_Set_Test \
+ Get_Opt_Test \
+ Handle_Set_Test \
+ High_Res_Timer_Test \
+ Hash_Map_Manager_Test \
+ Hash_Map_Bucket_Iterator_Test \
+ INET_Addr_Test \
+ IOStream_Test \
+ Lazy_Map_Manager_Test \
+ Log_Msg_Test \
+ Logging_Strategy_Test \
+ Malloc_Test \
+ Map_Test \
+ Map_Manager_Test \
+ Max_Default_Port_Test \
+ MEM_Stream_Test \
+ Mem_Map_Test \
+ MM_Shared_Memory_Test \
+ MT_Reactor_Timer_Test \
+ MT_SOCK_Test \
+ Message_Block_Test \
+ Message_Queue_Test \
+ Message_Queue_Test_Ex \
+ Message_Queue_Notifications_Test \
+ Notify_Performance_Test \
+ Object_Manager_Test \
+ OrdMultiSet_Test \
+ OS_Test \
+ Proactor_Test \
+ Proactor_Timer_Test \
+ Process_Mutex_Test \
+ Process_Strategy_Test \
+ Priority_Buffer_Test \
+ Dynamic_Priority_Test \
+ Priority_Task_Test \
+ Priority_Reactor_Test \
+ Process_Manager_Test \
+ Pipe_Test \
+ RB_Tree_Test \
+ Reactors_Test \
+ Reactor_Exceptions_Test \
+ Reactor_Notify_Test \
+ Reactor_Performance_Test \
+ Reactor_Timer_Test \
+ Reader_Writer_Test \
+ Recursive_Mutex_Test \
+ Refcounted_Auto_Ptr_Test \
+ Reverse_Lock_Test \
+ Semaphore_Test \
+ Signal_Test \
+ Sigset_Ops_Test \
+ Simple_Message_Block_Test \
+ SOCK_Test \
+ SOCK_Connector_Test \
+ SOCK_Send_Recv_Test \
+ SPIPE_Test \
+ SString_Test \
+ SV_Shared_Memory_Test \
+ Svc_Handler_Test \
+ Task_Test \
+ Thread_Manager_Test \
+ Thread_Mutex_Test \
+ Thread_Pool_Test \
+ Timeprobe_Test \
+ Time_Service_Test \
+ Time_Value_Test \
+ Timer_Queue_Test \
+ TSS_Test \
+ Vector_Test \
+ UPIPE_SAP_Test \
+ Upgradable_RW_Test
+
+BIN2 = Naming_Test \
+ Thread_Pool_Reactor_Test \
+ Thread_Pool_Reactor_Resume_Test \
+ XtReactor_Test \
+ FlReactor_Test \
+ TkReactor_Test
+
+#### If the ACE library wasn't built with all components, don't
+#### try to build certain tests.
+ACE_BUILD_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --ace)
+ifeq (Other,$(findstring Other,$(ACE_BUILD_COMPONENTS)))
+ BIN += $(BIN2)
+endif # ! Other
+ifeq (Token,$(findstring Token,$(ACE_BUILD_COMPONENTS)))
+ BIN += Tokens_Test
+else
+ #### Ensure that Tokens_Test gets cleaned up, even if the ace
+ #### directory was realcleaned first (and ACE_BUILD_COMPONENTS
+ #### is empty).
+ BIN2 += Tokens_Test
+endif # ! Token
+
+PSRC=$(addsuffix .cpp,$(BIN))
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+
+ifneq ($(ACE_HAS_GNUG_PRE_2_8),1)
+ ifeq ($(LYNXTARGET),)
+ BIN += CDR_Array_Test
+ BUILD += CDR_Array_Test
+ else
+ #### LynxOS: but only with 3.1.0 or later. (Pre-3.0.0 has
+ #### ACE_GNUG_PRE_2_8 == 1.)
+ ifneq ($(VERSION),3.0.0)
+ BIN += CDR_Array_Test
+ BUILD += CDR_Array_Test
+ endif # > 3.0.0
+ endif
+endif
+
+ifeq ($(shared_libs),1)
+# The Service_Config_Test dynamically loads a shared library.
+ BIN += Service_Config_Test
+endif # shared_libs
+
+ifneq ($(ACE_HAS_GNUG_PRE_2_8),1)
+ ifneq ($(rmcast),0)
+ DIRS += RMCast
+ endif # rmcast
+endif # ACE_HAS_GNUG_PRE_2_8
+
+ifeq ($(ssl),1)
+ DIRS += SSL
+endif # ssl
+
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+
+ifdef purify
+ #### SIGINT is used by Thread_Manager_Test.
+ #### SIGHUP and SIGTERM are used by Signal_Test.
+ PURELINK += -ignore-signals=SIGHUP,SIGINT,SIGTERM
+endif # purify
+
+ifndef SOEXT
+ SOEXT=so
+endif
+ifdef shared_libs
+ ifndef VXWORKS
+ #### Build libDLL_Test and libService_Config_DLL libraries first,
+ #### so that they don't see the template instantiations from all
+ #### of the tests.
+ BUILD := \
+ libDLL_Test.$(SOEXT) \
+ libService_Config_DLL.$(SOEXT) \
+ $(BUILD)
+ endif # ! VXWORKS
+endif # shared_libs
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to wipe out any previously-created tempinc directory.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+COMPILE.cc := $(RM) -rf tempinc; $(COMPILE.cc)
+endif
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+
+libDLL_Test.$(SOEXT): DLL_Test_Impl.cpp DLL_Test_Impl.h
+ @$(MAKE) -f Makefile.DLL_Test
+
+libService_Config_DLL.$(SOEXT): Service_Config_DLL.cpp Service_Config_DLL.h
+ @$(MAKE) -f Makefile.Service_Config_DLL
+
+ifdef VXWORKS
+all: run_test.vxworks
+
+run_test.vxworks: run_test.lst
+ run_test.pl -v -Config STATIC -Config CHECK_RESOURCES -o run_test.vxworks
+endif
+
+realclean: clean
+ -$(MAKE) -f Makefile.DLL_Test realclean
+ -$(MAKE) -f Makefile.Service_Config_DLL realclean
+ -$(RM) log/compilations.log*
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Aio_Platform_Test.o .obj/Aio_Platform_Test.so .shobj/Aio_Platform_Test.o .shobj/Aio_Platform_Test.so: Aio_Platform_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp
+
+.obj/Arg_Shifter_Test.o .obj/Arg_Shifter_Test.so .shobj/Arg_Shifter_Test.o .shobj/Arg_Shifter_Test.so: Arg_Shifter_Test.cpp \
+ $(ACE_ROOT)/ace/Arg_Shifter.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ test_config.h \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp
+
+.obj/ARGV_Test.o .obj/ARGV_Test.so .shobj/ARGV_Test.o .shobj/ARGV_Test.so: ARGV_Test.cpp \
+ $(ACE_ROOT)/ace/ARGV.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/ARGV.i \
+ test_config.h \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp
+
+.obj/Atomic_Op_Test.o .obj/Atomic_Op_Test.so .shobj/Atomic_Op_Test.o .shobj/Atomic_Op_Test.so: Atomic_Op_Test.cpp \
+ test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Atomic_Op.cpp
+
+.obj/Auto_IncDec_Test.o .obj/Auto_IncDec_Test.so .shobj/Auto_IncDec_Test.o .shobj/Auto_IncDec_Test.so: Auto_IncDec_Test.cpp \
+ $(ACE_ROOT)/ace/Auto_IncDec_T.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Auto_IncDec_T.i \
+ $(ACE_ROOT)/ace/Auto_IncDec_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Atomic_Op.cpp \
+ test_config.h
+
+.obj/Barrier_Test.o .obj/Barrier_Test.so .shobj/Barrier_Test.o .shobj/Barrier_Test.so: Barrier_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i
+
+.obj/Basic_Types_Test.o .obj/Basic_Types_Test.so .shobj/Basic_Types_Test.o .shobj/Basic_Types_Test.so: Basic_Types_Test.cpp \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Version.h \
+ test_config.h \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp
+
+.obj/Bound_Ptr_Test.o .obj/Bound_Ptr_Test.so .shobj/Bound_Ptr_Test.o .shobj/Bound_Ptr_Test.so: Bound_Ptr_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Method_Request.h \
+ $(ACE_ROOT)/ace/Activation_Queue.h \
+ $(ACE_ROOT)/ace/Activation_Queue.i \
+ $(ACE_ROOT)/ace/Bound_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/Bound_Ptr.i
+
+.obj/Buffer_Stream_Test.o .obj/Buffer_Stream_Test.so .shobj/Buffer_Stream_Test.o .shobj/Buffer_Stream_Test.so: Buffer_Stream_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Stream.h \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Stream.i \
+ $(ACE_ROOT)/ace/Stream.cpp
+
+.obj/Cache_Map_Manager_Test.o .obj/Cache_Map_Manager_Test.so .shobj/Cache_Map_Manager_Test.o .shobj/Cache_Map_Manager_Test.so: Cache_Map_Manager_Test.cpp \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ test_config.h \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Cache_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Cache_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Cache_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Caching_Strategies_T.h \
+ $(ACE_ROOT)/ace/Caching_Utility_T.h \
+ $(ACE_ROOT)/ace/Cleanup_Strategies_T.h \
+ $(ACE_ROOT)/ace/Cleanup_Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Caching_Utility_T.cpp \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Caching_Strategies_T.i \
+ $(ACE_ROOT)/ace/Caching_Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ Cache_Map_Manager_Test.h
+
+.obj/Cached_Accept_Conn_Test.o .obj/Cached_Accept_Conn_Test.so .shobj/Cached_Accept_Conn_Test.o .shobj/Cached_Accept_Conn_Test.so: Cached_Accept_Conn_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ Cached_Accept_Conn_Test.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ $(ACE_ROOT)/ace/Acceptor.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Svc_Handler.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Svc_Handler.cpp \
+ $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \
+ $(ACE_ROOT)/ace/Dynamic.h \
+ $(ACE_ROOT)/ace/Dynamic.i \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Refcountable.h \
+ $(ACE_ROOT)/ace/Refcountable.inl \
+ $(ACE_ROOT)/ace/Hashable.h \
+ $(ACE_ROOT)/ace/Hashable.inl \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/Process_Mutex.inl \
+ $(ACE_ROOT)/ace/WFMO_Reactor.i \
+ $(ACE_ROOT)/ace/Acceptor.cpp \
+ $(ACE_ROOT)/ace/Connector.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Connector.cpp \
+ $(ACE_ROOT)/ace/Caching_Utility_T.h \
+ $(ACE_ROOT)/ace/Cleanup_Strategies_T.h \
+ $(ACE_ROOT)/ace/Cleanup_Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Caching_Utility_T.cpp \
+ $(ACE_ROOT)/ace/Cached_Connect_Strategy_T.h \
+ $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Cache_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Cache_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Cache_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Caching_Strategies_T.h \
+ $(ACE_ROOT)/ace/Caching_Strategies_T.i \
+ $(ACE_ROOT)/ace/Caching_Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Cached_Connect_Strategy_T.cpp \
+ $(ACE_ROOT)/ace/Handle_Gobbler.h \
+ $(ACE_ROOT)/ace/Handle_Gobbler.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+.obj/Cached_Conn_Test.o .obj/Cached_Conn_Test.so .shobj/Cached_Conn_Test.o .shobj/Cached_Conn_Test.so: Cached_Conn_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ Cached_Conn_Test.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Svc_Handler.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Svc_Handler.cpp \
+ $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \
+ $(ACE_ROOT)/ace/Dynamic.h \
+ $(ACE_ROOT)/ace/Dynamic.i \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ $(ACE_ROOT)/ace/Acceptor.h \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Refcountable.h \
+ $(ACE_ROOT)/ace/Refcountable.inl \
+ $(ACE_ROOT)/ace/Hashable.h \
+ $(ACE_ROOT)/ace/Hashable.inl \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/Process_Mutex.inl \
+ $(ACE_ROOT)/ace/WFMO_Reactor.i \
+ $(ACE_ROOT)/ace/Acceptor.cpp \
+ $(ACE_ROOT)/ace/Connector.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Connector.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/Caching_Utility_T.h \
+ $(ACE_ROOT)/ace/Cleanup_Strategies_T.h \
+ $(ACE_ROOT)/ace/Cleanup_Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Caching_Utility_T.cpp \
+ $(ACE_ROOT)/ace/Cached_Connect_Strategy_T.h \
+ $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Cache_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Cache_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Cache_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Caching_Strategies_T.h \
+ $(ACE_ROOT)/ace/Caching_Strategies_T.i \
+ $(ACE_ROOT)/ace/Caching_Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Cached_Connect_Strategy_T.cpp \
+ $(ACE_ROOT)/ace/Handle_Gobbler.h \
+ $(ACE_ROOT)/ace/Handle_Gobbler.i
+
+.obj/Capabilities_Test.o .obj/Capabilities_Test.so .shobj/Capabilities_Test.o .shobj/Capabilities_Test.so: Capabilities_Test.cpp \
+ $(ACE_ROOT)/ace/Capabilities.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Capabilities.i \
+ test_config.h \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp
+
+.obj/CDR_File_Test.o .obj/CDR_File_Test.so .shobj/CDR_File_Test.o .shobj/CDR_File_Test.so: CDR_File_Test.cpp \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(ACE_ROOT)/ace/FILE_Connector.h \
+ $(ACE_ROOT)/ace/FILE_IO.h \
+ $(ACE_ROOT)/ace/FILE.h \
+ $(ACE_ROOT)/ace/IO_SAP.h \
+ $(ACE_ROOT)/ace/IO_SAP.i \
+ $(ACE_ROOT)/ace/FILE_Addr.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/FILE_Addr.i \
+ $(ACE_ROOT)/ace/FILE.i \
+ $(ACE_ROOT)/ace/FILE_IO.i \
+ $(ACE_ROOT)/ace/FILE_Connector.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ test_config.h \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp
+
+.obj/CDR_Test.o .obj/CDR_Test.so .shobj/CDR_Test.o .shobj/CDR_Test.so: CDR_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(ACE_ROOT)/ace/CDR_Stream.i
+
+.obj/Collection_Test.o .obj/Collection_Test.so .shobj/Collection_Test.o .shobj/Collection_Test.so: Collection_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp
+
+.obj/Config_Test.o .obj/Config_Test.so .shobj/Config_Test.o .shobj/Config_Test.so: Config_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ Config_Test.h \
+ $(ACE_ROOT)/ace/Configuration.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Hash_Map_With_Allocator_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Hash_Map_With_Allocator_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_With_Allocator_T.cpp \
+ $(ACE_ROOT)/ace/Configuration_Import_Export.h
+
+.obj/Conn_Test.o .obj/Conn_Test.so .shobj/Conn_Test.o .shobj/Conn_Test.so: Conn_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/LOCK_SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ $(ACE_ROOT)/ace/LOCK_SOCK_Acceptor.cpp \
+ $(ACE_ROOT)/ace/Acceptor.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Svc_Handler.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Svc_Handler.cpp \
+ $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \
+ $(ACE_ROOT)/ace/Dynamic.h \
+ $(ACE_ROOT)/ace/Dynamic.i \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Refcountable.h \
+ $(ACE_ROOT)/ace/Refcountable.inl \
+ $(ACE_ROOT)/ace/Hashable.h \
+ $(ACE_ROOT)/ace/Hashable.inl \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/Process_Mutex.inl \
+ $(ACE_ROOT)/ace/WFMO_Reactor.i \
+ $(ACE_ROOT)/ace/Acceptor.cpp \
+ $(ACE_ROOT)/ace/Connector.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Connector.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ Conn_Test.h
+
+.obj/Date_Time_Test.o .obj/Date_Time_Test.so .shobj/Date_Time_Test.o .shobj/Date_Time_Test.so: Date_Time_Test.cpp \
+ $(ACE_ROOT)/ace/Date_Time.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Date_Time.i \
+ test_config.h \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp
+
+.obj/Dirent_Test.o .obj/Dirent_Test.so .shobj/Dirent_Test.o .shobj/Dirent_Test.so: Dirent_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Dirent.h \
+ $(ACE_ROOT)/ace/Dirent.i \
+ $(ACE_ROOT)/ace/Dirent_Selector.h \
+ $(ACE_ROOT)/ace/Dirent_Selector.inl
+
+.obj/DLList_Test.o .obj/DLList_Test.so .shobj/DLList_Test.o .shobj/DLList_Test.so: DLList_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i
+
+.obj/DLL_Test.o .obj/DLL_Test.so .shobj/DLL_Test.o .shobj/DLL_Test.so: DLL_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ DLL_Test.h \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp
+
+.obj/Enum_Interfaces_Test.o .obj/Enum_Interfaces_Test.so .shobj/Enum_Interfaces_Test.o .shobj/Enum_Interfaces_Test.so: Enum_Interfaces_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/INET_Addr.i
+
+.obj/Env_Value_Test.o .obj/Env_Value_Test.so .shobj/Env_Value_Test.o .shobj/Env_Value_Test.so: Env_Value_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Process.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Process.i \
+ $(ACE_ROOT)/ace/Env_Value_T.h \
+ $(ACE_ROOT)/ace/Env_Value_T.i \
+ $(ACE_ROOT)/ace/Env_Value_T.cpp
+
+.obj/Future_Test.o .obj/Future_Test.so .shobj/Future_Test.o .shobj/Future_Test.so: Future_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Future.h \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Refcountable.h \
+ $(ACE_ROOT)/ace/Refcountable.inl \
+ $(ACE_ROOT)/ace/Hashable.h \
+ $(ACE_ROOT)/ace/Hashable.inl \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/Process_Mutex.inl \
+ $(ACE_ROOT)/ace/WFMO_Reactor.i \
+ $(ACE_ROOT)/ace/Future.cpp \
+ $(ACE_ROOT)/ace/Method_Request.h \
+ $(ACE_ROOT)/ace/Activation_Queue.h \
+ $(ACE_ROOT)/ace/Activation_Queue.i \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Atomic_Op.cpp
+
+.obj/Future_Set_Test.o .obj/Future_Set_Test.so .shobj/Future_Set_Test.o .shobj/Future_Set_Test.so: Future_Set_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Future.h \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Refcountable.h \
+ $(ACE_ROOT)/ace/Refcountable.inl \
+ $(ACE_ROOT)/ace/Hashable.h \
+ $(ACE_ROOT)/ace/Hashable.inl \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/Process_Mutex.inl \
+ $(ACE_ROOT)/ace/WFMO_Reactor.i \
+ $(ACE_ROOT)/ace/Future.cpp \
+ $(ACE_ROOT)/ace/Future_Set.h \
+ $(ACE_ROOT)/ace/Future_Set.cpp \
+ $(ACE_ROOT)/ace/Method_Request.h \
+ $(ACE_ROOT)/ace/Activation_Queue.h \
+ $(ACE_ROOT)/ace/Activation_Queue.i \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Atomic_Op.cpp
+
+.obj/Get_Opt_Test.o .obj/Get_Opt_Test.so .shobj/Get_Opt_Test.o .shobj/Get_Opt_Test.so: Get_Opt_Test.cpp \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/ARGV.h \
+ $(ACE_ROOT)/ace/ARGV.i \
+ test_config.h \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp
+
+.obj/Handle_Set_Test.o .obj/Handle_Set_Test.so .shobj/Handle_Set_Test.o .shobj/Handle_Set_Test.so: Handle_Set_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Profile_Timer.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i \
+ $(ACE_ROOT)/ace/Profile_Timer.i \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp
+
+.obj/High_Res_Timer_Test.o .obj/High_Res_Timer_Test.so .shobj/High_Res_Timer_Test.o .shobj/High_Res_Timer_Test.so: High_Res_Timer_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i \
+ $(ACE_ROOT)/ace/Sched_Params.h \
+ $(ACE_ROOT)/ace/Sched_Params.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+.obj/Hash_Map_Manager_Test.o .obj/Hash_Map_Manager_Test.so .shobj/Hash_Map_Manager_Test.o .shobj/Hash_Map_Manager_Test.so: Hash_Map_Manager_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h
+
+.obj/Hash_Map_Bucket_Iterator_Test.o .obj/Hash_Map_Bucket_Iterator_Test.so .shobj/Hash_Map_Bucket_Iterator_Test.o .shobj/Hash_Map_Bucket_Iterator_Test.so: Hash_Map_Bucket_Iterator_Test.cpp \
+ test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+.obj/INET_Addr_Test.o .obj/INET_Addr_Test.so .shobj/INET_Addr_Test.o .shobj/INET_Addr_Test.so: INET_Addr_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/INET_Addr.i
+
+.obj/IOStream_Test.o .obj/IOStream_Test.so .shobj/IOStream_Test.o .shobj/IOStream_Test.so: IOStream_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Acceptor.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Svc_Handler.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Svc_Handler.cpp \
+ $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \
+ $(ACE_ROOT)/ace/Dynamic.h \
+ $(ACE_ROOT)/ace/Dynamic.i \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Refcountable.h \
+ $(ACE_ROOT)/ace/Refcountable.inl \
+ $(ACE_ROOT)/ace/Hashable.h \
+ $(ACE_ROOT)/ace/Hashable.inl \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/Process_Mutex.inl \
+ $(ACE_ROOT)/ace/WFMO_Reactor.i \
+ $(ACE_ROOT)/ace/Acceptor.cpp \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ $(ACE_ROOT)/ace/IOStream.h \
+ $(ACE_ROOT)/ace/IOStream_T.h \
+ $(ACE_ROOT)/ace/IOStream_T.i \
+ $(ACE_ROOT)/ace/IOStream_T.cpp
+
+.obj/Lazy_Map_Manager_Test.o .obj/Lazy_Map_Manager_Test.so .shobj/Lazy_Map_Manager_Test.o .shobj/Lazy_Map_Manager_Test.so: Lazy_Map_Manager_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp
+
+.obj/Log_Msg_Test.o .obj/Log_Msg_Test.so .shobj/Log_Msg_Test.o .shobj/Log_Msg_Test.so: Log_Msg_Test.cpp \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/FILE_Connector.h \
+ $(ACE_ROOT)/ace/FILE_IO.h \
+ $(ACE_ROOT)/ace/FILE.h \
+ $(ACE_ROOT)/ace/IO_SAP.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/IO_SAP.i \
+ $(ACE_ROOT)/ace/FILE_Addr.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/FILE_Addr.i \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/FILE.i \
+ $(ACE_ROOT)/ace/FILE_IO.i \
+ $(ACE_ROOT)/ace/FILE_Connector.i \
+ $(ACE_ROOT)/ace/Log_Msg_Callback.h \
+ test_config.h \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp
+
+.obj/Logging_Strategy_Test.o .obj/Logging_Strategy_Test.so .shobj/Logging_Strategy_Test.o .shobj/Logging_Strategy_Test.so: Logging_Strategy_Test.cpp \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ test_config.h
+
+.obj/Malloc_Test.o .obj/Malloc_Test.so .shobj/Malloc_Test.o .shobj/Malloc_Test.so: Malloc_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Process.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Process.i \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/Process_Mutex.inl \
+ $(ACE_ROOT)/ace/PI_Malloc.h \
+ $(ACE_ROOT)/ace/Based_Pointer_T.h \
+ $(ACE_ROOT)/ace/Based_Pointer_T.i \
+ $(ACE_ROOT)/ace/Based_Pointer_T.cpp \
+ $(ACE_ROOT)/ace/Based_Pointer_Repository.h \
+ $(ACE_ROOT)/ace/PI_Malloc.i \
+ Malloc_Test.h
+
+.obj/Map_Test.o .obj/Map_Test.so .shobj/Map_Test.o .shobj/Map_Test.so: Map_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ Map_Test.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Map.h \
+ $(ACE_ROOT)/ace/Pair.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(ACE_ROOT)/ace/Profile_Timer.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i \
+ $(ACE_ROOT)/ace/Profile_Timer.i
+
+.obj/Map_Manager_Test.o .obj/Map_Manager_Test.so .shobj/Map_Manager_Test.o .shobj/Map_Manager_Test.so: Map_Manager_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Profile_Timer.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i \
+ $(ACE_ROOT)/ace/Profile_Timer.i \
+ $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Cache_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Cache_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Cache_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Caching_Strategies_T.h \
+ $(ACE_ROOT)/ace/Caching_Utility_T.h \
+ $(ACE_ROOT)/ace/Cleanup_Strategies_T.h \
+ $(ACE_ROOT)/ace/Cleanup_Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Caching_Utility_T.cpp \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Caching_Strategies_T.i \
+ $(ACE_ROOT)/ace/Caching_Strategies_T.cpp
+
+.obj/Max_Default_Port_Test.o .obj/Max_Default_Port_Test.so .shobj/Max_Default_Port_Test.o .shobj/Max_Default_Port_Test.so: Max_Default_Port_Test.cpp \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ Max_Default_Port_Test.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ test_config.h
+
+.obj/MEM_Stream_Test.o .obj/MEM_Stream_Test.so .shobj/MEM_Stream_Test.o .shobj/MEM_Stream_Test.so: MEM_Stream_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/MEM_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/MEM_Stream.h \
+ $(ACE_ROOT)/ace/MEM_IO.h \
+ $(ACE_ROOT)/ace/MEM_SAP.h \
+ $(ACE_ROOT)/ace/PI_Malloc.h \
+ $(ACE_ROOT)/ace/Based_Pointer_T.h \
+ $(ACE_ROOT)/ace/Based_Pointer_T.i \
+ $(ACE_ROOT)/ace/Based_Pointer_T.cpp \
+ $(ACE_ROOT)/ace/Based_Pointer_Repository.h \
+ $(ACE_ROOT)/ace/PI_Malloc.i \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/Process_Mutex.inl \
+ $(ACE_ROOT)/ace/MEM_SAP.i \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Process_Semaphore.h \
+ $(ACE_ROOT)/ace/Process_Semaphore.inl \
+ $(ACE_ROOT)/ace/MEM_IO.i \
+ $(ACE_ROOT)/ace/MEM_Stream.i \
+ $(ACE_ROOT)/ace/MEM_Addr.h \
+ $(ACE_ROOT)/ace/MEM_Addr.i \
+ $(ACE_ROOT)/ace/MEM_Connector.i \
+ $(ACE_ROOT)/ace/MEM_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/MEM_Acceptor.i \
+ $(ACE_ROOT)/ace/Select_Reactor.h \
+ $(ACE_ROOT)/ace/Select_Reactor_T.h \
+ $(ACE_ROOT)/ace/Select_Reactor_Base.h \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Token.h \
+ $(ACE_ROOT)/ace/Token.i \
+ $(ACE_ROOT)/ace/Pipe.h \
+ $(ACE_ROOT)/ace/Pipe.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Select_Reactor_Base.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Select_Reactor_T.cpp \
+ $(ACE_ROOT)/ace/Timer_Heap.h \
+ $(ACE_ROOT)/ace/Timer_Heap_T.h \
+ $(ACE_ROOT)/ace/Timer_Heap_T.cpp \
+ $(ACE_ROOT)/ace/Select_Reactor_T.i \
+ $(ACE_ROOT)/ace/Connector.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Svc_Handler.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Svc_Handler.cpp \
+ $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \
+ $(ACE_ROOT)/ace/Dynamic.h \
+ $(ACE_ROOT)/ace/Dynamic.i \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Refcountable.h \
+ $(ACE_ROOT)/ace/Refcountable.inl \
+ $(ACE_ROOT)/ace/Hashable.h \
+ $(ACE_ROOT)/ace/Hashable.inl \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/WFMO_Reactor.i \
+ $(ACE_ROOT)/ace/Connector.cpp \
+ $(ACE_ROOT)/ace/Acceptor.h \
+ $(ACE_ROOT)/ace/Acceptor.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Atomic_Op.cpp \
+ $(ACE_ROOT)/ace/Process.h \
+ $(ACE_ROOT)/ace/Process.i \
+ $(ACE_ROOT)/ace/Process_Manager.h \
+ $(ACE_ROOT)/ace/Process_Manager.i \
+ MEM_Stream_Test.h
+
+.obj/Mem_Map_Test.o .obj/Mem_Map_Test.so .shobj/Mem_Map_Test.o .shobj/Mem_Map_Test.so: Mem_Map_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i
+
+.obj/MM_Shared_Memory_Test.o .obj/MM_Shared_Memory_Test.so .shobj/MM_Shared_Memory_Test.o .shobj/MM_Shared_Memory_Test.so: MM_Shared_Memory_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Shared_Memory_MM.h \
+ $(ACE_ROOT)/ace/Shared_Memory.h \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/Shared_Memory_MM.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/Process_Semaphore.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Process_Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i
+
+.obj/MT_Reactor_Timer_Test.o .obj/MT_Reactor_Timer_Test.so .shobj/MT_Reactor_Timer_Test.o .shobj/MT_Reactor_Timer_Test.so: MT_Reactor_Timer_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ MT_Reactor_Timer_Test.h \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Pipe.h \
+ $(ACE_ROOT)/ace/Pipe.i
+
+.obj/MT_SOCK_Test.o .obj/MT_SOCK_Test.so .shobj/MT_SOCK_Test.o .shobj/MT_SOCK_Test.so: MT_SOCK_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i
+
+.obj/Message_Block_Test.o .obj/Message_Block_Test.so .shobj/Message_Block_Test.o .shobj/Message_Block_Test.so: Message_Block_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Profile_Timer.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i \
+ $(ACE_ROOT)/ace/Profile_Timer.i
+
+.obj/Message_Queue_Test.o .obj/Message_Queue_Test.so .shobj/Message_Queue_Test.o .shobj/Message_Queue_Test.so: Message_Queue_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i
+
+.obj/Message_Queue_Test_Ex.o .obj/Message_Queue_Test_Ex.so .shobj/Message_Queue_Test_Ex.o .shobj/Message_Queue_Test_Ex.so: Message_Queue_Test_Ex.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i
+
+.obj/Message_Queue_Notifications_Test.o .obj/Message_Queue_Notifications_Test.so .shobj/Message_Queue_Notifications_Test.o .shobj/Message_Queue_Notifications_Test.so: \
+ Message_Queue_Notifications_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Reactor_Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Reactor_Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Atomic_Op.cpp
+
+.obj/Notify_Performance_Test.o .obj/Notify_Performance_Test.so .shobj/Notify_Performance_Test.o .shobj/Notify_Performance_Test.so: Notify_Performance_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Profile_Timer.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i \
+ $(ACE_ROOT)/ace/Profile_Timer.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/Process_Mutex.inl \
+ $(ACE_ROOT)/ace/WFMO_Reactor.i \
+ $(ACE_ROOT)/ace/Select_Reactor.h \
+ $(ACE_ROOT)/ace/Select_Reactor_T.h \
+ $(ACE_ROOT)/ace/Select_Reactor_Base.h \
+ $(ACE_ROOT)/ace/Token.h \
+ $(ACE_ROOT)/ace/Token.i \
+ $(ACE_ROOT)/ace/Pipe.h \
+ $(ACE_ROOT)/ace/Pipe.i \
+ $(ACE_ROOT)/ace/Select_Reactor_Base.i \
+ $(ACE_ROOT)/ace/Select_Reactor_T.cpp \
+ $(ACE_ROOT)/ace/Timer_Heap.h \
+ $(ACE_ROOT)/ace/Timer_Heap_T.h \
+ $(ACE_ROOT)/ace/Timer_Heap_T.cpp \
+ $(ACE_ROOT)/ace/Select_Reactor_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Atomic_Op.cpp
+
+.obj/Object_Manager_Test.o .obj/Object_Manager_Test.so .shobj/Object_Manager_Test.o .shobj/Object_Manager_Test.so: Object_Manager_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp
+
+.obj/OrdMultiSet_Test.o .obj/OrdMultiSet_Test.so .shobj/OrdMultiSet_Test.o .shobj/OrdMultiSet_Test.so: OrdMultiSet_Test.cpp \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ test_config.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp
+
+.obj/OS_Test.o .obj/OS_Test.so .shobj/OS_Test.o .shobj/OS_Test.so: OS_Test.cpp \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ test_config.h \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp
+
+.obj/Proactor_Test.o .obj/Proactor_Test.so .shobj/Proactor_Test.o .shobj/Proactor_Test.so: Proactor_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/Proactor.h \
+ $(ACE_ROOT)/ace/Asynch_IO.h \
+ $(ACE_ROOT)/ace/Asynch_IO_Impl.h \
+ $(ACE_ROOT)/ace/Asynch_IO_Impl.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Timer_List.h \
+ $(ACE_ROOT)/ace/Timer_List_T.h \
+ $(ACE_ROOT)/ace/Timer_List_T.cpp \
+ $(ACE_ROOT)/ace/Timer_Heap.h \
+ $(ACE_ROOT)/ace/Timer_Heap_T.h \
+ $(ACE_ROOT)/ace/Timer_Heap_T.cpp \
+ $(ACE_ROOT)/ace/Timer_Wheel.h \
+ $(ACE_ROOT)/ace/Timer_Wheel_T.h \
+ $(ACE_ROOT)/ace/Timer_Wheel_T.cpp \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i \
+ $(ACE_ROOT)/ace/Proactor.i \
+ $(ACE_ROOT)/ace/Asynch_Acceptor.h \
+ $(ACE_ROOT)/ace/Asynch_Acceptor.cpp \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/POSIX_Proactor.h \
+ $(ACE_ROOT)/ace/Proactor_Impl.h \
+ $(ACE_ROOT)/ace/Pipe.h \
+ $(ACE_ROOT)/ace/Pipe.i \
+ $(ACE_ROOT)/ace/POSIX_Asynch_IO.h \
+ $(ACE_ROOT)/ace/POSIX_Asynch_IO.i \
+ $(ACE_ROOT)/ace/POSIX_Proactor.i \
+ $(ACE_ROOT)/ace/SUN_Proactor.h
+
+.obj/Process_Mutex_Test.o .obj/Process_Mutex_Test.so .shobj/Process_Mutex_Test.o .shobj/Process_Mutex_Test.so: Process_Mutex_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Process.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Process.i \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/Process_Mutex.inl \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+.obj/Process_Strategy_Test.o .obj/Process_Strategy_Test.so .shobj/Process_Strategy_Test.o .shobj/Process_Strategy_Test.so: Process_Strategy_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Acceptor.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Svc_Handler.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Svc_Handler.cpp \
+ $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \
+ $(ACE_ROOT)/ace/Dynamic.h \
+ $(ACE_ROOT)/ace/Dynamic.i \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Refcountable.h \
+ $(ACE_ROOT)/ace/Refcountable.inl \
+ $(ACE_ROOT)/ace/Hashable.h \
+ $(ACE_ROOT)/ace/Hashable.inl \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/Process_Mutex.inl \
+ $(ACE_ROOT)/ace/WFMO_Reactor.i \
+ $(ACE_ROOT)/ace/Acceptor.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/File_Lock.h \
+ $(ACE_ROOT)/ace/File_Lock.inl \
+ Process_Strategy_Test.h
+
+.obj/Priority_Buffer_Test.o .obj/Priority_Buffer_Test.so .shobj/Priority_Buffer_Test.o .shobj/Priority_Buffer_Test.so: Priority_Buffer_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i
+
+.obj/Dynamic_Priority_Test.o .obj/Dynamic_Priority_Test.so .shobj/Dynamic_Priority_Test.o .shobj/Dynamic_Priority_Test.so: Dynamic_Priority_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i \
+ $(ACE_ROOT)/ace/Sched_Params.h \
+ $(ACE_ROOT)/ace/Sched_Params.i
+
+.obj/Priority_Task_Test.o .obj/Priority_Task_Test.so .shobj/Priority_Task_Test.o .shobj/Priority_Task_Test.so: Priority_Task_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Sched_Params.h \
+ $(ACE_ROOT)/ace/Sched_Params.i
+
+.obj/Priority_Reactor_Test.o .obj/Priority_Reactor_Test.so .shobj/Priority_Reactor_Test.o .shobj/Priority_Reactor_Test.so: Priority_Reactor_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ $(ACE_ROOT)/ace/Acceptor.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Svc_Handler.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Svc_Handler.cpp \
+ $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \
+ $(ACE_ROOT)/ace/Dynamic.h \
+ $(ACE_ROOT)/ace/Dynamic.i \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Refcountable.h \
+ $(ACE_ROOT)/ace/Refcountable.inl \
+ $(ACE_ROOT)/ace/Hashable.h \
+ $(ACE_ROOT)/ace/Hashable.inl \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/Process_Mutex.inl \
+ $(ACE_ROOT)/ace/WFMO_Reactor.i \
+ $(ACE_ROOT)/ace/Acceptor.cpp \
+ $(ACE_ROOT)/ace/Connector.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Connector.cpp \
+ $(ACE_ROOT)/ace/Priority_Reactor.h \
+ $(ACE_ROOT)/ace/Select_Reactor.h \
+ $(ACE_ROOT)/ace/Select_Reactor_T.h \
+ $(ACE_ROOT)/ace/Select_Reactor_Base.h \
+ $(ACE_ROOT)/ace/Token.h \
+ $(ACE_ROOT)/ace/Token.i \
+ $(ACE_ROOT)/ace/Pipe.h \
+ $(ACE_ROOT)/ace/Pipe.i \
+ $(ACE_ROOT)/ace/Select_Reactor_Base.i \
+ $(ACE_ROOT)/ace/Select_Reactor_T.cpp \
+ $(ACE_ROOT)/ace/Timer_Heap.h \
+ $(ACE_ROOT)/ace/Timer_Heap_T.h \
+ $(ACE_ROOT)/ace/Timer_Heap_T.cpp \
+ $(ACE_ROOT)/ace/Select_Reactor_T.i \
+ Priority_Reactor_Test.h
+
+.obj/Process_Manager_Test.o .obj/Process_Manager_Test.so .shobj/Process_Manager_Test.o .shobj/Process_Manager_Test.so: Process_Manager_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Process_Manager.h \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Process.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Process.i \
+ $(ACE_ROOT)/ace/Process_Manager.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+.obj/Pipe_Test.o .obj/Pipe_Test.so .shobj/Pipe_Test.o .shobj/Pipe_Test.so: Pipe_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Pipe.h \
+ $(ACE_ROOT)/ace/Pipe.i \
+ $(ACE_ROOT)/ace/Process.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Process.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+.obj/RB_Tree_Test.o .obj/RB_Tree_Test.so .shobj/RB_Tree_Test.o .shobj/RB_Tree_Test.so: RB_Tree_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ RB_Tree_Test.h
+
+.obj/Reactors_Test.o .obj/Reactors_Test.so .shobj/Reactors_Test.o .shobj/Reactors_Test.so: Reactors_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Atomic_Op.cpp
+
+.obj/Reactor_Exceptions_Test.o .obj/Reactor_Exceptions_Test.so .shobj/Reactor_Exceptions_Test.o .shobj/Reactor_Exceptions_Test.so: Reactor_Exceptions_Test.cpp \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/SOCK_Dgram.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ test_config.h
+
+.obj/Reactor_Notify_Test.o .obj/Reactor_Notify_Test.so .shobj/Reactor_Notify_Test.o .shobj/Reactor_Notify_Test.so: Reactor_Notify_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Pipe.h \
+ $(ACE_ROOT)/ace/Pipe.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/Select_Reactor.h \
+ $(ACE_ROOT)/ace/Select_Reactor_T.h \
+ $(ACE_ROOT)/ace/Select_Reactor_Base.h \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Token.h \
+ $(ACE_ROOT)/ace/Token.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Select_Reactor_Base.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Select_Reactor_T.cpp \
+ $(ACE_ROOT)/ace/Timer_Heap.h \
+ $(ACE_ROOT)/ace/Timer_Heap_T.h \
+ $(ACE_ROOT)/ace/Timer_Heap_T.cpp \
+ $(ACE_ROOT)/ace/Select_Reactor_T.i
+
+.obj/Reactor_Performance_Test.o .obj/Reactor_Performance_Test.so .shobj/Reactor_Performance_Test.o .shobj/Reactor_Performance_Test.so: Reactor_Performance_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ Reactor_Performance_Test.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Svc_Handler.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Svc_Handler.cpp \
+ $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \
+ $(ACE_ROOT)/ace/Dynamic.h \
+ $(ACE_ROOT)/ace/Dynamic.i \
+ $(ACE_ROOT)/ace/Profile_Timer.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i \
+ $(ACE_ROOT)/ace/Profile_Timer.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ $(ACE_ROOT)/ace/Acceptor.h \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Refcountable.h \
+ $(ACE_ROOT)/ace/Refcountable.inl \
+ $(ACE_ROOT)/ace/Hashable.h \
+ $(ACE_ROOT)/ace/Hashable.inl \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/Process_Mutex.inl \
+ $(ACE_ROOT)/ace/WFMO_Reactor.i \
+ $(ACE_ROOT)/ace/Acceptor.cpp \
+ $(ACE_ROOT)/ace/Connector.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Connector.cpp \
+ $(ACE_ROOT)/ace/Select_Reactor.h \
+ $(ACE_ROOT)/ace/Select_Reactor_T.h \
+ $(ACE_ROOT)/ace/Select_Reactor_Base.h \
+ $(ACE_ROOT)/ace/Token.h \
+ $(ACE_ROOT)/ace/Token.i \
+ $(ACE_ROOT)/ace/Pipe.h \
+ $(ACE_ROOT)/ace/Pipe.i \
+ $(ACE_ROOT)/ace/Select_Reactor_Base.i \
+ $(ACE_ROOT)/ace/Select_Reactor_T.cpp \
+ $(ACE_ROOT)/ace/Timer_Heap.h \
+ $(ACE_ROOT)/ace/Timer_Heap_T.h \
+ $(ACE_ROOT)/ace/Timer_Heap_T.cpp \
+ $(ACE_ROOT)/ace/Select_Reactor_T.i
+
+.obj/Reactor_Timer_Test.o .obj/Reactor_Timer_Test.so .shobj/Reactor_Timer_Test.o .shobj/Reactor_Timer_Test.so: Reactor_Timer_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i
+
+.obj/Reader_Writer_Test.o .obj/Reader_Writer_Test.so .shobj/Reader_Writer_Test.o .shobj/Reader_Writer_Test.so: Reader_Writer_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Atomic_Op.cpp
+
+.obj/Recursive_Mutex_Test.o .obj/Recursive_Mutex_Test.so .shobj/Recursive_Mutex_Test.o .shobj/Recursive_Mutex_Test.so: Recursive_Mutex_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Manager.i
+
+.obj/Refcounted_Auto_Ptr_Test.o .obj/Refcounted_Auto_Ptr_Test.so .shobj/Refcounted_Auto_Ptr_Test.o .shobj/Refcounted_Auto_Ptr_Test.so: Refcounted_Auto_Ptr_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Method_Request.h \
+ $(ACE_ROOT)/ace/Activation_Queue.h \
+ $(ACE_ROOT)/ace/Activation_Queue.i \
+ $(ACE_ROOT)/ace/Refcounted_Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/Refcounted_Auto_Ptr.i
+
+.obj/Reverse_Lock_Test.o .obj/Reverse_Lock_Test.so .shobj/Reverse_Lock_Test.o .shobj/Reverse_Lock_Test.so: Reverse_Lock_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp
+
+.obj/Semaphore_Test.o .obj/Semaphore_Test.so .shobj/Semaphore_Test.o .shobj/Semaphore_Test.so: Semaphore_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+.obj/Signal_Test.o .obj/Signal_Test.so .shobj/Signal_Test.o .shobj/Signal_Test.so: Signal_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Process.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Process.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/ARGV.h \
+ $(ACE_ROOT)/ace/ARGV.i
+
+.obj/Sigset_Ops_Test.o .obj/Sigset_Ops_Test.so .shobj/Sigset_Ops_Test.o .shobj/Sigset_Ops_Test.so: Sigset_Ops_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp
+
+.obj/Simple_Message_Block_Test.o .obj/Simple_Message_Block_Test.so .shobj/Simple_Message_Block_Test.o .shobj/Simple_Message_Block_Test.so: Simple_Message_Block_Test.cpp \
+ test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp
+
+.obj/SOCK_Test.o .obj/SOCK_Test.so .shobj/SOCK_Test.o .shobj/SOCK_Test.so: SOCK_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i
+
+.obj/SOCK_Connector_Test.o .obj/SOCK_Connector_Test.so .shobj/SOCK_Connector_Test.o .shobj/SOCK_Connector_Test.so: SOCK_Connector_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i
+
+.obj/SOCK_Send_Recv_Test.o .obj/SOCK_Send_Recv_Test.so .shobj/SOCK_Send_Recv_Test.o .shobj/SOCK_Send_Recv_Test.so: SOCK_Send_Recv_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i
+
+.obj/SPIPE_Test.o .obj/SPIPE_Test.so .shobj/SPIPE_Test.o .shobj/SPIPE_Test.so: SPIPE_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/SPIPE_Addr.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/SPIPE_Addr.i \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/SPIPE_Connector.h \
+ $(ACE_ROOT)/ace/SPIPE_Stream.h \
+ $(ACE_ROOT)/ace/SPIPE.h \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SPIPE.i \
+ $(ACE_ROOT)/ace/SPIPE_Stream.i \
+ $(ACE_ROOT)/ace/SPIPE_Connector.i \
+ $(ACE_ROOT)/ace/SPIPE_Acceptor.h
+
+.obj/SString_Test.o .obj/SString_Test.so .shobj/SString_Test.o .shobj/SString_Test.so: SString_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/SString.i
+
+.obj/SV_Shared_Memory_Test.o .obj/SV_Shared_Memory_Test.so .shobj/SV_Shared_Memory_Test.o .shobj/SV_Shared_Memory_Test.so: SV_Shared_Memory_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i
+
+.obj/Svc_Handler_Test.o .obj/Svc_Handler_Test.so .shobj/Svc_Handler_Test.o .shobj/Svc_Handler_Test.so: Svc_Handler_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/FILE_Connector.h \
+ $(ACE_ROOT)/ace/FILE_IO.h \
+ $(ACE_ROOT)/ace/FILE.h \
+ $(ACE_ROOT)/ace/IO_SAP.h \
+ $(ACE_ROOT)/ace/IO_SAP.i \
+ $(ACE_ROOT)/ace/FILE_Addr.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/FILE_Addr.i \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/FILE.i \
+ $(ACE_ROOT)/ace/FILE_IO.i \
+ $(ACE_ROOT)/ace/FILE_Connector.i \
+ $(ACE_ROOT)/ace/Svc_Handler.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Svc_Handler.cpp \
+ $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \
+ $(ACE_ROOT)/ace/Dynamic.h \
+ $(ACE_ROOT)/ace/Dynamic.i
+
+.obj/Task_Test.o .obj/Task_Test.so .shobj/Task_Test.o .shobj/Task_Test.so: Task_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Thread_Hook.h
+
+.obj/Thread_Manager_Test.o .obj/Thread_Manager_Test.so .shobj/Thread_Manager_Test.o .shobj/Thread_Manager_Test.so: Thread_Manager_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp
+
+.obj/Thread_Mutex_Test.o .obj/Thread_Mutex_Test.so .shobj/Thread_Mutex_Test.o .shobj/Thread_Mutex_Test.so: Thread_Mutex_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Process_Mutex.inl
+
+.obj/Thread_Pool_Test.o .obj/Thread_Pool_Test.so .shobj/Thread_Pool_Test.o .shobj/Thread_Pool_Test.so: Thread_Pool_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp
+
+.obj/Timeprobe_Test.o .obj/Timeprobe_Test.so .shobj/Timeprobe_Test.o .shobj/Timeprobe_Test.so: Timeprobe_Test.cpp \
+ test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Timeprobe.h
+
+.obj/Time_Service_Test.o .obj/Time_Service_Test.so .shobj/Time_Service_Test.o .shobj/Time_Service_Test.so: Time_Service_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Process.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Process.i
+
+.obj/Time_Value_Test.o .obj/Time_Value_Test.so .shobj/Time_Value_Test.o .shobj/Time_Value_Test.so: Time_Value_Test.cpp \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ test_config.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp
+
+.obj/Timer_Queue_Test.o .obj/Timer_Queue_Test.so .shobj/Timer_Queue_Test.o .shobj/Timer_Queue_Test.so: Timer_Queue_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Profile_Timer.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i \
+ $(ACE_ROOT)/ace/Profile_Timer.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Timer_List.h \
+ $(ACE_ROOT)/ace/Timer_List_T.h \
+ $(ACE_ROOT)/ace/Timer_List_T.cpp \
+ $(ACE_ROOT)/ace/Timer_Heap.h \
+ $(ACE_ROOT)/ace/Timer_Heap_T.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Timer_Heap_T.cpp \
+ $(ACE_ROOT)/ace/Timer_Wheel.h \
+ $(ACE_ROOT)/ace/Timer_Wheel_T.h \
+ $(ACE_ROOT)/ace/Timer_Wheel_T.cpp \
+ $(ACE_ROOT)/ace/Timer_Hash.h \
+ $(ACE_ROOT)/ace/Timer_Hash_T.h \
+ $(ACE_ROOT)/ace/Timer_Hash_T.cpp
+
+.obj/TSS_Test.o .obj/TSS_Test.so .shobj/TSS_Test.o .shobj/TSS_Test.so: TSS_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.i \
+ TSS_Test_Errno.h
+
+.obj/UPIPE_SAP_Test.o .obj/UPIPE_SAP_Test.so .shobj/UPIPE_SAP_Test.o .shobj/UPIPE_SAP_Test.so: UPIPE_SAP_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Stream.h \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Stream.i \
+ $(ACE_ROOT)/ace/Stream.cpp \
+ $(ACE_ROOT)/ace/UPIPE_Acceptor.h \
+ $(ACE_ROOT)/ace/UPIPE_Stream.h \
+ $(ACE_ROOT)/ace/SPIPE.h \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SPIPE_Addr.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/SPIPE_Addr.i \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/SPIPE.i \
+ $(ACE_ROOT)/ace/UPIPE_Addr.h \
+ $(ACE_ROOT)/ace/UPIPE_Stream.i \
+ $(ACE_ROOT)/ace/SPIPE_Acceptor.h \
+ $(ACE_ROOT)/ace/SPIPE_Stream.h \
+ $(ACE_ROOT)/ace/SPIPE_Stream.i \
+ $(ACE_ROOT)/ace/UPIPE_Acceptor.i \
+ $(ACE_ROOT)/ace/UPIPE_Connector.h \
+ $(ACE_ROOT)/ace/UPIPE_Connector.i
+
+.obj/Upgradable_RW_Test.o .obj/Upgradable_RW_Test.so .shobj/Upgradable_RW_Test.o .shobj/Upgradable_RW_Test.so: Upgradable_RW_Test.cpp Upgradable_RW_Test.h \
+ test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/Profile_Timer.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i \
+ $(ACE_ROOT)/ace/Profile_Timer.i \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Atomic_Op.cpp
+
+.obj/Naming_Test.o .obj/Naming_Test.so .shobj/Naming_Test.o .shobj/Naming_Test.so: Naming_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Naming_Context.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Name_Proxy.h \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Name_Request_Reply.h \
+ $(ACE_ROOT)/ace/Name_Space.h \
+ $(ACE_ROOT)/ace/Profile_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i \
+ $(ACE_ROOT)/ace/Profile_Timer.i
+
+.obj/Thread_Pool_Reactor_Test.o .obj/Thread_Pool_Reactor_Test.so .shobj/Thread_Pool_Reactor_Test.o .shobj/Thread_Pool_Reactor_Test.so: Thread_Pool_Reactor_Test.cpp \
+ test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ $(ACE_ROOT)/ace/Acceptor.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Svc_Handler.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Svc_Handler.cpp \
+ $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \
+ $(ACE_ROOT)/ace/Dynamic.h \
+ $(ACE_ROOT)/ace/Dynamic.i \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Refcountable.h \
+ $(ACE_ROOT)/ace/Refcountable.inl \
+ $(ACE_ROOT)/ace/Hashable.h \
+ $(ACE_ROOT)/ace/Hashable.inl \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/Process_Mutex.inl \
+ $(ACE_ROOT)/ace/WFMO_Reactor.i \
+ $(ACE_ROOT)/ace/Acceptor.cpp \
+ $(ACE_ROOT)/ace/TP_Reactor.h \
+ $(ACE_ROOT)/ace/Select_Reactor.h \
+ $(ACE_ROOT)/ace/Select_Reactor_T.h \
+ $(ACE_ROOT)/ace/Select_Reactor_Base.h \
+ $(ACE_ROOT)/ace/Token.h \
+ $(ACE_ROOT)/ace/Token.i \
+ $(ACE_ROOT)/ace/Pipe.h \
+ $(ACE_ROOT)/ace/Pipe.i \
+ $(ACE_ROOT)/ace/Select_Reactor_Base.i \
+ $(ACE_ROOT)/ace/Select_Reactor_T.cpp \
+ $(ACE_ROOT)/ace/Timer_Heap.h \
+ $(ACE_ROOT)/ace/Timer_Heap_T.h \
+ $(ACE_ROOT)/ace/Timer_Heap_T.cpp \
+ $(ACE_ROOT)/ace/Select_Reactor_T.i \
+ $(ACE_ROOT)/ace/TP_Reactor.i \
+ Thread_Pool_Reactor_Test.h
+
+.obj/Thread_Pool_Reactor_Resume_Test.o .obj/Thread_Pool_Reactor_Resume_Test.so .shobj/Thread_Pool_Reactor_Resume_Test.o .shobj/Thread_Pool_Reactor_Resume_Test.so: Thread_Pool_Reactor_Resume_Test.cpp \
+ test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ $(ACE_ROOT)/ace/Acceptor.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Svc_Handler.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Svc_Handler.cpp \
+ $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \
+ $(ACE_ROOT)/ace/Dynamic.h \
+ $(ACE_ROOT)/ace/Dynamic.i \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Refcountable.h \
+ $(ACE_ROOT)/ace/Refcountable.inl \
+ $(ACE_ROOT)/ace/Hashable.h \
+ $(ACE_ROOT)/ace/Hashable.inl \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/Process_Mutex.inl \
+ $(ACE_ROOT)/ace/WFMO_Reactor.i \
+ $(ACE_ROOT)/ace/Acceptor.cpp \
+ $(ACE_ROOT)/ace/TP_Reactor.h \
+ $(ACE_ROOT)/ace/Select_Reactor.h \
+ $(ACE_ROOT)/ace/Select_Reactor_T.h \
+ $(ACE_ROOT)/ace/Select_Reactor_Base.h \
+ $(ACE_ROOT)/ace/Token.h \
+ $(ACE_ROOT)/ace/Token.i \
+ $(ACE_ROOT)/ace/Pipe.h \
+ $(ACE_ROOT)/ace/Pipe.i \
+ $(ACE_ROOT)/ace/Select_Reactor_Base.i \
+ $(ACE_ROOT)/ace/Select_Reactor_T.cpp \
+ $(ACE_ROOT)/ace/Timer_Heap.h \
+ $(ACE_ROOT)/ace/Timer_Heap_T.h \
+ $(ACE_ROOT)/ace/Timer_Heap_T.cpp \
+ $(ACE_ROOT)/ace/Select_Reactor_T.i \
+ $(ACE_ROOT)/ace/TP_Reactor.i \
+ Thread_Pool_Reactor_Resume_Test.h
+
+.obj/XtReactor_Test.o .obj/XtReactor_Test.so .shobj/XtReactor_Test.o .shobj/XtReactor_Test.so: XtReactor_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp
+
+.obj/FlReactor_Test.o .obj/FlReactor_Test.so .shobj/FlReactor_Test.o .shobj/FlReactor_Test.so: FlReactor_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp
+
+.obj/TkReactor_Test.o .obj/TkReactor_Test.so .shobj/TkReactor_Test.o .shobj/TkReactor_Test.so: TkReactor_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp
+
+.obj/Tokens_Test.o .obj/Tokens_Test.so .shobj/Tokens_Test.o .shobj/Tokens_Test.so: Tokens_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Process.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Process.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/Local_Tokens.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Local_Tokens.i \
+ $(ACE_ROOT)/ace/Token_Collection.h \
+ $(ACE_ROOT)/ace/Token_Collection.i \
+ $(ACE_ROOT)/ace/Remote_Tokens.h \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/Token_Request_Reply.h \
+ $(ACE_ROOT)/ace/Token_Request_Reply.i \
+ $(ACE_ROOT)/ace/Remote_Tokens.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Token_Invariants.h
+
+.obj/CDR_Array_Test.o .obj/CDR_Array_Test.so .shobj/CDR_Array_Test.o .shobj/CDR_Array_Test.so: CDR_Array_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i
+
+.obj/Service_Config_Test.o .obj/Service_Config_Test.so .shobj/Service_Config_Test.o .shobj/Service_Config_Test.so: Service_Config_Test.cpp test_config.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/ARGV.h \
+ $(ACE_ROOT)/ace/ARGV.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/tests/Makefile.bor b/tests/Makefile.bor
new file mode 100644
index 00000000000..44e947aa516
--- /dev/null
+++ b/tests/Makefile.bor
@@ -0,0 +1,133 @@
+#
+# $Id$
+# Makefile for building the ACE tests
+#
+
+NAMES = \
+ Aio_Platform_Test \
+ Arg_Shifter_Test \
+ ARGV_Test \
+ Atomic_Op_Test \
+ Auto_IncDec_Test \
+ Barrier_Test \
+ Basic_Types_Test \
+ Bound_Ptr_Test \
+ Buffer_Stream_Test \
+ Cache_Map_Manager_Test \
+ Cached_Accept_Conn_Test \
+ Cached_Conn_Test \
+ Capabilities_Test \
+ CDR_Array_Test \
+ CDR_File_Test \
+ CDR_Test \
+ Collection_Test \
+ Conn_Test \
+ Config_Test \
+ Date_Time_Test \
+ Dirent_Test \
+ DLL_Test \
+ DLList_Test \
+ Dynamic_Priority_Test \
+ Enum_Interfaces_Test \
+ Env_Value_Test \
+ FlReactor_Test \
+ Framework_Component_Test \
+ Future_Set_Test \
+ Future_Test \
+ Get_Opt_Test \
+ Handle_Set_Test \
+ Hash_Map_Bucket_Iterator_Test \
+ Hash_Map_Manager_Test \
+ High_Res_Timer_Test \
+ INET_Addr_Test \
+ IOStream_Test \
+ Lazy_Map_Manager_Test \
+ Log_Msg_Test \
+ Logging_Strategy_Test \
+ Malloc_Test \
+ Map_Manager_Test \
+ Map_Test \
+ Max_Default_Port_Test \
+ MEM_Stream_Test \
+ Mem_Map_Test \
+ Message_Block_Test \
+ Message_Queue_Notifications_Test \
+ Message_Queue_Test \
+ Message_Queue_Test_Ex \
+ MM_Shared_Memory_Test \
+ MT_Reactor_Timer_Test \
+ MT_SOCK_Test \
+ Naming_Test \
+ New_Fail_Test \
+ Notify_Performance_Test \
+ Object_Manager_Test \
+ OrdMultiSet_Test \
+ OS_Test \
+ Pipe_Test \
+ Proactor_Test \
+ Proactor_Timer_Test \
+ Priority_Buffer_Test \
+ Priority_Reactor_Test \
+ Priority_Task_Test \
+ Process_Manager_Test \
+ Process_Mutex_Test \
+ Process_Strategy_Test \
+ RB_Tree_Test \
+ Reactor_Exceptions_Test \
+ Reactor_Notify_Test \
+ Reactor_Performance_Test \
+ Reactor_Timer_Test \
+ Reactors_Test \
+ Reader_Writer_Test \
+ Recursive_Mutex_Test \
+ Refcounted_Auto_Ptr_Test \
+ Reverse_Lock_Test \
+ Semaphore_Test \
+ Service_Config_Test \
+ Signal_Test \
+ Sigset_Ops_Test \
+ Simple_Message_Block_Test \
+ SOCK_Connector_Test \
+ SOCK_Send_Recv_Test \
+ SOCK_Test \
+ SPIPE_Test \
+ SString_Test \
+ SV_Shared_Memory_Test \
+ Svc_Handler_Test \
+ Task_Test \
+ Thread_Manager_Test \
+ Thread_Mutex_Test \
+ Thread_Pool_Reactor_Test \
+ Thread_Pool_Reactor_Resume_Test \
+ Thread_Pool_Test \
+ Time_Service_Test \
+ Time_Value_Test \
+ Timeprobe_Test \
+ Timer_Queue_Test \
+ TkReactor_Test \
+ Tokens_Test \
+ TSS_Test \
+ Vector_Test \
+ Upgradable_RW_Test \
+ UPIPE_SAP_Test \
+ XtReactor_Test
+
+!ifdef SSL_ROOT
+DIRS = RMCast \
+ SSL
+!else
+DIRS = RMCast
+!endif
+
+MAKEFILES = DLL_Test.bor Service_Config_DLL.bor
+
+OBJFILES = $(OBJDIR)\$(NAME).obj
+
+CFLAGS = $(ACE_CFLAGS)
+
+CPPDIR = .
+
+LIBFILES = $(ACE_LIB)
+
+!include <$(ACE_ROOT)\include\makeinclude\recurse.bor>
+!include <$(ACE_ROOT)\include\makeinclude\build_exe.bor>
diff --git a/tests/Process_Manager_Test.cpp b/tests/Process_Manager_Test.cpp
new file mode 100644
index 00000000000..47a45ba64ed
--- /dev/null
+++ b/tests/Process_Manager_Test.cpp
@@ -0,0 +1,314 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = FILENAME
+// Process_Manager_Test.cpp
+//
+// = DESCRIPTION
+// This program tests the various methods provided by
+// <ACE_Process_Manager>. It illustrates both the explicit <wait>
+// functions and the Reactor-style auto-reaping. There's an
+// Exit_Handler class that can print out (in Debug mode) when a
+// child has been reaped.
+//
+// The child processes spawned are simply this program itself, with
+// an integer argument specifying how long to "process" (actually,
+// the child just sleeps for the specified length of time).
+//
+// = AUTHOR
+// Douglas C. Schmidt <schmidt@cs.wustl.edu> and
+// Dave Madden <dhm@mersenne.com>
+//
+// ============================================================================
+
+#include "test_config.h"
+#include "ace/Process_Manager.h"
+#include "ace/Get_Opt.h"
+
+ACE_RCSID(tests, Process_Manager_Test, "Process_Manager_Test.cpp,v 4.11 1999/09/02 04:36:30 schmidt Exp")
+
+#if (!defined (ACE_LACKS_FORK) || defined (ACE_WIN32)) && defined (ACE_HAS_THREADS)
+
+static u_int debug_test = 0;
+
+class Exit_Handler : public ACE_Event_Handler
+{
+public:
+ Exit_Handler (const char *msg): msg_ (msg) { }
+
+ virtual ~Exit_Handler (void) { }
+
+ virtual int handle_close (ACE_HANDLE, ACE_Reactor_Mask)
+ {
+ delete this;
+ return 0;
+ }
+
+ virtual int handle_exit (ACE_Process *proc)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P) Exit_Handler(%s) got %d: %d\n"),
+ msg_,
+ int (proc->getpid ()),
+ int (proc->exit_code ()) ));
+ return 0;
+ }
+private:
+ const char *msg_;
+};
+
+static void
+usage (const ACE_TCHAR *argv0)
+{
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("usage: %s [-d] [sleep-seconds]\n"),
+ argv0));
+ ACE_OS::exit (0);
+}
+
+static pid_t
+spawn_child (const ACE_TCHAR *argv0,
+ ACE_Process_Manager &mgr,
+ int sleep_time = 0)
+{
+ ACE_Process_Options opts;
+
+ opts.command_line (ACE_TEXT("%s %s %d"),
+ argv0,
+ debug_test ? ACE_TEXT ("-d") : ACE_TEXT (""),
+ sleep_time);
+
+ pid_t result = mgr.spawn (opts);
+
+ if (result != ACE_INVALID_PID)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P) spawned child: pid %d time %d\n"),
+ int (result), sleep_time));
+ else
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("spawn failed")));
+
+ return result;
+}
+
+int
+main (int argc, ACE_TCHAR *argv[])
+{
+ ACE_Get_Opt args (argc, argv, ACE_TEXT ("d"));
+
+ for (int arg = args (); arg != EOF; arg = args ())
+ switch (arg)
+ {
+ case 'd':
+ debug_test = 1u;
+ break;
+ default:
+ usage (argv[0]);
+ break;
+ }
+
+ if (args.opt_ind () == argc - 1)
+ { // child process: sleep & exit
+ int secs = ACE_OS::atoi (argv[args.opt_ind ()]);
+ ACE_OS::sleep (secs ? secs : 1);
+ if (debug_test)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%T: pid %P about to exit with code %d\n"),
+ secs));
+ return secs;
+ }
+
+ if (args.opt_ind () != argc) // incorrect usage
+ usage (argv[0]);
+
+ ACE_START_TEST (ACE_TEXT ("Process_Manager_Test"));
+
+ // Try the explicit <ACE_Process_Manager::wait> functions
+
+ int result = 0, test_status = 0;
+ ACE_Process_Manager mgr;
+
+ mgr.register_handler (new Exit_Handler ("default"));
+
+ ACE_exitcode exitcode;
+
+ // --------------------------------------------------
+ // wait for a specific PID
+ pid_t child1 = spawn_child (argv[0],
+ mgr,
+ 1);
+ result = mgr.wait (child1,
+ &exitcode);
+
+ if (result != child1)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Error: expected to reap child1 (%d); got %d\n"),
+ child1,
+ result));
+ if (result == ACE_INVALID_PID)
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("error")));
+ test_status = 1;
+ }
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P) reaped child1, pid %d: %d\n"),
+ child1,
+ exitcode));
+
+ // --------------------------------------------------
+ // wait for a specific PID; another should finish first
+ pid_t child2 = spawn_child (argv[0],
+ mgr,
+ 1);
+ pid_t child3 = spawn_child (argv[0],
+ mgr,
+ 4);
+ result = mgr.wait (child3,
+ &exitcode);
+
+ if (result != child3)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Error: expected to reap child3 (%d); got %d\n"),
+ child3,
+ result));
+ if (result == ACE_INVALID_PID)
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("error")));
+ test_status = 1;
+ }
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P) reaped child 3, pid %d: %d\n"),
+ child3,
+ exitcode));
+
+ // Now wait for any...should get the one that finished earlier.
+
+ result = mgr.wait (0, &exitcode);
+
+ if (result != child2)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Error: expected to reap child2 (%d); got %d\n"),
+ child2,
+ result));
+ if (result == ACE_INVALID_PID)
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("error")));
+ test_status = 1;
+ }
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P) reaped child 2, pid %d: %d\n"),
+ result,
+ exitcode));
+
+ // --------------------------------------------------
+ // Try the timed wait functions
+
+ // This one shouldn't timeout:
+ pid_t child4 = spawn_child (argv[0],
+ mgr,
+ 1);
+ result = mgr.wait (0, ACE_Time_Value (4), &exitcode);
+
+ if (result != child4)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Error: expected to reap child4 (%d); got %d\n"),
+ child4,
+ result));
+ if (result == ACE_INVALID_PID)
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("error")));
+ test_status = 1;
+ }
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P) reaped child 4 pid %d: %d\n"),
+ result,
+ exitcode));
+
+ // This one should timeout:
+ pid_t child5 = spawn_child (argv[0],
+ mgr,
+ 4);
+ result = mgr.wait (0, ACE_Time_Value (1), &exitcode);
+ if (result != 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Error: expected wait to time out; got %d\n"),
+ result));
+ if (result == ACE_INVALID_PID)
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("error")));
+ test_status = 1;
+ }
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P) Correctly timed out wait at child 5\n")));
+
+ // Now wait indefinitely to clean up...
+ result = mgr.wait (0, &exitcode);
+
+ if (result != child5)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Error: expected to reap child5 pid %d; got %d\n"),
+ child5,
+ result));
+ if (result == ACE_INVALID_PID)
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("error")));
+ test_status = 1;
+ }
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P) reaped child 5, pid %d: %d\n"),
+ result,
+ exitcode));
+
+ // --------------------------------------------------
+ // Finally, try the reactor stuff...
+ mgr.open (ACE_Process_Manager::DEFAULT_SIZE,
+ ACE_Reactor::instance ());
+
+ pid_t child6 = spawn_child (argv[0],
+ mgr,
+ 5);
+ /* pid_t child7 = */ spawn_child (argv[0],
+ mgr,
+ 6);
+
+ mgr.register_handler (new Exit_Handler ("specific"),
+ child6);
+
+ ACE_Time_Value how_long (10);
+
+ ACE_Reactor::instance ()->owner (ACE_Thread::self ());
+ ACE_Reactor::instance ()->run_event_loop (how_long);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P) Reactor loop done!\n") ));
+
+ size_t nr_procs = mgr.managed ();
+ if (nr_procs != 0)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P) %d processes left in manager\n"),
+ nr_procs));
+
+ ACE_END_TEST;
+ return test_status;
+}
+
+#else /* (!ACE_LACKS_FORK || ACE_WIN32) && ACE_HAS_THREADS */
+int
+main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Process_Manager_Test"));
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("The ACE Process Manager is not supported on this platform\n")));
+ ACE_END_TEST;
+ return 0;
+}
+#endif /* (!ACE_LACKS_FORK || ACE_WIN32) && ACE_HAS_THREADS */
diff --git a/tests/Vector_Test.cpp b/tests/Vector_Test.cpp
new file mode 100644
index 00000000000..be883c5fcf6
--- /dev/null
+++ b/tests/Vector_Test.cpp
@@ -0,0 +1,82 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = FILENAME
+// Vector_Test.cpp
+//
+// = DESCRIPTION
+// This is a simple test of the ACE_Vector class and its iterators.
+//
+// = AUTHOR
+// Gonzalo A. Diethelm <gonzalo.diethelm@aditiva.com>
+//
+// ============================================================================
+
+#include "test_config.h"
+
+ACE_RCSID(tests, Vector_Test, "$Id$")
+
+#include "ace/Vector_T.h"
+
+typedef size_t DATA;
+typedef ACE_Vector<DATA> VECTOR;
+typedef ACE_Vector<DATA>::Iterator ITERATOR;
+
+const size_t TOP = 100;
+const size_t LEFT = 10;
+
+int main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Vector_Test"));
+
+ VECTOR vector;
+ size_t i;
+
+ for (i = 0; i < TOP; ++i)
+ vector.push_back (i);
+
+ ACE_ASSERT (vector.size () == TOP);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Size: %d\n"),
+ vector.size ()));
+
+ for (i = 0; i < TOP; ++i)
+ ACE_ASSERT (vector[i] == i);
+
+ for (i = 0; i < (TOP - LEFT); ++i)
+ vector.pop_back ();
+
+ ACE_ASSERT (vector.size () == LEFT);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Size: %d\n"),
+ vector.size ()));
+
+ for (i = 0; i < LEFT; ++i)
+ ACE_ASSERT (vector[i] == i);
+
+ vector.clear ();
+ ACE_ASSERT (vector.size () == 0);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Size: %d\n"),
+ vector.size ()));
+
+ ACE_END_TEST;
+
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Vector<DATA>;
+template class ACE_Array<DATA>;
+template class ACE_Array_Base<DATA>;
+template class ACE_Array_Iterator<DATA>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Vector<DATA>
+#pragma instantiate ACE_Array<DATA>
+#pragma instantiate ACE_Array_Base<DATA>
+#pragma instantiate ACE_Array_Iterator<DATA>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/tests/Vector_Test.dsp b/tests/Vector_Test.dsp
new file mode 100644
index 00000000000..36d596270ab
--- /dev/null
+++ b/tests/Vector_Test.dsp
@@ -0,0 +1,162 @@
+# Microsoft Developer Studio Project File - Name="Vector_Test" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Vector_Test - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Vector_Test.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Vector_Test.mak" CFG="Vector_Test - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Vector_Test - Win32 Static Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "Vector_Test - Win32 Static Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Vector_Test - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Vector_Test - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Vector_Test - Win32 Static Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Static_Debug"
+# PROP BASE Intermediate_Dir "Static_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Static_Debug"
+# PROP Intermediate_Dir "Static_Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "_DEBUG" /D ACE_AS_STATIC_LIBS /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
+# ADD LINK32 acesd.lib advapi32.lib user32.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Vector_Test - Win32 Static Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Static_Release"
+# PROP BASE Intermediate_Dir "Static_Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Static_Release"
+# PROP Intermediate_Dir "Static_Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D ACE_AS_STATIC_LIBS /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 aces.lib advapi32.lib user32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Vector_Test - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Vector_Test - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "Vector_Test - Win32 Static Debug"
+# Name "Vector_Test - Win32 Static Release"
+# Name "Vector_Test - Win32 Release"
+# Name "Vector_Test - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
+# Begin Source File
+
+SOURCE=.\Vector_Test.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
+# Begin Source File
+
+SOURCE=.\test_config.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/tests/run_test.lst b/tests/run_test.lst
new file mode 100644
index 00000000000..a7276f7065e
--- /dev/null
+++ b/tests/run_test.lst
@@ -0,0 +1,119 @@
+# $Id$
+#
+# This is the list of tests that need to be run by run_test.pl.
+# Each line has its own test, and a test can be followed by a
+# list of platforms it runs or does not run on.
+#
+# Example: Foo_Test: !linux
+# Example: Bar_Test:
+# Example: Baz_Test: Win32 !Borland
+#
+# Foo_Test runs on all configurations except for linux
+#
+# Bar_Test runs on all configurations
+#
+# Baz_Test only runs on Win32 configurations but not on Borland
+# configurations.
+
+ACE_Init_Test: MSVC
+Arg_Shifter_Test
+Atomic_Op_Test
+Auto_IncDec_Test
+Barrier_Test
+Basic_Types_Test
+Bound_Ptr_Test
+Buffer_Stream_Test
+Cache_Map_Manager_Test
+Cached_Conn_Test: !LynxOS !VxWorks
+Cached_Accept_Conn_Test: !VxWorks
+Capabilities_Test
+CDR_Test
+CDR_File_Test
+CDR_Array_Test
+Collection_Test
+Config_Test
+Conn_Test: !chorus
+Date_Time_Test
+Dirent_Test
+DLL_Test: !Unicos !STATIC !KCC_Linux
+DLList_Test
+Dynamic_Priority_Test
+Enum_Interfaces_Test
+Env_Value_Test: !chorus
+Framework_Component_Test
+Future_Test
+Future_Set_Test
+Get_Opt_Test
+Handle_Set_Test
+Hash_Map_Manager_Test
+Hash_Map_Bucket_Iterator_Test
+High_Res_Timer_Test
+INET_Addr_Test
+IOStream_Test
+Lazy_Map_Manager_Test
+Log_Msg_Test
+Logging_Strategy_Test: !STATIC !ST
+Map_Manager_Test
+Map_Test
+Max_Default_Port_Test: !ST
+MEM_Stream_Test: !VxWorks
+Mem_Map_Test: !chorus !Unicos !VxWorks
+Message_Block_Test: !chorus
+Message_Queue_Notifications_Test
+Message_Queue_Test: !chorus
+Message_Queue_Test_Ex: !chorus
+MM_Shared_Memory_Test: !chorus !Unicos !VxWorks
+MT_Reactor_Timer_Test: !VxWorks
+MT_SOCK_Test: !chorus
+Malloc_Test: !VxWorks
+Naming_Test: OTHER !chorus !LynxOS !Unicos !VxWorks
+New_Fail_Test: ALL !DISABLED
+Notify_Performance_Test
+Object_Manager_Test
+OrdMultiSet_Test
+OS_Test
+Pipe_Test: !MSVC !chorus !VxWorks
+Priority_Buffer_Test
+Priority_Reactor_Test: !chorus
+Priority_Task_Test: !Unicos
+Proactor_Test: Win32
+Proactor_Timer_Test: Win32
+Process_Manager_Test: !chorus !VxWorks
+Process_Mutex_Test: !chorus !VxWorks
+Process_Strategy_Test: !chorus !LynxOS !VxWorks
+RB_Tree_Test
+Reactors_Test
+Reactor_Exceptions_Test
+Reactor_Notify_Test: !ST
+Reactor_Performance_Test: !chorus
+Reactor_Timer_Test
+Reader_Writer_Test
+Recursive_Mutex_Test: !ST
+Refcounted_Auto_Ptr_Test: !VxWorks
+Reverse_Lock_Test
+Semaphore_Test
+Service_Config_Test: !STATIC
+Sigset_Ops_Test
+Simple_Message_Block_Test: !chorus
+Svc_Handler_Test
+SOCK_Test: !chorus
+SOCK_Connector_Test
+SOCK_Send_Recv_Test: !LynxOS
+SPIPE_Test: !VxWorks
+SString_Test
+SV_Shared_Memory_Test: !MSVC !Unicos !VxWorks
+Task_Test
+Thread_Manager_Test: !Unicos
+Thread_Mutex_Test: !chorus
+Thread_Pool_Reactor_Test: OTHER
+Thread_Pool_Reactor_Resume_Test: OTHER !ST
+Thread_Pool_Test: !LynxOS !VxWorks
+Timer_Queue_Test
+Timeprobe_Test
+Time_Service_Test: ALL !STATIC !DISABLED !missing_netsvcs TOKEN !chorus !Unicos
+Time_Value_Test
+Tokens_Test: ALL MSVC !DISABLED TOKEN !chorus !Unicos
+TSS_Test
+Vector_Test
+UPIPE_SAP_Test: !VxWorks
+Upgradable_RW_Test: !chorus
diff --git a/tests/tests.dsw b/tests/tests.dsw
new file mode 100644
index 00000000000..d819fd963b5
--- /dev/null
+++ b/tests/tests.dsw
@@ -0,0 +1,1259 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ACE_Init_Test"=.\ACE_Init_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "ARGV_Test"=.\ARGV_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Arg_Shifter_Test"=.\Arg_Shifter_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Atomic_Op_Test"=.\Atomic_Op_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Auto_IncDec_Test"=.\Auto_IncDec_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Barrier_Test"=.\Barrier_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Basic_Types_Test"=.\Basic_Types_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Bound_Ptr_Test"=.\Bound_Ptr_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Buffer_Stream_Test"=.\Buffer_Stream_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "CDR_Array_Test"=.\CDR_Array_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "CDR_File_Test"=.\CDR_File_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "CDR_Test"=.\CDR_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Cache_Map_Manager_Test"=.\Cache_Map_Manager_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Cached_Accept_Conn_Test"=.\Cached_Accept_Conn_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Cached_Conn_Test"=.\Cached_Conn_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Capabilities_Test"=.\Capabilities_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Collection_Test"=.\Collection_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Config_Test"=.\Config_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Conn_Test"=.\Conn_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "DLL_Test"=.\DLL_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name DLL_Test DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "DLL_Test DLL"=.\DLL_Test_Impl.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "DLList_Test"=.\DLList_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Date_Time_Test"=.\Date_Time_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Dirent_Test"=.\Dirent_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Dynamic_Priority_Test"=.\Dynamic_Priority_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Enum_Interfaces_Test"=.\Enum_Interfaces_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Env_Value_Test"=.\Env_Value_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Future_Set_Test"=.\Future_Set_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Future_Test"=.\Future_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Get_Opt_Test"=.\Get_Opt_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Handle_Set_Test"=.\Handle_Set_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Hash_Map_Bucket_Iterator_Test"=.\Hash_Map_Bucket_Iterator_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Hash_Map_Manager_Test"=.\Hash_Map_Manager_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "High_Res_Timer_Test"=.\High_Res_Timer_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "INET_Addr_Test"=.\INET_Addr_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "IOStream_Test"=.\IOStream_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Lazy_Map_Manager_Test"=.\Lazy_Map_Manager_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Log_Msg_Test"=.\Log_Msg_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Logging_Strategy_Test"=.\Logging_Strategy_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "MEM_Stream_Test"=.\MEM_Stream_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "MM_Shared_Memory_Test"=.\MM_Shared_Memory_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "MT_Reactor_Timer_Test"=.\MT_Reactor_Timer_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "MT_SOCK_Test"=.\MT_SOCK_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Malloc_Test"=.\Malloc_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Map_Manager_Test"=.\Map_Manager_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Map_Test"=.\Map_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Max_Default_Port_Test"=.\Max_Default_Port_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Mem_Map_Test"=.\Mem_Map_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Message_Block_Test"=.\Message_Block_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Message_Queue_Notifications_Test"=.\Message_Queue_Notifications_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Message_Queue_Test"=.\Message_Queue_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Message_Queue_Test_Ex"=.\Message_Queue_Test_Ex.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Naming_Test"=.\Naming_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "New_Fail_Test"=.\New_Fail_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Notify_Performance_Test"=.\Notify_Performance_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "OS_Test"=.\OS_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Object_Manager_Test"=.\Object_Manager_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "OrdMultiSet_Test"=.\OrdMultiSet_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Pipe_Test"=.\Pipe_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Priority_Buffer_Test"=.\Priority_Buffer_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Priority_Reactor_Test"=.\Priority_Reactor_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Priority_Task_Test"=.\Priority_Task_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Proactor_Test"=.\Proactor_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Process_Manager_Test"=.\Process_Manager_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Process_Mutex_Test"=.\Process_Mutex_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Process_Strategy_Test"=.\Process_Strategy_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "RB_Tree_Test"=.\RB_Tree_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Reactor_Exceptions_Test"=.\Reactor_Exceptions_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Reactor_Notify_Test"=.\Reactor_Notify_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Reactor_Performance_Test"=.\Reactor_Performance_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Reactor_Timer_Test"=.\Reactor_Timer_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Reactors_Test"=.\Reactors_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Reader_Writer_Test"=.\Reader_Writer_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Recursive_Mutex_Test"=.\Recursive_Mutex_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Refcounted_Auto_Ptr_Test"=.\Refcounted_Auto_Ptr_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Reverse_Lock_Test"=.\Reverse_Lock_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "SOCK_Connector_Test"=.\SOCK_Connector_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "SOCK_Send_Recv_Test"=.\SOCK_Send_Recv_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "SOCK_Test"=.\SOCK_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "SPIPE_Test"=.\SPIPE_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "SString_Test"=.\SString_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "SV_Shared_Memory_Test"=.\SV_Shared_Memory_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Semaphore_Test"=.\Semaphore_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Service_Config_DLL"=.\Service_Config_DLL.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Service_Config_Test"=.\Service_Config_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name Service_Config_DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Sigset_Ops_Test"=.\Sigset_Ops_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Simple_Message_Block_Test"=.\Simple_Message_Block_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Svc_Handler_Test"=.\Svc_Handler_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "TSS_Test"=.\TSS_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Task_Test"=.\Task_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Thread_Manager_Test"=.\Framework_Component_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Thread_Mutex_Test"=.\Thread_Mutex_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Thread_Pool_Reactor_Resume_Test"=.\Thread_Pool_Reactor_Resume_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Thread_Pool_Reactor_Test"=.\Thread_Pool_Reactor_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Thread_Pool_Test"=.\Thread_Pool_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Time_Service_Test"=.\Time_Service_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Time_Value_Test"=.\Time_Value_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Timeprobe_Test"=.\Timeprobe_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Timer_Queue_Test"=.\Timer_Queue_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Tokens_Test"=.\Tokens_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "UPIPE_SAP_Test"=.\UPIPE_SAP_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Upgradable_RW_Test"=.\Upgradable_RW_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Vector_Test"=.\Vector_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/tests/tests.icp b/tests/tests.icp
new file mode 100644
index 00000000000..a154ae1a852
--- /dev/null
+++ b/tests/tests.icp
@@ -0,0 +1,528 @@
+// $Id$
+//
+// Visual Age C++ 5 Project file for building all the tests.
+
+subproject Arg_Shifter_Test icc "Arg_Shifter_Test.icc", ics "Arg_Shifter_Test.ics"
+{
+}
+
+subproject ARGV_Test icc "ARGV_Test.icc", ics "ARGV_Test.ics"
+{
+}
+
+subproject Aio_Platform_Test icc "Aio_Platform_Test.icc", ics "Aio_Platform_Test.ics"
+{
+}
+
+subproject Atomic_Op_Test icc "Atomic_Op_Test.icc", ics "Atomic_Op_Test.ics"
+{
+}
+
+subproject Auto_IncDec_Test icc "Auto_IncDec_Test.icc", ics "Auto_IncDec_Test.ics"
+{
+}
+
+subproject Barrier_Test icc "Barrier_Test.icc", ics "Barrier_Test.ics"
+{
+}
+
+subproject Basic_Types_Test icc "Basic_Types_Test.icc", ics "Basic_Types_Test.ics"
+{
+}
+
+subproject Bound_Ptr_Test icc "Bound_Ptr_Test.icc", ics "Bound_Ptr_Test.ics"
+{
+}
+
+subproject Buffer_Stream_Test icc "Buffer_Stream_Test.icc", ics "Buffer_Stream_Test.ics"
+{
+}
+
+subproject CDR_Array_Test icc "CDR_Array_Test.icc", ics "CDR_Array_Test.ics"
+{
+}
+
+subproject CDR_File_Test icc "CDR_File_Test.icc", ics "CDR_File_Test.ics"
+{
+}
+
+subproject CDR_Test icc "CDR_Test.icc", ics "CDR_Test.ics"
+{
+}
+
+subproject Cache_Map_Manager_Test icc "Cache_Map_Manager_Test.icc", ics "Cache_Map_Manager_Test.ics"
+{
+}
+
+subproject Cached_Accept_Conn_Test icc "Cached_Accept_Conn_Test.icc", ics "Cached_Accept_Conn_Test.ics"
+{
+}
+
+subproject Cached_Conn_Test icc "Cached_Conn_Test.icc", ics "Cached_Conn_Test.ics"
+{
+}
+
+subproject Capabilities_Test icc "Capabilities_Test.icc", ics "Capabilities_Test.ics"
+{
+}
+
+subproject Collection_Test icc "Collection_Test.icc", ics "Collection_Test.ics"
+{
+}
+
+subproject Config_Test icc "Config_Test.icc", ics "Config_Test.ics"
+{
+}
+
+subproject Conn_Test icc "Conn_Test.icc", ics "Conn_Test.ics"
+{
+}
+
+subproject Date_Time_Test icc "Date_Time_Test.icc", ics "Date_Time_Test.ics"
+{
+}
+
+subproject DLL_Test icc "DLL_Test.icc", ics "DLL_Test.ics"
+{
+}
+
+subproject libDLL_Test icc "libDLL_Test.icc", ics "libDLL_Test.ics"
+{
+}
+
+subproject DLList_Test icc "DLList_Test.icc", ics "DLList_Test.ics"
+{
+}
+
+subproject Dirent_Test icc "Dirent_Test.icc", ics "Dirent_Test.ics"
+{
+}
+
+subproject Dynamic_Priority_Test icc "Dynamic_Priority_Test.icc", ics "Dynamic_Priority_Test.ics"
+{
+}
+
+subproject Enum_Interfaces_Test icc "Enum_Interfaces_Test.icc", ics "Enum_Interfaces_Test.ics"
+{
+}
+
+subproject Env_Value_Test icc "Env_Value_Test.icc", ics "Env_Value_Test.ics"
+{
+}
+
+subproject FlReactor_Test icc "FlReactor_Test.icc", ics "FlReactor_Test.ics"
+{
+}
+
+subproject Future_Set_Test icc "Future_Set_Test.icc", ics "Future_Set_Test.ics"
+{
+}
+
+subproject Future_Test icc "Future_Test.icc", ics "Future_Test.ics"
+{
+}
+
+subproject Get_Opt_Test icc "Get_Opt_Test.icc", ics "Get_Opt_Test.ics"
+{
+}
+
+subproject Handle_Set_Test icc "Handle_Set_Test.icc", ics "Handle_Set_Test.ics"
+{
+}
+
+subproject Hash_Map_Bucket_Iterator_Test icc "Hash_Map_Bucket_Iterator_Test.icc", ics "Hash_Map_Bucket_Iterator_Test.ics"
+{
+}
+
+subproject Hash_Map_Manager_Test icc "Hash_Map_Manager_Test.icc", ics "Hash_Map_Manager_Test.ics"
+{
+}
+
+subproject High_Res_Timer_Test icc "High_Res_Timer_Test.icc", ics "High_Res_Timer_Test.ics"
+{
+}
+
+subproject INET_Addr_Test icc "INET_Addr_Test.icc", ics "INET_Addr_Test.ics"
+{
+}
+
+subproject IOStream_Test icc "IOStream_Test.icc", ics "IOStream_Test.ics"
+{
+}
+
+subproject Lazy_Map_Manager_Test icc "Lazy_Map_Manager_Test.icc", ics "Lazy_Map_Manager_Test.ics"
+{
+}
+
+subproject Log_Msg_Test icc "Log_Msg_Test.icc", ics "Log_Msg_Test.ics"
+{
+}
+
+subproject Logging_Strategy_Test icc "Logging_Strategy_Test.icc", ics "Logging_Strategy_Test.ics"
+{
+}
+
+subproject MEM_Stream_Test icc "MEM_Stream_Test.icc", ics "MEM_Stream_Test.ics"
+{
+}
+
+subproject MM_Shared_Memory_Test icc "MM_Shared_Memory_Test.icc", ics "MM_Shared_Memory_Test.ics"
+{
+}
+
+subproject MT_Reactor_Timer_Test icc "MT_Reactor_Timer_Test.icc", ics "MT_Reactor_Timer_Test.ics"
+{
+}
+
+subproject MT_SOCK_Test icc "MT_SOCK_Test.icc", ics "MT_SOCK_Test.ics"
+{
+}
+
+subproject Malloc_Test icc "Malloc_Test.icc", ics "Malloc_Test.ics"
+{
+}
+
+subproject Map_Manager_Test icc "Map_Manager_Test.icc", ics "Map_Manager_Test.ics"
+{
+}
+
+subproject Map_Test icc "Map_Test.icc", ics "Map_Test.ics"
+{
+}
+
+subproject Max_Default_Port_Test icc "Max_Default_Port_Test.icc", ics "Max_Default_Port_Test.ics"
+{
+}
+
+subproject Mem_Map_Test icc "Mem_Map_Test.icc", ics "Mem_Map_Test.ics"
+{
+}
+
+subproject Message_Block_Test icc "Message_Block_Test.icc", ics "Message_Block_Test.ics"
+{
+}
+
+subproject Message_Queue_Notifications_Test icc "Message_Queue_Notifications_Test.icc", ics "Message_Queue_Notifications_Test.ics"
+{
+}
+
+subproject Message_Queue_Test icc "Message_Queue_Test.icc", ics "Message_Queue_Test.ics"
+{
+}
+
+subproject Message_Queue_Test_Ex icc "Message_Queue_Test_Ex.icc", ics "Message_Queue_Test_Ex.ics"
+{
+}
+
+subproject Naming_Test icc "Naming_Test.icc", ics "Naming_Test.ics"
+{
+}
+
+subproject New_Fail_Test icc "New_Fail_Test.icc", ics "New_Fail_Test.ics"
+{
+}
+
+subproject Notify_Performance_Test icc "Notify_Performance_Test.icc", ics "Notify_Performance_Test.ics"
+{
+}
+
+subproject OS_Test icc "OS_Test.icc", ics "OS_Test.ics"
+{
+}
+
+subproject Object_Manager_Test icc "Object_Manager_Test.icc", ics "Object_Manager_Test.ics"
+{
+}
+
+subproject OrdMultiSet_Test icc "OrdMultiSet_Test.icc", ics "OrdMultiSet_Test.ics"
+{
+}
+
+subproject Pipe_Test icc "Pipe_Test.icc", ics "Pipe_Test.ics"
+{
+}
+
+subproject Priority_Buffer_Test icc "Priority_Buffer_Test.icc", ics "Priority_Buffer_Test.ics"
+{
+}
+
+subproject Priority_Reactor_Test icc "Priority_Reactor_Test.icc", ics "Priority_Reactor_Test.ics"
+{
+}
+
+subproject Priority_Task_Test icc "Priority_Task_Test.icc", ics "Priority_Task_Test.ics"
+{
+}
+
+subproject Process_Manager_Test icc "Process_Manager_Test.icc", ics "Process_Manager_Test.ics"
+{
+}
+
+subproject Process_Mutex_Test icc "Process_Mutex_Test.icc", ics "Process_Mutex_Test.ics"
+{
+}
+
+subproject Process_Strategy_Test icc "Process_Strategy_Test.icc", ics "Process_Strategy_Test.ics"
+{
+}
+
+subproject RB_Tree_Test icc "RB_Tree_Test.icc", ics "RB_Tree_Test.ics"
+{
+}
+
+subproject Reactor_Exceptions_Test icc "Reactor_Exceptions_Test.icc", ics "Reactor_Exceptions_Test.ics"
+{
+}
+
+subproject Reactor_Notify_Test icc "Reactor_Notify_Test.icc", ics "Reactor_Notify_Test.ics"
+{
+}
+
+subproject Reactor_Performance_Test icc "Reactor_Performance_Test.icc", ics "Reactor_Performance_Test.ics"
+{
+}
+
+subproject Reactor_Timer_Test icc "Reactor_Timer_Test.icc", ics "Reactor_Timer_Test.ics"
+{
+}
+
+subproject Reactors_Test icc "Reactors_Test.icc", ics "Reactors_Test.ics"
+{
+}
+
+subproject Reader_Writer_Test icc "Reader_Writer_Test.icc", ics "Reader_Writer_Test.ics"
+{
+}
+
+subproject Recursive_Mutex_Test icc "Recursive_Mutex_Test.icc", ics "Recursive_Mutex_Test.ics"
+{
+}
+
+subproject Refcounted_Auto_Ptr_Test icc "Refcounted_Auto_Ptr_Test.icc", ics "Refcounted_Auto_Ptr_Test.ics"
+{
+}
+
+subproject Reverse_Lock_Test icc "Reverse_Lock_Test.icc", ics "Reverse_Lock_Test.ics"
+{
+}
+
+subproject Service_Config_Test icc "Service_Config_Test.icc", ics "Service_Config_Test.ics"
+{
+}
+
+subproject libService_Config_DLL icc "libService_Config_DLL.icc", ics "libService_Config_DLL.ics"
+{
+}
+
+subproject SOCK_Connector_Test icc "SOCK_Connector_Test.icc", ics "SOCK_Connector_Test.ics"
+{
+}
+
+subproject SOCK_Send_Recv_Test icc "SOCK_Send_Recv_Test.icc", ics "SOCK_Send_Recv_Test.ics"
+{
+}
+
+subproject SOCK_Test icc "SOCK_Test.icc", ics "SOCK_Test.ics"
+{
+}
+
+subproject SPIPE_Test icc "SPIPE_Test.icc", ics "SPIPE_Test.ics"
+{
+}
+
+subproject SString_Test icc "SString_Test.icc", ics "SString_Test.ics"
+{
+}
+
+subproject SV_Shared_Memory_Test icc "SV_Shared_Memory_Test.icc", ics "SV_Shared_Memory_Test.ics"
+{
+}
+
+subproject Semaphore_Test icc "Semaphore_Test.icc", ics "Semaphore_Test.ics"
+{
+}
+
+subproject Service_Config_Test icc "Service_Config_Test.icc", ics "Service_Config_Test.ics"
+{
+}
+
+subproject Signal_Test icc "Signal_Test.icc", ics "Signal_Test.ics"
+{
+}
+
+subproject Sigset_Ops_Test icc "Sigset_Ops_Test.icc", ics "Sigset_Ops_Test.ics"
+{
+}
+
+subproject Simple_Message_Block_Test icc "Simple_Message_Block_Test.icc", ics "Simple_Message_Block_Test.ics"
+{
+}
+
+subproject Svc_Handler_Test icc "Svc_Handler_Test.icc", ics "Svc_Handler_Test.ics"
+{
+}
+
+subproject TSS_Test icc "TSS_Test.icc", ics "TSS_Test.ics"
+{
+}
+
+subproject Task_Test icc "Task_Test.icc", ics "Task_Test.ics"
+{
+}
+
+subproject Thread_Manager_Test icc "Thread_Manager_Test.icc", ics "Thread_Manager_Test.ics"
+{
+}
+
+subproject Thread_Mutex_Test icc "Thread_Mutex_Test.icc", ics "Thread_Mutex_Test.ics"
+{
+}
+
+subproject Thread_Pool_Reactor_Test icc "Thread_Pool_Reactor_Test.icc", ics "Thread_Pool_Reactor_Test.ics"
+{
+}
+
+subproject Thread_Pool_Reactor_Resume_Test icc "Thread_Pool_Reactor_Resume_Test.icc", ics "Thread_Pool_Reactor_Resume_Test.ics"
+{
+}
+
+subproject Thread_Pool_Test icc "Thread_Pool_Test.icc", ics "Thread_Pool_Test.ics"
+{
+}
+
+subproject Time_Service_Test icc "Time_Service_Test.icc", ics "Time_Service_Test.ics"
+{
+}
+
+subproject Time_Value_Test icc "Time_Value_Test.icc", ics "Time_Value_Test.ics"
+{
+}
+
+subproject Timeprobe_Test icc "Timeprobe_Test.icc", ics "Timeprobe_Test.ics"
+{
+}
+
+subproject Timer_Queue_Test icc "Timer_Queue_Test.icc", ics "Timer_Queue_Test.ics"
+{
+}
+
+subproject TkReactor_Test icc "TkReactor_Test.icc", ics "TkReactor_Test.ics"
+{
+}
+
+subproject Tokens_Test icc "Tokens_Test.icc", ics "Tokens_Test.ics"
+{
+}
+
+subproject UPIPE_SAP_Test icc "UPIPE_SAP_Test.icc", ics "UPIPE_SAP_Test.ics"
+{
+}
+
+subproject Upgradable_RW_Test icc "Upgradable_RW_Test.icc", ics "Upgradable_RW_Test.ics"
+{
+}
+
+subproject XtReactor_Test icc "XtReactor_Test.icc", ics "XtReactor_Test.ics"
+{
+}
+
+
+build all
+{
+use ARGV_Test
+use Aio_Platform_Test
+use Atomic_Op_Test
+use Auto_IncDec_Test
+use Barrier_Test
+use Basic_Types_Test
+use Buffer_Stream_Test
+use CDR_Array_Test
+use CDR_File_Test
+use CDR_Test
+use Cache_Map_Manager_Test
+use Cached_Accept_Conn_Test
+use Cached_Conn_Test
+use Capabilities_Test
+use Collection_Test
+use Config_Test
+use Conn_Test
+use DLL_Test
+use libDLL_Test
+use DLList_Test
+use Dirent_Test
+use Dynamic_Priority_Test
+use Enum_Interfaces_Test
+use Env_Value_Test
+use FlReactor_Test
+use Future_Set_Test
+use Future_Test
+use Handle_Set_Test
+use Hash_Map_Bucket_Iterator_Test
+use Hash_Map_Manager_Test
+use High_Res_Timer_Test
+use IOStream_Test
+use Lazy_Map_Manager_Test
+use Log_Msg_Test
+use Logging_Strategy_Test
+use MEM_Stream_Test
+use MM_Shared_Memory_Test
+use MT_Reactor_Timer_Test
+use MT_SOCK_Test
+use Malloc_Test
+use Map_Manager_Test
+use Map_Test
+use Mem_Map_Test
+use Message_Block_Test
+use Message_Queue_Notifications_Test
+use Message_Queue_Test
+use Message_Queue_Test_Ex
+use Naming_Test
+use New_Fail_Test
+use Notify_Performance_Test
+use OS_Test
+use Object_Manager_Test
+use OrdMultiSet_Test
+use Pipe_Test
+use Priority_Buffer_Test
+use Priority_Reactor_Test
+use Priority_Task_Test
+use Process_Manager_Test
+use Process_Mutex_Test
+use Process_Strategy_Test
+use RB_Tree_Test
+use Reactor_Exceptions_Test
+use Reactor_Notify_Test
+use Reactor_Performance_Test
+use Reactor_Timer_Test
+use Reactors_Test
+use Reader_Writer_Test
+use Recursive_Mutex_Test
+use Refcounted_Auto_Ptr_Test
+use Reverse_Lock_Test
+use SOCK_Connector_Test
+use SOCK_Send_Recv_Test
+use SOCK_Test
+use SPIPE_Test
+use SString_Test
+use SV_Shared_Memory_Test
+use Semaphore_Test
+use Service_Config_Test
+use Signal_Test
+use Sigset_Ops_Test
+use Simple_Message_Block_Test
+use Svc_Handler_Test
+use TSS_Test
+use Task_Test
+use Thread_Manager_Test
+use Thread_Mutex_Test
+use Thread_Pool_Reactor_Test
+use Thread_Pool_Test
+use Time_Service_Test
+use Time_Value_Test
+use Timeprobe_Test
+use Timer_Queue_Test
+use TkReactor_Test
+use Tokens_Test
+use UPIPE_SAP_Test
+use Upgradable_RW_Test
+}