summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormhengstmengel <mhengstmengel@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2013-10-23 08:44:20 +0000
committermhengstmengel <mhengstmengel@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2013-10-23 08:44:20 +0000
commit121ae1d4eeb87d6b6920ec7ff7f8eef87b8fda6a (patch)
treeb0701a19774a14a79d8a1f07ad24584752a70179
parent6206a1506defd347551f3b33bbbb2265de05e6ce (diff)
downloadATCD-121ae1d4eeb87d6b6920ec7ff7f8eef87b8fda6a.tar.gz
Changes for ANDROID port
-rw-r--r--ACE/ChangeLog264
-rw-r--r--ACE/ace/Based_Pointer_Repository.cpp6
-rw-r--r--ACE/ace/Compression/rle/RLECompressor.cpp2
-rw-r--r--ACE/ace/Dynamic.cpp6
-rw-r--r--ACE/ace/Lib_Find.cpp7
-rw-r--r--ACE/ace/Obstack_T.cpp2
-rw-r--r--ACE/ace/SSL/SSL_Context.cpp8
-rw-r--r--ACE/ace/UUID.cpp5
-rw-r--r--ACE/ace/config-android.h7
-rw-r--r--ACE/ace/config-macros.h19
-rw-r--r--ACE/apps/JAWS3/jaws3/Templates.cpp29
-rw-r--r--ACE/apps/drwho/File_Manager.cpp6
-rw-r--r--ACE/bin/PerlACE/Process_Unix.pm71
-rw-r--r--ACE/bin/PerlACE/TestTarget.pm59
-rw-r--r--ACE/bin/PerlACE/TestTarget_Android.pm9
-rwxr-xr-xACE/bin/auto_run_tests.pl8
-rw-r--r--ACE/examples/APG/Logging/Use_LogManager.cpp6
-rw-r--r--ACE/examples/APG/Timers/PTimerDispatcher.cpp5
-rw-r--r--ACE/examples/APG/Timers/TimerDispatcher.cpp5
-rw-r--r--ACE/examples/C++NPv2/TP_Logging_Server.cpp9
-rw-r--r--ACE/examples/Export/dll.cpp4
-rw-r--r--ACE/examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp6
-rw-r--r--ACE/examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp6
-rw-r--r--ACE/examples/Logger/Acceptor-server/server_loggerd.cpp16
-rw-r--r--ACE/examples/Logger/simple-server/server_loggerd.cpp5
-rw-r--r--ACE/examples/Threads/auto_event.cpp5
-rw-r--r--ACE/examples/Threads/tss2.cpp6
-rw-r--r--ACE/examples/Web_Crawler/Command_Processor.cpp4
-rw-r--r--ACE/performance-tests/Misc/test_singleton.cpp5
-rw-r--r--ACE/tests/MEM_Stream_Test.cpp10
-rw-r--r--ACE/tests/Process_Strategy_Test.cpp7
31 files changed, 457 insertions, 150 deletions
diff --git a/ACE/ChangeLog b/ACE/ChangeLog
index 9275c518f3c..f12a7528efa 100644
--- a/ACE/ChangeLog
+++ b/ACE/ChangeLog
@@ -1,3 +1,267 @@
+Wed Oct 23 08:28:29 UTC 2013 Marijke Hengstmengel <MHengstmengel.remedy.nl>
+
+ * ace/Based_Pointer_Repository.cpp:
+
+ * ace/Compression/rle/RLECompressor.cpp:
+
+ * ace/Dynamic.cpp:
+ * ace/Lib_Find.cpp:
+ * ace/Obstack_T.cpp:
+
+ * ace/SSL/SSL_Context.cpp:
+
+ * ace/UUID.cpp:
+ * ace/config-android.h:
+ * ace/config-macros.h:
+
+ * apps/JAWS3/jaws3/Templates.cpp:
+
+ * apps/drwho/File_Manager.cpp:
+
+ * bin/PerlACE/Process_Unix.pm:
+ * bin/PerlACE/TestTarget.pm:
+ * bin/PerlACE/TestTarget_Android.pm:
+
+ * bin/auto_run_tests.pl:
+
+ * examples/APG/Logging/Use_LogManager.cpp:
+
+ * examples/APG/Timers/PTimerDispatcher.cpp:
+ * examples/APG/Timers/TimerDispatcher.cpp:
+
+ * examples/C++NPv2/TP_Logging_Server.cpp:
+
+ * examples/Export/dll.cpp:
+
+ * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp:
+ * examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp:
+
+ * examples/Logger/Acceptor-server/server_loggerd.cpp:
+
+ * examples/Logger/simple-server/server_loggerd.cpp:
+
+ * examples/Threads/auto_event.cpp:
+ * examples/Threads/tss2.cpp:
+
+ * examples/Web_Crawler/Command_Processor.cpp:
+
+ * performance-tests/Misc/test_singleton.cpp:
+
+ * tests/MEM_Stream_Test.cpp:
+ * tests/Process_Strategy_Test.cpp:
+
+ Changes for ANDROID CIAO port with native android
+
+
+ commit 43a2b2dfd3cc68ed5c30f4d8994a36183d972202
+ Author: Marijke Hengstmengel <MHengstmengel@remedy.nl>
+ Date: Wed Oct 16 12:40:58 2013 +0200
+ Removed my_test.lst
+ * ACE/bin/auto_run_tests.pl:
+
+ commit 6e8749c45496635965cb9928690454572b208794
+ Author: Marijke Hengstmengel <MHengstmengel@remedy.nl>
+ Date: Wed Oct 16 11:11:15 2013 +0200
+
+ Use typedef for template in Singleton template
+ * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp:
+ * ACE/tests/MEM_Stream_Test.cpp:
+
+ commit 676e8e389552f864f5118a9616d156d134454085
+ Author: Marijke Hengstmengel <MHengstmengel@remedy.nl>
+ Date: Wed Oct 16 10:06:07 2013 +0200
+
+ Added my_list
+ * ACE/bin/auto_run_tests.pl:
+
+ commit b08cbe167f6f20b94d4e16c4e6cf6e516f605e16
+ Author: Marijke Hengstmengel <MHengstmengel@remedy.nl>
+ Date: Tue Oct 15 15:35:33 2013 +0200
+
+ Temporarily use an other test list
+ * ACE/bin/auto_run_tests.pl:
+
+ commit ac22da3990acafaa9e5c2e9ddf8fc08a8e86f2b0
+ Author: Marijke Hengstmengel <MHengstmengel@remedy.nl>
+ Date: Tue Oct 15 15:22:58 2013 +0200
+
+ Work in progress
+ * ACE/bin/PerlACE/Process_Unix.pm:
+ * ACE/bin/PerlACE/TestTarget.pm:
+ * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp:
+ * ACE/tests/MEM_Stream_Test.cpp:
+
+ commit bb0a43d0cabb4a28504d9e57b21978b413d5eed5
+ Author: Marijke Hengstmengel <MHengstmengel@remedy.nl>
+ Date: Wed Oct 9 15:56:10 2013 +0200
+
+ Changes for local AND remote targets
+ * ACE/bin/PerlACE/Process_Unix.pm:
+ * ACE/bin/PerlACE/TestTarget.pm:
+ * ACE/bin/PerlACE/TestTarget_Android.pm:
+
+ Singleton errors.
+ * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp:
+ * ACE/tests/MEM_Stream_Test.cpp:
+
+ commit a7d5192310bdac903fbc1c26cb2e02f3367804a0
+ Author: Marijke Hengstmengel <MHengstmengel@remedy.nl>
+ Date: Wed Oct 9 10:03:30 2013 +0200
+
+ Solved compiler errors.
+ * ACE/examples/Export/dll.cpp:
+ * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp:
+ * ACE/examples/Logger/simple-server/server_loggerd.cpp:
+ * ACE/tests/MEM_Stream_Test.cpp:
+
+ commit cd8529e7014ccede6aec99106074b39584eecf14
+ Author: Marijke Hengstmengel <MHengstmengel@remedy.nl>
+ Date: Tue Oct 8 15:44:52 2013 +0200
+
+ Use macro ACE_SINGLETON_TEMPLATE_INSTANTIATE
+ * ACE/ace/Based_Pointer_Repository.cpp:
+ * ACE/ace/Dynamic.cpp:
+ * ACE/ace/Lib_Find.cpp:
+ * ACE/ace/SSL/SSL_Context.cpp:
+ * ACE/apps/JAWS3/jaws3/Templates.cpp:
+ * ACE/apps/drwho/File_Manager.cpp:
+ * ACE/examples/APG/Logging/Use_LogManager.cpp:
+ * ACE/examples/APG/Timers/PTimerDispatcher.cpp:
+ * ACE/examples/APG/Timers/TimerDispatcher.cpp:
+ * ACE/examples/C++NPv2/TP_Logging_Server.cpp:
+ * ACE/examples/Export/dll.cpp:
+ * ACE/examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp:
+ * ACE/examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp:
+ * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp:
+ * ACE/examples/Logger/simple-server/server_loggerd.cpp:
+ * ACE/examples/Threads/auto_event.cpp:
+ * ACE/examples/Threads/tss2.cpp:
+ * ACE/examples/Web_Crawler/Command_Processor.cpp:
+ * ACE/performance-tests/Misc/test_singleton.cpp:
+ * ACE/tests/MEM_Stream_Test.cpp:
+ * ACE/tests/Process_Strategy_Test.cpp:
+
+ commit 43a2b2dfd3cc68ed5c30f4d8994a36183d972202
+ Author: Marijke Hengstmengel <MHengstmengel@remedy.nl>
+ Date: Wed Oct 16 12:40:58 2013 +0200
+
+ Removed my_test.lst
+ * ACE/bin/auto_run_tests.pl:
+
+ commit 6e8749c45496635965cb9928690454572b208794
+ Author: Marijke Hengstmengel <MHengstmengel@remedy.nl>
+ Date: Wed Oct 16 11:11:15 2013 +0200
+
+ Use typedef for template in Singleton template
+ * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp:
+ * ACE/tests/MEM_Stream_Test.cpp:
+
+ commit 676e8e389552f864f5118a9616d156d134454085
+ Author: Marijke Hengstmengel <MHengstmengel@remedy.nl>
+ Date: Wed Oct 16 10:06:07 2013 +0200
+
+ Added my_list
+ * ACE/bin/auto_run_tests.pl:
+
+ commit b08cbe167f6f20b94d4e16c4e6cf6e516f605e16
+ Author: Marijke Hengstmengel <MHengstmengel@remedy.nl>
+ Date: Tue Oct 15 15:35:33 2013 +0200
+
+ Temporarily use an other test list
+ * ACE/bin/auto_run_tests.pl:
+
+ commit ac22da3990acafaa9e5c2e9ddf8fc08a8e86f2b0
+ Author: Marijke Hengstmengel <MHengstmengel@remedy.nl>
+ Date: Tue Oct 15 15:22:58 2013 +0200
+
+ Work in progress
+ * ACE/bin/PerlACE/Process_Unix.pm:
+ * ACE/bin/PerlACE/TestTarget.pm:
+ * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp:
+ * ACE/tests/MEM_Stream_Test.cpp:
+
+ commit bb0a43d0cabb4a28504d9e57b21978b413d5eed5
+ Author: Marijke Hengstmengel <MHengstmengel@remedy.nl>
+ Date: Wed Oct 9 15:56:10 2013 +0200
+
+ refs #39157
+ Changes for local AND remote targets
+ * ACE/bin/PerlACE/Process_Unix.pm:
+ * ACE/bin/PerlACE/TestTarget.pm:
+ * ACE/bin/PerlACE/TestTarget_Android.pm:
+
+ Singleton errors.
+ * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp:
+ * ACE/tests/MEM_Stream_Test.cpp:
+
+ commit a7d5192310bdac903fbc1c26cb2e02f3367804a0
+ Author: Marijke Hengstmengel <MHengstmengel@remedy.nl>
+ Date: Wed Oct 9 10:03:30 2013 +0200
+
+ Solved compiler errors.
+ * ACE/examples/Export/dll.cpp:
+ * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp:
+ * ACE/examples/Logger/simple-server/server_loggerd.cpp:
+ * ACE/tests/MEM_Stream_Test.cpp:
+
+ commit cd8529e7014ccede6aec99106074b39584eecf14
+ Author: Marijke Hengstmengel <MHengstmengel@remedy.nl>
+ Date: Tue Oct 8 15:44:52 2013 +0200
+
+ Use macro ACE_SINGLETON_TEMPLATE_INSTANTIATE
+ * ACE/ace/Based_Pointer_Repository.cpp:
+ * ACE/ace/Dynamic.cpp:
+ * ACE/ace/Lib_Find.cpp:
+ * ACE/ace/SSL/SSL_Context.cpp:
+ * ACE/apps/JAWS3/jaws3/Templates.cpp:
+ * ACE/apps/drwho/File_Manager.cpp:
+ * ACE/examples/APG/Logging/Use_LogManager.cpp:
+ * ACE/examples/APG/Timers/PTimerDispatcher.cpp:
+ * ACE/examples/APG/Timers/TimerDispatcher.cpp:
+ * ACE/examples/C++NPv2/TP_Logging_Server.cpp:
+ * ACE/examples/Export/dll.cpp:
+ * ACE/examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp:
+ * ACE/examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp:
+ * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp:
+ * ACE/examples/Logger/simple-server/server_loggerd.cpp:
+ * ACE/examples/Threads/auto_event.cpp:
+ * ACE/examples/Threads/tss2.cpp:
+ * ACE/examples/Web_Crawler/Command_Processor.cpp:
+ * ACE/performance-tests/Misc/test_singleton.cpp:
+ * ACE/tests/MEM_Stream_Test.cpp:
+ * ACE/tests/Process_Strategy_Test.cpp:
+
+ commit e9ae52194cec4f883c0c504026d53d2d52704c21
+ Author: Marijke Hengstmengel <MHengstmengel@remedy.nl>
+ Date: Tue Oct 8 12:41:22 2013 +0200
+
+ Add support for remote testing in build environment with flat layout.
+ * ACE/bin/PerlACE/Process_Unix.pm:
+
+ commit 1bf4499a38f5b1b1db7bfeb1c509708cc3950411
+ Author: Marijke Hengstmengel <MHengstmengel@remedy.nl>
+ Date: Mon Oct 7 15:45:47 2013 +0200
+
+ Add Singleton instantiate
+ * ACE/ace/Compression/rle/RLECompressor.cpp:
+
+ commit 384158b0b43c358cf5d960b9437f62701f402a07
+ Author: Marijke Hengstmengel <MHengstmengel@remedy.nl>
+ Date: Mon Oct 7 09:39:43 2013 +0200
+
+ Added SINGLETON_DECLARATION
+ * ACE/ace/Obstack_T.cpp:
+
+ commit eb9626a86511c55e5d46a65a260240af6103f8e4
+ Author: Marijke Hengstmengel <MHengstmengel@remedy.nl>
+ Date: Thu Oct 3 10:19:06 2013 +0200
+
+ Solved singleton problems for android
+ * ACE/ace/UUID.cpp:
+ * ACE/ace/config-android.h:
+ * ACE/ace/config-macros.h:
+
+
Tue Oct 22 22:09:41 UTC 2013 Phil Mesnier <mesnier_p@ociweb.com>
* ace/Sock_Connect.cpp:
diff --git a/ACE/ace/Based_Pointer_Repository.cpp b/ACE/ace/Based_Pointer_Repository.cpp
index a76d3dbcbd3..07d71e85a86 100644
--- a/ACE/ace/Based_Pointer_Repository.cpp
+++ b/ACE/ace/Based_Pointer_Repository.cpp
@@ -111,9 +111,7 @@ ACE_Based_Pointer_Repository::unbind (void *addr)
return 0;
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<ACE_Based_Pointer_Repository, ACE_SYNCH_RW_MUTEX> *
- ACE_Singleton<ACE_Based_Pointer_Repository, ACE_SYNCH_RW_MUTEX>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_Based_Pointer_Repository, ACE_SYNCH_RW_MUTEX);
+
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ACE/ace/Compression/rle/RLECompressor.cpp b/ACE/ace/Compression/rle/RLECompressor.cpp
index 22b4d784d8f..b1ca7c33fba 100644
--- a/ACE/ace/Compression/rle/RLECompressor.cpp
+++ b/ACE/ace/Compression/rle/RLECompressor.cpp
@@ -158,6 +158,8 @@ ACE_RLECompressor::decompress( const void *in_ptr,
return out_len;
}
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_RLECompressor, ACE_SYNCH_MUTEX);
+
// Close versioned namespace, if enabled by the user.
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ACE/ace/Dynamic.cpp b/ACE/ace/Dynamic.cpp
index 0b8cc2df163..085f6e56fb5 100644
--- a/ACE/ace/Dynamic.cpp
+++ b/ACE/ace/Dynamic.cpp
@@ -26,9 +26,7 @@ ACE_Dynamic::instance (void)
return ACE_TSS_Singleton<ACE_Dynamic, ACE_SYNCH_NULL_MUTEX>::instance ();
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_TSS_Singleton<ACE_Dynamic, ACE_Null_Mutex> *
- ACE_TSS_Singleton<ACE_Dynamic, ACE_Null_Mutex>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_TSS_Singleton, ACE_Dynamic, ACE_SYNCH_MUTEX);
+
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ACE/ace/Lib_Find.cpp b/ACE/ace/Lib_Find.cpp
index 85004497660..b6570de9d18 100644
--- a/ACE/ace/Lib_Find.cpp
+++ b/ACE/ace/Lib_Find.cpp
@@ -104,10 +104,9 @@ ACE_SINGLETON_DECLARE (ACE_Singleton,
typedef ACE_Singleton<ACE_LD_Symbol_Registry, ACE_Thread_Mutex>
ACE_LD_SYMBOL_REGISTRY;
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<ACE_LD_Symbol_Registry, ACE_Thread_Mutex> *
- ACE_Singleton<ACE_LD_Symbol_Registry, ACE_Thread_Mutex>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_LD_Symbol_Registry, ACE_SYNCH_MUTEX);
+
+
#endif
diff --git a/ACE/ace/Obstack_T.cpp b/ACE/ace/Obstack_T.cpp
index fe9a2f15482..c4d15b77c20 100644
--- a/ACE/ace/Obstack_T.cpp
+++ b/ACE/ace/Obstack_T.cpp
@@ -221,6 +221,8 @@ ACE_Obstack_T<ACE_CHAR_T>::freeze (void)
return retv;
}
+ACE_SINGLETON_TEMPLATE_INSTANTIATION(ACE_Obstack_T <char>;);
+
ACE_END_VERSIONED_NAMESPACE_DECL
#endif /* ACE_OBSTACK_T_CPP */
diff --git a/ACE/ace/SSL/SSL_Context.cpp b/ACE/ace/SSL/SSL_Context.cpp
index ba25611aa74..37c10fca375 100644
--- a/ACE/ace/SSL/SSL_Context.cpp
+++ b/ACE/ace/SSL/SSL_Context.cpp
@@ -664,12 +664,6 @@ ACE_SSL_Context::dh_params (const char *file_name,
}
// ****************************************************************
-
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-
-template ACE_Unmanaged_Singleton<ACE_SSL_Context, ACE_SYNCH_MUTEX> *
- ACE_Unmanaged_Singleton<ACE_SSL_Context, ACE_SYNCH_MUTEX>::singleton_;
-
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Unmanaged_Singleton, ACE_Based_Pointer_Repository, ACE_SYNCH_MUTEX);
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ACE/ace/UUID.cpp b/ACE/ace/UUID.cpp
index bda17c76930..1c3811e5fc2 100644
--- a/ACE/ace/UUID.cpp
+++ b/ACE/ace/UUID.cpp
@@ -487,9 +487,6 @@ namespace ACE_Utils
}
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
- template ACE_Singleton <ACE_Utils::UUID_Generator, ACE_SYNCH_MUTEX> *
- ACE_Singleton <ACE_Utils::UUID_Generator, ACE_SYNCH_MUTEX>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_Utils::UUID_Generator, ACE_SYNCH_MUTEX);
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ACE/ace/config-android.h b/ACE/ace/config-android.h
index 9ccb4cafb0f..ec6fe88db9c 100644
--- a/ACE/ace/config-android.h
+++ b/ACE/ace/config-android.h
@@ -135,6 +135,13 @@
// this must appear before its #include.
# define ACE_HAS_STRING_CLASS
# include "ace/config-g++-common.h"
+
+# define ACE_HAS_CUSTOM_EXPORT_MACROS
+# define ACE_Proper_Export_Flag
+# define ACE_IMPORT_SINGLETON_DECLARATION(T) __extension__ extern template class T
+# define ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) __extension__ extern template class SINGLETON_TYPE<CLASS, LOCK>;
+# define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION
+
#elif defined (__GNUC__)
/**
* GNU C compiler.
diff --git a/ACE/ace/config-macros.h b/ACE/ace/config-macros.h
index 432457a980d..e0ca19d30d2 100644
--- a/ACE/ace/config-macros.h
+++ b/ACE/ace/config-macros.h
@@ -182,6 +182,25 @@
#endif /* !ACE_HAS_CUSTOM_EXPORT_MACROS */
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+# define ACE_SINGLETON_TEMPLATE_INSTANTIATION(T) \
+ template class T;
+# define ACE_SINGLETON_TEMPLATE_INSTANTIATE(SINGLETON_TYPE, CLASS, LOCK) \
+ template class SINGLETON_TYPE < CLASS, LOCK >;
+#elif defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
+# define ACE_SINGLETON_TEMPLATE_INSTANTIATION(T) \
+ template T * T::singleton_;
+# define ACE_SINGLETON_TEMPLATE_INSTANTIATE(SINGLETON_TYPE, CLASS, LOCK) \
+ template SINGLETON_TYPE < CLASS, LOCK > * SINGLETON_TYPE < CLASS, LOCK >::singleton_;
+#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+
+#if !defined(ACE_SINGLETON_TEMPLATE_INSTANTIATION)
+# define ACE_SINGLETON_TEMPLATE_INSTANTIATION(T)
+#endif
+#if !defined(ACE_SINGLETON_TEMPLATE_INSTANTIATE)
+# define ACE_SINGLETON_TEMPLATE_INSTANTIATE(SINGLETON_TYPE, CLASS, LOCK)
+#endif
+
// This is a whim of mine -- that instead of annotating a class with
// ACE_Export in its declaration, we make the declaration near the TOP
// of the file with ACE_DECLARE_EXPORT.
diff --git a/ACE/apps/JAWS3/jaws3/Templates.cpp b/ACE/apps/JAWS3/jaws3/Templates.cpp
index 2f702936747..60bca7b9bc8 100644
--- a/ACE/apps/JAWS3/jaws3/Templates.cpp
+++ b/ACE/apps/JAWS3/jaws3/Templates.cpp
@@ -55,18 +55,17 @@
#define ACE_TQIT_R \
ACE_Timer_Queue_Iterator_T<ACE_WHEEL_TEMPLATE_ARGS_R>
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<ACE_Message_Block, ACE_Null_Mutex> *ACE_Singleton<ACE_Message_Block, ACE_Null_Mutex>::singleton_;
-template ACE_Singleton<JAWS_Asynch_IO, ACE_Thread_Mutex> *ACE_Singleton<JAWS_Asynch_IO, ACE_Thread_Mutex>::singleton_;
-template ACE_Singleton<JAWS_Concurrency, ACE_Thread_Mutex> *ACE_Singleton<JAWS_Concurrency, ACE_Thread_Mutex>::singleton_;
-template ACE_Singleton<JAWS_IO, ACE_Thread_Mutex> *ACE_Singleton<JAWS_IO, ACE_Thread_Mutex>::singleton_;
-template ACE_Singleton<JAWS_Options, ACE_Thread_Mutex> *ACE_Singleton<JAWS_Options, ACE_Thread_Mutex>::singleton_;
-template ACE_Singleton<JAWS_Reactive_IO, ACE_Thread_Mutex> *ACE_Singleton<JAWS_Reactive_IO, ACE_Thread_Mutex>::singleton_;
-template ACE_Singleton<JAWS_Signal_Task, ACE_Thread_Mutex> *ACE_Singleton<JAWS_Signal_Task, ACE_Thread_Mutex>::singleton_;
-template ACE_Singleton<JAWS_Synch_IO, ACE_Thread_Mutex> *ACE_Singleton<JAWS_Synch_IO, ACE_Thread_Mutex>::singleton_;
-template ACE_Singleton<JAWS_THYBRID_Concurrency, ACE_Thread_Mutex> *ACE_Singleton<JAWS_THYBRID_Concurrency, ACE_Thread_Mutex>::singleton_;
-template ACE_Singleton<JAWS_TPOOL_Concurrency, ACE_Thread_Mutex> *ACE_Singleton<JAWS_TPOOL_Concurrency, ACE_Thread_Mutex>::singleton_;
-template ACE_Singleton<JAWS_TPR_Concurrency, ACE_Thread_Mutex> *ACE_Singleton<JAWS_TPR_Concurrency, ACE_Thread_Mutex>::singleton_;
-template ACE_Singleton<JAWS_Task_Timer, ACE_Thread_Mutex> *ACE_Singleton<JAWS_Task_Timer, ACE_Thread_Mutex>::singleton_;
-template ACE_Singleton<JAWS_Timer, ACE_Thread_Mutex> *ACE_Singleton<JAWS_Timer, ACE_Thread_Mutex>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_Message_Block, ACE_Null_Mutex);
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_Asynch_IO, ACE_Thread_Mutex);
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_Concurrency, ACE_Thread_Mutex);
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_IO, ACE_Thread_Mutex);
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_Options, ACE_Thread_Mutex);
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_Reactive_IO, ACE_Thread_Mutex);
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_Signal_Task, ACE_Thread_Mutex);
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_Synch_IO, ACE_Thread_Mutex);
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_THYBRID_Concurrency, ACE_Thread_Mutex);
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_TPOOL_Concurrency, ACE_Thread_Mutex);
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_TPR_Concurrency, ACE_Thread_Mutex);
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_Task_Timer, ACE_Thread_Mutex);
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_Timer, ACE_Thread_Mutex);
+
diff --git a/ACE/apps/drwho/File_Manager.cpp b/ACE/apps/drwho/File_Manager.cpp
index 30df49cf8d7..f9d46814dc8 100644
--- a/ACE/apps/drwho/File_Manager.cpp
+++ b/ACE/apps/drwho/File_Manager.cpp
@@ -165,7 +165,5 @@ File_Manager::open_friends_file (const char *filename)
return this->number_of_friends;
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<File_Manager, ACE_Null_Mutex> *
- ACE_Singleton<File_Manager, ACE_Null_Mutex>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, File_Manager, ACE_Null_Mutex);
+
diff --git a/ACE/bin/PerlACE/Process_Unix.pm b/ACE/bin/PerlACE/Process_Unix.pm
index 75a4c7d2df4..0d41001f3a6 100644
--- a/ACE/bin/PerlACE/Process_Unix.pm
+++ b/ACE/bin/PerlACE/Process_Unix.pm
@@ -90,15 +90,14 @@ sub Executable
$self->{EXECUTABLE} = shift;
}
- my $executable = $self->{EXECUTABLE};
+ my $executable = File::Spec->rel2abs ($self->{EXECUTABLE});
- # If the target's config has a different ACE_ROOT, rebase the executable
- # from $ACE_ROOT to the target's root.
- if (defined $self->{TARGET} &&
- $self->{TARGET}->ACE_ROOT() ne $ENV{'ACE_ROOT'}) {
- $executable = PerlACE::rebase_path ($executable,
- $ENV{'ACE_ROOT'},
- $self->{TARGET}->ACE_ROOT());
+ if (defined $self->{TARGET} && defined $self->{TARGET}->{TARGET_FSROOT}) {
+ # If the target's config has a different filesystem root, rebase the executable
+ # from local root to the target's root.
+ $executable = PerlACE::rebase_path ($executable,
+ $self->{TARGET}->{HOST_FSROOT},
+ $self->{TARGET}->{TARGET_FSROOT});
}
if ($self->{IGNOREHOSTROOT} == 0) {
@@ -120,7 +119,6 @@ sub Executable
}
$executable = $dirname . $subdir . $basename;
-
return $executable;
}
@@ -141,7 +139,6 @@ sub CommandLine ()
my $exe = $self->Executable ();
my $commandline = $exe;
-
if (defined $self->{REMOTEINFO}) {
my($method) = $self->{REMOTEINFO}->{method};
my($username) = $self->{REMOTEINFO}->{username};
@@ -178,11 +175,9 @@ sub CommandLine ()
}
$commandline .= $exe;
}
-
if (defined $self->{ARGUMENTS}) {
$commandline .= ' '.$self->{ARGUMENTS};
}
-
# Avoid modifying TAO/tests run_test.pl scripts by using the
# ACE_RUNTEST_ARGS environment variable to append command line
# arguments.
@@ -195,7 +190,6 @@ sub CommandLine ()
. $global_args;
}
}
-
if (defined $self->{REMOTEINFO}) {
$commandline .= '"';
} elsif (defined $self->{TARGET} && defined $self->{TARGET}->{REMOTE_SHELL}) {
@@ -205,14 +199,19 @@ sub CommandLine ()
if (!defined $root) {
$root = $ENV{'ACE_ROOT'};
}
- my($exedir) = dirname ($exe);
- my($local_xdir)= File::Spec->rel2abs($self->{EXECUTABLE});
- if ($exedir == '.' || $exedir == './' || $exedir == '') {
- $exedir = cwd ();
- $local_xdir = $exedir;
+ my $exedir = cwd ();
+ my $local_xdir = $exedir;
+
+ if (defined $self->{TARGET} && defined $self->{TARGET}->{TARGET_FSROOT}) {
+ $exedir = PerlACE::rebase_path ($exedir,
+ $self->{TARGET}->{HOST_FSROOT},
+ $self->{TARGET}->{TARGET_FSROOT});
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print STDERR "INFO: rebased run script exedir to [",$exedir,"]\n";
+ }
}
if (!defined $self->{PIDFILE}) {
- $self->{PIDFILE} = "/tmp/.acerun/ace-".rand(time).".pid";
+ $self->{PIDFILE} = "$exedir/ace-".rand(time).".pid";
}
if (!defined $self->{SCRIPTFILE}) {
$self->{SCRIPTFILE} = "$local_xdir/run-".rand(time).".sh";
@@ -223,13 +222,30 @@ sub CommandLine ()
$libpath = PerlACE::concat_path ($libpath, $self->{TARGET}->{LIBPATH});
}
my $run_script =
- "if [ ! -e /tmp/.acerun ]; then mkdir /tmp/.acerun; fi\n".
+ # "if [ ! -e /tmp/.acerun ]; then mkdir /tmp/.acerun; fi\n".
"cd $exedir\n".
"export LD_LIBRARY_PATH=$libpath:\$LD_LIBRARY_PATH\n".
"export DYLD_LIBRARY_PATH=$libpath:\$DYLD_LIBRARY_PATH\n".
"export LIBPATH=$libpath:\$LIBPATH\n".
"export SHLIB_PATH=$libpath:\$SHLIB_PATH\n".
"export PATH=\$PATH:$root/bin:$root/lib:$libpath\n";
+ if (defined $self->{TARGET}->{dance_root}) {
+ $run_script .=
+ "export DANCE_ROOT=$self->{TARGET}->{dance_root}\n";
+ }
+ if (defined $self->{TARGET}->{ace_root}) {
+ $run_script .=
+ "export ACE_ROOT=$self->{TARGET}->{ace_root}\n";
+ }
+ if (defined $self->{TARGET}->{tao_root}) {
+ $run_script .=
+ "export TAO_ROOT=$self->{TARGET}->{tao_root}\n";
+ }
+ if (defined $self->{TARGET}->{ciao_root}) {
+ $run_script .=
+ "export CIAO_ROOT=$self->{TARGET}->{ciao_root}\n";
+ }
+
while ( my ($env_key, $env_value) = each(%$x_env_ref) ) {
$run_script .=
"export $env_key=$env_value\n";
@@ -241,7 +257,8 @@ sub CommandLine ()
"echo \$MY_PID > ".$self->{PIDFILE}."\n";
$run_script .=
"wait \$MY_PID\n";
-
+ $run_script .=
+ "rm $self->{PIDFILE}\n";
unless (open (RUN_SCRIPT, ">".$self->{SCRIPTFILE})) {
print STDERR "ERROR: Cannot Spawn: <", $self->Executable (),
"> failed to create ",$self->{SCRIPTFILE},"\n";
@@ -253,8 +270,16 @@ sub CommandLine ()
if (defined $ENV{'ACE_TEST_VERBOSE'}) {
print STDERR "INFO: created run script [",$self->{SCRIPTFILE},"]\n", $run_script;
}
+ if (defined $self->{TARGET} && defined $self->{TARGET}->{TARGET_FSROOT}) {
+ if ($self->{TARGET}->PutFile (basename ($self->{SCRIPTFILE})) == -1) {
+ print STDERR "ERROR: Failed to copy <", $self->{SCRIPTFILE},
+ "> to target \n";
+ return -1;
+ }
+ }
$commandline = "$shell \"source $exedir/".basename ($self->{SCRIPTFILE})."\"";
+
}
return $commandline;
@@ -353,7 +378,9 @@ sub Spawn ()
}
if ($self->{IGNOREEXESUBDIR} == 0) {
- if (!defined $self->{REMOTEINFO} && !-f $self->Executable ()) {
+ if (!defined $self->{REMOTEINFO} &&
+ !defined $self->{TARGET}->{REMOTE_SHELL} &&
+ !-f $self->Executable ()) {
print STDERR "ERROR: Cannot Spawn: <", $self->Executable (),
"> not found\n";
return -1;
diff --git a/ACE/bin/PerlACE/TestTarget.pm b/ACE/bin/PerlACE/TestTarget.pm
index 4e356111db8..c132ca80ca1 100644
--- a/ACE/bin/PerlACE/TestTarget.pm
+++ b/ACE/bin/PerlACE/TestTarget.pm
@@ -11,8 +11,10 @@ use English;
use POSIX qw(:time_h);
use File::Copy;
use File::Spec;
+use File::Basename;
use PerlACE::Run_Test;
use Sys::Hostname;
+use Cwd;
###############################################################################
@@ -104,6 +106,7 @@ sub GetConfigSettings ($)
if (defined $config_name) {
$env_prefix = $config_name."_";
}
+
my $env_name = $env_prefix.'ACE_ROOT';
if (exists $ENV{$env_name}) {
$self->{ace_root} = $ENV{$env_name};
@@ -113,17 +116,40 @@ sub GetConfigSettings ($)
$self->{ace_root} = $ENV{'ACE_ROOT'};
}
$env_name = $env_prefix.'TAO_ROOT';
- if (exists $ENV{$env_name}) {
- $self->{tao_root} = $ENV{$env_name};
+ if (exists $ENV{$env_name})
+ {
+ $self->{tao_root} = $ENV{$env_name};
+ } elsif (exists $ENV{'TAO_ROOT'}) {
+ $self->{tao_root} = $ENV{'TAO_ROOT'};
} else {
+ # assume there is a hierarchical struture
$self->{tao_root} = "$self->{ace_root}/TAO";
}
$env_name = $env_prefix.'CIAO_ROOT';
if (exists $ENV{$env_name}) {
$self->{ciao_root} = $ENV{$env_name};
+ } elsif (exists $ENV{'CIAO_ROOT'}) {
+ $self->{ciao_root} = $ENV{'CIAO_ROOT'};
} else {
+ # assume there is a hierarchical struture
$self->{ciao_root} = "$self->{tao_root}/CIAO";
}
+
+ $env_name = $env_prefix.'DANCE_ROOT';
+ if (exists $ENV{$env_name}) {
+ $self->{dance_root} = $ENV{$env_name};
+ } elsif (exists $ENV{'DANCE_ROOT'}) {
+ $self->{dance_root} = $ENV{'DANCE_ROOT'};
+ } else {
+ # assume there is a hierarchical struture
+ $self->{dance_root} = "$self->{tao_root}/DANCE";
+ }
+
+ if ($self->{ace_root} ne $ENV{'ACE_ROOT'}) {
+ $self->{HOST_FSROOT} = dirname ($ENV{'ACE_ROOT'});
+ $self->{TARGET_FSROOT} = dirname ($self->{ace_root});
+ }
+
$env_name = $env_prefix.'EXE_SUBDIR';
if (exists $ENV{$env_name}) {
$self->{EXE_SUBDIR} = $ENV{$env_name}.'/';
@@ -273,6 +299,12 @@ sub CIAO_ROOT ($)
return $self->{ciao_root};
}
+sub DANCE_ROOT ($)
+{
+ my $self = shift;
+ return $self->{dance_root};
+}
+
sub HostName ($)
{
my $self = shift;
@@ -330,12 +362,33 @@ sub AdbWaitForDeviceTimeout ($)
return $self->{ADB_WAIT_FOR_DEVICE_TIMEOUT};
}
+sub LocalEnvDir ($)
+{
+ my $self = shift;
+ my $dir = shift;
+ my $newdir = $dir;
+ if (defined $self->{TARGET_FSROOT}) {
+ $newdir = PerlACE::rebase_path ($dir,
+ $self->{HOST_FSROOT},
+ $self->{TARGET_FSROOT});
+
+ }
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print STDERR "LocalEnvDir for $dir is $newdir\n";
+ }
+ return $newdir;
+}
sub LocalFile ($)
{
my $self = shift;
my $file = shift;
my $newfile = PerlACE::LocalFile($file);
+ if (defined $self->{TARGET_FSROOT}) {
+ $newfile = PerlACE::rebase_path ($newfile,
+ $self->{HOST_FSROOT},
+ $self->{TARGET_FSROOT});
+ }
if (defined $ENV{'ACE_TEST_VERBOSE'}) {
print STDERR "LocalFile for $file is $newfile\n";
}
@@ -363,7 +416,7 @@ sub AddLibPath ($)
$self->{LIBPATH} = PerlACE::concat_path ($self->{LIBPATH}, $dir);
} else {
# add rebased path
- $dir = PerlACE::rebase_path ($dir, $ENV{'ACE_ROOT'}, $self->ACE_ROOT ());
+ $dir = Cwd::realpath (PerlACE::rebase_path ($dir, $self->{HOST_FSROOT}, $self->{TARGET_FSROOT}));
if (defined $ENV{'ACE_TEST_VERBOSE'}) {
print STDERR "Adding libpath $dir\n";
}
diff --git a/ACE/bin/PerlACE/TestTarget_Android.pm b/ACE/bin/PerlACE/TestTarget_Android.pm
index 9fed5ae507f..ee80a382a8f 100644
--- a/ACE/bin/PerlACE/TestTarget_Android.pm
+++ b/ACE/bin/PerlACE/TestTarget_Android.pm
@@ -75,15 +75,6 @@ sub LocalFile
{
my $self = shift;
my $file = shift;
- my $cwdrel = $file;
- my $prjroot = $ENV{'ACE_ROOT'};
-
- if (length ($cwdrel) > 0) {
- $cwdrel = File::Spec->abs2rel( cwd(), $prjroot );
- }
- else {
- $cwdrel = File::Spec->abs2rel( $cwdrel, $prjroot );
- }
my $newfile = $self->{FSROOT} . "/" . $file;
if (defined $ENV{'ACE_TEST_VERBOSE'}) {
diff --git a/ACE/bin/auto_run_tests.pl b/ACE/bin/auto_run_tests.pl
index af901ae17a4..171bf01641d 100755
--- a/ACE/bin/auto_run_tests.pl
+++ b/ACE/bin/auto_run_tests.pl
@@ -204,10 +204,10 @@ foreach my $test_lst (@file_list) {
# when $opt_r is set make sure to *first* check the explicitly
# specified directory and only when nothing found there check
# the default dirs
- if ($opt_r) {
- unshift (@dirlist, $startdir."/$directory");
- unshift (@dirlist, $startdir."/$orig_dir");
- }
+ if ($opt_r) {
+ unshift (@dirlist, $startdir."/$directory");
+ unshift (@dirlist, $startdir."/$orig_dir");
+ }
foreach my $path (@dirlist) {
if (-d $path && ($status = chdir ($path))) {
last;
diff --git a/ACE/examples/APG/Logging/Use_LogManager.cpp b/ACE/examples/APG/Logging/Use_LogManager.cpp
index 76de7b7fb56..34e1d5b8866 100644
--- a/ACE/examples/APG/Logging/Use_LogManager.cpp
+++ b/ACE/examples/APG/Logging/Use_LogManager.cpp
@@ -26,8 +26,6 @@ void foo (void)
// Listing 1
// Listing 2 code/ch03
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<LogManager, ACE_Null_Mutex> *
- ACE_Singleton<LogManager, ACE_Null_Mutex>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, LogManager, ACE_Null_Mutex);
+
// Listing 2
diff --git a/ACE/examples/APG/Timers/PTimerDispatcher.cpp b/ACE/examples/APG/Timers/PTimerDispatcher.cpp
index 9ac949814ac..7b7a4480a10 100644
--- a/ACE/examples/APG/Timers/PTimerDispatcher.cpp
+++ b/ACE/examples/APG/Timers/PTimerDispatcher.cpp
@@ -62,8 +62,5 @@ PTimer_Dispatcher::reset_interval (long timer_id,
return timer_queue_->reset_interval (timer_id, interval);
}
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, PTimer_Dispatcher, ACE_Null_Mutex);
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<PTimer_Dispatcher, ACE_Null_Mutex> *
- ACE_Singleton<PTimer_Dispatcher, ACE_Null_Mutex>::singleton_;
-# endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
diff --git a/ACE/examples/APG/Timers/TimerDispatcher.cpp b/ACE/examples/APG/Timers/TimerDispatcher.cpp
index 6455c0712e8..025bd64d979 100644
--- a/ACE/examples/APG/Timers/TimerDispatcher.cpp
+++ b/ACE/examples/APG/Timers/TimerDispatcher.cpp
@@ -66,8 +66,5 @@ Timer_Dispatcher::reset_interval (long timer_id,
return timer_queue_->reset_interval(timer_id, interval);
}
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Timer_Dispatcher, ACE_Null_Mutex);
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<Timer_Dispatcher, ACE_Null_Mutex> *
- ACE_Singleton<Timer_Dispatcher, ACE_Null_Mutex>::singleton_;
-# endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
diff --git a/ACE/examples/C++NPv2/TP_Logging_Server.cpp b/ACE/examples/C++NPv2/TP_Logging_Server.cpp
index 7342cf4c757..ed9fac21a79 100644
--- a/ACE/examples/C++NPv2/TP_Logging_Server.cpp
+++ b/ACE/examples/C++NPv2/TP_Logging_Server.cpp
@@ -62,9 +62,6 @@ int TP_Logging_Task::svc () {
ACE_FACTORY_DEFINE (TPLS, TP_Logging_Server)
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<TP_Logging_Task, ACE_Null_Mutex> *
- ACE_Singleton<TP_Logging_Task, ACE_Null_Mutex>::singleton_;
-template ACE_Unmanaged_Singleton<TP_Logging_Task, ACE_Null_Mutex> *
- ACE_Unmanaged_Singleton<TP_Logging_Task, ACE_Null_Mutex>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, TP_Logging_Task, ACE_Null_Mutex);
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Unmanaged_Singleton, TP_Logging_Task, ACE_Null_Mutex);
+
diff --git a/ACE/examples/Export/dll.cpp b/ACE/examples/Export/dll.cpp
index 07705db9d59..e692753d927 100644
--- a/ACE/examples/Export/dll.cpp
+++ b/ACE/examples/Export/dll.cpp
@@ -22,6 +22,4 @@ get_dll_singleton ()
return TEST_SINGLETON::instance ();
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<test_class, ACE_Null_Mutex> *ACE_Singleton<test_class, ACE_Null_Mutex>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, test_class, ACE_Null_Mutex);
diff --git a/ACE/examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp b/ACE/examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp
index 04c792092c5..ec4d00e0185 100644
--- a/ACE/examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp
+++ b/ACE/examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp
@@ -427,7 +427,5 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
return 0;
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<Options, ACE_SYNCH_RECURSIVE_MUTEX> *
- ACE_Singleton<Options, ACE_SYNCH_RECURSIVE_MUTEX>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Options, ACE_SYNCH_RECURSIVE_MUTEX);
+
diff --git a/ACE/examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp b/ACE/examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp
index 6108e378e70..756704ada4e 100644
--- a/ACE/examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp
+++ b/ACE/examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp
@@ -579,8 +579,4 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
return server.handle_events ();
}
-
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<Options, ACE_SYNCH_RECURSIVE_MUTEX> *
- ACE_Singleton<Options, ACE_SYNCH_RECURSIVE_MUTEX>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Options, ACE_SYNCH_RECURSIVE_MUTEX);
diff --git a/ACE/examples/Logger/Acceptor-server/server_loggerd.cpp b/ACE/examples/Logger/Acceptor-server/server_loggerd.cpp
index b639dd016aa..59cab12f535 100644
--- a/ACE/examples/Logger/Acceptor-server/server_loggerd.cpp
+++ b/ACE/examples/Logger/Acceptor-server/server_loggerd.cpp
@@ -261,11 +261,11 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
return 0;
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<ACE_Reactor, ACE_Null_Mutex> *
- ACE_Singleton<ACE_Reactor, ACE_Null_Mutex>::singleton_;
-template ACE_Singleton<Options, ACE_Null_Mutex> *
- ACE_Singleton<Options, ACE_Null_Mutex>::singleton_;
-template ACE_Singleton<ACE_Test_and_Set <ACE_Null_Mutex, sig_atomic_t>, ACE_Null_Mutex> *
- ACE_Singleton<ACE_Test_and_Set <ACE_Null_Mutex, sig_atomic_t>, ACE_Null_Mutex>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+//typedef ACE_Test_and_Set<ACE_Null_Mutex, sig_atomic_t>
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_Reactor, ACE_Null_Mutex);
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Options, ACE_Null_Mutex);
+#define ACE_Test_and_Set_type \
+ ACE_Test_and_Set<ACE_Null_Mutex, sig_atomic_t>
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_Test_and_Set_type, ACE_Null_Mutex);
+
+
diff --git a/ACE/examples/Logger/simple-server/server_loggerd.cpp b/ACE/examples/Logger/simple-server/server_loggerd.cpp
index 76eec6c71a2..fa58eac599f 100644
--- a/ACE/examples/Logger/simple-server/server_loggerd.cpp
+++ b/ACE/examples/Logger/simple-server/server_loggerd.cpp
@@ -77,8 +77,5 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
return 0;
}
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_Reactor, ACE_Null_Mutex);
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<ACE_Reactor, ACE_Null_Mutex> *
- ACE_Singleton<ACE_Reactor, ACE_Null_Mutex>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
diff --git a/ACE/examples/Threads/auto_event.cpp b/ACE/examples/Threads/auto_event.cpp
index 55f469614f9..598236b25be 100644
--- a/ACE/examples/Threads/auto_event.cpp
+++ b/ACE/examples/Threads/auto_event.cpp
@@ -102,10 +102,7 @@ ACE_TMAIN (int argc, ACE_TCHAR **argv)
return 0;
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<ACE_Auto_Event, ACE_Thread_Mutex> *
- ACE_Singleton<ACE_Auto_Event, ACE_Thread_Mutex>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_Auto_Event, ACE_Thread_Mutex);
#else
diff --git a/ACE/examples/Threads/tss2.cpp b/ACE/examples/Threads/tss2.cpp
index eec0a2a32d5..c8debbf9a01 100644
--- a/ACE/examples/Threads/tss2.cpp
+++ b/ACE/examples/Threads/tss2.cpp
@@ -171,10 +171,8 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
return 0;
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_TSS_Singleton<TSS_Data, ACE_SYNCH_MUTEX> *
- ACE_TSS_Singleton<TSS_Data, ACE_SYNCH_MUTEX>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_TSS_Singleton, TSS_Data, ACE_SYNCH_MUTEX);
+
#else
diff --git a/ACE/examples/Web_Crawler/Command_Processor.cpp b/ACE/examples/Web_Crawler/Command_Processor.cpp
index ae03d574184..b5b9c00ba61 100644
--- a/ACE/examples/Web_Crawler/Command_Processor.cpp
+++ b/ACE/examples/Web_Crawler/Command_Processor.cpp
@@ -122,6 +122,4 @@ Command_Processor::insert (Command *command)
return 0;
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<Options, ACE_Null_Mutex> *ACE_Singleton<Options, ACE_Null_Mutex>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Options, ACE_Null_Mutex);
diff --git a/ACE/performance-tests/Misc/test_singleton.cpp b/ACE/performance-tests/Misc/test_singleton.cpp
index a9534af5f41..6c19291e65f 100644
--- a/ACE/performance-tests/Misc/test_singleton.cpp
+++ b/ACE/performance-tests/Misc/test_singleton.cpp
@@ -161,10 +161,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
return 0;
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<DC_Singleton, ACE_SYNCH_MUTEX> *
- ACE_Singleton<DC_Singleton, ACE_SYNCH_MUTEX>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, DC_Singleton, ACE_SYNCH_MUTEX);
#else
int
diff --git a/ACE/tests/MEM_Stream_Test.cpp b/ACE/tests/MEM_Stream_Test.cpp
index 4118115ab23..ed591f46687 100644
--- a/ACE/tests/MEM_Stream_Test.cpp
+++ b/ACE/tests/MEM_Stream_Test.cpp
@@ -489,14 +489,10 @@ run_main (int argc, ACE_TCHAR *argv[])
}
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
+#define ACE_Atomic_Op_type \
+ ACE_Atomic_Op< ACE_SYNCH_MUTEX, u_short>
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_Atomic_Op_type, ACE_SYNCH_RECURSIVE_MUTEX);
-template ACE_Singleton<ACE_Atomic_Op<ACE_SYNCH_MUTEX, u_short>,
- ACE_SYNCH_RECURSIVE_MUTEX> *
- ACE_Singleton<ACE_Atomic_Op<ACE_SYNCH_MUTEX, u_short>,
- ACE_SYNCH_RECURSIVE_MUTEX>::singleton_;
-
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
#else
int
diff --git a/ACE/tests/Process_Strategy_Test.cpp b/ACE/tests/Process_Strategy_Test.cpp
index 591bcc023d2..071aa19ae6c 100644
--- a/ACE/tests/Process_Strategy_Test.cpp
+++ b/ACE/tests/Process_Strategy_Test.cpp
@@ -59,12 +59,7 @@
#define ACE_LACKS_FORK
#endif /* __hpux */
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-
-template ACE_Singleton<Options, ACE_Null_Mutex> *
- ACE_Singleton<Options, ACE_Null_Mutex>::singleton_;
-
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Options, ACE_Null_Mutex);
// Define a <Strategy_Acceptor> that's parameterized by the
// <Counting_Service>.