diff options
author | elliott_c <ocielliottc@users.noreply.github.com> | 2005-02-16 13:04:43 +0000 |
---|---|---|
committer | elliott_c <ocielliottc@users.noreply.github.com> | 2005-02-16 13:04:43 +0000 |
commit | be61fb01d50281848e744387a4c9144b0bdb698f (patch) | |
tree | ea5b8e9fbd474a3f0960f32398bda8cdaec8b52d | |
parent | 7a895554b01e6b42522013aea336261c6f21a915 (diff) | |
download | ATCD-be61fb01d50281848e744387a4c9144b0bdb698f.tar.gz |
ChangeLogTag: Wed Feb 16 07:02:15 2005 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r-- | ChangeLog | 164 | ||||
-rw-r--r-- | ace/OS_NS_stdlib.inl | 12 | ||||
-rw-r--r-- | ace/config-sunos5.7.h | 3 | ||||
-rw-r--r-- | ace/config-sunos5.8.h | 2 | ||||
-rw-r--r-- | bin/PerlACE/Process_Unix.pm | 8 | ||||
-rw-r--r-- | bin/PerlACE/Process_Win32.pm | 9 | ||||
-rw-r--r-- | examples/C++NPv2/C++NPv2.mpc | 32 | ||||
-rw-r--r-- | examples/Log_Msg/Log_Msg_MFC/Log_Msg_MFCDlg.cpp | 4 | ||||
-rw-r--r-- | include/makeinclude/platform_g++_common.GNU | 2 | ||||
-rw-r--r-- | include/makeinclude/platform_sunos5_sunc++.GNU | 10 |
10 files changed, 164 insertions, 82 deletions
diff --git a/ChangeLog b/ChangeLog index f19a7f24bee..e79e64c33e3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,39 @@ +Wed Feb 16 07:02:15 2005 Chad Elliott <elliott_c@ociweb.com> + + * ace/OS_NS_stdlib.inl: + * ace/config-sunos5.7.h: + * ace/config-sunos5.8.h: + + On SunOS 5.7, some wchar_t related methods are always in the std + namespace when building with SunCC 5.3. + + * bin/PerlACE/Process_Unix.pm: + * bin/PerlACE/Process_Win32.pm: + + Added a ACE_TEST_WINDOW environment variable which can be used to + start each process in a separate window by setting it to + something like 'rxvt -e' and ACE_TEST_VERBOSE which causes the + command line of each process to be printed out as it is started. + + * examples/C++NPv2/C++NPv2.mpc: + + Added additional project ordering for the gnuace type to avoid + build problems with parallel builds. + + * examples/Log_Msg/Log_Msg_MFC/Log_Msg_MFCDlg.cpp: + + Simple modifications to allow this to build with EVC 4. + + * include/makeinclude/platform_g++_common.GNU: + + Changed a grep command to something compatible with Solaris as + well as Linux. + + * include/makeinclude/platform_sunos5_sunc++.GNU: + + Set the default template instantiation mode to automatic for every + version except SunCC 4.2. + Wed Feb 16 12:56:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl> * etc/ace_rmcast.doxygen: @@ -5,99 +41,99 @@ Wed Feb 16 12:56:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl> Tue Feb 15 18:10:56 2005 J.T. Conklin <jtc@acorntoolworks.com> - * m4/ace.m4: + * m4/ace.m4: - Removed ACE_ENABLE_RMCAST macro. Building RMCast library is now - unconditional. + Removed ACE_ENABLE_RMCAST macro. Building RMCast library is now + unconditional. Tue Feb 15 18:45:26 2005 Steve Huston <shuston@riverace.com> - * ace/POSIX_Asynch_IO.{h cpp}: - * ace/POSIX_Proactor.cpp: Fixed compile errors resulting from - Proxy_Ptr changes, below. + * ace/POSIX_Asynch_IO.{h cpp}: + * ace/POSIX_Proactor.cpp: Fixed compile errors resulting from + Proxy_Ptr changes, below. Tue Feb 15 18:19:25 2005 Steve Huston <shuston@riverace.com> - * ace/Asynch_IO.{h cpp}: - * ace/Asynch_IO_Impl.h: - * ace/POSIX_Asynch_IO.{h cpp}: - * ace/POSIX_Proactor.{h cpp}: - * ace/Proactor.{h cpp}: - * ace/Proactor_Impl.h: - * ace/WIN32_Asynch_IO.{h cpp}: - * ace/WIN32_Proactor.{h cpp}: All methods that accepted an ACE_Handler - below the user-accessed methods were changed to accept an - ACE_Handler::Proxy_Ptr instead. The ACE_Handler class has a new - Proxy_Ptr typedef which is an ACE_Refcounted_Auto_Ptr for - a Proxy class. When an ACE_Handler is created, it allocates a - Proxy to refer to itself. The Proxy carries a pointer to the - ACE_Handler it proxies for in lower levels of the framework. - When the ACE_Handler is destroyed, it clears the ACE_Handler - pointer in the proxy. - Any part of the framework that dispatches completions gets the - ACE_Handler pointer from the proxy and only dispatches if the - pointer is not 0. This allows ACE_Handlers to be deleted while - operations may be outstanding, a previously vexing issue since one - can never be sure how many operations are outstanding at any given - time. The Proxy remains valid until all references to it are - released. - - * ace/config-win32-common.h: Removed NOMINMAX define. The min/max - stuff is needed for MFC and CString classes and, since we require - ACE includes to come before system includes, adding NOMINMAX in all - cases makes life very hard for these users. - - * ace/OS_NS_stdlib.cpp (mkstemp_emulation): Don't try the - std::numeric_limits<char>::max() call if 'max' is a macro. Use the - older hard-coded 127 instead. + * ace/Asynch_IO.{h cpp}: + * ace/Asynch_IO_Impl.h: + * ace/POSIX_Asynch_IO.{h cpp}: + * ace/POSIX_Proactor.{h cpp}: + * ace/Proactor.{h cpp}: + * ace/Proactor_Impl.h: + * ace/WIN32_Asynch_IO.{h cpp}: + * ace/WIN32_Proactor.{h cpp}: All methods that accepted an ACE_Handler + below the user-accessed methods were changed to accept an + ACE_Handler::Proxy_Ptr instead. The ACE_Handler class has a new + Proxy_Ptr typedef which is an ACE_Refcounted_Auto_Ptr for + a Proxy class. When an ACE_Handler is created, it allocates a + Proxy to refer to itself. The Proxy carries a pointer to the + ACE_Handler it proxies for in lower levels of the framework. + When the ACE_Handler is destroyed, it clears the ACE_Handler + pointer in the proxy. + Any part of the framework that dispatches completions gets the + ACE_Handler pointer from the proxy and only dispatches if the + pointer is not 0. This allows ACE_Handlers to be deleted while + operations may be outstanding, a previously vexing issue since one + can never be sure how many operations are outstanding at any given + time. The Proxy remains valid until all references to it are + released. + + * ace/config-win32-common.h: Removed NOMINMAX define. The min/max + stuff is needed for MFC and CString classes and, since we require + ACE includes to come before system includes, adding NOMINMAX in all + cases makes life very hard for these users. + + * ace/OS_NS_stdlib.cpp (mkstemp_emulation): Don't try the + std::numeric_limits<char>::max() call if 'max' is a macro. Use the + older hard-coded 127 instead. Tue Feb 15 14:33:18 2005 J.T. Conklin <jtc@acorntoolworks.com> - * examples/RMCast/Send_Msg/Makefile.am: - * examples/TMCast/Member/Makefile.am: + * examples/RMCast/Send_Msg/Makefile.am: + * examples/TMCast/Member/Makefile.am: - Regenerated. + Regenerated. - * examples/RMCast/Send_Msg/Receiver.cpp: - * examples/RMCast/Send_Msg/Sender.cpp: - * examples/TMCast/Member/member.cpp: + * examples/RMCast/Send_Msg/Receiver.cpp: + * examples/RMCast/Send_Msg/Sender.cpp: + * examples/TMCast/Member/member.cpp: - Changed <protocols/ace/*.h> to <ace/*.h> so headers are - #included the same regardless of whether they're in the - source tree or installed. + Changed <protocols/ace/*.h> to <ace/*.h> so headers are + #included the same regardless of whether they're in the + source tree or installed. - * examples/TMCast/Member/Member.mpc: + * examples/TMCast/Member/Member.mpc: - Add exename definition so executable is actually built. + Add exename definition so executable is actually built. Tue Feb 15 16:15:28 2005 Steve Huston <shuston@riverace.com> - * examples/RMCast/Receiver.cpp: - * examples/RMCast/Sender.cpp: - * examples/TMCast/Member/member.cpp: Corrected location of includes - after they moved. + * examples/RMCast/Receiver.cpp: + * examples/RMCast/Sender.cpp: + * examples/TMCast/Member/member.cpp: Corrected location of includes + after they moved. Tue Feb 15 13:34:42 2005 J.T. Conklin <jtc@acorntoolworks.com> - * Makefile.am: + * Makefile.am: - Move examples until after protocols in SUBDIRS. + Move examples until after protocols in SUBDIRS. Tue Feb 15 13:32:15 2005 J.T. Conklin <jtc@acorntoolworks.com> - * configure.ac: + * configure.ac: - Configure moved RMCast and TMCast libraries. + Configure moved RMCast and TMCast libraries. - * bin/MakeProjectCreator/config/rmcast.mpb: + * bin/MakeProjectCreator/config/rmcast.mpb: - Removed "requires += rmcast". The RMCast library is now built - unconditionally. + Removed "requires += rmcast". The RMCast library is now built + unconditionally. - * bin/MakeProjectCreator/config/rmcast.mpb: - * bin/MakeProjectCreator/config/tmcast.mpb: + * bin/MakeProjectCreator/config/rmcast.mpb: + * bin/MakeProjectCreator/config/tmcast.mpb: - Append $(ACE_ROOT)/protocols to includes. + Append $(ACE_ROOT)/protocols to includes. Tue Feb 15 21:27:25 2005 Olli Savia <ops@iki.fi> @@ -453,7 +489,7 @@ Fri Feb 11 13:55:47 2005 J.T. Conklin <jtc@acorntoolworks.com> * m4/config_h.m4: Define ACE_HAS_ICMP_SUPPORT if host supports raw sockets. - This fixes bugzilla id [2039]. + This fixes bugzilla id [2039]. Fri Feb 11 21:33:37 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl> diff --git a/ace/OS_NS_stdlib.inl b/ace/OS_NS_stdlib.inl index ce524255e41..3373a706c24 100644 --- a/ace/OS_NS_stdlib.inl +++ b/ace/OS_NS_stdlib.inl @@ -8,6 +8,12 @@ #include "ace/os_include/os_errno.h" #include "ace/os_include/os_search.h" +#if defined(ACE_WCHAR_IN_STD_NAMESPACE) +# define ACE_WCHAR_STD_NAMESPACE std +#else +# define ACE_WCHAR_STD_NAMESPACE ACE_STD_NAMESPACE +#endif /* ACE_WCHAR_IN_STD_NAMESPACE */ + // Doesn't need a macro since it *never* returns! ACE_INLINE void @@ -435,7 +441,7 @@ ACE_OS::strtod (const char *s, char **endptr) ACE_INLINE double ACE_OS::strtod (const wchar_t *s, wchar_t **endptr) { - return ACE_STD_NAMESPACE::wcstod (s, endptr); + return ACE_WCHAR_STD_NAMESPACE::wcstod (s, endptr); } #endif /* ACE_HAS_WCHAR && !ACE_LACKS_WCSTOD */ @@ -453,7 +459,7 @@ ACE_OS::strtol (const char *s, char **ptr, int base) ACE_INLINE long ACE_OS::strtol (const wchar_t *s, wchar_t **ptr, int base) { - return ACE_STD_NAMESPACE::wcstol (s, ptr, base); + return ACE_WCHAR_STD_NAMESPACE::wcstol (s, ptr, base); } #endif /* ACE_HAS_WCHAR && !ACE_LACKS_WCSTOL */ @@ -471,7 +477,7 @@ ACE_OS::strtoul (const char *s, char **ptr, int base) ACE_INLINE unsigned long ACE_OS::strtoul (const wchar_t *s, wchar_t **ptr, int base) { - return ACE_STD_NAMESPACE::wcstoul (s, ptr, base); + return ACE_WCHAR_STD_NAMESPACE::wcstoul (s, ptr, base); } #endif /* ACE_HAS_WCHAR && !ACE_LACKS_WCSTOUL */ diff --git a/ace/config-sunos5.7.h b/ace/config-sunos5.7.h index 01ad4313c11..b968963154d 100644 --- a/ace/config-sunos5.7.h +++ b/ace/config-sunos5.7.h @@ -42,6 +42,9 @@ #elif defined (__KCC) typedef unsigned long long uint64_t; +#elif defined (__SUNPRO_CC) && (__SUNPRO_CC <= 0x530) + // Wide character methods are in std:: when using SunCC 5.3 +# define ACE_WCHAR_IN_STD_NAMESPACE #endif /* __GNUG__ || ghs || __KCC */ // SunOS 5.7 supports SCHED_FIFO and SCHED_RR, as well as SCHED_OTHER. diff --git a/ace/config-sunos5.8.h b/ace/config-sunos5.8.h index 1a2595ad992..423fb1de7c4 100644 --- a/ace/config-sunos5.8.h +++ b/ace/config-sunos5.8.h @@ -11,6 +11,8 @@ // #include the SunOS 5.7 config, then add any SunOS 5.8 updates below. #include "ace/config-sunos5.7.h" +#undef ACE_WCHAR_IN_STD_NAMESPACE + // This may be true for versions prior to Solaris 8 as well, but I don't // have any to try it on. #if !defined (ACE_HAS_TIMEZONE) diff --git a/bin/PerlACE/Process_Unix.pm b/bin/PerlACE/Process_Unix.pm index f6d973fdad0..64ae0b204fb 100644 --- a/bin/PerlACE/Process_Unix.pm +++ b/bin/PerlACE/Process_Unix.pm @@ -224,6 +224,9 @@ sub Spawn () $cmdline = "$executable $orig_cmdline"; } + elsif (defined $ENV{'ACE_TEST_WINDOW'}) { + $cmdline = $ENV{'ACE_TEST_WINDOW'} . ' ' . $self->CommandLine(); + } else { $executable = $self->Executable(); $cmdline = $self->CommandLine(); @@ -237,6 +240,9 @@ sub Spawn () } elsif (defined $self->{PROCESS}) { #child here + if (defined $ENV{'ACE_TEST_VERBOSE'}) { + print "$cmdline\n"; + } exec $cmdline; die "ERROR: exec failed for <" . $cmdline . ">"; } @@ -353,7 +359,7 @@ sub Kill () { my $self = shift; - if ($self->{RUNNING}) { + if ($self->{RUNNING} && !defined $ENV{'ACE_TEST_WINDOW'}) { kill ('KILL', $self->{PROCESS}); waitpid ($self->{PROCESS}, 0); $self->check_return_value ($?); diff --git a/bin/PerlACE/Process_Win32.pm b/bin/PerlACE/Process_Win32.pm index d83f333e118..96afbb18934 100644 --- a/bin/PerlACE/Process_Win32.pm +++ b/bin/PerlACE/Process_Win32.pm @@ -244,10 +244,17 @@ sub Spawn () my $pocket_device_opts = $ENV{"ACE_PCE_DEVICE"}; $cmdline = "cmd /C start /B /WAIT $self->{WINCE_CTL} $pocket_device_opts -m NAME=start_test.cmd;WAIT=401000; -e" } + elsif (defined $ENV{'ACE_TEST_WINDOW'}) { + $executable = $ENV{'ACE_TEST_WINDOW'}; + $cmdline = $self->Executable () . ' ' . $self->CommandLine(); + } else { $executable = $self->Executable (); $cmdline = $self->CommandLine (); } + if (defined $ENV{'ACE_TEST_VERBOSE'}) { + print "$executable $cmdline\n"; + } Win32::Process::Create ($self->{PROCESS}, $executable, $cmdline, @@ -311,7 +318,7 @@ sub Kill () { my $self = shift; - if ($self->{RUNNING}) { + if ($self->{RUNNING} && !defined $ENV{'ACE_TEST_WINDOW'}) { Win32::Process::Kill ($self->{PROCESS}, -1); } diff --git a/examples/C++NPv2/C++NPv2.mpc b/examples/C++NPv2/C++NPv2.mpc index d7f570155eb..ca1b40b4034 100644 --- a/examples/C++NPv2/C++NPv2.mpc +++ b/examples/C++NPv2/C++NPv2.mpc @@ -1,10 +1,19 @@ // -*- MPC -*- // $Id$ +// The specific section for gnuace is here to avoid problems +// with parallel builds. Since the libraries in question share source +// files, we need to ensure that one of them is built before all others. +// Also, a specific section was used because you can't set build order +// without setting a build dependency within vc6 and the like. + project(*AC_CLD) : acelib, ssl { avoids += uses_wchar sharedname = AC_CLD dynamicflags = AC_CLD_BUILD_DLL + specific(gnuace) { + after += *CLD + } Source_Files { AC_Client_Logging_Daemon.cpp Logging_Handler.cpp @@ -61,7 +70,10 @@ project(*Reactor_Log_Server) : aceexe { project(*Select_Reactor_Log_Server) : aceexe { avoids += uses_wchar - exename = select_reactor_loggin_server + exename = select_reactor_logging_server + specific(gnuace) { + after += *Reactor_Log_Server + } Source_Files { Logging_Acceptor.cpp Logging_Event_Handler.cpp @@ -75,6 +87,9 @@ project(*SLD) : acelib { avoids += uses_wchar sharedname = SLD dynamicflags = SLD_BUILD_DLL + specific(gnuace) { + after += *CLD + } Source_Files { SLD.cpp Logging_Acceptor.cpp @@ -87,6 +102,9 @@ project(*SLDex) : acelib { avoids += uses_wchar sharedname = SLDex dynamicflags = SLDEX_BUILD_DLL + specific(gnuace) { + after += *CLD + } Source_Files { Logging_Acceptor.cpp Logging_Event_Handler.cpp @@ -108,6 +126,9 @@ project(*SR_Configurable_Log_Server) : aceexe { project(*TP_Reactor_Log_Server) : aceexe { avoids += uses_wchar exename = tp_reactor_logging_server + specific(gnuace) { + after += *Reactor_Log_Server + } Source_Files { Logging_Acceptor.cpp Logging_Event_Handler.cpp @@ -121,6 +142,9 @@ project(*TPCLS) : acelib, ssl { avoids += uses_wchar sharedname = TPCLS dynamicflags = TPCLS_BUILD_DLL + specific(gnuace) { + after += *CLD + } Source_Files { TPC_Logging_Server.cpp Logging_Handler.cpp @@ -131,6 +155,9 @@ project(*TPLS) : acelib { avoids += uses_wchar sharedname = TPLS dynamicflags = TPLS_BUILD_DLL + specific(gnuace) { + after += *CLD + } Source_Files { Logging_Acceptor.cpp Logging_Event_Handler.cpp @@ -142,6 +169,9 @@ project(*TPLS) : acelib { project(*WFMO_Reactor_Log_Server) : aceexe, wfmo { avoids += uses_wchar exename = wfmo_reactor_logging_server + specific(gnuace) { + after += *Reactor_Log_Server + } Source_Files { Logging_Acceptor.cpp Logging_Event_Handler.cpp diff --git a/examples/Log_Msg/Log_Msg_MFC/Log_Msg_MFCDlg.cpp b/examples/Log_Msg/Log_Msg_MFC/Log_Msg_MFCDlg.cpp index b319cb5d8d9..ec014f9d9eb 100644 --- a/examples/Log_Msg/Log_Msg_MFC/Log_Msg_MFCDlg.cpp +++ b/examples/Log_Msg/Log_Msg_MFC/Log_Msg_MFCDlg.cpp @@ -105,6 +105,7 @@ BOOL CLog_Msg_MFCDlg::OnInitDialog() ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); +#if !defined (_WIN32_WCE) CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { @@ -116,6 +117,7 @@ BOOL CLog_Msg_MFCDlg::OnInitDialog() pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } +#endif /* !_WIN32_WCE */ // Set the icon for this dialog. The framework does this automatically // when the application's main window is not a dialog @@ -150,8 +152,6 @@ void CLog_Msg_MFCDlg::OnPaint() { CPaintDC dc(this); // device context for painting - SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); - // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); diff --git a/include/makeinclude/platform_g++_common.GNU b/include/makeinclude/platform_g++_common.GNU index 78cb5809e5b..4f2e30c9db4 100644 --- a/include/makeinclude/platform_g++_common.GNU +++ b/include/makeinclude/platform_g++_common.GNU @@ -96,7 +96,7 @@ ifeq ($(shared_libs), 1) ifeq ($(GNU_LD),1) # Make sure this version of ld supports the -E option. ifneq ($(mingw32),1) - LD_EXPORT_DEFINED := $(shell sh -c '$(LD_FOR_VERSION_TEST) -E 2>&1 | grep -i -e "option" -e "flag" /dev/null; echo $$?') + LD_EXPORT_DEFINED := $(shell sh -c '$(LD_FOR_VERSION_TEST) -E 2>&1 | egrep -i "(option|flag)" /dev/null; echo $$?') else LD_EXPORT_DEFINED := $(shell $(LD_FOR_VERSION_TEST) -E 2>&1 | grep -c -i -e '(option|flag)') ifeq ($(LD_EXPORT_DEFINED),0) diff --git a/include/makeinclude/platform_sunos5_sunc++.GNU b/include/makeinclude/platform_sunos5_sunc++.GNU index 4b5a2f1c3a2..5f02c1b22f7 100644 --- a/include/makeinclude/platform_sunos5_sunc++.GNU +++ b/include/makeinclude/platform_sunos5_sunc++.GNU @@ -167,18 +167,10 @@ ifeq ($(templates),) ifeq (Compilers 4.2,$(findstring Compilers 4.2,$(CC_VERSION))) templates = explicit else - ifeq (C++ 5.3,$(findstring C++ 5.3,$(CC_VERSION))) - # Set this to automatic if automatic template instantiation works for you. - templates = explicit - endif + templates = automatic endif endif -# If templates is not set by the rules above, we default to implicit -ifeq ($(templates),) - templates = implicit -endif - # Turn on the proper flags for explicit template instantiation. # ifeq ($(templates),explicit) |