summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ACE-INSTALL.html110
-rw-r--r--ChangeLog15
-rw-r--r--ChangeLogs/ChangeLog-02a15
-rw-r--r--ChangeLogs/ChangeLog-03a15
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a6
-rw-r--r--TAO/TAO-INSTALL.html12
-rw-r--r--THANKS3
-rw-r--r--ace/SPIPE_Acceptor.cpp9
-rw-r--r--ace/SPIPE_Acceptor.h6
-rw-r--r--ace/TTY_IO.cpp36
-rw-r--r--ace/TTY_IO.h2
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>
diff --git a/THANKS b/THANKS
index 36501a0f383..5b2c438b33d 100644
--- a/THANKS
+++ b/THANKS
@@ -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
};