diff options
-rw-r--r-- | ACE-INSTALL.html | 110 | ||||
-rw-r--r-- | ChangeLog | 15 | ||||
-rw-r--r-- | ChangeLogs/ChangeLog-02a | 15 | ||||
-rw-r--r-- | ChangeLogs/ChangeLog-03a | 15 | ||||
-rw-r--r-- | TAO/ChangeLogs/ChangeLog-02a | 6 | ||||
-rw-r--r-- | TAO/TAO-INSTALL.html | 12 | ||||
-rw-r--r-- | THANKS | 3 | ||||
-rw-r--r-- | ace/SPIPE_Acceptor.cpp | 9 | ||||
-rw-r--r-- | ace/SPIPE_Acceptor.h | 6 | ||||
-rw-r--r-- | ace/TTY_IO.cpp | 36 | ||||
-rw-r--r-- | ace/TTY_IO.h | 2 |
11 files changed, 194 insertions, 35 deletions
diff --git a/ACE-INSTALL.html b/ACE-INSTALL.html index 2ebc1188a92..1f9e2f6aaa8 100644 --- a/ACE-INSTALL.html +++ b/ACE-INSTALL.html @@ -1186,7 +1186,10 @@ need to do:<P> <P><hr align=left width="50%"><P> <H4><A NAME="win32">Building and Installing ACE on Win32</A></H4> -If you are looking for ACE on Mingw, go <A HREF="#mingw">here</A>. <P> +If you are looking for instructions on building ACE with Borland +C++Builder, go <A HREF="#borland">here</A>. Otherwise, if you are +looking for instructions on building ACE with Mingw, go <A +HREF="#mingw">here</A>. <P> First, if you are upgrading from an older release, clean up everything and rebuild from scratch to ensure that everything is rebuilt @@ -1200,24 +1203,99 @@ ACE contains project files for Microsoft Visual C++ 5.0 or later Makefile.bor files to compile ACE, the ACE one-button tests, and TAO with Borland C++ Builder. <P> +<P><hr align=left width="50%"><P> +<H4><A NAME="borland">Building and Installing ACE on Win32 with Borland +C++Builder</A></H4> + +If you are building for a machine without a network card, you may want +to check <A HREF="#win32nonic">here</A> first. <P> + +<OL> + <LI>Uncompress the ACE distribution into a directory, where it will +create an + ACE_wrappers directory containing the source. The ACE_wrappers + directory will be referred to as ACE_ROOT in the following steps -- so + ACE_ROOT\ace would be C:\ACE_wrappers\ace if you uncompressed into the + root directory.<BR> + <BR> + <LI>Create a file called <code>config.h</code> in the ACE_ROOT\ace + directory that contains: <BR> + <BR> + <CODE>#include "ace/config-win32.h"</CODE><BR> + <BR> + If you are building for Windows NT or Windows 2K then you can start + without any more changes. If you are building on Windows 9x/Me, + then you should add the line <BR> + <BR> + <CODE>#define ACE_HAS_WINNT4 0</CODE><BR> + <BR> + before the #include statement in ACE_ROOT\ace\config.h and it + will turn off some WinNT/Win2K-specific code in ACE.<BR> + <BR> + <LI>Open a Command Prompt (DOS Box).<BR> + <BR> + <LI>Set the ACE_ROOT environment variable to point to the ACE_wrappers + directory. For example:<BR> + <BR> + <CODE>set ACE_ROOT=C:\ACE_wrappers</CODE><BR> + <BR> + <LI>Change to the ACE_ROOT\ace directory.<BR> + <BR> + <LI>Build release DLLs for ACE by going:<BR> + <BR> + <CODE>make -f Makefile.bor</CODE><BR> + <BR> + <LI>You can build debug DLLs for ACE by setting the DEBUG environment +variable + before you run make:<BR> + <BR> + <CODE>set DEBUG=1<BR> + make -f Makefile.bor</CODE><BR> + <BR> + <LI>Optionally install the ACE header files, libraries and executables +for use + in your applications. Here we are installing them into C:\ACETAO: <BR> + <BR> + <CODE>make -f Makefile.bor -DINSTALL_DIR=C:\ACETAO install</CODE><BR> + <BR> +</OL> + +These instructions do not cover all possible build configurations. Please +see <A +HREF="http://www.tenermerx.com/tao_bcb/index.html">http://www.tenermerx.com/tao_bcb/index.html</A> +for more detailed information on building and using ACE+TAO with Borland C++ +Builder. <P> + +If you are using C++Builder 4, then the libraries built using the above +instructions are intended for use with generic console or windows applications +and they link against the corresponding C++ runtime library. VCL applications +created using BCB4's RAD environment must link against the VCL-compatible (ie +pascal-compatible) runtime library. To tell the difference between these +libraries the VCL-compatible ones have a 'p' in the suffix (i.e., 'p' for +pascal). To build VCL compatible libraries try +<BLOCKQUOTE><PRE><CODE>set PASCAL=1 +make -f Makefile.bor +</CODE></PRE></BLOCKQUOTE> <P> + The Borland C++ Builder 4.0/5.0 port has been done by <A HREF="mailto:jody@atdesk.com">Jody Hagins</A> and <A -HREF="mailto:chris@kohlhoff.com">Christopher Kohlhoff</A>. By -default, the ACE/TAO libraries built for Borland C++ Builder are -intended for use with generic console or windows applications and they -link against the corresponding C++ runtime library. Applications -created using BCB's RAD environment, such as ChatClient, must link -against the VCL-compatible (ie pascal-compatible) runtime library. To -tell the difference between these libraries the VCL-compatible ones -have a 'p' in the suffix (i.e., 'p' for pascal). To build VCL -compatible libraries try -<pre><code> -make -f Makefile.bor -DPASCAL -</code></pre> +HREF="mailto:chris@kohlhoff.com">Christopher Kohlhoff</A>. <P> -Please see <A -HREF="http://www.tenermerx.com/tao_bcb/index.html">http://www.tenermerx.com/tao_bcb/index.html</A> -for more information on building ACE+TAO with Borland C++ Builder. <P> +<B>ACE TESTS</B><P> + +The tests are located in ACE_ROOT\tests. You build the tests using the +Makefile.bor file, that is:<P> +<BLOCKQUOTE><CODE> +make -f Makefile.bor +</CODE></BLOCKQUOTE><P> + +Once you build all the tests, you can run a perl script:<P> +<BLOCKQUOTE><CODE>run_test.pl -ExeSubDir +Dynamic\Release</CODE></BLOCKQUOTE><P> or the the batch file:<P> +<BLOCKQUOTE><CODE>run_tests.bat bor</CODE></BLOCKQUOTE><P> in the +<code>tests</code> directory to try all the tests. You need to make +sure the ACE bin directory (in this case ACE_ROOT\bin\Dynamic\Release) +is on the path before you try to run the tests.<p> <EM>Note concerning MSVC 5.0 and Service Pack 3:</EM> There has been confusion regarding MSVC 5 and its Service Pack 3. Some ACE users diff --git a/ChangeLog b/ChangeLog index b12c0b07dbb..e0a943e2168 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +Fri Sep 28 06:17:27 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/SPIPE_Acceptor.{h,cpp}: Fixed the use of "char" for "already_connected_" + to be "int". Thanks to Johnny Willemsen for reporting this. + + * ACE-INSTALL.html: Improved the installation instructions for BCB 4/5. + Thanks to Chris Kohloff for contributing this and to + Jan Kalin <jan.kalin@zag.si> for motivating this. + + * ace/TTY_IO.cpp: Fixed numerous bugs in the control() method. Thanks to + Airat A. Sadreev <airatsa@nm.ru> for reporting this. + + * ace/TTY_IO.h: Add a new field for Win32. Thanks to + Airat A. Sadreev <airatsa@nm.ru> for reporting this. + Thu Sep 27 06:12:21 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> * ace/config-win32.h: Added a special-case for Borland C++ Builder, diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a index b12c0b07dbb..e0a943e2168 100644 --- a/ChangeLogs/ChangeLog-02a +++ b/ChangeLogs/ChangeLog-02a @@ -1,3 +1,18 @@ +Fri Sep 28 06:17:27 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/SPIPE_Acceptor.{h,cpp}: Fixed the use of "char" for "already_connected_" + to be "int". Thanks to Johnny Willemsen for reporting this. + + * ACE-INSTALL.html: Improved the installation instructions for BCB 4/5. + Thanks to Chris Kohloff for contributing this and to + Jan Kalin <jan.kalin@zag.si> for motivating this. + + * ace/TTY_IO.cpp: Fixed numerous bugs in the control() method. Thanks to + Airat A. Sadreev <airatsa@nm.ru> for reporting this. + + * ace/TTY_IO.h: Add a new field for Win32. Thanks to + Airat A. Sadreev <airatsa@nm.ru> for reporting this. + Thu Sep 27 06:12:21 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> * ace/config-win32.h: Added a special-case for Borland C++ Builder, diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a index b12c0b07dbb..e0a943e2168 100644 --- a/ChangeLogs/ChangeLog-03a +++ b/ChangeLogs/ChangeLog-03a @@ -1,3 +1,18 @@ +Fri Sep 28 06:17:27 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/SPIPE_Acceptor.{h,cpp}: Fixed the use of "char" for "already_connected_" + to be "int". Thanks to Johnny Willemsen for reporting this. + + * ACE-INSTALL.html: Improved the installation instructions for BCB 4/5. + Thanks to Chris Kohloff for contributing this and to + Jan Kalin <jan.kalin@zag.si> for motivating this. + + * ace/TTY_IO.cpp: Fixed numerous bugs in the control() method. Thanks to + Airat A. Sadreev <airatsa@nm.ru> for reporting this. + + * ace/TTY_IO.h: Add a new field for Win32. Thanks to + Airat A. Sadreev <airatsa@nm.ru> for reporting this. + Thu Sep 27 06:12:21 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> * ace/config-win32.h: Added a special-case for Borland C++ Builder, diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a index 4aeb866c1d8..cf7efa90c0f 100644 --- a/TAO/ChangeLogs/ChangeLog-02a +++ b/TAO/ChangeLogs/ChangeLog-02a @@ -1,3 +1,9 @@ +Fri Sep 28 06:17:27 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ACE-INSTALL.html: Improved the installation instructions for BCB 4/5. + Thanks to Chris Kohloff for contributing this and to Jan Kalin + <jan.kalin@zag.si> for motivating this. + Fri Sep 28 06:40:37 2001 Balachandran Natarajan <bala@cs.wustl.edu> * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: Fixed a diff --git a/TAO/TAO-INSTALL.html b/TAO/TAO-INSTALL.html index cc660d11f9e..cd3456ce4d6 100644 --- a/TAO/TAO-INSTALL.html +++ b/TAO/TAO-INSTALL.html @@ -351,8 +351,16 @@ used to build all the files needed to build/run TAO applications.</P> <H4>Borland C++ Builder</H4> <P> -For information on how to build TAO using Borland's C++ Builder -environment, please see the <A +To build TAO using C++Builder please follow the +<A HREF="../ACE-INSTALL.html#borland">ACE installation notes</A>, with the +difference being that you should run:<BR> +<BLOCKQUOTE><CODE> +make -f Makefile.bor +</CODE></BLOCKQUOTE><P> +from the ACE_ROOT\TAO directory instead of ACE_ROOT\ace.<P> + +For more detailed information on building and using TAO with Borland's +C++ Builder environment, please see the <A HREF="http://www.tenermerx.com/tao_bcb/index.html">online</A> help provided by <A HREF="mailto:chris@kohlhoff.com">Christopher Kohlhoff</A>. <P> @@ -1000,7 +1000,7 @@ 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@baltimore.com> +Alexander Libman <alibman@ihug.com.au> Roger Larsson <larssoro@hotmail.com> Martin Stack <mstack@cambertx.com> Michael Ravits <miquel@bitsmart.com> @@ -1335,6 +1335,7 @@ 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> I would particularly like to thank Paul Stephenson, who worked with me at Ericsson in the early 1990's. Paul devised the recursive Makefile diff --git a/ace/SPIPE_Acceptor.cpp b/ace/SPIPE_Acceptor.cpp index 9cabd37f727..c000f039004 100644 --- a/ace/SPIPE_Acceptor.cpp +++ b/ace/SPIPE_Acceptor.cpp @@ -39,10 +39,11 @@ ACE_SPIPE_Acceptor::dump (void) const int ACE_SPIPE_Acceptor::open (const ACE_SPIPE_Addr &local_sap, - int /* reuse_addr */, + int reuse_addr, int perms) { ACE_TRACE ("ACE_SPIPE_Acceptor::open"); + ACE_UNUSED_ARG (reuse_addr); this->local_addr_ = local_sap; this->set_handle (ACE_INVALID_HANDLE); @@ -120,7 +121,7 @@ ACE_SPIPE_Acceptor::create_new_instance (int perms) // when the user calls accept (). // Else the error status should be ERROR_IO_PENDING and the OS will // signal the event when it's done. - this->already_connected_ = FALSE; + this->already_connected_ = 0; this->set_handle (handle); this->overlapped_.hEvent = this->event_.handle (); this->event_.reset (); @@ -131,7 +132,7 @@ ACE_SPIPE_Acceptor::create_new_instance (int perms) status = ::GetLastError (); if (status == ERROR_PIPE_CONNECTED) - this->already_connected_ = TRUE; + this->already_connected_ = 1; else if (status != ERROR_IO_PENDING) this->close (); // Sets handle to ACE_INVALID_HANDLE } @@ -220,7 +221,7 @@ ACE_SPIPE_Acceptor::accept (ACE_SPIPE_Stream &new_io, // open () started the Connect in asynchronous mode. Wait for the event // in the OVERLAPPED structure to be signalled, then grab the status. - if (this->already_connected_ == FALSE) + if (this->already_connected_ == 0) { if (timeout != 0) { diff --git a/ace/SPIPE_Acceptor.h b/ace/SPIPE_Acceptor.h index d0595f381ab..c9e856a12a3 100644 --- a/ace/SPIPE_Acceptor.h +++ b/ace/SPIPE_Acceptor.h @@ -81,9 +81,9 @@ private: int create_new_instance (int perms = 0); #if (defined (ACE_WIN32) && defined (ACE_HAS_WINNT4) && (ACE_HAS_WINNT4 != 0)) - ACE_OVERLAPPED overlapped_; - ACE_Manual_Event event_; - char already_connected_; + ACE_OVERLAPPED overlapped_; + ACE_Manual_Event event_; + int already_connected_; #endif /* ACE_WIN32 */ }; diff --git a/ace/TTY_IO.cpp b/ace/TTY_IO.cpp index adbd2bcf524..8c43375b86a 100644 --- a/ace/TTY_IO.cpp +++ b/ace/TTY_IO.cpp @@ -226,8 +226,10 @@ ACE_TTY_IO::control (Control_Mode cmd, case SETPARAMS: DCB dcb; dcb.DCBlength = sizeof dcb; - ::GetCommState (this->get_handle (), &dcb); - + // SadreevAA ::GetCommState (this->get_handle (), &dcb); + if (!::GetCommState (this->get_handle (), &dcb)) // SadreevAA + return -1; +/*SadreevAA switch (arg->baudrate) { case 300: dcb.BaudRate = CBR_300; break; @@ -245,7 +247,8 @@ ACE_TTY_IO::control (Control_Mode cmd, // case 256000: dcb.BaudRate = CBR_256000; break; default: return -1; } - +*/ + dcb.BaudRate = arg->baudrate; switch (arg->databits) { case 4: @@ -302,6 +305,12 @@ ACE_TTY_IO::control (Control_Mode cmd, else dcb.fOutxCtsFlow = FALSE; + // SadreevAA + if (arg->dsrenb) // enable DSR protocol. + dcb.fOutxDsrFlow = TRUE; + else + dcb.fOutxDsrFlow = FALSE; + // 6/22/00 MLS add great flexibility for win32 // pulled rts out of ctsenb switch (arg->rtsenb) // enable RTS protocol. @@ -321,9 +330,9 @@ ACE_TTY_IO::control (Control_Mode cmd, // 6/22/00 MLS add enable xon/xoff if (arg->xinenb) // enable XON/XOFF for reception - dcb.fOutX = TRUE; + dcb.fInX = TRUE; // Fixed by SadreevAA else - dcb.fOutX = FALSE; + dcb.fInX = FALSE; // Fixed by SadreevAA if (arg->xoutenb) // enable XON/XOFF for transmission dcb.fOutX = TRUE; @@ -338,18 +347,26 @@ ACE_TTY_IO::control (Control_Mode cmd, dcb.XoffLim = arg->xofflim; dcb.fDtrControl = DTR_CONTROL_ENABLE; + dcb.fAbortOnError = FALSE; // Added by SadreevAA + dcb.fErrorChar = FALSE; // Added by SadreevAA + dcb.fNull = FALSE; // Added by SadreevAA dcb.fBinary = TRUE; - ::SetCommState (this->get_handle (), &dcb); +//SadreevAA ::SetCommState (this->get_handle (), &dcb); + if (!::SetCommState (this->get_handle (), &dcb)) + return -1; // SadreevAA // 2/13/97 BWF added drop out timer // modified time out to operate correctly with when delay // is requested or no delay is requestes COMMTIMEOUTS timeouts; - ::GetCommTimeouts (this->get_handle(), &timeouts) ; + // SadreevAA ::GetCommTimeouts (this->get_handle(), &timeouts) ; + if (!::GetCommTimeouts (this->get_handle(), &timeouts)) + return -1; // SadreevAA + if(arg->readtimeoutmsec == 0) { // return immediately if no data in the input buffer - timeouts.ReadIntervalTimeout = MAXDWORD; + timeouts.ReadIntervalTimeout = 0; // MAXDWORD; SadreevAA timeouts.ReadTotalTimeoutMultiplier = 0; timeouts.ReadTotalTimeoutConstant = 0 ; } @@ -371,7 +388,8 @@ ACE_TTY_IO::control (Control_Mode cmd, timeouts.ReadTotalTimeoutConstant = MAXDWORD; } - return ::SetCommTimeouts (this->get_handle (), &timeouts) ; + //return ::SetCommTimeouts (this->get_handle (), &timeouts) ; + return ::SetCommTimeouts (this->get_handle (), &timeouts) ? 0 : -1; // SadreevAA case GETPARAMS: ACE_NOTSUP_RETURN (-1); // Not yet implemented. diff --git a/ace/TTY_IO.h b/ace/TTY_IO.h index f6a0dff8642..0f0bdc1b2fb 100644 --- a/ace/TTY_IO.h +++ b/ace/TTY_IO.h @@ -65,6 +65,8 @@ public: int rcvenb; //Win32 + int dsrenb; // SadreevAA + int xonlim; // min bytes in input buffer before xon int xofflim; // max bytes in input buffer before xoff }; |