From 40fdc8a404e75ab03b68cc62e9987cf208fd8c30 Mon Sep 17 00:00:00 2001
From: nobody
-
-
- ACE has been ported to a large number of platfroms using many different
-compilers over the years. The DOC group, Riverace, OCI, Remedy IT, and members of the ACE
+request an enhancement, then use our bug tracking system to submit a
+report in accordance with our bug
+report process.
+
+
+ ACE has been ported to a large number of platfroms using many different
+compilers over the years. The DOC group, Riverace, OCI, Remedy IT, and members of the ACE
user community have all contributed ports to make ACE the successful
and far-reaching toolkit it is today. Any UNIX/POSIX/Windows
-variation is a potential target platform for ACE. If you have porting questions or have a problem
+variation is a potential target platform for ACE. If you have porting questions or have a problem
compiling the ACE source distribution, please contact one of the
commercial support companies, or send a copy of the
-PROBLEM-REPORT-FORM to either the ACE
-Newsgroup or the ACE
-mailing list and someone will try to help you fix the problems.
+PROBLEM-REPORT-FORM to either the ACE
+Newsgroup or the ACE
+mailing list and someone will try to help you fix the problems.
- The responsibility for maintaining ACE across this wide range of
+ The responsibility for maintaining ACE across this wide range of
platforms is divided among a few different groups: the DOC group,
Riverace, OCI, Remedy IT, and the ACE user community itself. The
table below summarizes each group's role and where you can get more
detailed information. For information on TAO's platform coverage and
-support, please also see TAO's install
-document.
+support, please also see TAO's install
+document.
-
Chorus; OS/9; PharLap TNT Embedded ToolSuite 9.1;
QNX RTP and Neutrino 2.0; VxWorks; LynxOS; RTEMS
-
Borland C++ Builder 4 and 5.
+
- Although the DOC group has provided outstanding, world-class
+ Although the DOC group has provided outstanding, world-class
support for ACE over the years, ACE's success has greatly increased
the amount of effort required to keep up with its maintenance, answer
users' questions, and give design guidance. Riverace offers
world-class commercial services to support ACE users and OCI and
Remedy IT offer similar services for TAO, allowing the DOC group's
-primary focus to shift back to their main goal: research. The
-DOC group is fundamentally focused on (and funded
-by) advanced R&D projects. The group continues to be
+primary focus to shift back to their main goal: research. The
+DOC group is fundamentally focused on (and funded
+by) advanced R&D projects. The group continues to be
intimately involved in ACE+TAO development and maintenance, but with
-revised priorities for maintenance. The bug fixing policies followed by
-the DOC group are designed to strike a balance between their many research
-projects and their commitment to the ACE+TAO user
-community. Naturally, we will be happy to accept well-tested
+revised priorities for maintenance. The bug fixing policies followed by
+the DOC group are designed to strike a balance between their many research
+projects and their commitment to the ACE+TAO user
+community. Naturally, we will be happy to accept well-tested
patches from the ACE+TAO user community for any platforms that aren't
-supported by the DOC group, Riverace, OCI or Remedy IT.
+supported by the DOC group, Riverace, OCI or Remedy IT.
-
-
+
-
+
+
All of ACE has been ported to the Win32 API (which includes
Windows NT, Windows 2000, and Windows '95/98/ME) and Win64. The entire
release now compiles using the Microsoft Visual C++ 6.0, and
7.1 (aka Visual C++ .NET 2003) compilers. ACE can be built as both
a static (LIB) and dynamic (DLL) library, using the Win32 installation
- process described below.
+ process described below.
- Please see the Non-static
- ACE_Object_Manager discussion below.
+ Please see the Non-static
+ ACE_Object_Manager discussion below.
We've also added some support for
- GNU g++ with MinGW,
- GNU g++ with Cygwin
- Borland C++ 5.5, Borland C++ Builder 4.0/5.0/6.0
- and Borland C++ BuilderX, and IBM's VisualAge C++ compiler.
+ GNU g++ with MinGW,
+ GNU g++ with Cygwin
+ Borland C++ 5.5, Borland C++ Builder 4.0/5.0/6.0
+ and Borland C++ BuilderX, and IBM's VisualAge C++ compiler.
Since we don't have these compilers we rely on the ACE+TAO users
community to maintain these ports. Therefore, please send email
- to the ACE mailing list if you run into problems.
+ to the ACE mailing list if you run into problems.
-
+
- Take a look at (CE-status.txt) for
- up-to-date information about ACE on CE.
+ Take a look at (CE-status.txt) for
+ up-to-date information about ACE on CE.
-
+
All the source code and tests should build and run without any
problems on Solaris 7, 8, and 9 platforms using the above
@@ -218,36 +242,38 @@ global.features file.
/usr/ccs/bin/as, if you want -gstabs+ and -pipe support.
Thanks to Susan Liebeskind <shl@janis.gtri.gatech.edu>
- for providing the following useful information:
+ for providing the following useful information:
By default, ACE uses both the Solaris and POSIX thread
interface. To disable use of the Solaris thread interface, add
+
To disable ACE thread support completely, build with the
-
+
If you use g++ on Solaris 7, you might need to rebuild
it on a SunOS 5.7 (Solaris 7) host. Some versions of g++ and
egcs provide replacements for system header files. The
replacements on older SunOS systems are not compatible with the
- SunOS 5.7 system headers. See David Levine's
+ SunOS 5.7 system headers. See David Levine's
Hints page for instructions on how to build egcs on a SunOS
5.7 host, using a g++ or egcs that was built on an older SunOS
- host.
+ host.
The Sun/C++ compilers until and including 5.4 has several
problems with templates and we don't test very often with them.
We regularly use and test with Sun/C++ 5.5.
+
ACE has been ported to AIX 4.3 and higher using the IBM C/C++
- Compiler 3.6.6, Visual Age C++ 5 and 6, and g++ 3.2.
+ Compiler 3.6.6, Visual Age C++ 5 and 6, and g++ 3.2.
To build ACE on AIX with Visual Age C++ 5 in incremental mode
(i.e. with the IDE), use the
@@ -257,7 +283,7 @@ global.features file.
include the general config-aix-4.x.h file which has support for all
of the OS versions and compilers supported on AIX. Using the general
config file is the recommended practice for g++, IBM
- C/C++, and Visual Age C++ batch mode compilers.
+ C/C++, and Visual Age C++ batch mode compilers.
Visual Age C++ 4 has also been supported on ACE 5.1, but is no longer
supported. If you are still using this compiler, please use the
@@ -265,81 +291,85 @@ global.features file.
config-aix-4.3.x.h ACE config file. Beware, however, that it hasn't
been tested.
- BTW, here's a technique from Rob Jordan <jordan@hursley.ibm.com>
+ BTW, here's a technique from Rob Jordan <jordan@hursley.ibm.com>
that can reduce the size of the ACE libraries by about one
third, and can also be applied to applications. It works by
optimising the sharing of template functions, which are created
- in an "unusual" way under AIX. It also speeds up
- compilation.
+ in an "unusual" way under AIX. It also speeds up
+ compilation.
- Here's how to optimise the ACE library generation:
+ Here's how to optimise the ACE library generation:
- Look at the ace/GNUmakefile.ACE
- in
+
-
+
- ACE has been ported to Linux on
+ ACE has been ported to Linux on
Intel, Alpha, and PowerPC platforms. If you use a RedHat 5.x
distribution, it's best to use RedHat 5.1 or later. ACE works
without any modifications on RedHat 5.1 and later, and on
Debian 2.1 on both Intel and Alpha. Use the
+ 1999 (R5), with glibc 2.1.1.
If you run out of memory, it's easy to add virtual memory on
Linux. Please see the
+ to reduce the memory requirement.
The glibc 2.0 dynamic loader isn't thread safe. If you want to
use the Invocation API you'll have to set
+ dynamic loader in glibc 2.1 is thread safe.
The ACE
+ ACE tests run properly with these egcs 1.0.2 and later.
NOTE: The TAO NameService uses IP multicasting
by default, though it is not required. IP multicast on Linux
- requires the following:
+ requires the following:
-
-
-
-
-
+Building and Installing ACE and Its Auxiliary Libraries and Services
-
-
-
-Building and Installing ACE and Its Auxiliary Libraries and Services
-
-Synopsis
+Synopsis
The file explains how to build and install ACE and its Network
Services on the various OS platforms and compilers that it has been
-ported to. Please consult the ChangeLog file
+ported to. Please consult the ChangeLog file
to see whether any recent changes to the release will affect your
-code. In addition, you should check out our development
-process. As you start working with ACE, we suggest you get copies
-of the C++NPv1, C++NPv2, and APG books
+code. In addition, you should check out our development
+process. As you start working with ACE, we suggest you get copies
+of the C++NPv1, C++NPv2, and APG books
to help guide you after you've built and installed ACE. You should
-also consult the ACE Frequently Made
+also consult the ACE Frequently Made
Mistakes page. If you encounter any problems or would like to
-request an enhancement, then use our bug tracking system to submit a
-report in accordance with our bug
-report process.Document Index
-
-
-
-
-
-Platforms, C++ Compilers, and Support
-
-Document Index
+
+
+
+
+
+Platforms, C++ Compilers, and Support
+
+
-
+
+
-
+ Group
- Platforms
- For more information
- Platforms
+ For more information
+
+
DOC Group
- Tested
+ Tested
and used daily by the DOC group:
Solaris 7, 8 and 9 (many compilers excluding SunC++ 4.x)
Windows 2000, XP (MSVC++ 6.x, and 7.x)
Linux/Intel (many compilers), Linux/IA64 (GCC).
- DOC sites at ISIS, UCI and Washington University
+ DOC sites at ISIS, UCI and Washington University
@@ -94,26 +111,26 @@ document.
Offers support services for many platforms including those
above, HP-UX, AIX, and Windows CE.
- Riverace's web site
+ Riverace's web site
OCI
Maintains ACE on certain platforms required for their TAO
software and service offerings.
- OCI's web site and
- the TAO install document
+ OCI's web site and
+ the TAO install document
Remedy IT
Maintains ACE on many platforms required for their ACE and
TAO service offerings. Besides the standard DOC group platforms
- we also support Borland C++ Builder 6, CBuilderX 1.0, MinGW,
- Cygwin, VxWorks 5.5, OpenVMS 7.3-2, Linux 64bit Alpha, Tru64,
- HPUX 11i 32/64 bit on PA-RISC, and HPUX 11i v2 on Itanium.
+ we also support Borland C++ Builder 6, CBuilderX 1.0, MinGW,
+ Cygwin, VxWorks 5.5, OpenVMS 7.3-2, Linux 64bit Alpha, Tru64,
+ and HPUX 11i 32/64 bit.
- Remedy IT web site and
- the TAO install document
+ Remedy IT web site and
+ the TAO install document
@@ -128,7 +145,7 @@ document.
+
- Not supported
The following platforms have been supported in the past but are
not supported anymore by the DOC Group. If you want to have
@@ -137,29 +154,33 @@ document.
-
+
Installation prerequisites
+Installation prerequisites
ACE (including TAO and CIAO) uses MPC (MakeProjectCreator) to generate
files useful for the build tools (such as GNUmakefiles for UNIX based
@@ -169,44 +190,47 @@ of ACE (TAO and CIAO) includes GNUmakefiles for UNIX platforms, VC6
project files, and VC71 solution files. If it is necessary to generate
files for build tools for other compilers such as Visual Age for IBM,
and Windows CE users have to run MPC themselves to generate the
-appropriate files. Please see USAGE , README and README for ACE files for
+appropriate files. Please see USAGE , README and README for ACE files for
details. The options that have been used to generate the above build
-files can be found in
-global.features file.
+files can be found in
+global.features file.
-Installation Notes
+Installation Notes
-
-
+
-D_POSIX_PTHREAD_SEMANTICS to the
CFLAGS in your
- $(ACE_ROOT)/include/makeinclude/platform_macros.GNU.
- See the Solaris Intro (3) man page for more information.ACE_wrappers/include/makeinclude/platform_macros.GNU.
+ See the Solaris Intro (3) man page for more information.threads=0 make flag. See the Makefile Flags section below for more
- information on make flags.threads=0 make flag. See the Makefile Flags section below for more
+ information on make flags.$ACE_ROOT/ace. Create a file called
- ACE_All_Src.cpp, and add a line to #include
+ Look at the ace/GNUmakefile.ACE
+ in $ACE_ROOT/ace. Create a file called
+ ACE_All_Src.cpp, and add a line to #include
each of the source files
- listed under FILES= in the GNUmakefile. Create a
- file called ACE_All_Tmp.h
+ listed under FILES= in the GNUmakefile. Create a
+ file called ACE_All_Tmp.h
and add a line to #include each of the .h files listed under
- TEMPLATE_FILES= in the GNUmakefile. Now update the
+ TEMPLATE_FILES= in the GNUmakefile. Now update the
GNUmakefile so that
- FILES=ACE_All_Src and
- TEMPLATE_FILES=ACE_All_Tmp.FILES=ACE_All_Src and
+ TEMPLATE_FILES=ACE_All_Tmp.platform_linux.GNU and ace/config-linux.h
- in your platform_macros.GNU and
- config.h files, respectively. The same
+ in your platform_macros.GNU and config.h files, respectively. The same
files can be used on PowerPC, with LinuxPPC
- 1999 (R5), with glibc 2.1.1.mkswap man page. You'll
need at least 256 to 300 Mb of virtual memory (RAM + swap) to
compile all of ACE+TAO. The System
Resource Requirements section has some suggestions on how
- to reduce the memory requirement.LD_BIND_NOW=true. If you want to use
dlopen, you should use RTLD_NOW. The
- dynamic loader in glibc 2.1 is thread safe.Tokens_Test hangs with egcs 1.1b on Linux.
It runs properly when built with egcs 1.0.2 and later. All other
- ACE tests run properly with these egcs 1.0.2 and later.
+
- With RedHat 5.0, you'll need some updates and possibly some
+ With RedHat 5.0, you'll need some updates and possibly some
patches to get ACE working with LinuxThreads. Some of the
patches are necessary with Alpha CPUs and with some older
kernels. egcs 1.0.1 can also be used, but it may need patches,
@@ -350,56 +380,57 @@ global.features file.
best to install egcs in a different directory than
+ ace/config-linux-common.h. If you don't use
IP multicast, add #define ACE_HAS_IP_MULTICAST 0
to your ace/config.h before building ACE.eth0. If
you don't have or use linuxconf, try adding a multicast
routing table entry using something like this:
# route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
+
+
# route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
/usr, such as /usr/local, and set your
PATH and LD_LIBRARY_PATH
- accordingly.
+ accordingly.
Some of the ACE tests fail on older, pre-glibc2 Linux platforms, such as RedHat 4.2. The problems are with threads and - thread-specific storage.
+ thread-specific storage.
-
+
ACE has been ported to SCO UNIX using the GNU g++ 2.7.2 - compiler. Arturo Montes <mitosys@colomsat.net.co> + compiler. Arturo Montes <mitosys@colomsat.net.co> maintains this code. In addition, he also maintains a version - of FSU pthreads.
+ of FSU pthreads.
-
+
ACE used to build fine using the SGI C++ and GNU GCC compilers for IRIX 5.x. It has been ported to IRIX 6.x using the SGI MipsPro 7.1 C++ compiler; be aware that in IRIX 6.2 there is a number of patches that have to be installed and exceptions appear to fail with the O32 ABI. Please check the config files - for the details.
+ for the details.
-
+
HP sells 2 C++ compilers for HP-UX 10.x and 11.00: -
+
On HP-UX 10.20, a patch is required to compile ACE. The exact patch number depends on the platform - check with HP's patch database to locate the exact patch or its successor. For 9000 700 series machines - it is PHKL_8693 (s700 10.20 sys/time.h fix for select(2)/C++ defects).
+ it is PHKL_8693 (s700 10.20 sys/time.h fix for select(2)/C++ defects).
Also see further notes on this platform at Riverace's - Frequently Asked - Questions page. -
+ Frequently Asked + Questions page. +
-
+
The Digital UNIX C++ 5.4 through 5.7 compilers have problems with ACE's templates. They compile the lib and most of the test @@ -407,14 +438,14 @@ global.features file. run, some dump core. If you use a 5.x version of cxx, be sure to set the CXX_VER variable to CXX_5, either on your make command line or in an environment variable. The ACE Makefiles - assume by default that the cxx version is 6.x or later.
+ assume by default that the cxx version is 6.x or later.
CXX 6.0 and 6.1 are much improved over 5.x: V6.0-020, V6.1-025, and later build all of ACE cleanly. All of the tests in - $(ACE_ROOT)/tests run successfully with CXX 6.0 and CXX 6.1. + ACE_wrappers/tests run successfully with CXX 6.0 and CXX 6.1. Please note that problems have been reported with some versions of CXX 6.1, notably versions -021 and earlier. It's best to use - V6.1-022 or later.
+ V6.1-022 or later.
NOTE: if you use Digital UNIX 4.0f or later, you must
use ace/config-tru64.h instead of
@@ -423,14 +454,14 @@ global.features file.
Digital UNIX after and include 4.0. And, with 4.0f and later when
using Digital CXX, you must use
include/makeinclude/platform_tru64_cxx.GNU instead of
- include/makeinclude/platform_osf1_4.0.GNU.
include/makeinclude/platform_osf1_4.0.GNU.
- +
FreeBSD is a fast evolving platform. However, it has the advantage of having standard releases. At this moment, ACE is only perodically tested against -stable (3.1R) and we rely a lot - on FreeBSD users' feedbacks.
+ on FreeBSD users' feedbacks.
Notice that on older FreeBSD, ld.so only looks for
so libraries with version number appended. ACE makefiles
@@ -439,62 +470,65 @@ global.features file.
$ACE_ROOT/ace with appropriate ACE version.
However, this does not work for libACE.so itself so you have to
create it manually (If you figure out how to do this, please let
- us know) like this:
+ us know) like this:
- ln -sf $ACE_ROOT/ace/libACE.so $ACE_ROOT/ace/libACE.so.4.5
+ ln -sf $ACE_ROOT/ace/libACE.so $ACE_ROOT/ace/libACE.so.4.5
- On newer FreeBSD (3.0 or later,) this is no longer necessary.
+ On newer FreeBSD (3.0 or later,) this is no longer necessary.
-
+
Like older FreeBSD, NetBSD's ld.so also requires
- versioned .so files.
+ versioned .so files.
-
+
- ACE has been ported to OpenBSD 3.1 and GNU g++ 2.95.3.
+ ACE has been ported to OpenBSD 3.1 and GNU g++ 2.95.3.
As with FreeBSD and NetBSD, OpenBSD requires versioned .so files. This is currently handled by the build files and no - additional work is needed.
+ additional work is needed.
ACE has been ported to OpenBSD with and without pthreads enabled. When using pthreads, though, C++ exceptions must be disabled. This is a known problem with the current release of OpenBSD (see www.openbsd.org, bug #1750). ACE emulated - exceptions work fine.
+ exceptions work fine.
Compiling TAO may require the user data segment size restrictions and possibly other options to be increased. This is done by modifying the default user class in /etc/login.conf or by adding a new class and modifying the master passwer file - accordingly.
+ accordingly.
-
+
- Steve Huston <shuston@riverace.com> - has ported ACE to work with UnixWare 2.01 and g++.
+ Steve Huston <shuston@riverace.com> + has ported ACE to work with UnixWare 2.01 and g++.
- Ganesh Pai <gpai@voicetek.com> - subsequently did the port for version 2.1.2, also with g++.
+ Ganesh Pai <gpai@voicetek.com> + subsequently did the port for version 2.1.2, also with g++.
- Phil Mesnier <
- mesnier_p@ociweb.com> updated the port to support
+ Phil Mesnier <
+ mesnier_p@ociweb.com> updated the port to support
UnixWare 7.1.0, with help from Michael Meissnitzer
- <
- michael.meissnitzer@siemens.at>, Christian Klepp <
- christian.klepp@siemens.at
- > and Engelbert Staller <
- engelbert.staller@siemens.at>
+ <
+ michael.meissnitzer@siemens.at>, Christian Klepp <
+ christian.klepp@siemens.at
+ > and Engelbert Staller <
+ engelbert.staller@siemens.at>
Building ACE (and TAO) on Unixware 7.1.0 requires a very specific
g++ build environment. In particular, you must build and install
g++ 2.95.2, along with binutils 2.9.1. The order (and the declaration
of configuration) is extremely important. Using the gcc compiler
provided on the Skunkware CD on a pentium system, here is the recipe
I used to build a working environment (as root):
-
mkdir /usr/local/newgnu -< ftp and untar binutils-2.9.1 > -< ftp and untar gcc-2.95.2 > ++ mkdir /usr/local/newgnu +< ftp and untar binutils-2.9.1 > +< ftp and untar gcc-2.95.2 > mkdir -p build/binutils build/gcc cd build/binutils ../../binutils-2.9.1/configure i386-sco-sysv4 @@ -514,107 +548,111 @@ global.features file.Once done, ACE and TAO will successfully build and link.-
+
- Wei Chiang <chiang@tele.nokia.fi> - has ported ACE to Chorus 3.1 using GNU g++ 2.7.2.
+ Wei Chiang <chiang@tele.nokia.fi> + has ported ACE to Chorus 3.1 using GNU g++ 2.7.2.
-
+
ACE builds and runs properly on LynxOS 3.0.x, 3.1.x and 4.0.0 for Intel and PowerPC targets. LynxOS 2.5.x is no longer supported. To build ACE on LynxOS 3.0.x you need to update GCC to version 2.9-gnupro-98r2, which can be obtained from - - ftp://ftp.lynuxworks.com/compilers/98r2-preview/
+ + ftp://ftp.lynuxworks.com/compilers/98r2-preview/
- If you run out of memory on LynxOS, these might help:
+ If you run out of memory on LynxOS, these might help:
-
/etc/starttab,
then reboot system. We use these limits:
- # Data, stack, and core file limits (in Kbytes) ++# Data, stack, and core file limits (in Kbytes) 80000 16000 102400-
# mkcontig /swap 320 +
+# mkcontig /swap 320 # prio 17 vmstart /swapSee the
mkcontig and vmstart
man pages, and /bin/rc.-
NOTE: if you want to use IP multicast on LynxOS, be sure to add
- this line to your /net/rc.network, and reboot:
-
+ this line to your /net/rc.network, and reboot:
+
/bin/route add "224.0.0.0" "$my_name"
- +
- David Levine - <levine@cs.wustl.edu> has + David Levine + <levine@cs.wustl.edu> has ported ACE to VxWorks 5.2/5.3/5.3.1/5.4 with the GreenHills 1.8.8/1.8.9 and g++ compilers that are distributed with VxWorks/Tornado. An anonymous contributor has also - provided notes for using + provided notes for using ACE with VxWorks 5.1.. It is not possible to use VxWorks 5.4 and earlier with ACE anymore because the compilers delivered with - 5.4 and earlier don't support the C++ features ACE needs.
+ 5.4 and earlier don't support the C++ features ACE needs.
Tornado 2.2/VxWorks 5.5 support IP multicast. That is not enabled
by default in ACE for VxWorks, because it probably depends on
kernel configuration. To enable it, add
#define ACE_HAS_IP_MULTICAST to your
- ace/config.h.
+ ace/config.h.
In addition to all of the other benefits of ACE, it helps work around some deficiencies with VxWorks 5.3/5.3.1. Some of these apply only with g++, at least thru version 2.7.2. That is the version that is shipped with Tornado 1.0.1/ VxWorks 5.3.1. The - problems are:
+ problems are:
-
+ ACE itself ran into this problem.
-
+ line arguments to argc/argv form. See below + for details.
-
+ problem if you use it.
-
-
+
+ is not supported on some targets.
Please note that ACE uses one of the spare fields in the Wind River task control block, spare4, for thread- specific storage. This field is specified in only one place, in ace/OS.i, so it can easily be changed to one of the other spare fields, if - necessary.
+ necessary.
Versions of ACE from 4.3.3 and beyond destroy dynamically
allocated singletons in the ACE library. But, they may not
@@ -622,14 +660,15 @@ global.features file.
running a program multiple times, it may be necessary to unload
the module, using unld, and reload it between runs.
Alternatively, you could try calling cplusDtors and
- then cplusCtors between runs.
+ then cplusCtors between runs.
-
+
- All of ACE has been ported to OpenEdition by Chuck Gehr <gehr@sweng.stortek.com>. + All of ACE has been ported to OpenEdition by Chuck Gehr <gehr@sweng.stortek.com>. The ACE library, all the tests and most of the examples and apps build clean. There are still some problems that need to be - ironed out:
+ ironed out:
MVS does not support the dynamic linking dl...() calls that the Service Configurator uses to dynamically link services at run @@ -640,46 +679,53 @@ global.features file. flex and yacc on a ascii (not ebcdic) machine and as a result they don't work very well with ebcdic svc.conf files. We should be able to regenerate these files on MVS but MVS doesn't have - flex. This is something that needs to be done.
+ flex. This is something that needs to be done.
Some of the tests do not execute properly. This is a minority - and over time the goal is to get to 100%.
+ and over time the goal is to get to 100%.
The make scheme for some of the apps still doesn't work perfectly on MVS. This is mainly due to the way shared - libraries are handled on MVS. See additional - build tips for MVS for more on this.
+ libraries are handled on MVS. See additional + build tips for MVS for more on this.
-
+
- ACE has been ported to QNX Neutrino + ACE has been ported to QNX Neutrino 2.0. We cross-compile for Neutrino on a QNX4 host using g++ - 2.8.1, using the ace/config-qnx-neutrino.h - and include/makeinclude/platform_qnx_neutrino.GNU + 2.8.1, using the ace/config-qnx-neutrino.h + and include/makeinclude/platform_qnx_neutrino.GNU configuration files. Many of the ACE tests succeed, though some fail. As the porting effort progresses, we hope to eliminate these failures. If you know of fixes, please send them to - us.
-
+ us.
+
- ACE has been ported to QNX RTP + ACE has been ported to QNX RTP . We compile for QNX RTP using the GCC compiler shipped with the - distribution, using the ace/config-qnx-rtp.h - and include/makeinclude/platform_qnx_rtp_gcc.GNU + distribution, using the ace/config-qnx-rtp.h + and include/makeinclude/platform_qnx_rtp_gcc.GNU configuration files. Many of the ACE tests succeed, though some fail. As the porting effort progresses, we hope to eliminate these failures. If you know of fixes, please send them to - us.
+ us.
Under the current version of QNX RTP ACE fails if compiled with - inline=0 .
+ inline=0 .
-
+
- ACE has been ported to PharLap's TNT Embedded + ACE has been ported to PharLap's TNT Embedded ToolSuite (ETS) version 9.1. The port is being tested with - Microsoft Visual C++ 6.
To build for PharLap, use the + Microsoft Visual C++ 6.
To build for PharLap, use the ace/config-pharlap.h configuration file, and the instructions for building on Windows. Building the ACE library is the same as for regular Windows platforms, except you choose one of the PharLap @@ -689,11 +735,11 @@ global.features file. binaries, see the tests directory. The tests_pharlap_msvc.lnk file is a LinkLoc commands file that the ACE tests are built with. It is likely that local sites may need to adjust this file - for their target environment.
+ for their target environment.
-
+
-
ACE builds and runs on Mac OS X 10.2.x, but the following are +
ACE builds and runs on Mac OS X 10.2.x, but the following are needed to build it:
1. The latest version of the Apple Developer Tools @@ -717,27 +763,29 @@ global.features file.
The work to port ACE to Mac OS X was done by several people, John Zorko - <j.zorko@att.net> is + <j.zorko@att.net> is only one of them.
-/usr/ccs/lib/libgen.a(reg_compile.o): In function `_get_vars_storage': ++ /usr/ccs/lib/libgen.a(reg_compile.o): In function `_get_vars_storage': reg_compile.o(.text+0x30): relocation truncated to fit: R_SPARC_GOT13 freethe suggested workaround is to comment out theACE_HAS_REGEX#defineinace/config-sunos5.5.h. Or better, create anace/config.hthat looks like: -#ifndef ACE_CONFIG_H ++ #ifndef ACE_CONFIG_H // ACE_CONFIG_H is defined by the following #included header. #include "ace/config-sunos5.5.h" @@ -749,14 +797,14 @@ If you use the GNU GCC g++ compiler please note the following: We don't know what causes the link problem, though the workaround solves it.-
-
+ upgrade to g++ 2.95.2 or greater.
-
config.status
+ config.status
file. This file is produced when installing gcc; it specifies
where to install the binary files that gcc uses. For example,
it specifies whether to use Solaris's /usr/ccs/bin
@@ -764,52 +812,52 @@ If you use the GNU GCC g++ compiler please note the following:
config.status file is an output of the gcc
configure script; it is preferable to use the
--prefix option to configure instead
- of hacking its output.+ of hacking its output.
-
+ aware that you still need the libraries and includes of gcc.
NOTE: if you do use the GNU linker, you might need to change
the -G flag to -shared in
the SOFLAGS definition in your
- include/makeinclude/platform_macros.GNU.
+ include/makeinclude/platform_macros.GNU.
-
+ people...
-
collect2.
+ documentation for using collect2.
-
-
+
-
exceptions=0 to your make command line
invocation, or to your
$ACE_ROOT/include/makeinclude/platform_macros.GNU file.-
--enable-shared option is not an
egcs run-time option. Build egcs in a way similar to the
following example:
-
+
$ ./configure --enable-shared
$ make bootstrap
Be sure to set your LD_LIBRARY_PATH environment
variable, if necessary, to pick up those shared libraries.
-
PAGE_SIZE to 8192. Then rebuild ACE. Thanks to
Ganesh Pai for this
information.-
@@ -843,7 +891,8 @@ If you use the GNU GCC g++ compiler please note the following: Example: -
-I/opt/ace/SunOS-1.0 -DACE_HAS_EXCEPTIONS -o Cached_Accept_Conn_Test ++ -I/opt/ace/SunOS-1.0 -DACE_HAS_EXCEPTIONS -o Cached_Accept_Conn_Test .obj/Cached_Accept_Conn_Test.o -L/opt/ace/SunOS-1.0/ace -L./ -lACE -lsocket -ldl -lgen -lnsl -lposix4 -lthread ld: warning: relocation error: R_SPARC_32: file @@ -854,36 +903,36 @@ If you use the GNU GCC g++ compiler please note the following: Client_Svc_HandlerZUiZt8ACE_Hash1Zt30...external symbolic relocation against non-allocatable section .stab; - cannot be processed at runtime: relocation ignored+ cannot be processed at runtime: relocation ignored
- Solution:
+ Solution:
Install the "binutils" package from GNU (www.gnu.org); specifically, - "as" and "ld".
+ "as" and "ld".
- Conclusion:
+ Conclusion:
- Perfect build stats:
+ Perfect build stats:
OS: - Kernel version: SunOS 5.6 Generic 105181-03 December 1999.
+ Kernel version: SunOS 5.6 Generic 105181-03 December 1999.
compiler: - gcc version egcs-2.91.66 19990314 (egcs-1.1.2 release)
+ gcc version egcs-2.91.66 19990314 (egcs-1.1.2 release)
loader: GNU ld version 2.9.1 (with BFD 2.9.1) Supported emulations: - elf32_sparc
+ elf32_sparc
assembler: GNU assembler version 2.9.1 (sparc-sun-solaris2.6), using - BFD version 2.9.1
+ BFD version 2.9.1
Thanks to John Gathright for providing this - information.
+ information.
-
-fsquangle option helps to shorten long
+ -fsquangle option helps to shorten long
symbol names and is a boon to linkers and assemblers which cant
grok long names.
@@ -892,62 +941,62 @@ If you use the GNU GCC g++ compiler please note the following:
option with egcs.Heres a note on how to go about this (contributed by Skye - Sweeney):
+ Sweeney):
- 1) -fsquangle the name is a combination of squash and mangle!
+ 1) -fsquangle the name is a combination of squash and mangle!
- 2) -fsquangle compresses the mangled names.
+ 2) -fsquangle compresses the mangled names.
3) All libraries must be compiles with the option. You cannot simply compile modules that have large names with it. This includes system - libraries and vendor libraries like RogueWave.
+ libraries and vendor libraries like RogueWave.
4) The "simple" solution is not to add the option to each makefile, but rather recompile the compiler to have the option on by default. This is done by editing the file `gcc/cp/decl2.c', setting `flag_do_squangling = 1', then rebuilding the compiler and - libraries.
+ libraries.
5) After many false starts and linking snafus, I can recompile my - ACE/TAO/RogueWave/Lex/Yacc 100 Meg application.
+ ACE/TAO/RogueWave/Lex/Yacc 100 Meg application.
-
Many features in ACE can be modified by defining some macros in
$ACE_ROOT/ace/config.h. These macros should
always appear before including
your platform specific config file.
However, if you want to undefine/redefine macros defined in the +
However, if you want to undefine/redefine macros defined in the
platform specific config file, these #undef should
come after the config file.
-
+
+
GNU Autoconf support is available in the ACE only distribution in the DOC group website. More, precisely support for Autoconf will be missing in distributions that have TAO and CIAO bundled along. @@ -960,138 +1009,140 @@ your applications. The traditional configuration method is still more reliable. Any help you can lend to improve the ACE build process using GNU Autoconf would be very much appreciated. Please send any fixes to the -ACE users mailing list.
-+ACE users mailing list.
+The ACE only kit has been bootstrapped so you do not need to install the GNU Autotools (autoconf, automake, libtool) unless you want to participate in testing and developing this process further. To simply configure and build ACE, do: -
cd to the top-level ACE_wrappers directory.cd to the top-level ACE_wrappers directory.mkdir build ++ mkdir build cd buildNote that you do not run thecreate_ace_buildutility - mentioned in the Cloning the Source Tree + mentioned in the Cloning the Source Tree section. The configure script takes care of creating all files - and links that are needed.
../configure [options] + and links that are needed.
+ ../configure [options]
options can be a variable setting (such as setting
CXX to your C++ compiler command) any standard GNU
configure options, or any of the following ACE configure options
(default values are in parentheses):
- --enable-alloca (no): Enable alloca()
- support.--enable-debug (yes): Build ACE with debugging
- support.--enable-exceptions (yes): Build ACE with C++
- exception support compiled in.--enable-fast (no): Use the Sun C++ -fast
- option to build. Only used on Solaris.--enable-ipv4-ipv6 (no): Enable IPv4/IPv6 migration support.--enable-ipv6 (no): Enable IPv6 support.--enable-inline (yes): Enable inline functions.--enable-optimize (yes): Enable building optimized.--enable-prof (no): Enable profiling support.--enable-purify (no): Build with support for
- IBM Rational Purify.--enable-quantify (no): Build with support for
- IBM Rational Quantify.--enable-repo (no): Enable the GNU g++
- -frepo option. Only useful for pre-3.0 g++ and egcs.--enable-rtti (yes): Compile with C++ run-time type
- information RTTI support.--enable-stdcpplib (yes): Build with support for the
- standard C++ library, as opposed to the older iostreams library.--enable-log-msg-prop (yes): Enable
+ --enable-alloca (no): Enable alloca()
+ support.--enable-debug (yes): Build ACE with debugging
+ support.--enable-exceptions (yes): Build ACE with C++
+ exception support compiled in.--enable-fast (no): Use the Sun C++ -fast
+ option to build. Only used on Solaris.--enable-ipv4-ipv6 (no): Enable IPv4/IPv6 migration support.--enable-ipv6 (no): Enable IPv6 support.--enable-inline (yes): Enable inline functions.--enable-optimize (yes): Enable building optimized.--enable-prof (no): Enable profiling support.--enable-purify (no): Build with support for
+ IBM Rational Purify.--enable-quantify (no): Build with support for
+ IBM Rational Quantify.--enable-repo (no): Enable the GNU g++
+ -frepo option. Only useful for pre-3.0 g++ and egcs.--enable-rtti (yes): Compile with C++ run-time type
+ information RTTI support.--enable-stdcpplib (yes): Build with support for the
+ standard C++ library, as opposed to the older iostreams library.--enable-log-msg-prop (yes): Enable
ACE_Log_Msg property propagation to ACE-created
- threads.--enable-logging (yes): Enable the ACE logging
- macros.--enable-malloc-stats (no): Compile in additional code
- for collecting memory allocation statistics.--enable-pi-pointers (yes): Enable
- position-independent pointers for shared memory classes.--enable-probe (no): Enable the
- ACE_Timeprobe class.--enable-reentrant (yes): Enable use of platform's
- reentrant functions.--enable-static-obj-mgr (yes): Enable use of a
- static ACE_Object_Manager.--enable-threads (yes): Enable threading support.--enable-verb-not-sup (no): Enable verbose ENOTSUP
- reports at run time.--enable-trace (no): Enable ACE execution tracing
- support.--enable-xt-reactor (no): Enable support for the
- ACE_XtReactor class.--enable-fl-reactor (no): Enable support for the
- ACE_FlReactor class.--with-gperf (yes): Build the implementation of
- gperf that comes with ACE.--with-rmcast (yes): Include the ACE_RMCast library
- when building ACE.--with-qos (no): Include the ACE_QoS library when
- building ACE.--with-ssl (yes): Include the ACE_SSL library when
+ threads.--enable-logging (yes): Enable the ACE logging
+ macros.--enable-malloc-stats (no): Compile in additional code
+ for collecting memory allocation statistics.--enable-pi-pointers (yes): Enable
+ position-independent pointers for shared memory classes.--enable-probe (no): Enable the
+ ACE_Timeprobe class.--enable-reentrant (yes): Enable use of platform's
+ reentrant functions.--enable-static-obj-mgr (yes): Enable use of a
+ static ACE_Object_Manager.--enable-threads (yes): Enable threading support.--enable-verb-not-sup (no): Enable verbose ENOTSUP
+ reports at run time.--enable-trace (no): Enable ACE execution tracing
+ support.--enable-xt-reactor (no): Enable support for the
+ ACE_XtReactor class.--enable-fl-reactor (no): Enable support for the
+ ACE_FlReactor class.--with-gperf (yes): Build the implementation of
+ gperf that comes with ACE.--with-rmcast (yes): Include the ACE_RMCast library
+ when building ACE.--with-qos (no): Include the ACE_QoS library when
+ building ACE.--with-ssl (yes): Include the ACE_SSL library when
building ACE. Requires the SSL components to be available using the
- compiler's and linker's default search directories.--with-tli-device (/dev/tcp): Specifies the device
- name for opening a TLI device at run time.make.
- make install.
-+ compiler's and linker's default search directories.
--with-tli-device (/dev/tcp): Specifies the device
+ name for opening a TLI device at run time.make.
+ make install.
+Here's what you need to do to build ACE using GNU Make and ACE's traditional -per-platform configuration method:
+per-platform configuration method: -http
anonymous ftp from ftp.gnu.org in the
pub/gnu/make/ directory).
- You must use GNU make when using ACE's traditional
- per-platform configuration method or ACE won't compile.+ You must use GNU make when using ACE's traditional + per-platform configuration method or ACE won't compile.
-
+ instance, in my .login file for TSCH/CSH I have the following entry:
-
+
setenv ACE_ROOT /home/cs/faculty/schmidt/ACE_wrappers
-
+
BTW, if you're running BASH or Bourne Shell you'll need to do the following: -
+
ACE_ROOT=/home/cs/faculty/schmidt/ACE_wrappers; export ACE_ROOT
-
+
If you're building a number of versions of ACE, however, (e.g., for different OS platforms or for different releases of ACE) you might use the following approach (again assuming TCSH/CSH): -
+
setenv ACE_ROOT $cwd
- $ACE_ROOT/ace/config.h,
+ $ACE_ROOT/ace/config.h,
that includes the appropriate platform/compiler-specific
header configurations from the ACE source directory. For example:
-
+
#include "ace/config-sunos5-sunc++-4.x.h"
-
+
The platform/compiler-specific configuration file
contains the #defines that are used throughout ACE to indicate
which features your system supports. See the
@@ -1099,170 +1150,173 @@ per-platform configuration method:
macro settings. If you desire to add some site-specific or build-specific
changes, you can add them to your config.h file; place them
before the inclusion of the platform-specific
- header file.+ header file.
There are config files for most versions of UNIX. If there isn't a version of this file that matches your platform/compiler, you'll need to make one. Please send me email if you get it working so I can add it to the master ACE - release.
+ release.
-
$ACE_ROOT/include/makeinclude/platform_macros.GNU,
that contains the appropriate platform/compiler-specific
Makefile configurations, e.g.,
-
+
include $(ACE_ROOT)/include/makeinclude/platform_sunos5_sunc++.GNU
-
+
This file contains the compiler and Makefile directives that are
platform/compiler-specific. If you'd like to add make options, you
- can add them before including the paltform-specific configuration.+ can add them before including the paltform-specific configuration.
-
+ like the following
-
+
% setenv LD_LIBRARY_PATH $ACE_ROOT/ace:$ACE_ROOT/lib:$LD_LIBRARY_PATH
-
+
-
+
-
+
% make
-
+
at the root of the ACE source tree. This will build the ACE
library, tests, the examples, and the sample applications.
Building the entire ACE release can take a long time and consume
lots of disk space, however. Therefore, you might consider
- cd'ing into the $ACE_ROOT/ace/ directory and
- running make there to build just the ACE library.
+ cd'ing into the $ACE_ROOT/ace/ directory and
+ running make there to build just the ACE library.
As a sanity check, you might also want to build and run the
- automated "one-button" tests in $ACE_ROOT/tests/. Finally, if you're also
- planning on building TAO, you
- should build the gperf
- perfect hash function generator application in $ACE_ROOT/apps/gperf/.
+ automated "one-button" tests in $ACE_ROOT/tests/. Finally, if you're also + planning on building TAO, you + should build the gperf + perfect hash function generator application in $ACE_ROOT/apps/gperf/.
-
+
-
-
+
+Below are instructions for building ACE with Borland C++Builder, Microsoft +Visual C++, MinGw, and Cygwin.
First, if you are upgrading from an older release, clean up everything and rebuild from scratch to ensure that everything is rebuilt correctly. You might have to manually go through the ACE directories and delete all *.obj, *.dll, *.lib, *.ilk, *.pdb, *.idb, *.ncb, *.opt, and *.exp files in order to start over from scratch (the Clean command -in MSVC may not do this).
+in MSVC may not do this).
ACE contains project files for Microsoft Visual C++ 6.0 (*.dsp/.dsw) and Visual C++ .NET 2003 (*.vcproj/.sln). There are also Makefile.bor files to compile ACE, and the ACE one-button tests with -Borland C++ Builder.
+Borland C++ Builder.
-
-
+
+to check here first.
-
config.h in the ACE_ROOT\ace
- directory that contains: #include "ace/config-win32.h"config.h in the ACE_ROOT\ace
+ directory that contains: #include "ace/config-win32.h"#define ACE_HAS_WINNT4 0#define ACE_HAS_WINNT4 0set ACE_ROOT=C:\ACE_wrappersset BCBVER=6make -f Makefile.bor allset ACE_ROOT=C:\ACE_wrappersset BCBVER=6make -f Makefile.bor allset DEBUG=1set STATIC=1set UNICODE=1set CODEGUARD=1set PASCAL=1set DEBUG=1set STATIC=1set UNICODE=1set CODEGUARD=1set PASCAL=1set CBX=1set CBX=1make -f Makefile.bormake -f Makefile.bor -DDEBUG -DPASCALmake -f Makefile.bormake -f Makefile.bor -DDEBUG -DPASCALmake -f Makefile.bor -DINSTALL_DIR=C:\ACETAO installmake -f Makefile.bor -DINSTALL_DIR=C:\ACETAO install+Builder.
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 @@ -1271,82 +1325,85 @@ 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 -
set PASCAL=1 +set PASCAL=1 make -f Makefile.bor -+
-The Borland C++ Builder 4.0/5.0/6.0 port has been done by Jody Hagins, Christopher Kohlhoff and Johnny Willemsen.
+The Borland C++ Builder 4.0/5.0/6.0 port has been done by Jody Hagins, Christopher Kohlhoff and Johnny Willemsen.
-ACE TESTS
+ACE TESTS
The tests are located in ACE_ROOT\tests. You build the tests using the -Makefile.bor file, that is:
-
+Makefile.bor file, that is:
+
make -f Makefile.bor
-
+
-Once you build all the tests, you can run the perl script:
-
run_test.plin the +Once you build all the tests, you can run the perl script:
+
run_test.pl in the
tests directory to try all the tests. You need to make
sure the ACE bin and lib directory (in this case
-ACE_ROOT\bin and ACE_ROOT\lib)
-are on the path before you try to run the tests.
+ACE_ROOT\bin and ACE_ROOT\lib)
+are on the path before you try to run the tests.
-
-
+
config.h in the ACE_ROOT\ace
- directory that contains: #include "ace/config-win32.h"config.h in the ACE_ROOT\ace
+ directory that contains: #include "ace/config-win32.h"ace/config.h to tweak with the default settings on
- NT.#define ACE_HAS_WINNT4 0#define ACE_HAS_WINNT4 0#define ACE_HAS_STANDARD_CPP_LIBRARY 1#define ACE_HAS_STANDARD_CPP_LIBRARY 1config.h file. Notice that if you want to
spawn a new thread with CWinThread, make sure you spawn the
thread with THR_USE_AFX flag set.config.h file. However, if you would like to link
everything (including the MSVC run-time libraries) statically,
you'll need to modify the project files in ACE yourself.-
ACE_AS_STATIC_LIBS#define ACE_NO_INLINE#define ACE_NO_INLINEMore information for ACE/TAO on MSVC can be found -here. The doxygen version of this -document is available under Related Topics in the ACE Library.
+More information for ACE/TAO on MSVC can be found +here. The doxygen version of this +document is available under Related Topics in the ACE Library.
-ACE TESTS+ACE TESTS
The tests are located in ACE_ROOT\tests. There is also a workspace in -that directory to build all the tests (tests.dsw)
+that directory to build all the tests (tests.dsw)
Once you build all the tests (Batch Build works well for this), you
can run perl script run_test.pl in the
-tests directory to try all the tests.
+tests directory to try all the tests.
- - BUILDING ACE ON A WIN32 MACHINE THAT LACKS A NETWORK CARD
+ + BUILDING ACE ON A WIN32 MACHINE THAT LACKS A NETWORK CARD - -WIN32 ALPHA CONFIGURATIONS - -
- --
+
If you are building for a machine without a network card, you may want -to check here first. +to check here first. -
-Building and installing ACE on MinGW -uses a mix of a UNIX building process and -Win32 configuration files. +
+Building and installing ACE on MinGW +uses a mix of a UNIX building process and +Win32 configuration files. Also, as MinGW uses GNU g++, you may want to take -a look at the Compiling ACE with GNU g++ section. +a look at the Compiling ACE with GNU g++ section. -
+
You will need the MinGW build tools and libraries, downloable from
-http://www.mingw.org.
+http://www.mingw.org.
-
+
For our build we require the packages
-MinGW and MSYS.
+MinGW and MSYS.
-
+% export PATH=/c/mingw/bin:$PATH -
+ % export PATH=/c/mingw/bin:$PATH
+
- +% export ACE_ROOT=/c/work/mingw/ACE_wrappers -
+ % export ACE_ROOT=/c/work/mingw/ACE_wrappers
+
From now on, we will refer to the root directory of the ACE
- source tree as $ACE_ROOT.
- +#include "ace/config-win32.h" -
+ #include "ace/config-win32.h"
+
- If you are building for Windows 9X/Me (ie, not WinNT or
+ If you are building for Windows 9X/Me (ie, not WinNT or
Win2K), you will need to add:
- +#define ACE_HAS_WINNT4 0 -
+ #define ACE_HAS_WINNT4 0
+
- before the #include line.
- #include line.
+ +include $(ACE_ROOT)/include/makeinclude/platform_mingw32.GNU -
+ include $(ACE_ROOT)/include/makeinclude/platform_mingw32.GNU
+
- In the above text, don't replace $(ACE_ROOT) with the
+ In the above text, don't replace $(ACE_ROOT) with the
actual directory, GNU make will take the value from the
environment variable you defined previously.
If you lack Winsock 2, add the line -
+winsock2 = 0 -
+ winsock2 = 0
+
before the previous one.
- % cd $ACE_ROOT/ace +++ % cd $ACE_ROOT/ace % make -
- This should create libACE.dll (the Win32 shared library) and - libACE.dll.a (the Win32 import library for the DLL). + This should create libACE.dll (the Win32 shared library) and + libACE.dll.a (the Win32 import library for the DLL). Note that the name for the ACE DLL follows the MinGW convention, which itself resembles UNIX. -
+
If you want static libs also, you may run: -
+% make static_libs=1 -
+ % make static_libs=1
+
- +% export PATH=/c/work/mingw/ACE_wrappers/ace:$PATH -
+ % export PATH=/c/work/mingw/ACE_wrappers/ace:$PATH
+
-+ACE TESTS
+% cd $ACE_ROOT/tests ++ % cd $ACE_ROOT/tests % make -
+% perl run_test.pl -
+ % perl run_test.pl
+
-If you are using ACE as a DLL, you will need to modify your PATH -variable as explained above. +If you are using ACE as a DLL, you will need to modify your PATH +variable as explained above. -
+
You may want to check $ACE_ROOT/tests/README for the status of the various tests on MinGW and the different Windows flavors. -
-
+
If you are building for a machine without a network card, you may want -to check here first. +to check here first. -
-Building and installing ACE on Cygwin -uses the UNIX building process. +
+Building and installing ACE on Cygwin +uses the UNIX building process. Also, as Cygwin uses GNU g++, you may want to take -a look at the Compiling ACE with GNU g++ section. +a look at the Compiling ACE with GNU g++ section. -
+
You will need the Cygwin build tools and libraries, downloable from -http://www.cygwin.com. +http://www.cygwin.com. For our build we require the following packages besides the packages the setup selects by default: - -
-gcc (version 3.3.3), cygipc, make, perl. -+ +
+gcc (version 3.2.3), cygipc, make, perl. +-
DOS as default text file type.
- +% export PATH=//c/cygwin/bin:$PATH -
+ % export PATH=//c/cygwin/bin:$PATH
+
- Note Cygwin uses ``/'' as directory separator,
- and ``//X'' as a notation for Win32 drive X.
- Note also that you can't use ``c:/cygwin/bin''
+ Note Cygwin uses ``/'' as directory separator,
+ and ``//X'' as a notation for Win32 drive X.
+ Note also that you can't use ``c:/cygwin/bin''
because, for Cygwin,
- ``:'' is path separator character, as in UNIX.
-
+ ``:'' is path separator character, as in UNIX.
+
-
+% export ACE_ROOT=c:/work/cygwin/ACE_wrappers -
+ % export ACE_ROOT=c:/work/cygwin/ACE_wrappers
+
- Note here you can't use the ``//X'' Cygwin + Note here you can't use the ``//X'' Cygwin notation as this is seen by Cygwin's compiler and it doesn't - support that (it does support ``/'' as directory + support that (it does support ``/'' as directory separator however). -
+
From now on, we will refer to the root directory of the ACE
- source tree as $ACE_ROOT.
-
+ source tree as $ACE_ROOT.
+
-
+#include "ace/config-cygwin32.h" -
+ #include "ace/config-cygwin32.h"
+
- +include $(ACE_ROOT)/include/makeinclude/platform_cygwin32.GNU -
+ include $(ACE_ROOT)/include/makeinclude/platform_cygwin32.GNU
+
- In the above text, don't replace $(ACE_ROOT) with the
+ In the above text, don't replace $(ACE_ROOT) with the
actual directory, GNU make will take the value from the
environment variable you defined previously.
- % cd $ACE_ROOT/ace +++ % cd $ACE_ROOT/ace % make -
- This should create libACE.dll (the Win32 shared library) and
- libACE.dll.a (the Win32 import library for the DLL).
+ This should create libACE.dll (the Win32 shared library) and
+ libACE.dll (the Win32 import library for the DLL).
Note the name for the ACE DLL on Cygwin follows the UNIX convention.
-
+
-
+
If you want static libs also, you may run: -
+% make static_libs=1 -
+ % make static_libs=1
+
- +# export PATH=//c/work/cygwin/ACE_wrappers/ace:$PATH -
+ # export PATH=//c/work/cygwin/ACE_wrappers/ace:$PATH
+
- If you are using MPC-generated Makefiles, then the DLLs have been
+ If you are using MPC-generated Makefiles, then the DLLs have been
placed in the lib directory instead of ace and thus your PATH
addition would need to look like this:
- +# export PATH=//c/work/mingw/ACE_wrappers/lib:$PATH -
+ # export PATH=//c/work/mingw/ACE_wrappers/lib:$PATH
+
-+ACE TESTS
+% cd $ACE_ROOT/tests ++ % cd $ACE_ROOT/tests % make -
+% perl run_test.pl -
+ % perl run_test.pl
+
-If you are using ACE as a DLL, you will need to modify your PATH -variable as explained above. +If you are using ACE as a DLL, you will need to modify your PATH +variable as explained above. -
+
You may want to check $ACE_ROOT/tests/README for the status of the various tests on Cygwin and the different Windows flavors. -
-
+
+building ACE on NT hosts for VxWorks targets.
A few notes on VxWorks builds (thanks to Paul von Behren -for these notes):
-
+
-
ld step. You must have perl installed
to use ace_ld. If perl is not on your path, you'll
have to set PERL_PATH to the full path (including
perl.exe), either in your
$(ACE_ROOT)/include/makeinclude/platform_macros.GNU
- or in your environment.-
+
-
$ACE_ROOT/include/makeinclude/platform_vxworks5.x_g++.GNU
-platform file for detailed information.+platform file for detailed information.
The VxWorks platform_vxworks*.GNU files are set up so that shared libraries are not built on VxWorks, by default. Only static @@ -1789,16 +1868,17 @@ necessary to set the LD_LIBRARY_PATH environment variable on your host system when building for VxWorks targets. Please note, however, if you use TAO on VxWorks that you will need to set your LD_LIBRARY_PATH to find the TAO IDL compiler libraries (installed in the ace -directory) on the host.
+directory) on the host.
With g++, $ACE_ROOT/bin/ace_ld is used to munch object files and libraries to set up calls to static constructors and destructors. -bin/ace_ld requires perl on the host platform.
+bin/ace_ld requires perl on the host platform.
These non-default VxWorks kernel configuration #defines
-are required with ACE:
+are required with ACE:
-
#define INCLUDE_CPLUS /* include C++ support */ ++#define INCLUDE_CPLUS /* include C++ support */ #define INCLUDE_CPLUS_IOSTREAMS /* include iostreams classes */ #define INCLUDE_POSIX_ALL /* include all available POSIX functions */@@ -1806,7 +1886,8 @@ are required with ACE:For completeness, here are the non-default
#definesthat we used for VxWorks 5.3.1/g++ 2.7.2: -#define INCLUDE_CPLUS /* include C++ support */ ++#define INCLUDE_CPLUS /* include C++ support */ #define INCLUDE_CPLUS_IOSTREAMS /* include iostreams classes */ #define INCLUDE_CONFIGURATION_5_2 /* pre-tornado tools */ #define INCLUDE_DEBUG /* pre-tornado debugging */ @@ -1835,58 +1916,58 @@ should be enabled.If you use TAO, it's also a good idea to increase the
NUM_FILESparameter from its default of 50 to, -say, 1000.+say, 1000.
Please note that those VxWorks kernel configuration parameters are set in the VxWorks configAll.h file. You must rebuild your -VxWorks kernel after modifying that file.
+VxWorks kernel after modifying that file.
If you're first getting started with ACE and/or VxWorks, I recommend just building the ACE library and tests first. (Some of the ACE examples, in System_V_IPC, don't build on VxWorks yet.) Then try running the tests. Please see $ACE_ROOT/tests/README for the latest -status of the ACE tests on VxWorks.
+status of the ACE tests on VxWorks.
Please note that the
mainentry point is renamed toace_main(configurable via ACE_MAIN) on VxWorks with g++, to comply with its restriction against usingmain. In addition, ACE_HAS_NONSTATIC_OBJECT_MANAGER is enabled by default to cleanly support construction and destruction of static objects. -Please see the Non-static -ACE_Object_Manager discussion for the important implication -of this feature.+Please see the Non-static +ACE_Object_Manager discussion for the important implication +of this feature.
ACE threads (VxWorks tasks) can be named, for example, by supplying a non-null argument to the Thread_Manager spawn routines. However, names beginning with
"==ace_t=="are forbidden because -that prefix is used internally by ACE.+that prefix is used internally by ACE.
You can spawn a new task to run
ace_main, using either -VxWorkssp, or ACE'Sspa. +VxWorkssp, or ACE'Sspa.spacan be used from the VxWorks shell to pass arguments toace_main. Its usage is: -+All arguments must be quoted, even numbers.spa ace_main, "arg1" [, ...]-The ACE tests write their output files in a +The ACE tests write their output files in a directory named
log/, below the current (tests) directory. If you don't have NFS included in your VxWorks kernel, you can use these steps, provided by Clarence M. Weaver, -to run the tests and capture their output:-
+to run the tests and capture their output:
Kirk Davies provided this approach for running the ACE tests on Tornado II: @@ -1894,10 +1975,11 @@ approach for running the ACE tests on Tornado II:+
+
- What I did was create a log directory on the boot NT host of my vxworks target.
-
- I copied all the test applications and the run_tests.vxworks script to +
- I copied all the test applications and the run_tests.vxworks script to the parent of the log directory.
-
- Using the target shell not the host shell, I "cd" to the directory +
- Using the target shell not the host shell, I "cd" to the directory containing the script and test programs.
-
- Invoked the script < run_tests.vxworks from this target shell.
-
- Invoked the script < run_tests.vxworks from this target shell.
+
+
- Under Tornado II, I set up the Target Server File System (TSFS), and the test logs get written to the log subdirectory under that.
-
- You have to set an environment variable before running the tests: -
putenv("ACE_TEST_DIR=/tgtsvr") +- You have to set an environment variable before running the tests: +
+putenv("ACE_TEST_DIR=/tgtsvr")-
Building Shared Libraries for VxWorks.
@@ -1913,12 +1995,12 @@ A shared library for VxWorks uses the same code as for a static (non-shared) library. However, calls to static constructors/ destructors are added. The code in the shared library must be reentrant if you shared it between programs (tasks). The -ACE library meets this requirement.+ACE library meets this requirement.
Shared libraries reduce build time, executable size, and load time of the executable. But, you must manually load the shared library before loading your executable(s) with a command such as: -
+Shared libraries can be unloaded the same way an executable @@ -1930,14 +2012,15 @@ no support for creating copies of writeable global (static) data in the shared library. This includes the singleton ACE_Object_Manager instance pointer. If you share global data between separate programs, they may not work properly. See the discussion of shared code and -reentrancy in the VxWorks' Programmers Guide.-> ld < libACE.so+reentrancy in the VxWorks' Programmers Guide.
Instead of trying to run separate programs onto a VxWorks target, we recommend creating just one program, and spawning a thread for each -task. The TAO IDL_Cubit test collocation -test is a good example.
+task. The TAO IDL_Cubit test collocation +test is a good example.
-
Linking ACE and/or TAO Libraries into the VxWorks Kernel.
+Linking ACE and/or TAO Libraries into the VxWorks Kernel.
It's easy to link your ACE and/or TAO libraries into the VxWorks kernel. Just build shared versions, but @@ -1945,14 +2028,15 @@ disable the munch step. The easiest way to do that is to set theLDmake variable to the name of your linker. For example, to build a libACE.so for PowerPC that can be linked into the kernel: -% cd $ACE_ROOT/ace ++% cd $ACE_ROOT/ace % make LD=ldppc shared_libs=1After building the shared lib, link it into the kernel by setting theMACH_EXTRAmake variable in the kernel configuration Makefile. Then, build the kernel usingmake exe.-
Building ACE on Tornado/NT hosts for VxWorks targets.
+Building ACE on Tornado/NT hosts for VxWorks targets.
The following, very useful information was contributed by Chris Ryan and Paul von Behren. @@ -1961,69 +2045,71 @@ the ACE mailing list.NOTE:The make (version 3.74) that is provided with Tornado II cannot be used to build ACE. Use Cygnus' make (version 3.75) -instead.)
+instead.)
NOTE:Optimization is enabled be default in -platform_vxworks5.x_g++.GNU. However, the compiler that is shipped with Tornado II has +platform_vxworks5.x_g++.GNU. However, the compiler that is shipped with Tornado II has trouble compiling some files with -O2. To disable optimization for an individual file, just add
optimize=0to your -make invocation when compiling that file.+make invocation when compiling that file.
Using the Cygnus tools, this approach works: -
+
A few additional Windows Notes, from Paul von Behren:+
- You'll build both your NT and VxWorks executables in the same workspace (directory hierarchy). This works because the NT compiler and ACE's Makefiles put their output in different directories.
-
- Set up your +
- Set up your
ACE_wrappers/include/makeinclude/platform_macros.GNUas usual for VxWorks. See - the + the g++/VxWorks platform file for more information.-
- Create an
ACE_wrappers/ace/config.hfile that looks +- Create an
ACE_wrappers/ace/config.hfile that looks something like the following. tao_idl should be built to not support native exception handling, because that's not available on VxWorks. -#if defined (_MSC_VER) || defined (__BORLANDC__) ++#if defined (_MSC_VER) || defined (__BORLANDC__) # include "ace/config-win32.h" # undef ACE_HAS_EXCEPTIONS #else # include "ace/config-vxworks.h" #endif-
- Set your
ACE_ROOT,CPP_LOCATION, +- Set your
ACE_ROOT,CPP_LOCATION,WIND_BASE, andWIND_HOST_TYPEenvironment variables.-
- Build for NT, then build for VxWorks.
-
- Build for NT, then build for VxWorks.
+
-
+
And Chris Ryan's instructions for building for VxWorks targets on Windows NT hosts:+
- Cygnus has created a Win32 API which is compatible with a - "generic" Unix environment. Using this library, they have ported a + "generic" Unix environment. Using this library, they have ported a large collection of GNU tools to WinNT/95 - including a port of - gcc/g++. See http://www.cygnus.com/misc/gnu-win32/ + gcc/g++. See http://www.cygnus.com/misc/gnu-win32/ A related link is ftp://ftp.cygnus.com/pub/gnu-win32/latest/
-
- To set up the command-prompt build environemnt, run +
- To set up the command-prompt build environemnt, run
Tornado\host\x86-win32\bin\TorVars.bat. This is done implicitly within the Tornado IDE.-
- To run
ace_ld, you still need perl installed - - see http://www.activestate.com/software/default.htm +- To run
ace_ld, you still need perl installed - + see http://www.activestate.com/software/default.htm for Windows perl.-
- The Tornado IDE will use a standard Makefile for project +
- The Tornado IDE will use a standard Makefile for project builds, but does not have a GUI interface for managing the Makefile. By default, it will use rules from Makefile in the current directory and you can configure it to add certain Makefile targets to the project. If you have
ACE_ROOTdefined before starting Tornado, you can specify an ACE Makefile as a Tornado target and Tornado will then call make from the menu.-
+
- Path setting that seems to be working is:
-
/tornado/host/x86-win32/bin: ++ /tornado/host/x86-win32/bin: /tornado/host/x86-win32/lib/gcc-lib/i386-wrs-vxworks/cygnus-2.7.2-960126: /tornado/host/x86-win32/i386-wrs-vxworks/bin: /ace/ace_wrappers/bin: @@ -2036,7 +2122,8 @@ on Windows NT hosts:Other environment variables:-
WIND_BASE=/tornado ++ WIND_BASE=/tornado SHELL=/bin/sh.exe TERM=pcbios TAO_ROOT=/ace/ACE_wrappers.vxworks/TAO @@ -2046,13 +2133,14 @@ on Windows NT hosts: ACE_ROOT=/ace/ACE_wrappers.vxworks-/tornadois the root of the Tornado install +/tornadois the root of the Tornado install ($WIND_BASE). -/gnuwin32is the root of a Cygnus GNU download and install. +/gnuwin32is the root of a Cygnus GNU download and install. -/bincontent is:-
aced.dll +/bincontent is:+
+ aced.dll cygwin.dll perl.exe rm.exe @@ -2065,27 +2153,30 @@ on Windows NT hosts:cygwin.dllis from the Cygnus GNU software download and install. -- Basically, follow documented procedure for ACE build/install on UNIX +
- Basically, follow documented procedure for ACE build/install on UNIX platform. Create a
$ACE_ROOT/ace/config.hthat looks like:-
#include "config-vxworks5.x.h" ++ #include "config-vxworks5.x.h"And create a$ACE_ROOT/include/makeinclude/platform_macros.GNUthat looks like:-
WIND_BASE = /tornado ++ WIND_BASE = /tornado WIND_HOST_TYPE = x86-win32 CPU = I80486 include $(ACE_ROOT)/include/makeinclude/platform_vxworks5.x_g++.GNU-- When using cygnus windows GNUTools on WinNT you have to start +
- When using cygnus windows GNUTools on WinNT you have to start make with "--unix" option, otherwise WinNT shell cmd.exe is responded and not sh.exe, i.e., -
make --unix static_libs=1 --+ make --unix static_libs=1 ++TAO on NT Tornado host, VxWorks target.
@@ -2095,212 +2186,221 @@ on Windows NT hosts: Be sure to build ACE's gperf on NT, inACE_wrappers/apps/gperf/src.-
CPP_LOCATION=/Program Files/DevStudio/VC/bin/CL.exe +
+ CPP_LOCATION=/Program Files/DevStudio/VC/bin/CL.exe
cd $TAO_ROOT/tao
/gnuwin32/b18/H-i386-cygwin32/bin/make
- CPP_LOCATION=/Program Files/DevStudio/VC/bin/CL.exe +
+ CPP_LOCATION=/Program Files/DevStudio/VC/bin/CL.exe
cd $TAO_ROOT/orbsvcs/orbsvcs
/gnuwin32/b18/H-i386-cygwin32/bin/make
- -
+ -
Scenario: I was building the ACE and TAO for VxWorks +Notes for Building ACE and TAO for VxWorks on NT host +
Scenario: I was building the ACE and TAO for VxWorks on NT. The target system was a PPC860 based chassis and another a NT -host based card.
-Host System:
-NT 4.0 workstation with 128 M RAM, 266MHz Pentium.
+host based card. +Host System:
+NT 4.0 workstation with 128 M RAM, 266MHz Pentium.
-Software Needed For Building TAO
-1) PERL: Active State's ActivePerl 5.6.0.618 for NT available as +
Software Needed For Building TAO
+1) PERL: Active State's ActivePerl 5.6.0.618 for NT available as freeware from http://www.ActiveState.com/download/contrib/Microsoft/NT/InstMsi.exe -
- -2) Tornado II .Release V 9904 from Windriver.
- -3) Cygwin GNU to build TAO. It is available for NT as a freeware -from
-http://www.cygwin.com/
-The Cygwin Make (version 3.75) can only build the TAO not the -Tornado II make (version 3.74)
- -Environment Variables:
-On NT the environment Variables are set as follows, (from -Control Panel-> System -> Environment)
-I added following Environment variable entries to PATH
- -C:\Perl\bin\;
-C:\tornado\host\x86-win32\bin;
-C:\tornado\host\x86-win32\powerpc-wrs-vxworks\bin;
-C:\tornado\host\x86-win32\lib\gcc-lib\powerpc-wrs-vxworks\cygnus-2.7.2-960126;
-C:\Corba\Ace_wrappers\bin;
-C:\Cygwin\bin;
-C:\Cygwin\usr\bin;
-C:\bin
- -Additional Environmental variables and the values,
-CPU=PPC860
-LD_LIBRARY_PATH=
-SHELL=/bin/sh.exe
- -ACE_ROOT=/Corba/ACE_wrappers
-WIND_BASE=/tornado
-SHELL=/bin/sh.exe
-TERM=pcbios
-TAO_ROOT=/Corba/ACE_wrapper/Tao
-CPP_LOCATION=/Program Files/Microsoft Visual Studio/VC98/Bin/CL.exe
-GCC_EXEC_PREFIX=/tornado/host/x86-win32/lib/gcc-lib/
-WIND_HOST_TYPE=x86-win32
-PERL_PATH=/perl/bin/perl.exe
- -Directories of importance
-C:\Corba <-- Ace_wrappers (uzipped)
-C:\tornado <-- Tornado installed
-C:\Perl <-- Perl installed
-C:\Cygwin <-- Cygwin installed
-C:\bin <-- Copy these files,
-Ace.dll, <-- After you build Ace
-gperf.exe <-- After you build gperf
-Cygwin1.dll, <-- After you install Cygwin
-perl.exe, <-- After you install Perl
-rm.exe <-- After you install Cygwin
-sh.exe <-- After you install Cygwin
-true <-- After you install Cygwin
-Create Files
-1) C:\Corba\ACE_Wrappers\ace\config.h
-with entry
-#if defined (_MSC_VER) || (__BORLANDC__)
-#include "ace/config-win32.h"
-#undef ACE_HAS_EXCEPTIONS
-#else
-#include "ace/config-vxworks5.x.h"
-#define ACE_HAS_IP_MULTICAST
-#endif
- -2) C:\Corba\ACE_wrappers\include\makeinclude\platform_macros.GNU
-WIND_BASE = /tornado
-WIND_HOST_TYPE = x86-win32
-include -$(ACE_ROOT)/include/makeinclude/platform_vxworks5.x_g++.GNU
-ACE_COMPONENTS=FOR_TAO (you may choose this option to build ACE -library that supports TAO)
- --
Steps to Build
-1) Build Ace.dll under NT
-In MS Visual C++ open C:\Corba\ACE_wrappers\ace.dsw And build Ace -DLL
-Copy Ace.dll in C:\bin
- -2) Build gperf utility under NT
-In MS Visual C++ open -C:\Corba\ACE_wrappers\apps\gperf\src\gperf.dsw. Build gperf.exe
-Copy gperf.exe to C:\bin
- -3) Mount Directries in Cygwin
-Click on Cygnus Solutions -> Cygwin Bash Shell
-Mount following directories by using mount command.
-create respective directories first then use mount command
- -e.g. Create /Corba directory then use $mount -s "C:\Corba" -/Corba
- -C:\Corba mount to /Corba
-C:\tornado mount to /tornado
-C:\Perl mount to /perl
-C:\Cygwin mount to /cygwin
-C:\bin mount to /bin
-C:\Program Files mount to /Program Files
- -4) Build ACE in Cygwin
-$cd /Corba/ACE_wrappers/ace
-$make static_libs=1
-This will build your ace library libACE.a for VxWorks. If you use +
+ +2) Tornado II .Release V 9904 from Windriver.
+ +3) Cygwin GNU to build TAO. It is available for NT as a freeware +from
+http://www.cygwin.com/
+The Cygwin Make (version 3.75) can only build the TAO not the +Tornado II make (version 3.74)
+ +Environment Variables:
+On NT the environment Variables are set as follows, (from +Control Panel-> System -> Environment)
+I added following Environment variable entries to PATH
+ +C:\Perl\bin\;
+C:\tornado\host\x86-win32\bin;
+C:\tornado\host\x86-win32\powerpc-wrs-vxworks\bin;
+C:\tornado\host\x86-win32\lib\gcc-lib\powerpc-wrs-vxworks\cygnus-2.7.2-960126;
+C:\Corba\Ace_wrappers\bin;
+C:\Cygwin\bin;
+C:\Cygwin\usr\bin;
+C:\bin
+ +Additional Environmental variables and the values,
+CPU=PPC860
+LD_LIBRARY_PATH=
+SHELL=/bin/sh.exe
+ +ACE_ROOT=/Corba/ACE_wrappers
+WIND_BASE=/tornado
+SHELL=/bin/sh.exe
+TERM=pcbios
+TAO_ROOT=/Corba/ACE_wrapper/Tao
+CPP_LOCATION=/Program Files/Microsoft Visual Studio/VC98/Bin/CL.exe
+GCC_EXEC_PREFIX=/tornado/host/x86-win32/lib/gcc-lib/
+WIND_HOST_TYPE=x86-win32
+PERL_PATH=/perl/bin/perl.exe
+ +Directories of importance
+C:\Corba <-- Ace_wrappers (uzipped)
+C:\tornado <-- Tornado installed
+C:\Perl <-- Perl installed
+C:\Cygwin <-- Cygwin installed
+C:\bin <-- Copy these files,
+Ace.dll, <-- After you build Ace
+gperf.exe <-- After you build gperf
+Cygwin1.dll, <-- After you install Cygwin
+perl.exe, <-- After you install Perl
+rm.exe <-- After you install Cygwin
+sh.exe <-- After you install Cygwin
+true <-- After you install Cygwin
+Create Files
+1) C:\Corba\ACE_Wrappers\ace\config.h
+with entry
+#if defined (_MSC_VER) || (__BORLANDC__)
+#include "ace/config-win32.h"
+#undef ACE_HAS_EXCEPTIONS
+#else
+#include "ace/config-vxworks5.x.h"
+#define ACE_HAS_IP_MULTICAST
+#endif
+ +2) C:\Corba\ACE_wrappers\include\makeinclude\platform_macros.GNU
+WIND_BASE = /tornado
+WIND_HOST_TYPE = x86-win32
+include +$(ACE_ROOT)/include/makeinclude/platform_vxworks5.x_g++.GNU
+ACE_COMPONENTS=FOR_TAO (you may choose this option to build ACE +library that supports TAO)
+ ++
Steps to Build
+1) Build Ace.dll under NT
+In MS Visual C++ open C:\Corba\ACE_wrappers\ace.dsw And build Ace +DLL
+Copy Ace.dll in C:\bin
+ +2) Build gperf utility under NT
+In MS Visual C++ open +C:\Corba\ACE_wrappers\apps\gperf\src\gperf.dsw. Build gperf.exe
+Copy gperf.exe to C:\bin
+ +3) Mount Directries in Cygwin
+Click on Cygnus Solutions -> Cygwin Bash Shell
+Mount following directories by using mount command.
+create respective directories first then use mount command
+ +e.g. Create /Corba directory then use $mount -s "C:\Corba" +/Corba
+ +C:\Corba mount to /Corba
+C:\tornado mount to /tornado
+C:\Perl mount to /perl
+C:\Cygwin mount to /cygwin
+C:\bin mount to /bin
+C:\Program Files mount to /Program Files
+ +4) Build ACE in Cygwin
+$cd /Corba/ACE_wrappers/ace
+$make static_libs=1
+This will build your ace library libACE.a for VxWorks. If you use option shared_libs=1 then the build will be libACE.so. The other -options are same as follows.
- -5) Build TAO in Cygwin
-$cd $TAO_ROOT/tao
-$make debug=0 optimize=1 static_libs_only=1 minimum_orb=1 -
-for shared libs use shared_libs=1
- -The minimum Tao does not have following components,
-Dynamic Skeleton Interface
-Dynamic Invocation Interface
-Dynamic Any
-Interceptors
-Interface Repository
-Advanced POA features
-CORBA/COM interworking
- -You may play around with above options to find suitable build for +options are same as follows.
+ +5) Build TAO in Cygwin
+$cd $TAO_ROOT/tao
+$make debug=0 optimize=1 static_libs_only=1 minimum_orb=1 +
+for shared libs use shared_libs=1
+ +The minimum Tao does not have following components,
+Dynamic Skeleton Interface
+Dynamic Invocation Interface
+Dynamic Any
+Interceptors
+Interface Repository
+Advanced POA features
+CORBA/COM interworking
+ +You may play around with above options to find suitable build for your needs. For example when you give option debug=1 all the debug symbols will be created and the build will huge in size. The debug -symbols are necessary when you want to debug your code.
+symbols are necessary when you want to debug your code. --
+
+simple (the process for Win32 is different). +Here's what you need to do:
-
main) contained in $ACE_ROOT/netsvcs/servers/main.cpp
- should also be compiled and ready to run.
+ (main) contained in $ACE_ROOT/netsvcs/servers/main.cpp
+ should also be compiled and ready to run.
-
LD_LIBRARY_PATH environment variable to
+ LD_LIBRARY_PATH environment variable to
where the binary version of the ACE netsvcs library. For
- example, you probably want to do something like the following+ example, you probably want to do something like the following
-
+
% setenv LD_LIBRARY_PATH $ACE_ROOT/ace:$ACE_ROOT/lib:$LD_LIBRARY_PATH
-
+
-
main driver program dynamically.
+ main driver program dynamically.
To specify which services should be linked in and executed, edit the
- $ACE_ROOT/netsvcs/servers/svc.conf
+ $ACE_ROOT/netsvcs/servers/svc.conf
file. During your editing, you should update information (such as the
default service port numbers) that affects the initialization of
services in this file. Refer to the
- Service Configurator
+ Service Configurator
documentation to learn how the configuration file is parsed and
how the services are dynamically linked and executed. In
- addition, refer to the Network
- Services documentation to learn more about how to configure
- each network service.+ addition, refer to the Network + Services documentation to learn more about how to configure + each network service.
-
-
+
-
+
export RTEMS_MAKEFILE_PATH=/opt/rtems/CPU-rtems/BSP +-+export RTEMS_MAKEFILE_PATH=/opt/rtems/CPU-rtems/BSP # setup the build structure cd ACE_wrappers @@ -2347,85 +2447,92 @@ make -f ../include/makeinclude/Makefile.rtems rtems_init.o make cd ../TAO make -+
-
+
+the Network Services.
-
The first step for all platforms is to build and install the -OpenSSL distribution. The -ACE_SSL library must then be built according to the instructions +OpenSSL distribution. Then the +ACE_SSL library must be built according to the instructions below.
SSL_ROOT environment variable to point to the
- top level directory of your OpenSSL distribution, i.e. the one
- containing OpenSSL's include and lib
- directories.ssl=1 to your MPC
- $ACE_ROOT/bin/MakeProjectCreator/config/default.features
- or $ACE_ROOT/local.features file, and re-run MPC to add
- support for building the ACE_SSL library to your GNUmakefiles.
- | PLATFORM_SSL_CPPFLAGS | +Platform preprocessor options for OpenSSL (e.g. -I...) | +
| PLATFORM_SSL_LDFLAGS | +Platform linker options for OpenSSL (e.g. -L...) | +
| PLATFORM_SSL_LIBS | +Platform libraries required with OpenSSL (e.g. -lssl -lcrypto) | +
SSL_ROOT environment variable to the location
- of the directory containing the OpenSSL inc32 and
- out32dll directories.
- ssl=1 to your MPC
- $ACE_ROOT/bin/MakeProjectCreator/config/default.features
- or $ACE_ROOT/local.features file, and re-run MPC to add
- support for building the ACE_SSL library to your MSVC++
- workspaces and projects.
+ openssl-0.9.6\inc32openssl-0.9.6\out32dllACE.dsw workspace, and refer to the ACE build
and installation instructions above for details on creating a
config.h configuration header for this platform. Once
- the config.h file has been created, build the
+ the config.h file has been created, build the
ACE_SSL project.Support for building ACE's ACE_SSL library and TAO's SSLIOP - pluggable protocol with Borland C++ does exist. -
SSL_ROOT environment variable to the location
- of the directory containing the OpenSSL inc32 and
- out32 directories.
- ssl=1 to your MPC
- $ACE_ROOT/bin/MakeProjectCreator/config/default.features
- or $ACE_ROOT/local.features file, and re-run MPC to add
- support for building the ACE_SSL library to your Borland C++ makefiles.
- Support for building TAO's SSLIOP pluggable protocol with Borland C++ + does exist. First get a patch for the Open SSL makefile from + http://www.tenermerx.com/tao_bcb/index.html. Then build the OpenSSL + library. When you use the DLL version of ACE+TAO you have to build a DLL + version of OpenSSL. Then you must set the environment variable SSL_ROOT + to the location of your OpenSSL and then build ACE and TAO as normally.
--
+
I usually make: -
$ACE_ROOT/ace,
+
+ $ACE_ROOT/ace,
$ACE_ROOT/apps/gperf,
$TAO_ROOT/tao,
$TAO_ROOT/TAO_IDL, and
@@ -2436,72 +2543,75 @@ Pentium-III/550MHz, 256MB memory, 512MB swap machine. (Top secret: I
renice the 'make' process to the highest priority, -20... ;-)
To save time and space, I set
- TAO_ORBSVCS = Naming Time Trader ImplRepo
+
+ TAO_ORBSVCS = Naming Time Trader ImplRepo
-in $ACE_ROOT/include/makeinclude/platform_macros.GNU also. See
-TAO's orbsvcs
+in $ACE_ROOT/include/makeinclude/platform_macros.GNU also. See
+TAO's orbsvcs
library customization instructions for more information.
-
System Resource
-Requirements
The amount of system resources required to build
+
System Resource
+Requirements
The amount of system resources required to build
ACE and TAO varies greatly. The required system resources are
influenced by OS and compiler platform, build options, and component
configurations. As a rough guide, the typical peak memory requirement
-can be well over 512 MB (notably, for TAO's orbsvcs). Depending on
+can be well over 256 MB (notably, for TAO's orbsvcs). Depending on
your OS and compiler configuration, an entire build
-of ACE and TAO can use well over 4 GB of disk space. It's usually not
+of ACE and TAO can use well over 2 MB of disk space. It's usually not
necessary to build all of ACE and TAO, though.
Much less disk space is required for just the libraries. For example,
-see the ACE
-library subset sizes.
+see the ACE
+library subset sizes.
If you run out of memory when building, you might consider trying
-some or all of these suggestions:
-
+
-
-
-pipe from
+ -pipe from
CFLAGS in your
include/makeinclude/platform_macros.GNU file.-
ACE_COMPONENTS in the
- ACE subsets page. For TAO's
+ ACE subsets page. For TAO's
orbsvcs, see the discussion of TAO_ORBSVCS in
- orbsvcs Library configuration information.+ orbsvcs Library configuration information.
If disk space is a problem, disabling debugging should greatly reduce object code, and therefore, library size. This is especially -true with g++.
+true with g++.
Toshio Hori <toshi@etl.go.jp> provided these tips for reducing -disk space usage:
+disk space usage:
To save space on a Unix machine, I usually run 'find . -name \*.dsw -o -name \*.dsp -o -name \*.bor | xargs rm -f' in $ACE_ROOT at first after I untar the distribution. They are meaningless in my environment (Files named '*.dsw' and '*.dsp' are used for MSVC++ and files named '*.bor' are for Borland C++ -Builder.)
+Builder.)
Finally, to save space, may want to run 'make clean' after 'make'. It removes generated object files and leaves libraries/executables intact. If you want to remove any of the libraries/executables, as -well, try 'make realclean'.
+well, try 'make realclean'.
-
-
+
ERROR: Unable to find the MPC modules in /builds/ACE_wrappers/MPC. ++ERROR: Unable to find the MPC modules in /builds/ACE_wrappers/MPC. You can set the MPC_ROOT environment variable to the location of MPC.@@ -2518,7 +2628,8 @@ anonymous CVS server and set your MPC_ROOT environment variable.
cvs -d :pserver:anonymous@anoncvs.ociweb.com:/cvs co MPC ++cvs -d :pserver:anonymous@anoncvs.ociweb.com:/cvs co MPCThe README and USAGE files in the MPC directory are an up-to-date source @@ -2532,89 +2643,50 @@ http://downloads.ociweb.com/MPC/, however much of MPC has changed since it's writing. It will be updated as newer versions of the TAO Developer's Guide is released. - --
Working with ACE in Eclipse
- - --The Eclipse CDT C++ development environment can be used to develop ACE applications. You can configure a new CDT project to build ACE using either a local source distribution or checking out ACE from CVS in Eclipse. These are the steps to create the CDT project to build ACE. -
- --
To create an Eclipse project for ACE starting from CVS:
--
- - - - -- In the "CVS Repository Exploring" perspective, navigate to the module containing ACE.
-- Checkout the module using "Check Out As" and select the "project configured using the New Project Wizard" option.
-- Select "Standard Make C++ Project" for the project type.
-- Follow the steps outlined above, up to the point of running make, for building ACE on your platform. Use "path_to_your_eclipse_workspace"/"project_name" as your $ACE_ROOT. -
- If you had to regenerate the makefiles using MPC, select the root folder for your poject and use the import wizard to add them to your project.
-- Select the root folder for the project and use the "Create Make Target" wizard to setup the appropriate make command and options.
-- Select the root folder and run "Build Make Target." This will build ACE.
--
To create an Eclipse project for ACE from a local source distribution:
--
- - - - -- Launch the "New Project Wizard" in Eclipse.
-- Select "Standard Make C++ Project" for the project type.
-- On the project name page, uncheck the "use default" location option and replace the default path with the path to your source distribution.
-- Follow the steps, up to the point of running make, for building ACE on your platform. -
- If you had to regenerate the makefiles using MPC, select the root folder for your poject and use the import wizard to add them to your project.
-- Select the root folder for the project and use the "Create Make Target" wizard to setup the appropriate make command and options.
-- Select the root folder and run "Build Make Target." This will build ACE.
- - --
Advanced Topics
- -
-
+
+
ACE::init () and ACE::fini
-(). The comments in the header
+(). The comments in the header
file, ace/Object_Manager.h, as well as Section 1.6.3 in
The ACE Programmer's Guide
-provide more detail.+provide more detail.
Special requirements are imposed on applications if the
ACE_Object_Manager is instantiated, by ACE, on the stack of the main
thread. This behavior is selected by defining
ACE_HAS_NONSTATIC_OBJECT_MANAGER in
-ace/config.h. Again, see the ACE Object_Manager header file,
+ace/config.h. Again, see the ACE Object_Manager header file,
ace/Object_Manager.h for more information. One of
these requirements is discussed here, because it is so important.
Please note that ACE_HAS_NONSTATIC_OBJECT_MANAGER is
defined in the distributed ACE config.h headers for
-VxWorks and Win32.
+VxWorks and Win32.
The important requirement is that the program must
declare its main function with two arguments, even if
they're not used, and with int return type:
-
+
int
main (int, char *[])
@@ -2629,7 +2701,7 @@ Alternatively, this feature can be disabled by commenting out the
difficult on VxWorks. And, you'd either have to call static
constructors and destructors manually or unload/load the program
between runs. On Win32, disabling the feature can possibly lead to
-shutdown difficulties.
+shutdown difficulties.
ACE_HAS_NONSTATIC_OBJECT_MANAGER assumes that your
@@ -2639,11 +2711,11 @@ entry point something other than main, you'll need to
construct and destroy the ACE_Object_Manager. The best way to do that
is to call ACE::init () and ACE::fini ().
Or, see the #define of main (int, char *[])
-in ace/OS.h to see how ACE does
+in ace/OS.h to see how ACE does
that for entry points named main.
-
-
Cloning the Source Tree
+
+
Cloning the Source Tree
On UNIX platforms, we typically like to support multiple platform
builds using the same ACE source tree. This idiom is supported by ACE
@@ -2651,43 +2723,45 @@ using the $ACE_ROOT/bin/create_ace_build script or
$ACE_ROOT/bin/clone.cpp program.
To use build and use the clone program, first make sure there's a file
-called platform_macros.GNU that contains the correct platform-specific
-Makefile configurations in the $ACE_ROOT/include/makeinclude/
+called platform_macros.GNU that contains the correct platform-specific
+Makefile configurations in the $ACE_ROOT/include/makeinclude/
directory, as well as making sure there's a $ACE_ROOT/ace/config.h
file that includes the desired platform/compiler specific
-configuration header. Then perform the following steps:
+configuration header. Then perform the following steps:
-
% cd $ACE_ROOT/bin
+
+% cd $ACE_ROOT/bin
% make
% mv clone ~/bin
% rehash
-
+
Then create a ./build subdirectory someplace, e.g., under $ACE_ROOT.
Once this is done, then invoke the top-level Makefile with the
-"clone" target, e.g.:
+"clone" target, e.g.:
-
% cd $ACE_ROOT
+
+% cd $ACE_ROOT
% mkdir build-SunOS5
% cd build-SunOS5
% make -f ../Makefile clone
% setenv ACE_ROOT $cwd
% make
-
+
This will establish a complete tree of links. In addition, make sure
-you set your LD_LIBRARY_PATH to
-$ACE_ROOT/ace:$ACE_ROOT/lib:$LD_LIBRARY_PATH on SVR4 UNIX
-platforms.
+you set your LD_LIBRARY_PATH to
+$ACE_ROOT/ace:$ACE_ROOT/lib:$LD_LIBRARY_PATH on SVR4 UNIX
+platforms.
When you do a make in the $ACE_ROOT directory you will be producing
object code that is not stored in the same place as the original
source tree. This way, you can easily build another platform in a
-parallel tree structure.
+parallel tree structure.
- VERY IMPORTANT!
+ VERY IMPORTANT!
-If you use the "clone trick" discussed above, make sure that the
+If you use the "clone trick" discussed above, make sure that the
symbolic links are correctly in place before starting the build. In
particular, if you plan to clone the tree, it is preferable to do so
before you start a build procedure on the original tree. This is
@@ -2697,7 +2771,7 @@ You would end up with links pointing to object files of another
platform. If you clone the tree after you've done a build on the
original tree, make sure to remove all ".obj", ".shobj" and (any other
files or directories) in all subdirectories before starting the build
-on your cloned tree.
+on your cloned tree.
Alternatively, the perl script
ACE_wrappers/bin/create_ace_build can be used to create
@@ -2706,24 +2780,24 @@ It filters out all but the necessary files, so the warning above does
not apply. See the comments at the top of the script itself for usage
information.
-
-
Additional Build Tips for MVS
+
+
Additional Build Tips for MVS
For all intents and purpose, MVS OpenEdition (OE) is another flavor of
-UNIX, therefore, the instructions under Building
-and Installing ACE on Unix can be used along with the following
-additional tips:
+UNIX, therefore, the instructions under Building
+and Installing ACE on Unix can be used along with the following
+additional tips:
You can get a copy of GNU make that has been ported to MVS OpenEdition from
-the IBM OpenEdition web site.
+the IBM OpenEdition web site.
ACE's make scheme generates compile commands that have options and
operands interspersed. By default, the c89/cc/c++ compiler expects all options to
precede all operands. To get around this, you must set a special
compiler environment variable (_CXX_CCMODE) to 1 which tells the compiler
-to allow options and operands to be interspersed.
+to allow options and operands to be interspersed.
-Note that the environment variable LD_LIBRARY_PATH is
-called LIBPATH on MVS.
+Note that the environment variable LD_LIBRARY_PATH is
+called LIBPATH on MVS.
Shared objects are built a little different on MVS than on
other UNIX implementations. This has been accounted for in the makefiles
@@ -2733,7 +2807,7 @@ side-deck file and it must be included in subsequent link edits with
application code. For more information on this see the C/C++ MVS
Programming Guide. If you want to build your application statically,
i.e., using libACE.a instead of libACE.so, you can set ACELIB to
-ACELIB_STATIC in platform_mvs.GNU.
+ACELIB_STATIC in platform_mvs.GNU.
When the libACE.so file is built (via the MVS pre-linker and binder), you
will get a rc=4 from the pre-linker. This is ok. This is due to some
@@ -2742,43 +2816,43 @@ link step. Note, however, there shouldn't be any unresolved references
from the binder (linkage editor). You can get pre-link and link maps by
uncommenting the PMAP and LMAP lines in the platform_mvs.GNU file.
-
-
Makefile Flags
+
+
Makefile Flags
GNU make provides many options to customize its operation. See its
documentation for more information. One example is that for multi-cpu
-UNIX machines you will be able to build faster if you use:
+UNIX machines you will be able to build faster if you use:
-
+
% make -j n
which allows parallel compilation. The number n should
typically be the number of CPUs. It is likely that builds will be
faster even on single-CPU UNIX machines with make -j
-2.
+2
.
ACE further 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,
+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.
+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.
+not all other C++ compilers.
If you use Purify or Quantify: purify or quantify must
be on your PATH. By default, ACE puts the Purify/Quantify
caches below /tmp. To override that, set the
PURE_CACHE_BASE_DIR variable, either in your environment
or on the make make command line, to the destination
-directory for your instrumented libraries.
+directory for your instrumented libraries.
-
Flag Description
+
+Flag Description
---- -----------
debug Enable debugging; see DCFLAGS and DCCFLAGS.
exceptions Enable exception handling (not supported by all platforms).
@@ -2830,7 +2904,7 @@ split Build the library by first splitting up the ACE source
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
+Just enter "make" on the command line to build. A few notable
targets are listed below.
Target Description
@@ -2840,60 +2914,51 @@ show_statics Lists all static objects in object files built for
show_uninit Lists all uninitialized in object files built for
current directory. Only supported for g++.
-
-
+
+
-
-
Building from anonymous CVS
-If users are building from our anon cvs the
+
+
Building from anonymous CVS
+If users are building from our anon cvs the
GNUmakefiles, and project files for building on various platforms will
not be available. Users from anon cvs are expected to generate them
-using MPC before building ACE, TAO or
+using MPC before building ACE, TAO or
CIAO. We point out some suggestions below to get bootstrapped
-quickly.
+quickly.
-
- - Please see instructions above to download
- MPC from anon cvs repository
-
- Please make sure that you have
- perl installed, preferably perl
+
+ - Please see instructions above to download
+ MPC from anon cvs repository
+
- Please make sure that you have
+ perl installed, preferably perl
5.8 or higher. Users on Win32 based platforms are recommended to use
Active
State Perl . We use active state perl without problems. We have
ran into problems trying to use the cygwin version of perl on Win32
based platforms.
-
- If you just want to build ACE and associated tests, examples,
+
- If you just want to build ACE and associated tests, examples,
and associated utility libraries, we recommend that you do
- $ACE_ROOT/bin/mwc.pl ACE.mwc
+ $ACE_ROOT/bin/mwc.pl ACE.mwc
+
+ from $ACE_ROOT to generate GNUmakefiles. Please use
- from $ACE_ROOT to generate GNUmakefiles. Please use
+ $ACE_ROOT/bin/mwc.pl -type vc6 ACE.mwc
- $ACE_ROOT/bin/mwc.pl -type vc6 ACE.mwc
+ to generate VC6 project and workspace files. Please use -type
+ vc71 to generate VC71 project and solution files.
- to generate VC6 project and workspace files. Please use -type
- vc71 to generate VC71 project and solution files.
+
- If you want to build TAO+CIAO and its associated libraries
+ please see TAO-INSTALL and CIAO-INSTALL for details.
+
- - If you want to build TAO+CIAO and its associated libraries
- please see TAO-INSTALL and CIAO-INSTALL for details.
-
+
-
-
-Back to the ACE
+Back to the ACE
home page.
-
-
-
-
-
-
-Last modified: Wed Aug 25 11:18:59 PDT 2004
-
-
-
-
+
+
+
diff --git a/ACEXML/ChangeLog b/ACEXML/ChangeLog
index d1685d6b5a1..51e110a9178 100644
--- a/ACEXML/ChangeLog
+++ b/ACEXML/ChangeLog
@@ -1,12 +1,3 @@
-Tue Aug 17 19:07:11 2004 J.T. Conklin
-
- * common/NamespaceSupport.cpp:
-
- Changed ACE_NEW_RETURN to use "NS_Node_T" instead of "struct
- NS_Node_T" --- the latter triggers a gcc 3.3 parser bug when
- used with the "new (std::nothrow)" version of ACE_NEW_RETURN.
- Fortunately, the "struct" is unnecessary.
-
Sat Feb 21 23:51:25 2004 . <.@isis.vanderbilt.edu>
* common/Exception.h:
@@ -783,7 +774,3 @@ Wed Oct 23 17:27:14 2002 Krishnakumar B
simpler. Removed try_grow_cdata() as it is no longer needed.
Handle the case when the parser was accepting invalid character
references().
-
-Local Variables:
-add-log-time-format: current-time-string
-End:
diff --git a/ACEXML/common/NamespaceSupport.cpp b/ACEXML/common/NamespaceSupport.cpp
index 5e049ca9cd4..d89a02d8c51 100644
--- a/ACEXML/common/NamespaceSupport.cpp
+++ b/ACEXML/common/NamespaceSupport.cpp
@@ -32,7 +32,7 @@ int
ACEXML_Namespace_Context_Stack::push (ACEXML_NS_CONTEXT *nsc)
{
struct NS_Node_T *temp = 0;
- ACE_NEW_RETURN (temp, NS_Node_T, -1);
+ ACE_NEW_RETURN (temp, struct NS_Node_T, -1);
temp->item_ = nsc;
temp->next_ = this->head_;
diff --git a/ACEXML/common/XML_Types.h b/ACEXML/common/XML_Types.h
index 5a55d6b7754..1693253b0db 100644
--- a/ACEXML/common/XML_Types.h
+++ b/ACEXML/common/XML_Types.h
@@ -23,7 +23,6 @@
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "ace/Basic_Types.h"
#include "ace/SString.h"
#include "ace/Functor_String.h"
@@ -54,12 +53,11 @@ typedef char ACEXML_UTF8;
* using the built-in conversion functions as they only perform simple
* copy without any encoding conversion.
*/
-typedef ACE_TCHAR ACEXML_Char;
# if defined (ACE_USES_WCHAR)
-//typedef ACEXML_UTF16 ACEXML_Char;
+typedef ACEXML_UTF16 ACEXML_Char;
typedef ACE_WString ACEXML_String;
# else
-//typedef ACEXML_UTF8 ACEXML_Char;
+typedef ACEXML_UTF8 ACEXML_Char;
typedef ACE_CString ACEXML_String;
# endif /* ACE_USES_WCHAR */
diff --git a/ACEXML/parser/parser/Parser.cpp b/ACEXML/parser/parser/Parser.cpp
index d60a9b35c31..7eb09e744e4 100644
--- a/ACEXML/parser/parser/Parser.cpp
+++ b/ACEXML/parser/parser/Parser.cpp
@@ -2225,15 +2225,9 @@ ACEXML_Parser::parse_char_reference (ACEXML_Char *buf, size_t& len)
if (!this->isChar (sum))
return -1;
int clen;
-#if defined (ACE_USES_WCHAR)
-# if (ACE_SIZEOF_WCHAR == 2) // UTF-16
+#if defined (ACE_USES_WCHAR) // UTF-16
if ((clen = ACEXML_Transcoder::ucs42utf16 (sum, buf, len)) < 0)
return -1;
-# elif (ACE_SIZEOF_WCHAR == 4) // UCS 4
- buf [0] = sum;
- buf [1] = 0;
- clen = 2;
-# endif /* ACE_SIZEOF_WCHAR */
#else // or UTF-8
if ((clen = ACEXML_Transcoder::ucs42utf8 (sum, buf, len)) < 0)
diff --git a/ASNMP/ChangeLog b/ASNMP/ChangeLog
index 980b2e7a824..df494ddf3bb 100644
--- a/ASNMP/ChangeLog
+++ b/ASNMP/ChangeLog
@@ -1,9 +1,3 @@
-Fri Aug 6 08:14:12 2004 Douglas C. Schmidt
-
- * asnmp/transaction.{h,cpp}: Added a get_handle() call to
- session. Thanks to Geo Sebastian
- for this fix.
-
Fri May 7 14:42:22 2004 Ossama Othman
* tests/Counter_Test.cpp (TestCounter):
diff --git a/ASNMP/asnmp/transaction.cpp b/ASNMP/asnmp/transaction.cpp
index 1396ea3e488..e7c703aa865 100644
--- a/ASNMP/asnmp/transaction.cpp
+++ b/ASNMP/asnmp/transaction.cpp
@@ -201,9 +201,3 @@ int transaction::send()
}
transaction_result::~transaction_result() {}
-
-ACE_HANDLE
-transaction::get_handle () const
-{
- return session_.get_handle ();
-}
diff --git a/ASNMP/asnmp/transaction.h b/ASNMP/asnmp/transaction.h
index 98d5890913e..eba2d51f4bb 100644
--- a/ASNMP/asnmp/transaction.h
+++ b/ASNMP/asnmp/transaction.h
@@ -35,40 +35,37 @@ class ASNMP_Export transaction : public ACE_Event_Handler
// two SNMP agents. Uses SnmpTarget class to implement retry/timeout
{
- int retry_counter_;
- transaction_result * result_;
+ int retry_counter_;
+ transaction_result * result_;
-public:
+ public:
transaction(const Pdu& pdu, const UdpTarget& target, ACE_SOCK_Dgram& io);
transaction(ACE_SOCK_Dgram& io);
// constructor
~transaction();
// destructor
- int run();
- int run(transaction_result *r); // Async interface, with callback object
- // begin polling for values
+ int run();
+ int run(transaction_result *r); // Async interface, with callback object
+ // begin polling for values
- int result(Pdu& pdu, char *comm_str = 0, ACE_INET_Addr *from_addr = 0);
- // return pdu with result from agent after run() is completed rc = 0
- // optionally get community str
+ int result(Pdu& pdu, char *comm_str = 0, ACE_INET_Addr *from_addr = 0);
+ // return pdu with result from agent after run() is completed rc = 0
+ // optionally get community str
- virtual int handle_input (ACE_HANDLE fd);
- // called by reactor when data is ready to be read in from OS memory
- virtual int handle_timeout (const ACE_Time_Value &, const void *);
- // used for resend in asynchronous run()
+ virtual int handle_input (ACE_HANDLE fd);
+ // called by reactor when data is ready to be read in from OS memory
+ virtual int handle_timeout (const ACE_Time_Value &, const void *);
+ // used for resend in asynchronous run()
- int send();
- // transmit buffer command to network...
+ int send();
+ // transmit buffer command to network...
- const ACE_INET_Addr& get_from_addr() const;
- // pre: handle_input called
- // retrieve the sender's from address from the last pkt
+ const ACE_INET_Addr& get_from_addr() const;
+ // pre: handle_input called
+ // retrieve the sender's from address from the last pkt
- ACE_HANDLE get_handle () const;
- // Return session_ handle.
-
-private:
+ private:
transaction(const transaction&);
// disallow copy construction
diff --git a/ChangeLog b/ChangeLog
index d78a83d74af..eb54deb79b3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3048 +1,32 @@
-Thu Sep 16 14:14:31 2004 J.T. Conklin
-
- * bin/MakeProjectCreator/config/event_serv.mpb:
-
- Changed to inherit from svc_utils.
-
-Thu Sep 16 12:36:29 2004 Steve Huston
-
- * ace/POSIX_Proactor.{h cpp}: Change the SystemType enumerator value
- names to begin with ACE_. This avoids conflicts with other facilities
- that use an OS_ prefix.
-
-Thu Sep 16 09:22:08 2004 Dale Wilson
-
- * ace/OS_NS_Thread.cpp:
- In ACE_TSS_Cleanup::exit, defer deleting TSS objects
- until it is no longer necessary to access the ACE_TSS_Cleanup
- itself. One of the objects to be deleted is a Thread_Exit
- which may eventually cause (or at least allow) the deletion
- of the ACE_TSS_Cleanup.
- The original code worked like this but I changed it when
- I added additional cleanup operations to the exit method.
-
-Thu Sep 16 08:14:14 2004 Chad Elliott
-
- * ace/Memory_Pool.cpp:
- * ace/config-hpux-11.00.h:
-
- Removed a bug workaround for aCC A.03.04. It is no longer a
- problem to specify other mmap base addresses when running
- 64-bit HP-UX applications.
-
-Thu Sep 16 07:47:09 2004 Chad Elliott
-
- * bin/MakeProjectCreator/modules/GNUACEWorkspaceCreator.pm:
-
- Added a CUSTOM_TARGETS macro that will allow users to access
- custom targets that can be generated with the use of the
- 'verbatim' clause in mpc files.
-
-Thu Sep 16 10:07:00 UTC 2004 Martin Corino
-
- * apps/Gateway/Peer/peer.mpc:
- * apps/Gateway/Peer/svc.conf:
- * apps/Gateway/Gateway/gateway.mpc:
- * apps/Gateway/Gateway/svc.conf:
-
- Changed MPC configuration to generate the correct makefiles/project
- files for building a separate daemon executable and service object
- shared library.
- Changed service configurator files to use correct PATH specification.
-
-Thu Sep 16 08:28:12 UTC 2004 Johnny Willemsen
-
- * ace/os_include/os_limits.h:
- Added special include for VxWorks, it defines _POSIX_TIMER_MAX
- in time.h
-
-Thu Sep 16 08:20:12 UTC 2004 Johnny Willemsen
-
- * ace/config-cygwin32.h:
- Added ACE_HAS_POSIX_SEM and ACE_LACKS_NAMED_POSIX_SEM
-
- * ace/OS_NS_sys_mman.{h,inl}:
- Moved include ace/os_include/sys/os_mman.h from inl to header
- file, so that we get all the needed constants when building
- with Cygwin and inlining disabled
-
-Thu Sep 16 07:55:12 UTC 2004 Johnny Willemsen
-
- * m4/config_h.m4:
- Removed ACE_HAS_CYGWIN32_SOCKET_H
-
-Thu Sep 16 07:33:12 UTC 2004 Johnny Willemsen
-
- * bin/msvc_static_order.lst:
- Added the new orbsvcs libs
-
-Wed Sep 15 15:32:59 2004 J.T. Conklin
-
- * configure.ac:
-
- Added checks for fgetws and fputws.
-
- * ace/OS_NS_stdio.h:
- * ace/OS_NS_stdio.inl:
-
- Added feature test macros ACE_LACKS_FGETWS and ACE_LACKS_FPUTWS
- and disable wide character versions of fgets and fputs if they
- are not present. Thanks to Johnny Willemsen for reporting this
- bug.
-
-Wed Sep 15 15:17:39 2004 J.T. Conklin
-
- * ace/OS_NS_string.h:
-
- Changed preprocessor conditional for the declaration of the wide
- character version of strtok_r_emulation() to use ACE_WCHAR and
- ACE_LACKS_WCSTOK instead of ACE_HAS_REENTRANT_FUNCTIONS. Thanks
- to Johnny Willemsen for reporting this bug.
-
-Wed Sep 15 11:41:53 2004 Douglas C. Schmidt
-
- * ace/ACE.cpp (set_handle_limit): Removed the
-
- ACE_NOTREACHED (return 0);
-
- and replaced it with
-
- return 0;
-
- Thanks to Martin Corino for reporting this.
-
-Wed Sep 15 10:46:07 2004 Dale Wilson
-
- * ace/Log_Msg.cpp:
-
- Explicitly initialize a static int to zero to make it clear that
- the initial value is important.
-
-Wed Sep 15 12:51:12 UTC 2004 Johnny Willemsen
-
- * configure.ac:
- Removed check for ACE_HAS_CYGWIN32_SOCKET_H, this is not needed
- anymore
-
-Tue Sep 14 22:44:39 2004 Balachandran Natarajan
-
- * ace/Inet_Addr.cpp:
-
- Fix for the problem reported by Charlie Duke, which is that
- ACE_INET_Addr::string_to_addr cannot accept an address string
- produced by ACE_INET_Addr::addr_to_string method. The output of
- addr_to_string method is of the form "[ipv4]:port" while the
- string_to_addr accepts "ipv4:port" i.e. cannot handle "[]".
-
- The fix for this is not to include "[]" in
- string_to_addr. Thanks to Charlie Duke .
-
- * THANKS: Updated Charlie's email address.
-
-Tue Sep 14 15:02:05 2004 Dale Wilson
-
- * NEWS:
- Updated: TSS leak has been conquered.
-
-Tue Sep 14 11:07:25 2004 Steve Huston
-
- * ace/Malloc_T.{h inl}: Added ACE_Cached_Allocator<>::pool_depth()
- and ACE_Dynamic_Cached_Allocator<>::pool_depth(). Each returns the
- number of items in the cache available for allocating. Thank you to
- Jeff Jones for this addition.
-
- * tests/Cached_Allocator_Test.cpp: Added tests of the new pool_depth()
- method.
-
- * THANKS: Added Jeff Jones to the Hall of Fame.
-
-Tue Sep 14 11:58:12 UTC 2004 Johnny Willemsen
-
- * ace/Dynamic_Service.h:
- Doxygen improvement
-
-Tue Sep 14 10:21:12 UTC 2004 Johnny Willemsen
-
- * include/makeinclude/platform_linux_icc.GNU:
- Added support for the Intel 8.1 C++ Compiler
-
-Tue Sep 14 07:01:12 UTC 2004 Johnny Willemsen
-
- * bin/msvc_static_order.lst:
- Added TAO/orbsvcs/orbsvcs/CosNaming_Skel to the list of projects
- to build first.
-
-Mon Sep 13 19:09:23 2004 J.T. Conklin
-
- * configure.ac:
- * m4/config_h.m4:
-
- Changed to use ACE_CHECK_HAS_FUNC([scandir]) and get rid of
- explicit definition, autoconf template macro, etc.
-
-Mon Sep 13 20:33:25 2004 Douglas C. Schmidt
-
- * ace/Select_Reactor_Base.cpp: Changed the
- ACE_Select_Reactor_Handler_Repository::open() method so that it
- uses the generalized ACE::set_handle_limit() method to not lower
- the handles, which caused problems for applications that want to
- use small reactor sizes but not limit the number of handles in
- the process. Thanks to Eider Oliveira for suggesting this.
-
- * ace/ACE.cpp,
- ace/ACE.h: Generalized ACE::set_handle_limit() so
- it can be told not to lower the handle limit.
-
-Mon Sep 13 18:15:44 2004 J.T. Conklin
-
- * ACE_wrappers/m4/platform.m4:
-
- Added new ACE_FUNC_IOCTL_ARGTYPES macro, used to set
- ACE_IOCTL_TYPE_ARG2.
-
- * ACE_wrappers/ace/config-netbsd.h:
-
- Added ACE_IOCTL_TYPE_ARG2 definition.
-
- * ACE_wrappers/ace/OS_NS_stropts.h:
- * ACE_wrappers/ace/OS_NS_stropts.inl:
-
- Added feature test macro ACE_IOCTL_TYPE_ARG2 (which defaults to
- int) so that ACE_OS::ioctl uses the same type as ::ioctl. This
- help avoid sign extension problems on 64 bit platforms that use
- unsigned long.
-
-Mon Sep 13 15:52:04 2004 Dale Wilson
-
- * ace/OS_NS_Thread.h:
- * ace/OS_NS_Thread.cpp:
- * ace/TSS_T.cpp:
- Bugzilla Bug 1542 TSS Leak revisited.
- The goal is for each thread's TSS object to be
- deleted at thread exit time, and for the TSS
- key itself to be released when:
- the last thread stops using it, or
- the ACE_TSS (if any) is deleted
- which ever comes *last*.
-
-Mon Sep 13 14:56:53 2004 Balachandran Natarajan
-
- * ace/RB_Tree.h (class ACE_RB_Tree):
- * ace/RB_Tree.cpp:
-
- Added a special constructor useful for providing a valid vtable
- and allocator if the tree is reconstructed from shared
- memory. Thanks to Lothar Werzinger for the patches.
-
-Mon Sep 13 12:49:22 2004 Steve Huston
-
- * ace/config-aix-4.x.h: Alter the value of ACE_SIZEOF_WCHAR based
- on whether or not __64BIT__ is set (4 if yes, 2 if no). See
- /usr/include/sys/types.h for verification.
-
- * apps/Gateway/Gateway/Connection_Handler.cpp: Add missing #include
- "ace/OS_NS_string.h".
-
-Mon Sep 13 12:39:11 2004 Steve Huston
-
- * ace/DLL_Manager.cpp: Added explicit template instantiations for
- Wed Sep 8 17:13:41 2004 Steve Huston
-
-Mon Sep 13 06:50:46 2004 J.T. Conklin
-
- * bin/MakeProjectCreator/config/dslogadmin_serv.mpb:
-
- Changed to inherit from svc_utils.
-
-Mon Sep 13 12:02:12 UTC 2004 Johnny Willemsen
-
- * bin/msvc_static_order.lst:
- Added TAO/orbsvcs/orbsvcs/CosNotification_Skel
-
-Mon Sep 13 10:42:12 UTC 2004 Johnny Willemsen
-
- * include/makeinclude/platform_linux_icc.GNU:
- When using the 8.0 compiler, disable certain warnings about padding
-
-Mon Sep 13 09:57:12 UTC 2004 Johnny Willemsen
-
- * include/makeinclude/platform_linux_icc.GNU:
- The intel compiler on Itanium is called icc, not ecc anymore
-
-Mon Sep 13 09:46:12 UTC 2004 Johnny Willemsen
-
- * ace/OS_NS_Thread.inl:
- Fixed compile error in VxWorks specific code
-
-Mon Sep 13 09:44:12 UTC 2004 Johnny Willemsen
-
- * ace/config-icc-common.h:
- Added ACE_HAS_STD_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
-
-Mon Sep 13 09:31:12 UTC 2004 Johnny Willemsen
-
- * configure.ac:
- Added ACE_CHECK_LACKS_HEADERS for wchar.h.
-
-Mon Sep 13 09:06:12 UTC 2004 Johnny Willemsen
-
- * bin/msvc_static_order.lst:
- Added TAO/orbsvcs/orbsvcs/CosNaming_Serv to the list of projects
- to build first.
-
-Sun Sep 12 17:20:39 2004 J.T. Conklin
-
- * bin/MakeProjectCreator/config/rteventlogadmin.mpb
-
- Update *.mpb files to reflect new libraries.
-
- * bin/MakeProjectCreator/config/dseventlogadmin.mpb
- * bin/MakeProjectCreator/config/dseventlogadmin_serv.mpb
- * bin/MakeProjectCreator/config/dseventlogadmin_skel.mpb
- * bin/MakeProjectCreator/config/dslogadmin.mpb
- * bin/MakeProjectCreator/config/dslogadmin_serv.mpb
- * bin/MakeProjectCreator/config/dslogadmin_skel.mpb
- * bin/MakeProjectCreator/config/dsnotifylogadmin.mpb
- * bin/MakeProjectCreator/config/dsnotifylogadmin_serv.mpb
- * bin/MakeProjectCreator/config/dsnotifylogadmin_skel.mpb
-
- Split Logging, Event Logging, and Notify Logging Services into
- client stub, servant skeleton, and service implementation
- libraries.
-
- * bin/MakeProjectCreator/config/ec_use_typed_events_serv.mpb:
- * bin/MakeProjectCreator/config/event_serv.mpb
- * bin/MakeProjectCreator/config/event_skel.mpb
-
- Updated dependencies.
-
- * bin/MakeProjectCreator/config/ec_use_typed_events_skel.mpb:
-
- Removed file, events skeleton w/typed events does not require
- any additional dependencies. They have been moved to _serv.
-
-Sun Sep 12 17:20:12 UTC 2004 Johnny Willemsen
-
- * ace/Log_Msg.cpp (log):
- In then handling of %Z replaced an ACE_NEW_RETURN with a
- ACE_NEW_NORETURN, so that when allocation fails, we just do
- a break instead of return. Seems this code was written before
- the existence of ACE_NEW_NORETURN. This also fixes the crashing
- of the Intel 8.0 C++ Compiler on Itanium on this file, no idea
- why this caused a crash, that is one for Intel to sort out.
-
-Sat Sep 11 11:41:12 UTC 2004 Johnny Willemsen
-
- * apps/Gateway/Peer/Peer.cpp:
- * apps/Gateway/Peer/peerd.cpp:
- Added missing includes to fix compile problems in Cygwin build
-
-Fri Sep 10 22:54:55 2004 Balachandran Natarajan
-
- * bin/MakeProjectCreator/config/ciao_server.mpb:
- * bin/MakeProjectCreator/config/ciao_server_dnc.mpb:
-
- Added utils to the list of projects that are inherited.
-
-Sat Sep 11 00:49:39 2004 Olli Savia
-
- * ace/IOStream.h:
- Changed NULL to 0 to silence compile time warning.
-
-Fri Sep 10 15:39:22 2004 Steve Huston
-
- * ace/High_Res_Timer.{h inl cpp}: Added a new static method that
- calculates the difference between two ACE_hrtime_t quantities.
- Takes into account that the time counter may have wrapped around
- between the start and end. Changed all time difference calculations
- to use the new elapsed_hrtime() method.
-
-Fri Sep 10 13:53:00 UTC 2004 Martin Corino
-
- * ace/Time_Value.h:
- * ace/Time_Value.inl:
-
- Moved '#include "ace/Basic_Types.h"' from Time_Value.cpp to
- Time_Value.h because it's needed there since ACE_UINT64 is
- introduced (see below).
-
-Thu Sep 09 18:29:17 2004 Ossama Othman
-
- * ace/Time_Value.h (msec):
- * ace/Time_Value.inl (msec):
-
- Even though MSVC++ 6 supports 64 bit integers, it does not
- support the "long long" syntax. Instead it supports its own
- "__int64" built-in type. Use "ACE_UINT64" instead of "unsigned
- long long". Fixes syntax errors exhibited by MSVC++ 6.
-
-Thu Sep 9 16:40:27 2004 Steve Huston
-
- * apps/Gateway/Gateway/Connection_Handler.cpp:
- * apps/Gateway/Gateway/Connection_Handler_Connector.cpp:
- * apps/Gateway/Gateway/File_Parser.{h cpp}:
- * apps/Gateway/Gateway/Gateway.cpp:
- * apps/Gateway/Gateway/gatewayd.cpp:
- * apps/Gateway/Peer/Options.{h cpp}:
- * apps/Gateway/Peer/Peer.{h cpp}: Narrow/wide char fixes.
-
- * apps/Gateway/Gateway/Options.h: Removed const char *connector_host()
- method because it's not ever defined or referenced.
-
- * apps/Gateway/Peer/peer.mpc: New project definition.
-
-Thu Sep 9 16:17:38 2004 Olli Savia
-
- * apps/JAWS3/jaws3/Templates.cpp:
- Added explicit static template member instantiations.
-
-Thu Sep 9 05:58:12 UTC 2004 Johnny Willemsen
-
- * ace/OS_NS_unistd.cpp:
- Implemented num_processors and num_processors_online for Cygwin
-
-Wed Sep 8 21:50:13 2004 Balachandran Natarajan
-
- * ace/Time_Value.h:
- * ace/Time_Value.inl:
-
- The change added in this checkin
-
- Wed Sep 8 10:17:46 2004 Douglas C. Schmidt
- should not be available on platforms that lacks long long.
-
-Wed Sep 8 17:13:41 2004 Steve Huston
-
- * ace/DLL_Manager.{h cpp}: Added new private method,
- ACE_DLL_Handle::get_dll_names().
- This builds the list of names to try to dlopen() based on the
- specified dll_name and the platform's prefix/suffix/decorator
- configuration. It doesn't try to load anything and doesn't do any
- search path games like ACE::ldfind(). All of the rules for locating
- files based on environments and security policy are administered by
- the OS. This just feeds names to try, allowing for example, svc.conf
- to continue simply specifying base names like "ACE". This restores
- basic OS functionality, such as the ability to load a DLL from the
- same directory as the loading executable, as well as closing
- potential security loopholes opened by ACE's scanning the search
- path and passing absolute paths to dlopen().
- ACE_DLL_Handle::open() now calls get_dll_names() for a list of names
- to try unless ACE_MUST_HELP_DLOPEN_SEARCH_PATH is defined, in which
- case it does the old ACE::ldfind() call and dlopen()s the
- absolute path as it did before this change.
-
- This also allows DLLs to load on wide-char non-Windows builds without
- messing with the sprintf() format specs in Lib_Find.cpp.
-
-Wed Sep 8 10:17:46 2004 Douglas C. Schmidt
-
- * ace/Time_Value.{h,inl} Added a new msec() method that uses
- unsigned long long to compute the value to prevent overflow.
- Thanks to Boris Kaminer for reporting this.
-
-Wed Sep 8 08:15:00 UTC 2004 Simon Massey
-
- * tests/FIFO_Test.cpp
- Fixed one of the failing tests under HPUX requires delay like AIX
-
-Wed Sep 8 08:15:00 UTC 2004 Simon Massey
-
- * tests/IOStream_Test.cpp
- Sorry, I got the wrong header file yesterday; isspace() is defined in
- ace/os_include/os_ctype.h NOT #include ace/OS_NS_ctype.h
-
-Tue Sep 7 16:39:28 2004 J.T. Conklin
-
- * bin/MakeProjectCreator/config/dseventlogadmin.mpb
- * bin/MakeProjectCreator/config/dsnotifylogadmin.mpb
- * bin/MakeProjectCreator/config/lifecycle.mpb
- * bin/MakeProjectCreator/config/notifytest.mpb
- * bin/MakeProjectCreator/config/rtnotify.mpb
- * bin/MakeProjectCreator/config/time.mpb
-
- Update *.mpb files to reflect new libraries. In many cases this
- required adding inheriting from additional base projects, as
- libraries were being linked in because of naming -- which was
- once the service implementation (and thus pulled in lots of
- other libraries) and is now just the Naming client stubs.
-
- * bin/MakeProjectCreator/config/ec_use_typed_events.mpb
- * bin/MakeProjectCreator/config/ec_use_typed_events_skel.mpb
- * bin/MakeProjectCreator/config/event.mpb
- * bin/MakeProjectCreator/config/event_serv.mpb
- * bin/MakeProjectCreator/config/event_skel.mpb
- * bin/MakeProjectCreator/config/naming.mpb
- * bin/MakeProjectCreator/config/naming_serv.mpb
- * bin/MakeProjectCreator/config/naming_skel.mpb
- * bin/MakeProjectCreator/config/notification.mpb
- * bin/MakeProjectCreator/config/notification_serv.mpb
- * bin/MakeProjectCreator/config/notification_skel.mpb
- * bin/MakeProjectCreator/config/trading.mpb
- * bin/MakeProjectCreator/config/trading_serv.mpc
- * bin/MakeProjectCreator/config/trading_skel.mpc
-
- Split Event, Naming, Notification, and Trading Services into
- client stub, servant skeleton, and service implementation
- libraries.
-
-Tue Sep 7 15:45:00 UTC 2004 Simon Massey
-
- * examples/IOStream/server/iostream_server.cpp
- getpid() from ace/OS_NS_unistd.h actually used in both halves of
- #ifdef #else #endif guard so the conditional arround the #include
- is actually wrong and so has been removed.
-
- * tests/IOStream_Test.cpp
- isspace() used without #include ace/OS_NS_ctype.h, added this to
- the guarded section where it is used.
-
-Tue Sep 7 07:08:26 2004 Chad Elliott
-
- * bin/MakeProjectCreator/modules/BorlandProjectCreator.pm:
-
- As part of the -expand_env option, I moved some functionality out
- of the ProjectCreator.pm and into this module which was only used
- by this project creator.
-
-Tue Sep 7 06:41:27 2004 Chad Elliott
-
- * include/makeinclude/rules.local.GNU:
-
- Removed the if check for static_libs_only. The STATIC_LINK_FLAG
- option will be added to the LDFLAGS if static_link is set to 1.
-
-Mon Sep 6 10:04:12 UTC 2004 Johnny Willemsen
-
- * ace/Sock_Connect.cpp:
- When using VxWorks also include OS_NS_stdio.h
-
-Mon Sep 6 07:12:12 UTC 2004 Johnny Willemsen
-
- * ace/OS.h:
- Removed include of sys/modem.h for HPUX, this is already done in
- os_include/os_termios.h
-
-Fri Sep 3 15:53:19 2004 Steve Huston
-
- * ace/config-sunos5.8.h: Added ACE_HAS_TIMEZONE. This may be
- pertinent to previous Solaris versions, but I don't have any
- to test on.
-
-Fri Sep 3 12:34:41 2004 J.T. Conklin
-
- * ace/OS_NS_sys_mman.inl:
-
- Removed redundant conditional used to disable madvise for WIN32
- systems. Instead use ACE_LACKS_MADVISE feature test macro.
-
- * ace/config-win32-common.h:
-
- Added ACE_LACKS_MADVISE definition.
-
-Fri Sep 3 15:10:22 2004 Steve Huston
-
- * ace/config-aix-5.x.h: Add ACE_HAS_TIMEZONE.
-
- * ace/OS_NS_time.h: Include "ace/OS_NS_errno.h" - ACE_NOTSUP_RETURN
- sets errno.
-
-Fri Sep 3 21:36:51 2004 Olli Savia
-
- * apps/drwho/File_Manager.cpp:
- Use ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION
- to check if explicit template instantiation is needed.
- Thanks to Johnny Willemsen for informing me about this
- macro.
-
-Fri Sep 3 20:02:20 2004 Olli Savia
-
- * ace/OS_NS_unistd.inl:
- There is no need to check missing prototype since this has
- already been taken care by os_unistd.h.
-
- * ace/os_include/arpa/os_inet.h:
- * ace/os_include/os_stdlib.h:
- * ace/os_include/os_strings.h:
- * ace/os_include/os_unistd.h:
- To make things easier to maintain use new ACE_LACKS_xxx_PROTOTYPE
- macros to check whether we need to declare missing function
- prototype.
-
- * ace/README:
- Added new ACE_LACKS_xxx_PROTOTYPE macros
-
- * ace/config-lynxos.h:
- Modified to follow changes above.
-
-Fri Sep 3 19:35:48 2004 Olli Savia
-
- * ace/Log_Msg.h:
- Removed broken macro redefinition code to prevent people
- thinking that it actually works. Cleaned up #undef's.
-
-Fri Sep 3 19:30:18 2004 Olli Savia
-
- * ace/Global_Macros.h:
- LynxOS no longer needs special macro handling.
-
-Fri Sep 3 19:13:24 2004 Olli Savia
-
- * apps/drwho/File_Manager.cpp:
- LynxOS 3.x needs explicit template instantiation.
-
-Fri Sep 3 10:44:27 2004 Steve Huston
-
- * ace/Process_Manager.cpp (append_proc): If the process_table_ needs
- to be enlarged, make sure it's to a size greater than 0. If the
- original size is 0, change it to DEFAULT_SIZE, else double it (as
- was always done).
- (resize): Changed to not shrink the process_table_ array. Primarily
- to guard against changing it to 0, but also guards against having to
- decide what to do with entries that won't fit in the new array.
-
-Fri Sep 3 07:43:12 UTC 2004 Johnny Willemsen
-
- * examples/DLL/test_dll.cpp:
- * examples/Export/test.cpp:
- Fixed for unicode builds
-
-Thu Sep 2 16:39:29 2004 J.T. Conklin
-
- * ace/config-linux-common.h:
- * ace/config-netbsd.h:
-
- Changed to define ACE_HAS_TIMEZONE.
-
- * ace/OS_NS_time.h:
-
- Changed ace_timezone() to use ACE_HAS_TIMEZONE feature test
- macro instead of OS-specific macros to determine whether to
- use global timezone variable or the gettimeofday() function
- to obtain the current timezone.
-
- * configure.ac:
-
- Changed to call ACE_VAR_TIMEZONE.
-
- * m4/platform.m4:
-
- Added new macro, ACE_VAR_TIMEZONE. Sets new feature test macro
- ACE_HAS_TIMEZONE if platform supports global timezone variable.
-
-Thu Sep 2 16:43:29 2004 Steve Huston
-
- * m4/ace.m4: Added AM_CONDITIONAL for BUILD_EXCEPTIONS, BUILD_THREADS,
- BUILD_ACE_CODECS, BUILD_ACE_FILECACHE, BUILD_ACE_OTHER,
- BUILD_ACE_TOKEN, BUILD_ACE_UUID, BUILD_RWHO, BUILD_WFMO, and
- BUILD_WINREGISTRY so the MPC 'requires' feature can properly weed
- things out without configure- and build-time errors.
-
-Thu Sep 2 12:51:00 UTC 2004 Martin Corino
-
- * tests/Process_Manager_Test.cpp:
-
- Changed commandline buildup of childprocesses to start with './'
- for non-WIN32 platforms as with other tests.
- By default test did not run on OpenVMS without this.
-
-Thu Sep 2 12:51:00 UTC 2004 Martin Corino
-
- * ace/config-openvms.h:
-
- Added ACE_LACKS_UNIX_SIGNALS since OpenVMS cannot use signals
- in combination with PTHREAD.
-
- * ace/Process.cpp:
- * ace/Process_Manager.cpp:
-
- Implemented alternatives in timed wait() functions for systems
- with ACE_LACKS_UNIX_SIGNALS and !WIN32.
-
-Thu Sep 2 07:24:20 2004 Chad Elliott
-
- * bin/MakeProjectCreator/config/core.mpb:
- * bin/MakeProjectCreator/templates/bor.mpd:
-
- Switch the borland template over to use the INSTALL_THIS_TARGET
- template value instead of a 'verbatim' section to do the same
- thing.
-
-Thu Sep 2 09:12:12 UTC 2004 Johnny Willemsen
-
- * include/makeinclude/platform_gnuwin32_common.GNU:
- With gcc 3.4.1 -mcpu is deprecated, but -mtune must be used
-
-Thu Sep 2 07:24:12 UTC 2004 Johnny Willemsen
-
- * apps/FaCE/FaCE.mpc:
- * apps/FaCE/FaCENOACE.mpc:
- Added missing Id tag
-
-Wed Sep 1 17:16:29 2004 Steve Huston
-
- * ace/Reverse_Lock_T.inl:
- * ace/Typed_SV_Message.inl: Added #include "ace/config-all.h" to get
- missing macros (ACE_NOTSUP_RETURN, ACE_TRACE).
-
- * apps/JAWS/clients/Caching/http_client.cpp:
- * apps/JAWS/clients/Caching/http_handler.cpp:
- * apps/JAWS/server/HTTP_Response.cpp:
- * apps/JAWS/server/HTTP_Server.{h cpp}:
- * apps/JAWS/server/IO.cpp:
- * apps/JAWS3/jaws3/Task_Timer.cpp: Add missing includes.
-
-Wed Sep 1 12:32:31 2004 Ossama Othman
-
- * ace/OS_NS_Thread.inl (mutex_init):
-
- Explicitly cast the unused returned value of an
- ACE_ADAPT_RETVAL macro call to "void" to address a "right-hand
- operand of comma has no effect" warning exhibited by GNU g++
- 3.4.x. Thanks to Bogdan Jeram and
- Paul Lew for reporting the warning.
-
-Wed Sep 1 11:35:44 2004 J.T. Conklin
-
- * m4/config_h.m4:
-
- Removed ACE_UINT64_FORMAT_SPECIFIER autoheader template. It
- is now defined within ACE_CHECK_FORMAT_SPECIFIERS.
-
- * m4/platforms.m4:
-
- Added new macro ACE_CHECK_FORMAT_SPECIFIERS, which is used to
- define preprocessor macros that overide the defaults provided
- for size_t, ssize_t, ACE_INT64, and ACE_UINT64 *printf format
- specifiers. I don't think autoconf feature tests are possible,
- especially if we ever hope to support cross compilation, but at
- least this pulls everything into one place.
-
-Wed Sep 1 12:52:40 2004 Chad Elliott
-
- * bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm:
-
- Split out the ACE specific portion of AutomakeWorkspaceCreator.pm
- into a new helper module. The helper module is dynamically loaded
- in by the AutomakeWorkspaceCreator.
-
-Wed Sep 1 10:01:57 2004 J.T. Conklin
-
- * ace/SOCK_Dgram_Bcast.cpp:
-
- Added !defined(__NetBSD__) to conditional so sockaddr.sa_len
- version of the code will be used. Fixes SOCK_Bcast_Dgram_Test
- failures.
-
- * ace/Sock_Connect.cpp:
-
- Added !defined(__NetBSD__) to conditional so sockaddr.sa_len
- version of the code will be used.
-
-Wed Sep 1 12:40:28 2004 Steve Huston
-
- * ace/config-aix-4.x.h: Changed the ACE_HAS_3_PARAM_WCSTOK test to
- include _XOPEN_SOURCE >= 500, not == 500. Fixes compile error
- on AIX 5.2.
-
-Wed Sep 1 12:45:12 UTC 2004 Johnny Willemsen
-
- * ace/Dump_T.cpp:
- Added include of config-all.h to get ACE_TRACE
-
-Wed Sep 1 07:43:46 2004 Douglas C. Schmidt
-
- * tests/Message_Queue_Notifications_Test.cpp (producer): Fixed
- this test so it works with the changes to
- ACE_Message_Queue::is_full_i() below. Thanks to Rick Robinson
- for this fix, as well.
-
- * ace/Message_Queue_T.inl: Changed the implementation of
- is_full_i() so the comparision operator is >= rather than >,
- which makes it possible to use a 0 high water mark to disable
- the enqueue side of the queue. Thanks to Rick Robinson
- for reporting this.
-
- * ace/POSIX_Proactor.h: Updated the documentation to use
- the right names for ACE_POSIX_SIG_Proactor and
- ACE_POSIX_AIOCB_Proactor. Thanks to John D. Robertson
- for motivating this fix.
-
-Wed Sep 1 07:00:39 2004 Chad Elliott
-
- * bin/MakeProjectCreator/config/global.features:
-
- Disable the wince feature setting.
-
- * apps/FaCE/FaCE.mpc:
- * apps/FaCE/FaCENOACE.mpc:
-
- Adding mpc files to replace the vcp files. These projects will
- only build on wince so they require the wince feature which is
- disabled by default.
-
- * apps/FaCE/FaCE.vcp:
- * apps/FaCE/FaCE.vcw:
- * apps/FaCE/FaCENOACE.vcp:
- * apps/FaCE/FaCENOACE.vcw:
-
- Removed these files.
-
-Wed Sep 1 06:48:34 2004 Chad Elliott
-
- * examples/Mem_Map/file-reverse/Mem_Map_File_Reverse.mpc:
-
- With the current version of MPC, we must specify the exename for
- this project. MPC no longer automatically determines that
- ACE_TMAIN is the entry point.
-
-Wed Sep 1 10:12:12 UTC 2004 Johnny Willemsen
-
- * ace/config-hpux-11.00.h:
- Added several new defines, these are gathered by comparing an
- autoconf generated config.h and the original file. It seems HPUX
- has much more stuff than we currently use. Everything is tested
- on HPUX 11i v2, maybe it breaks older versions, I don't think so
- but if it will, our daily builds will trigger this and we have
- to make the defines than dependent on the HPUX version. Added are:
- ACE_HAS_NEW_NO_H, ACE_HAS_AUTOMATIC_INIT_FINI,
- ACE_HAS_LONG_MAP_FAILED, ACE_HAS_MEMCHR,
- ACE_HAS_POSITION_INDEPENDENT_POINTERS, ACE_HAS_POSIX_GETPWNAM_R,
- ACE_HAS_P_READ_WRITE, ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS,
- ACE_LACKS_PRI_T, ACE_HAS_SIG_C_FUNC, ACE_HAS_SIGSUSPEND,
- ACE_HAS_SOCKLEN_T, ACE_HAS_SYS_ERRLIST, ACE_HAS_VOIDPTR_MMAP,
- ACE_HAS_VOIDPTR_SOCKOPT, ACE_HAS_GETRUSAGE_PROTOTYPE, ACE_HAS_TIMOD_H,
- ACE_HAS_SYS_XTI_H, ACE_HAS_PTHREAD_RESUME_NP. If you don't agree to
- one of these defines, let us know, then we also have some work on
- the autoconf support, because autoconf gave info all these can be
- setup.
-
-Wed Sep 1 07:02:12 UTC 2004 Johnny Willemsen
-
- * ace/Synch_Options.cpp:
- * ace/Shared_Object.cpp:
- * ace/Read_Buffer.cpp:
- * ace/SV_Message.inl:
- Added include of config-all.h to get ACE_TRACE
-
-Tue Aug 31 12:18:01 2004 J.T. Conklin
-
- * ace/config-netbsd.h:
-
- Moved ACE_HAS_PENTIUM into "defined(__i386__)" conditional.
-
-Tue Aug 31 14:38:19 2004 Steve Huston
-
- * ace/OS_NS_errno.h:
- * ace/os_include/os_errno.h: Include config-lite.h instead of
- config-all.h to minimize re-includes.
-
- * ace/OS_NS_errno.inl: Include config-all.h to pick up ACE_TRACE.
-
-Tue Aug 31 08:36:12 UTC 2004 Johnny Willemsen
-
- * ace/config-hpux-11.00.h:
- Added ACE_HAS_STD_TEMPLATE_CLASS_MEMBER_SPECIALIZATION for the HP aCC
- compiler
-
-Tue Aug 31 08:16:12 UTC 2004 Johnny Willemsen
-
- * ace/OS_NS_time.cpp:
- When ACE_LACKS_NATIVE_STRPTIME is defined, include
- os_include/os_ctype.h to get isdigit
-
-Tue Aug 31 00:21:48 2004 J.T. Conklin
-
- * ace/config-unixware-7.1.0.h:
- * ace/config-unixware-7.1.0.udk.h:
-
- Removed vestigial ACE_HAS_LAZY_V definition.
-
-Tue Aug 31 00:17:45 2004 J.T. Conklin
-
- * ace/config-unixware-7.1.0.h:
- * ace/config-unixware-7.1.0.udk.h:
-
- Removed vestigial ACE_HAS_IOMANIP_NO_H definition.
-
-Mon Aug 30 23:57:58 2004 J.T. Conklin
-
- * ace/config-netbsd.h:
- * ace/config-unixware-7.1.0.h:
- * ace/config-unixware-7.1.0.udk.h:
-
- Removed vestigial ACE_HAS_SYS_IOCTL_H definition. ACE now uses
- ACE_LACKS_SYS_IOCTL_H.
-
- * ace/config-integritySCA.h:
-
- Removed vestigial ACE_LACKS_SYS_FILE_H definition.
-
- * ace/config-integritySCA.h:
- * ace/config-psos-diab-mips.h:
- * ace/config-qnx-neutrino.h:
- * ace/config-rtp-62x.h:
- * ace/config-rtp-pre62x.h:
-
- Removed vestigial ACE_LACKS_RPC_H definition.
-
-Mon Aug 30 23:47:41 2004 J.T. Conklin
-
- * configure.ac:
-
- Added check for ACE_LACKS_TOWLOWER and ACE_LACKS_TOWUPPER.
-
-Mon Aug 30 23:39:33 2004 J.T. Conklin
-
- * configure.ac:
-
- Changed check for libc.h and osfcn.h to not export a feature
- test macro definition, as the results are only needed within
- the configure script itself.
-
-Mon Aug 30 23:28:03 2004 J.T. Conklin
-
- * ace/config-macos.h:
- * ace/config-macos-panther.h:
-
- Removed vestigial ACE_HAS_PTHREAD_CANCEL and ACE_HAS_PTHREAD_KILL
- definitions.
-
-Mon Aug 30 23:18:51 2004 J.T. Conklin
-
- * ace/config-linux-common.h:
- * ace/config-openbsd.h:
-
- Removed vestigial ACE_HAS_MKSTEMP definition. ACE now uses
- ACE_LACKS_MKSTEMP.
-
-Mon Aug 30 22:39:24 2004 J.T. Conklin
-
- * tests/TSS_Test.cpp:
-
- Changed the number of iterations from 100 to 25 so the test will
- run on systems with pthreads with the minimum required number of
- thread keys (128). This should still be sufficient to check the
- TSS wrappers without exceeding the minimum requirements.
-
-Mon Aug 30 18:31:28 2004 J.T. Conklin
-
- * ace/config-netbsd.h:
-
- Add ACE_SSIZE_T_FORMAT_SPECIFIER and ACE_SIZE_T_FORMAT_SPECIFIER
- definitions for NetBSD/amd64.
-
- * netsvcs/clients/Logger/Makefile.am:
- * netsvcs/clients/Naming/Client/Makefile.am:
- * netsvcs/clients/Naming/Dump_Restore/Makefile.am:
- * netsvcs/servers/Makefile.am:
-
- Fix the _LDADD definitions that MPC doesn't get right yet.
-
- * configure.ac:
-
- Added checks for: ACE_LACKS_STRCHR, ACE_LACKS_STRCSPN,
- ACE_LACKS_STRERROR, ACE_LACKS_STRPBRK, ACE_LACKS_STRSPN,
- ACE_LACKS_STRTOD, ACE_LACKS_STRTOL, ACE_LACKS_STRTOUL,
- and ACE_LACKS_SWAB.
-
- Added check for ACE_HAS_STRNLEN.
-
- Added checks for: ACE_LACKS_ARPA_INET_H, ACE_LACKS_DIRENT_H,
- ACE_LACKS_DLFCN_H, ACE_LACKS_ERRNO_H ACE_LACKS_FCNTL_H,
- ACE_LACKS_NET_IF_H, ACE_LACKS_NETDB_H, ACE_LACKS_NETINET_IN_H,
- ACE_LACKS_SEARCH_H, ACE_LACKS_SEMAPHORE_H, ACE_LACKS_SIGNAL_H,
- ACE_LACKS_STDLIB_H, ACE_LACKS_STRING_H, ACE_LACKS_STRINGS_H,
- ACE_LACKS_SYS_IOCTL_H, ACE_LACKS_SYS_IPC_H, ACE_LACKS_SYS_MMAN_H,
- ACE_LACKS_SYS_RESOURCE_H, ACE_LACKS_SYS_SEM_H, ACE_LACKS_SYS_SHM_H,
- ACE_LACKS_SYS_SOCKET_H, ACE_LACKS_SYS_STAT_H, ACE_LACKS_SYS_TIME_H,
- ACE_LACKS_SYS_UN_H, ACE_LACKS_SYS_WAIT_H, ACE_LACKS_TERMIOS_H, and
- ACE_LACKS_TIME_H.
-
- Removed checks for ACE_HAS_SYS_IOCTL_H.
-
-Mon Aug 30 17:38:22 2004 Steve Huston
-
- Changes that get PocketPC/WinCE back into a state where they build.
-
- * ace/config-WinCE.h: Add ACE_LACKS_ASSERT_H, ACE_LACKS_SEARCH_H,
- and ACE_LACKS_WCHAR_H for WinCE 3.
- Add ACE_LACKS_SWAB for all versions.
-
- * ace/config-win32-msvc.h: Set (or clear) ACE_LACKS_RTTI based on
- whether or not the compiler switch to enable rtti is used.
-
- * ace/OS_Errno.{h inl}:
- * ace/OS_NS_errno.{h inl}: Moved ACE_CE_Errno from OS_Errno to
- OS_NS_errno. This seems like a more sensible place for an errno
- replacement, and avoids having to add includes for OS_Errno.h to
- a bunch of other files.
-
- * ace/OS_NS_stdio.inl (rename): In the char* variant, always convert
- the names to wide-char for WinCE.
-
- * ace/OS_NS_stdlib.{h cpp inl}: Don't attempt ACE_OS::realpath() for
- ACE_HAS_WINCE. It has no native support and there's no
- ACE_OS::getcwd() to fake it with.
-
- * ace/OS_NS_stropts.{h cpp}: The 9-arg version of ACE_OS::ioctl is
- ok for WinCE, but the ACE_QoS one is disabled. Changed both files
- to implement this. They were mismatched for CE.
-
- * ace/OS_NS_sys_select.inl: Replace #include ace/os_include/os_errno.h
- with ace/OS_NS_errno.h to pick up errno correctly across all
- platforms.
-
- * ace/OS_NS_sys_socket.cpp: Moved #endif closing #ifndef ACE_HAS_WINCE
- to encompass join_leaf() to match what's done in the class decl.
-
- * ace/OS_NS_sys_stat.inl (mkdir, stat): Added #include
- "ace/OS_NS_macros.h" to get ACE_ADAPT_RETVAL.
- For the char* mkdir() and stat(), CE needs to convert
- the strings to wide-char.
-
- * ace/OS_NS_time.h: Moved the day_of_week and month_name const
- strings into the ACE_OS namespace, as OS_NS_time.cpp desires.
-
- * ace/OS_NS_time.cpp: Removed the MT-only compile block around the
- day_of_week and month_name arrays. As suspected by Don Hinton,
- this is an incorrect condition.
- Also added #include "ace/OS_NS_stdio.h" for ACE_HAS_WINCE, as the
- ctime_r emulation needs it.
-
- * ace/OS_NS_unistd.inl (unlink): Convert path to wide-char for WinCE.
- (rmdir): RemoveDirectory() takes only 1 arg.
- wide-char getcwd() is a NOTSUP for WinCE, as is the char* version.
-
- * ace/Proactor.cpp: Add #include "ace/config-lite.h" since the
- user config is needed to decide whether to compile this file.
- Also remove 'tv' param name from the stubbed-out version of
- run_event_loop(ACE_Time_Value&).
-
-Mon Aug 30 16:24:51 2004 Steve Huston
-
- * NEWS: Noted that the wide-char stuff is done and autoconf is in
- progress.
-
-Mon Aug 30 11:54:01 2004 Ossama Othman
-
- * bin/MakeProjectCreator/config/security.mpb:
-
- Added missing "interceptors" and "corba_messaging" base
- projects.
-
- * bin/MakeProjectCreator/config/ssliop.mpb:
-
- Added missing "interceptors" base project.
-
-Mon Aug 30 13:02:22 2004 Steve Huston
-
- * ace/Basic_Types.h: Don't use sizeof() when defining ACE_SIZEOF_WCHAR.
- Other code (e.g. ACEXML) in ACE uses ACE_SIZEOF_WCHAR in
- preprocessor tests, so it needs to be a preprocessor constant.
- If the config file doesn't set it, and on an XPG4 system, set
- the size to 4. If it's wrong, Basic_Types_Test will catch it.
-
- * tests/Basic_Types_Test.cpp: Remove the comment that says the check
- for ACE_SIZEOF_WCHAR is pointless. It's now important.
-
-Mon Aug 30 10:05:12 UTC 2004 Johnny Willemsen
-
- * bin/MakeProjectCreator/config/amh.mpb:
- * bin/MakeProjectCreator/config/ami.mpb:
- Both use idlflags, so add taoidldefaults as base project
-
-Mon Aug 30 06:39:12 UTC 2004 Johnny Willemsen
-
- * bin/MakeProjectCreator/config/amh.mpb:
- AMH is dependent on messaging and doesn't require ami
-
-Sun Aug 29 16:53:00 UTC 2004 Martin Corino
-
- * ace/config-linux-common.h:
-
- Added '__GLIBC_MINOR__ < 2' test for setting ACE_POLL_IS_BROKEN
- on Alpha platform.
-
-Fri Aug 27 11:40:37 2004 J.T. Conklin
-
- * bin/MakeProjectCreator/ftrtevent.mpb:
- * bin/MakeProjectCreator/portablegroup.mpb:
-
- Changed to inherit from messaging.mpb.
-
- * bin/MakeProjectCreator/rtsched.mpb:
-
- Changed to inherit from svc_utils.mpb.
-
-Fri Aug 27 13:38:25 2004 Steve Huston
-
- * netsvcs/clients/Naming/Client/Client_Test.cpp:
- * netsvcs/clients/Naming/Client/main.cpp:
- * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.{h cpp}:
- * netsvcs/clients/Naming/Dump_Restore/main.cpp:
- * netsvcs/servers/main.cpp:
- * websvcs/lib/URL_Addr.cpp: Fix wide-char errors.
-
-Fri Aug 27 12:01:37 2004 Steve Huston
-
- * netsvcs/lib/Client_Logging_Handler.cpp:
- * netsvcs/lib/Log_Message_Receiver.{h cpp}:
- * netsvcs/lib/Name_Handler.{h cpp}:
- * netsvcs/lib/Server_Logging_Handler_T.{h cpp}:
- * netsvcs/lib/TS_Server_Handler.{h cpp}:
- * netsvcs/lib/TS_Clerk_Handler.{h cpp}: Correct Service Configurator
- framework entrypoints (init(), etc.) to match ACE_TCHAR* instead of
- char*. Also corrected char-width problems and naked text literals.
-
- * ACEXML/parser/parser/Parser.cpp: Fixed uninitialized variable.
-
-Fri Aug 27 08:18:21 2004 Balachandran Natarajan
-
- * bin/footprint_stats.sh:
-
- Fixed the path to the libraries. Thanks to Johnny for spotting
- the error in the scoreboard.
-
-Fri Aug 27 10:20:12 UTC 2004 Johnny Willemsen
-
- * bin/MakeProjectCreator/config/security.mpb:
- Security library uses valuetype, so added valuetype as base
- project.
-
-Fri Aug 27 09:48:12 UTC 2004 Johnny Willemsen
-
- * examples/QOS/Change_Receiver_FlowSpec/QoS_Util.{h,cpp}:
- * examples/QOS/Change_Receiver_FlowSpec/receiver.cpp:
- Fixed unicode build errors
-
-Fri Aug 27 09:36:12 UTC 2004 Johnny Willemsen
-
- * examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.{h,cpp,i}:
- * examples/Service_Configurator/IPC-tests/server/Handle_Timeout.{h,cpp,i}:
- * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.{h,cpp}:
- Fixed unicode build errors
-
-Fri Aug 27 09:06:12 UTC 2004 Johnny Willemsen
-
- * bin/MakeProjectCreator/config/loadbalancing.mpb:
- Loadbalancing uses iorinterceptor, so added that as base
-
-Fri Aug 27 08:06:12 UTC 2004 Johnny Willemsen
-
- Integrated ORTrefactor_2 branch into main. Previously the PortableServer
- library was dependent on IORInterceptor, ObjRefTemplate and Valuetype,
- this dependency has been removed. PortableServer doesn't use these libs
- anymore, but IORInterceptor, ObjRefTemplate and Valuetype are now
- dependent on PortableServer. This will reduce the size of corba servers
- which don't use IORInterceptor, ObjRefTemplate and Valuetype.
-
- This are the needed MPC changes. Without MPC this would have been a
- hard job to change all makefiles by hand.
-
- Fri Aug 20 13:18:12 UTC 2004 Johnny Willemsen
-
- * bin/MakeProjectCreator/config/portableserver.mpb:
- * tao/PortableServer.mpc:
- PortableServer is not dependent on ValueType anymore, so removed it
- as base project
-
- Fri Aug 20 11:47:12 UTC 2004 Johnny Willemsen
-
- * bin/MakeProjectCreator/config/iorinterceptor.mpb:
- When using iorinterceptor use portableserver and objreftemplate
-
- * bin/MakeProjectCreator/config/objreftemplate.mpb:
- When using objreftemplate, you must use portableserver
-
- * bin/MakeProjectCreator/config/portableserver.mpb:
- When using portableserver there is no need to use objreftemplate and
- iorinterceptor
-
-Fri Aug 27 07:40:00 UTC 2004 Martin Corino
-
- * ace/ace_wchar.h:
-
- Fixed for broken OpenVMS build because of missing
- and includes.
-
-Thu Aug 26 19:55:03 2004 J.T. Conklin
-
- * ace/Makefile.am:
-
- Fixed thinko in last change. CVS and .svn directories *and*
- their contents must be pruned in install-local-data target.
-
-Thu Aug 26 19:37:10 2004 J.T. Conklin
-
- * ace/Makefile.am:
-
- Changed dist-hook and install-local-data targets to skip .svn as
- well as CVS directories to support subversion.
-
-Thu Aug 26 19:22:31 2004 J.T. Conklin
-
- * ace/Makefile.am:
-
- Added If_Then_Else.h to HEADER_FILES.
-
-Thu Aug 26 11:53:26 2004 Steve Huston
-
- * ace/Time_Value.h: Added extern "C++" around the ACE_Time_Value class
- declaration for WinCE. This is a total hack that I hate, but I have
- not been able to find any other way around it. The same code
- worked before the great ACE_OS reorg, but I don't know what tickled
- it to start misbehaving. Without the hack, eVC complains that
- the operators are C functions and so can't return a class.
-
- * ace/Dev_Poll_Reactor.{cpp h}: Inserted /**/ in #include directives
- to silence MSVC warnings that the files are missing dependencies.
-
-Thu Aug 26 11:39:29 2004 Steve Huston
-
- * ACEXML/common/XML_Types.h: Add #include "ace/Basic_Types.h" to
- pick up ACE_SIZEOF_WCHAR.
-
-Thu Aug 26 12:22:12 UTC 2004 Johnny Willemsen
-
- * ace/OS_NS_unistd.cpp:
- Tru64 also provides sysconf functionality to retrieve number
- of cpu's. Implemented ACE_OS::num_processors() and
- ACE_OS::num_processors_online() for Tru64 (Digital Unix)
-
- * tests/OS_Test.cpp:
- Corrected copy/paste error
-
-Thu Aug 26 11:54:12 UTC 2004 Johnny Willemsen
-
- * tests/OS_Test.cpp:
- Added test for ACE_OS::num_processors() and
- ACE_OS::num_processors_online()
-
-Thu Aug 26 09:23:12 UTC 2004 Johnny Willemsen
-
- * ACE-INSTALL.html:
- I know we are working on footprint, but stating that an entire
- build of ACE/TAO could use more than 2MB of diskspace is an
- understatement ;-). Updated this to could use more than 4GB of
- diskspace, which is something we have seen on the 64 bit systems.
- Also updated the peak memory usage from 256Mb to 512Mb, the
- Notification Service is a very memory consuming services when
- being build.
-
-Thu Aug 26 09:16:12 UTC 2004 Johnny Willemsen
-
- * ACE-INSTALL.html:
- Updated instructions to build SSL with Borland C++, no OpenSSL
- patch is necessary anymore and now MPC must be used. Updated HPUX
- supported platforms.
-
-Thu Aug 26 07:58:00 UTC 2004 Martin Corino
-
- * ace/config-linux-common.h:
-
- Included check on defined(__alpha) for correctly setting 64 bit
- format specifiers.
-
- * examples/Threads/cancel.cpp:
- * performance-tests/Synch-Benchmarks/Perf_Test/Benchmark_Performance.cpp:
-
- Fixed 64 bit conversion warnings.
-
-Thu Aug 26 06:47:12 UTC 2004 Johnny Willemsen
-
- * ace/Auto_Ptr.h:
- Readded disappeared include of post.h
-
-Wed Aug 25 23:31:02 2004 Chris Cleeland
-
- * include/makeinclude/platform_linux.GNU:
-
- Fixed an error caused by a misplaced newline in Rich's previous
- commit.
-
- * include/makeinclude/platform_sunos5_sunc++.GNU:
-
- Brought over the following changes from OCITAO 1.3a.
- Added -ladm to LIBS. This is needed for SunOS 5.6 for
- resolving symbols for regular expression processing (e.g.,
- compile, step), and does not appear to cause a problem on
- later version of SunOS.
-
- Change directory that is argument to ld's '-R' to use the new
- $ACE_ROOT/lib directory rather than $ACE_ROOT/ace.
-
-Wed Aug 25 21:10:37 2004 J.T. Conklin
-
- * configure.ac:
-
- Fixed tipo introduced by:
- Mon Aug 23 23:23:18 2004 Ossama Othman
-
-Wed Aug 25 17:33:47 2004 J.T. Conklin
-
- * ace/config-netbsd.h:
-
- Removed ACE_NTRACE definition. It slipped in again.
-
-Wed Aug 25 16:00:11 2004 Chris Cleeland
-
- * ace/Auto_Ptr.h:
- * ace/Auto_Ptr.inl:
-
- Added new ACE_Auto_Ptr which can be used more portably than
- auto_ptr even with the ACE auto_ptr workarounds. Specifically,
- this obviates the need for the ACE_AUTO_PTR_RESET macro, and
- will have better performance than the pre-standard auto_ptr that
- comes with VC6.
-
-Wed Aug 25 14:58:51 2004 Rich Seibel
-
- * include/makeincludes/platform_linux.GNU:
- Generalized the way the rt library is searched. The
- previous code did not find it on RedHat AS 3.0 for opteron.
-
-Wed Aug 25 14:49:11 2004 Rich Seibel
-
- * ace/Basic_Types.h:
- added __x86_64 to long double to satisy opteron.
-
-Wed Aug 25 11:15:33 2004 Ossama Othman
-
- * ACE-INSTALL.html:
-
- Updated ACE_SSL library build notes to refer to MPC, i.e. the
- proper way to add ACE_SSL support to GNUmakefiles and MSVC++
- workspace/project files. Thanks to Johnny for pointing out that
- the documentation was out of date.
-
- Wrap the "Last modified" line within an Emacs "hhtms" block to
- allow Emacs to automatically update the date and time this file
- was last modified.
-
-Wed Aug 25 11:46:49 2004 Steve Huston
-
- * ace/os_include/sys/os_pstat.h: If ACE_HAS_SYS_PSTAT_H, include
- and (not ) as directed by
- HP-UX man page. HP-UX 11 is the only config that sets this.
-
-Wed Aug 25 08:46:02 2004 Chad Elliott
-
- * include/makeinclude/wrapper_macros.GNU:
-
- Fixed the ace_filecache misspelling.
-
-Wed Aug 25 08:38:29 2004 Steve Huston
-
- * ace/OS_NS_unistd.inl (rmdir): Removed the ACE_USES_WCHAR case from
- the char* version of this method.
-
-Wed Aug 25 09:36:12 UTC 2004 Johnny Willemsen
-
- * ACE-INSTALL.html:
- Minor updates to Cygwin notes
-
-Wed Aug 25 09:04:12 UTC 2004 Johnny Willemsen
-
- * ace/os_include/sys/os_pstat.h:
- Corrected incorrect doxygen file tag
-
-Wed Aug 25 08:47:00 UTC 2004 Martin Corino
-
- * ace/config-lite.h:
-
- Introduced new macro ACE_HAS_PROCESS_SPAWN to be able to do
- better checks for availability of subprocessing than is
- possible with ACE_LACKS_FORK. See [Bug 1793].
-
- * tests/MEM_Stream_Test.cpp:
- * tests/Malloc_Test.cpp
- * tests/SOCK_Dgram_Bcast_Test.cpp
-
- Changed to use new ACE_HAS_PROCESS_SPAWN macro to test for
- subprocessing capabilities. See [Bug 1793].
-
-Wed Aug 25 01:19:03 2004 J.T. Conklin
-
- * configure.ac:
-
- Add checks for ACE_HAS_SYS_PSTAT_H and ACE_HAS_SYS_LOADAVG_H.
-
-Wed Aug 25 08:17:12 UTC 2004 Johnny Willemsen
-
- * include/makeinclude/platform_hpux_aCC.GNU:
- The warnings disabled in this file are for major version 03 of aCC
- only (PA-RISC), for version 05 (Itanium), disable 1016 and 1031,
- these are binary incompatible warnings.
-
-Wed Aug 25 07:12:12 UTC 2004 Johnny Willemsen
-
- * ace/os_include/sys/os_loadavg.h:
- * ace/os_include/sys/os_pstat.h:
- New files to include sys/loadavg.h and sys/pstat.h when
- ACE_HAS_SYS_LOADAVG_H and ACE_HAS_SYS_PSTAT_H is set
-
- * ace/config-hpux-11.00.h:
- HPUX has sys/pstat.h, so added define ACE_HAS_SYS_PSTAT_H
-
- * ace/README:
- Documented ACE_HAS_SYS_LOADAVG_H and ACE_HAS_SYS_PSTAT_H
-
- * ace/OS.h:
- Removed including of sys/pstat.h, it is really not needed here
-
- * ace/OS_NS_unistd.cpp:
- Instead of including sys/pstat.h include os_include/sys/os_pstat.h
-
-Wed Aug 25 07:04:12 UTC 2004 Johnny Willemsen
-
- * include/makeinclude/platform_hpux_aCC.GNU:
- Changed CXXVERS to CXXMINORVERS and added CXXMAJORVERS,
- we just compare minor version at this moment, but we really
- should also check major vers soon, major version 3 is aCC
- on PARISC, version 5 is on Itanium. Changed the way we
- detect itanium to a portable way that works with all
- HPUX versions.
-
-Tue Aug 24 19:59:18 2004 J.T. Conklin
-
- * ace/config-netbsd.h:
-
- Fixed typo in last change, add back typedef for ACE_UINT64.
-
-Tue Aug 24 19:32:07 2004 J.T. Conklin
-
- * ace/config-netbsd.h:
-
- Removed extraneous cruft left over from autoheader generated
- file. Added conditional support for NetBSD/AMD64.
-
-Tue Aug 24 15:03:22 2004 Steve Huston
-
- * ace/OS_NS_Thread.inl (thread_mutex_init): Fixed wchar_t version to
- pass a 0 sa value. Corrects the passing of the lock_type value
- through to ACE_OS::mutex_init(), restoring behavior of recursive
- mutexes.
-
-Tue Aug 24 14:07:22 2004 Steve Huston
-
- Changes to improve the functionality of wide-char operation on
- non-Windows platforms:
-
- * ace/ace_wchar.h: If ACE_HAS_XPG4_MULTIBYTE_CHAR is defined, but not
- ACE_HAS_WCHAR, set ACE_HAS_WCHAR.
-
- * ace/ACE.cpp (timestamp): Use ACE_TCHAR for temp char arrays,
- not char. If ACE_USES_WCHAR on non-Windows, use %ls for printf
- strings, not %s.
-
- * ace/ARGV.cpp (constructor): Replaced most of the body with a call
- to ACE_OS::argv_to_string().
-
- * ace/Basic_Types.h:
- * ace/Cleanup.h:
- * ace/Object_Manager_Base.h:
- * ace/OS_NS_string.h:
- * ace/os_include/os_float.h:
- * ace/os_include/os_inttypes.h:
- * ace/os_include/os_limits.h:
- * ace/os_include/os_signal.h:
- * ace/os_include/os_stdint.h:
- * ace/os_include/os_stdlib.h:
- * ace/os_include/os_time.h:
- * ace/os_include/os_ucontext.h:
- * ace/os_include/os_unistd.h:
- * ace/os_include/sys/os_ipc.h:
- * ace/os_include/sys/os_mman.h:
- * ace/os_include/sys/os_msg.h:
- * ace/os_include/sys/os_resource.h:
- * ace/os_include/sys/os_select.h:
- * ace/os_include/sys/os_sem.h:
- * ace/os_include/sys/os_shm.h:
- * ace/os_include/sys/os_socket.h:
- * ace/os_include/sys/os_stat.h:
- * ace/os_include/sys/os_statvfs.h:
- * ace/os_include/sys/os_timeb.h:
- * ace/os_include/sys/os_time.h:
- * ace/os_include/sys/os_times.h:
- * ace/os_include/sys/os_types.h:
- * ace/os_include/sys/os_uio.h:
- * ace/os_include/sys/os_un.h:
- * ace/os_include/sys/os_utsname.h:
- * ace/os_include/sys/os_wait.h: #include "config-lite.h" rather than
- "config-all.h". Only need the user config.h and "lite" things.
- Including config-all.h introduces a circular include
- dependency from OS_main.h.
-
- * ace/Default_Constants.h: Add ACE_LIB_TEXT() to ACE_DEFAULT_SVC_CONF
- strings.
-
- * ace/Env_Value_T.i (fetch_value): For non-Win32, force the env var
- name to narrow-char then convert the result back to ACE_TCHAR.
-
- * ace/FILE_Connector.cpp (connect): When generating a temp name,
- convert it to ACE_TCHAR for ACE_FILE_Addr.
-
- * ace/Get_Opt.cpp (constructor): When checking for POSIXLY_CORRECT,
- must always use char *, not ACE_TCHAR*, on non-Win32.
-
- * ace/High_Res_Timer.cpp: Added ACE_LIB_TEXT to naked string literals.
- Use 'char' when it must be narrow char; ACE_TCHAR when it has to
- change based on ACE_USES_WCHAR.
-
- * ace/Lib_Find.cpp (ldfind, get_temp_dir): Environment variables on
- non-Windows are always narrow char, so account for that.
-
- * ace/Log_Msg_UNIX_Syslog.cpp: Operate internally with all narrow
- chars because the underlying OS APIs are only narrow char.
-
- * ace/Log_Msg.cpp (log): For 'D', 'M', 'm', 'N', and 'p', use the
- proper 's' format code for the platform/char width. Similar to
- Log_Record.cpp below.
-
- * ace/Log_Msg.h (ACE_ASSERT): Convert __FILE__ name to proper char
- width when necessary.
-
- * ace/Log_Record.cpp: When formatting log strings, have to change
- printf formats if using wide chars on non-Windows. Wide-char
- strings are printed with %ls, whereas Windows uses %s for
- wide-char strings if the format is wide-char.
-
- * ace/Memory_Pool.cpp (ctor): Change backing_store_name to narrow
- char when needed to pass it to sscanf().
-
- * ace/Object_Manager_Base.cpp (print_error_message): Add
- ACE_TEXT_ALWAYS_CHAR to the message arg to convert on wide-char
- builds.
-
- * ace/OS_main.h: For ACE_MAIN on non-Windows ACE_USES_WCHAR platforms,
- convert the argv to wchar_t, and pass the wide-char strings to the
- ACE_TCHAR[]-expecting real main program.
-
- * ace/OS_NS_dirent.inl (opendir): Moved the const_cast-needing
- VxWorks part to its own #elif section. Added ACE_TEXT_ALWAYS_CHAR
- to the other invocation of ::opendir().
-
- * ace/OS_NS_dlfcn.inl (dlerror, dlopen, dlsym): Corrected use of
- narrow/wide-char.
-
- * ace/OS_NS_stdio.inl (cuserid, fdopen, freopen): Don't use
- ACE_TCHAR when a char is always needed.
- (fgets, fputs, perror, puts): Changed to have both narrow- and
- wide-char variants.
- (checkUnicodeFormat): Use a platform-neutral 2-byte type to
- read 2 bytes. Need a non-Windows 'whence' arg for fseek().
- (vsprintf (wchar_t)): Added the non-Windows, XPG5 code for this to
- use the XPG5 vswprintf() when equippped.
-
- * ace/OS_NS_stdlib.{h inl cpp}:
- (ACE_OS::mktemp() and mkstemp()): Changed to have both narrow-
- and wide-char variants for the !ACE_LACKS_MKTEMP case.
- Offering both for the ACE_LACKS_MKTEMP case is a low-return
- use of time since the wide-char variant will probably never be used.
- (strenvdup): Handle ACE_USES_WCHAR on non-Windows by converting
- back and forth to narrow-char.
- (system): On non-Windows, convert command line string to narrow-char.
- (getcwd): Changed to have both narrow- and wide-char variants.
-
- * ace/OS_NS_sys_stat.inl (creat, mkfifo): For non-Windows, convert
- name to narrow-char when needed.
- (lstat): Change from a single ACE_TCHAR-based interface to both
- char* and wchar_t*.
-
- * ace/OS_NS_time.inl (ctime, ctime_r): Corrected narrow/wide char
- usage.
-
- * ace/OS_NS_unistd.inl (truncate): For non-Windows, convert the path
- to narrow-char when needed.
- (realpath): Changed to have both narrow- and wide-char variants.
-
- * ace/OS_NS_unistd.{h inl cpp}:
- (rmdir): Changed to have both narrow- and wide-char variants.
- (argv_to_string): Handle narrow and wide-char environment variables.
- (fork_exec): Convert path and argv to narrow-char when needed.
-
- * ace/Process.cpp (spawn): Convert argv, procname, env vars to narrow
- char for non-Windows wide-char builds.
-
- * ace/Process.i (setreugid): Convert user name to narrow char for
- getpwnam().
-
- * ace/Process_Mutex.cpp (ctor): Don't convert name to ACE_TCHAR for
- ACE_SV_Semaphore case - it requires char*.
-
- * ace/Process_Semaphore.cpp (ctor): Convert name to narrow char
- for ACE_SV_Semaphore_Complex case.
-
- * ace/Sock_Connect.cpp (get_bcast_addr):
- * ace/SOCK_Dgram_Bcast.cpp (mk_broadcast): Host name needs to be
- converted to narrow-char for wide-char builds.
-
- * ace/SOCK_Dgram_Mcast.cpp (make_multicast_ifaddr): Interface name
- needs to be converted to narrow-char for wide-char builds.
-
- * ace/SV_Semaphore_Simple.{h,i,cpp}: Added wide-char versions of
- the named constructor and open() methods. They forward to the
- narrow-char versions.
-
- * tests/Dirent_Test.cpp: Account for dirent's d_name is an ACE_TCHAR
- when ACE_LACKS_STRUCT_DIR and a char* otherwise.
-
- * tests/FIFO_Test.cpp: Change ACE_ALPHABET to char[].
-
- * tests/Proactor_Test.cpp: Change complete_message from ACE_TCHAR
- to char. This is easier to handle; as ACE_TCHAR, we'd need to
- correct all the message block pointer adjustments to take the
- charset width into account.
-
- * tests/Log_Msg_Test.cpp:
- * tests/MEM_Stream_Test.cpp:
- * tests/Message_Queue_Test.cpp:
- * tests/Pipe_Test.cpp:
- * tests/Process_Manager_Test.cpp:
- * tests/Process_Mutex_Test.cpp:
- * tests/Process_Strategy_Test.cpp:
- * tests/Signal_Test.cpp:
- * tests/SOCK_Connector_Test.cpp:
- * tests/SOCK_Dgram_Test.cpp:
- * tests/SOCK_Send_Recv_Test.cpp:
- * tests/SOCK_Test.cpp:
- * tests/SV_Shared_Memory_Test.cpp: Char width correction.
-
- * tests/Service_Config_Test.cpp:
- * tests/Service_Config_Test.WCHAR_T.conf:
- * tests/Service_Config_Test.WCHAR_T.conf.xml: Added WCHAR_T-coded
- versions of the test input file and changed the test to use
- them on non-Windows ACE_USES_WCHAR builds.
-
- * tests/Test_Output.cpp (set_output): Handle env var and filepath
- building correctly even on wide-char non-Windows builds.
-
- * ACEXML/common/XML_Types.h: typedef ACEXML_Char as ACE_TCHAR, else
- it doesn't match any char interfaces when wchar_t is not 2 bytes.
-
- * ACEXML/parser/parser/Parser.cpp (parse_char_reference): Add the
- case where wide-char is 4 bytes.
-
- Also brought in this fix:
- Mon Mar 8 15:52:33 2004 Steve Huston
-
- * ace/POSIX_Proactor.cpp: Comment out the signal setup; this should
- not be necessary and, indeed, is erroneous, at least on Linux.
- It's commented out instead of removed in case further testing on
- other platforms determines that it is needed sometimes.
-
-Tue Aug 24 10:22:18 2004 Steve Huston
-
- * ace/config-linux-common.h: Added ACE_HAS_SCANDIR and a new
- macro, ACE_SCANDIR_CMP_USES_VOIDPTR, saying that scandir()
- cmp() function takes void pointers, not dirent pointers.
-
- * ace/OS_NS_dirent.inl (scandir): When calling native scandir()
- with ACE_SCANDIR_CMP_USES_VOIDPTR, cast comparator appropriately.
- Also, for native scandir(), ACE_TEXT_ALWAYS_CHAR the dirname.
-
- * ace/OS_NS_dlfcn.inl:
- * tests/Test_Output.cpp: Added #include "ace/OS_NS_string.h" to get
- ACE_OS string methods. Fixes compile error on inline=0 build.
-
-Tue Aug 24 11:16:00 2004 Jules White
-
- * ACE-INSTALL.html: Added a section on using ACE within Eclipse
-
-Tue Aug 24 10:10:22 2004 Steve Huston
-
- * ace/config-all.h: Moved #include "ace/OS_main.h" down to the bottom
- of the file, lest it invoke a circular dependency.
-
- * ace/OS_NS_stdlib.inl: Added #include "ace/config-all.h" to get
- ACE_TRACE.
-
-Mon Aug 23 23:23:18 2004 Ossama Othman
-
- * Makefile.am (AUTOMAKE_OPTIONS):
-
- Removed required Automake version from `Makefile.am'.
- `configure.ac' already defines it.
-
- * configure.ac:
-
- Updated required version of Automake to 1.9.
-
- Added test for partial template specialization. Issue a warning
- if it isn't support by the compiler since ACE will require it in
- the near future.
-
- * ace/ACE.h:
-
- Corrected ACE namespace documentation to describe the ACE
- namespace itself rather than summarizing the contents of this
- header (i.e. the value added global ACE functions).
-
- * ace/If_Then_Else.h:
-
- Doxygen documentation corrections and improvements.
-
-Mon Aug 23 22:19:16 2004 Ossama Othman
-
- * tests/CDR_Test.cpp (run_main):
-
- Added run-time assertions that verify proper CDR type sizes
- (e.g. sizeof (ACE_CDR::Boolean) == 1).
-
-Mon Aug 23 19:18:58 2004 J.T. Conklin
-
- * m4/config_h.m4:
-
- Removed autoheader template for ACE_LACKS_PARAM_H.
-
-Mon Aug 23 18:33:40 2004 J.T. Conklin
-
- * configure.ac:
-
- Added check for ACE_HAS_ITOA.
- Added check for ACE_LACKS_ITOW.
-
-Mon Aug 23 18:22:25 2004 J.T. Conklin
-
- * ace/config-dgux-4.11-epc.h
- * ace/config-dgux-4.x-ghs.h
- * ace/config-freebsd.h
- * ace/config-lynxos.h
- * ace/config-m88k.h
- * ace/config-macosx-panther.h
- * ace/config-macosx.h
- * ace/config-openbsd.h
- * ace/config-sunos4-g++.h
- * ace/config-sunos4-lucid3.2.h
- * ace/config-sunos4-sun3.x.h
- * ace/config-sunos4-sun4.1.4.h
- * ace/config-sunos4-sun4.x.h
- * ace/config-sunos5.4-centerline-2.x.h
- * ace/config-sunos5.4-g++.h
- * ace/config-sunos5.4-sunc++-4.x.h
- * ace/config-sunos5.5.h
- * ace/config-tandem.h
- * ace/config-unixware-2.01-g++.h
- * ace/config-unixware-2.1.2-g++.h
- * ace/config-unixware-7.1.0.h
- * ace/config-unixware-7.1.0.udk.h
- * ace/os_include/os_stropts.h
-
- Changed name of feature test macro ACE_HAS_SOCKIO_H to
- ACE_HAS_SYS_SOCKIO_H.
-
-Mon Aug 23 17:41:40 2004 J.T. Conklin
-
- * m4/config_h.m4:
- * m4/platform.m4:
-
- Removed support for unused ACE_NETBSD feature test macro.
-
-Mon Aug 23 17:37:16 2004 J.T. Conklin
-
- * m4/platform.m4:
-
- Add check for ACE_LACKS_PERFECT_MULTICAST_FILTERING.
-
-Mon Aug 23 16:33:59 2004 J.T. Conklin
-
- * ace/config-netbsd.h:
-
- Remove PACKAGE, PACKAGE_*, and VERSION definitions. The latter
- conflicts with some of the test/example programs. I'll get rid
- of the others just to be safe.
-
- Comment out ACE_NTRACE, as the constant definition conflicts
- with Misc_test_trace. We probably need an option to control
- whether tracing and debugging features are enabled when ACE/
- TAO is compiled that is separate from the one used after it
- has been built.
-
-Mon Aug 23 16:06:39 2004 J.T. Conklin
-
- * configure.ac:
-
- Added checks for ACE_HAS_VWFPRINTF and ACE_HAS_VWSPRINTF.
-
-Tue Aug 24 00:34:30 2004 Marek Brudka
-
- * ace/QtReactor.cpp:
- Removed unecessary #include . Thanks to
- Gan Deng for a patch.
-
-
-Mon Aug 23 17:53:12 UTC 2004 Johnny Willemsen
-
- * include/makeinclude/platform_hpux_aCC.GNU:
- Added support for itanium on HPUX 11iv2 (11.23). Different options
- have to be passed when on itanium, so when version 11.23 is detected,
- set itanium to 1 and dependent on that set different compiler options.
-
-Mon Aug 23 16:58:18 UTC 2004 Don Hinton
-
- * include/makeinclude/rules.local.GNU:
- Added CCFLAGS to the list of arguments passed to the dependency
- generator. Thanks to Matthew Townsend
- for reporting the problem.
-
- * THANKS:
- Added Matthew Townsend to the hall of fame.
-
-Mon Aug 23 08:34:12 UTC 2004 Johnny Willemsen
-
- * ace/config-hpux11.h:
- Removed this file from the repo, use config-hpux-11.00.h instead,
- the contents of this file refers to config-hpux11-xx.h files
- which are not there, making this file unusable.
-
-Sun Aug 22 21:49:14 2004 J.T. Conklin
-
- * ace/config-netbsd.h:
-
- Update with autoconf generated results. While not perfect, the
- old version would be difficult to update by hand.
-
-Mon Aug 23 01:04:34 2004 Balachandran Natarajan
-
- * ace/Select_Reactor_T.cpp:
-
- Made some slight changes to the BUG 1890 patch after receiving
- some clarifications from Kobi.
-
-Sun Aug 22 11:11:00 UTC 2004 Johnny Willemsen
-
- * bin/MakeProjectCreator/config/amh.mpb:
- When using amh, you must have valuetype support, so add valuetype
- as base project of amh
-
-Sun Aug 22 09:53:00 UTC 2004 Martin Corino
-
- * tests/MEM_Stream_Test.cpp:
-
- Changed to remove compile warning resulting from bad use
- of ACE_UNUSED_ARG().
-
-Fri Aug 20 15:29:29 MST 2004 Trevor Fields
-
- * bin/auto_run_tests.pl:
- * tests/run_test.pl:
- Changed the run test scripts to time the execution
- and print test finished messages. This for the
- generation of statistics.
-
-Fri Aug 20 15:10:08 2004 J.T. Conklin
-
- * bin/MakeProjectCreator/config/core.mpb:
-
- Changed to define INSTALL_THIS_TARGET for automake builds.
-
- * bin/MakeProjectCreator/config/taodefaults.mpb:
-
- Changed to add $(TAO_BUILDDIR) to includes for automake builds.
-
- * bin/MakeProjectCreator/config/acedefaults.mpb:
-
- Changed to add $(ACE_BUILDDIR) to includes for automake builds.
-
-Fri Aug 20 12:17:39 2004 J.T. Conklin
-
- * configure.ac:
- * m4/config_h.m4:
-
- Added check for ACE_SIZEOF_WCHAR.
-
-Fri Aug 20 16:13:29 2004 Dale Wilson
-
- * ace/OS_NS_Thread.h:
- * ace/OS_NS_Thread.cpp:
- * ace/TSS_T.cpp:
- Revert. It triggers (or causes) an intermittent problem
- in the Timer_Cancellation_Test
-
-Fri Aug 20 10:22:34 2004 Dale Wilson
-
- * TAO/tests/MT_Client/client.cpp:
- Revert this. It wasn't supposed to be included in my previous
- check in. (Thu Aug 19 12:42:19 2004)
-
-Fri Aug 20 15:20:31 2004 Balachandran Natarajan
-
- Fixes for Bug 1890. Please see
-
- http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=1890
-
- for details of this bug. What follows are the individual changes.
-
- * ace/Select_Reactor_Base.cpp:
- * ace/Select_Reactor_Base.h:
-
- Added a new method clear_dispatch_mask (), which as the name
- indicates clears the masks in the dispatch_set. The dispatch set
- is a new addition, which keeps track of the handles that can be
- used for dispatching.
-
- * ace/Select_Reactor_Base.inl:
- * ace/Select_Reactor_T.cpp:
- * ace/Select_Reactor_T.h: Modified dispatch_io_set () so that it
- doesn't break the loop when state_changes occur. This is the
- crux of the 1890 bug report. If unbinding occurs as part of an
- upcall, the bit_ops () calls clear_dispatch_mask (), which
- prevents dispatching to already removed (and potentially
- rebounded) handles.
-
- Additional cosmetic changes.
-
- * ace/Priority_Reactor.cpp:
- * ace/Priority_Reactor.h:
- * ace/TP_Reactor.cpp:
- * ace/TP_Reactor.h:
- * ace/TP_Reactor.inl:
-
- Replicate changes to the above reactors.
-
- * ace/Signal.h:
- * ace/Signal.inl:
-
- Added a default argument to the ACE_Signal class, which is used
- by the ACE_Select_Reactor.
-
- Thanks to Kobi for the patches.
-
-Fri Aug 20 14:26:00 UTC 2004 Martin Corino
-
- * tests/Process_Mutex_Test.cpp:
-
- Changed to use a separate logfile per child (based on PID like
- in MEM_Stream_Test) because of concurrency problems in using a
- single non-synchronized child logfile (at least under windows).
-
-Fri Aug 20 14:10:00 UTC 2004 Martin Corino
-
- * tests/MEM_Stream_Test.cpp:
-
- Changed to use child processes instead of threads for testing.
- See also [Bug 1793].
-
-Fri Aug 20 07:47:00 UTC 2004 Martin Corino
-
- * bin/bin/MakeProjectCreator/templates/gnu.mpd:
-
- Added $(EXEEXT) to BIN build target.
- Removed from $(EXEEXT) from install and cleanup target
- because these are derived from build target.
- This improves link behaviour (disables unnecessary links
- because dependency checks on build targets did not function)
- on platforms using GNU make and having a executable extension
- (like MingW; .exe).
- Fixes [Bug 1876].
-
- * apps/gperf/tests/tests.mpc:
-
- Added $(EXEEXT) to verbatim 'runtests' targets because
- otherwise dependencies on build targets do not function
- anymore.
-
-Thu Aug 19 16:45:05 2004 J.T. Conklin
-
- * bin/MakeProjectCreator/config/security.mpb:
-
- Changed to inherit from orbsvcslib.
-
-Thu Aug 19 12:42:19 2004 Dale Wilson
-
- * TAO/tests/MT_Client/client.cpp:
-
- * ace/OS_NS_Thread.h:
- * ace/OS_NS_Thread.cpp:
- * ace/TSS_T.cpp:
- Repeat part of the checkin from Fri Aug 13 15:26:40 2004
- This corrects the incorrect thread-in-use count problem
- that leads to premature TSS key deletion, but does not fix
- the TSS leak because fixing that reveals other problems
- that I don't have a solution for, yet.
-
-Thu Aug 19 08:26:11 2004 J.T. Conklin
-
- * apps/drwho/Rwho_DB_Manager.h:
-
- Changed to #include before ,
- as the latter needs the former on some systems.
-
-Thu Aug 19 08:07:53 2004 J.T. Conklin
-
- * examples/APG/Signals/SigAction.cpp:
-
- Changed to use a (conditional) extern "C" linkage block around
- my_sighandler, because the plain extern "C" directive resulted
- in a declaration with multiple storage classes.
-
-Thu Aug 19 08:44:12 UTC 2004 Johnny Willemsen
-
- * PROBLEM-REPORT-FORM:
- Ask for the default.features file used by MPC.
-
-Wed Aug 18 21:02:34 2004 Dale Wilson
-
- * ace/OS_NS_Thread.h:
- * ace/OS_NS_Thread.cpp:
- * ace/Object_Manager.cpp:
- * ace/TSS_T.cpp:
- Revert TSS leak fix (temporarily, I hope)
- until I can find and eliminate the hang.
-
-Wed Aug 18 15:07:00 UTC 2004 Martin Corino
-
- * bin/msvc_static_compile.pl:
- bin/msvc_mpc_auto_compile.pl:
-
- Fixed wrong comment characters.
-
-Wed Aug 18 13:35:00 UTC 2004 Martin Corino
-
- * bin/msvc_static_compile.pl:
-
- Added support for building VC8 projects.
-
-Wed Aug 18 13:29:00 UTC 2004 Martin Corino
-
- * bin/msvc_mpc_auto_compile.pl:
-
- Added support for building VC8 projects.
-
-Wed Aug 18 08:50:00 UTC 2004 Simon Massey
-
- * ace/Asynch_Connector.h:
- * ace/Asynch_Connector.cpp:
-
- Thanks to Douglas for his assistance. This change introduces a
- class-static "local_default" for use as the default parameter
- for the second attribute of
- ACE_Asynch_Connector<>::connect(). This "simplifies" the nested
- templated class for the Solaris Lynxos GCC295 cross compiler
- which was faulting due to the complexity of this
- definition. This change does not appreachiably modify the
- signature of the member function, just stops clients from having
- to create their own local default parameter.
-
-Wed Aug 18 01:05:37 2004 J.T. Conklin
-
- * include/makeinclude/platform_netbsd.GNU:
-
- Update to support current NetBSD platforms.
-
-Tue Aug 17 21:03:08 2004 J.T. Conklin
-
- * bin/MakeProjectCreator/config/interceptors.mpb:
-
- New file, with base project requiring interceptors. Project
- files should inherit from this instead of providing explicit
- requires statements to eliminate duplicate entries in list.
-
-Tue Aug 17 17:42:16 2004 J.T. Conklin
-
- * bin/MakeProjectCreator/config/rtcosscheduler.mpb:
-
- Changed to inherit from orbsvcslib.
-
-Tue Aug 17 09:50:46 2004 Balachandran Natarajan
-
- * bin/MakeProjectCreator/config/ciao_servant.mpb:
- * bin/MakeProjectCreator/config/ciao_servant_dnc.mpb:
-
- Added the path to $TAO_ROOT/orbsvcs to the CIDL compiler.
-
-Tue Aug 17 14:30:00 UTC 2004 Simon Massey
- * tests/Proactor_Test.cpp
- Revertion of change to this file (for the sake of being complete).
-
-Tue Aug 17 13:00:00 UTC 2004 Simon Massey
- * ace/Asynch_Connector.h
- Revertion of change to this file as it breaks the windows build and
- changed the public interface of the template class.
-
-Tue Aug 17 10:03:00 UTC 2004 Martin Corino
-
- * ace/ACE.cpp:
-
- Added ACE_UNUSED_ARG() to is_sock_error() for non-WIN32
- builds.
-
-Tue Aug 17 09:43:00 UTC 2004 Martin Corino
-
- * bin/msvc_static_order.lst:
-
- Removed DOS style linefeeds.
-
-Tue Aug 17 08:49:00 UTC 2004 Martin Corino
-
- * ace/OS_NS_String.cpp:
-
- Removed some hidden characters causing compile problems.
-
-Tue Aug 17 08:00:00 UTC 2004 Simon Massey
- * ace/Asynch_Connector.h
- * tests/Proactor_Test.cpp
- Due to a long standing fatal cross development compiler bug in the
- Solaris -> Lynxos cross development environment.
- (LynxOS gcc 2.95.3 cross compiler)
-
-Tue Aug 17 08:00:00 UTC 2004 Martin Corino
-
- * ace/ACE.h:
- ace/ACE.cpp:
-
- Added ACE::is_sock_error() to be able to test if errorcode is
- WinSock error *before* converting to error string.
-
- * ace/OS_NS_String.cpp:
-
- Fixed WCHAR bug in ACE_OS::strerror().
- Introduced use of ACE::is_sock_error().
-
-Mon Aug 16 22:53:53 2004 Ossama Othman
-
- * ace/SSL/SSL_SOCK_Stream.cpp (~ACE_SSL_SOCK_Stream):
-
- Removed useless invalidation of "ssl_" pointer member by
- assignment of zero. Once the destructor is called, the object
- no longer exists so invalidation is unnecessary.
-
-Mon Aug 16 16:54:18 2004 J.T. Conklin
-
- * bin/MakeProjectCreator/config/ftorbutils.mpb
- * bin/MakeProjectCreator/config/smart_proxies.mpb
- * bin/MakeProjectCreator/config/svc_utils.mpb
-
- Changed to inherit from orbsvcslib instead of taolib_with_idl.
-
- * bin/MakeProjectCreator/config/orbsvcslib.mpb:
-
- Added $(TAO_ROOT)/orbsvcs to includes.
- Added -I$(TAO_ROOT)/orbsvcs to idlflags.
-
-Mon Aug 16 15:58:21 2004 Steve Huston
-
- * ace/Signal.cpp: Added template instantiations for
- ACE_Fixed_Set_Iterator_Base. Related to:
- Mon Aug 2 08:55:17 2004 Douglas C. Schmidt
-
-Mon Aug 16 15:30:29 2004 Steve Huston
-
- * ace/Task.cpp (svc_run): Added "defined (ACE_WIN32)" to the
- "defined (__IBMCPP__)" test for how to cast a thread result.
- __IBMCPP__ is defined for both Windows (where the alternate cast
- is needed) and AIX (where it is prohibited).
- This is related to this change:
- Fri Aug 6 08:34:12 UTC 2004 Johnny Willemsen
-
-Mon Aug 16 11:54:50 2004 Ossama Othman
-
- * ace/ACE.h (debug):
-
- Corrected the export qualifier for these functions. They are no
- longer inlined.
-
-Mon Aug 16 11:16:02 2004 Ossama Othman
-
- * ace/ACE.h:
-
- Moved remaining ACE namespace variables out of header and into
- the '.cpp' file. They should not be accessed/modified
- directly.
-
- * ace/ACE.inl (hex_chars_, nibble2hex):
-
- No need to declare/define the hex_chars_ constant variable in
- the ACE namespace. Define it as a static constant in the
- nibble2hex() function instead, the only place it is used.
-
- * ace/ACE.cpp (debug):
-
- Unlined these functions. They generally aren't performance
- critical, and doing so allows us to remove the ACE::debug_
- internal variable to the '.cpp' file.
-
-Mon Aug 16 11:16:02 2004 Ossama Othman
-
- * ace/ACE.h:
- * ace/ACE.cpp:
-
- Added remaining missing DLL export qualifiers. Fixes
- "unresolved external symbol" errors in MS Windows builds.
-
- Moved variables in ACE namespace that are internal to ACE into
- the '.cpp' file. They should be not be accessed or modified
- directly.
-
-Mon Aug 16 10:58:09 2004 Ossama Othman
-
- * ace/ACE.h (recv):
-
- Fixed DLL export qualifier. Addresses "unresolved external
- symbol" link-time errors in MS Windows builds.
-
-Mon Aug 16 12:14:37 2004 Balachandran Natarajan
-
- * bin/MakeProjectCreator/config/ciao_deployment_stub.mpb:
- * bin/MakeProjectCreator/config/ciao_deployment_svnt.mpb:
- * bin/MakeProjectCreator/config/ciao_server_dnc.mpb:
-
- Changed the names of the Deployment libraries. Arranged the
- dependencies in such a manner so that it is easier to use it in
- the application.
-
-Mon Aug 16 09:27:12 UTC 2004 Martin Corino
-
- * bin/msvc_mpc_auto_compile.pl:
-
- Added MSVC 7.1 compatibility through '-vc7' option.
-
- * bin/msvc_static_compile.pl:
-
- Added MSVC 7.1 compatibility through '-vc7' option. Added
- support for MPC '-name_modifier' option.
-
- * bin/msvc_static_compile.lst:
-
- Removed projectfile extensions to be able to generate these
- dynamically from 'msvc_static_compile.pl'.
-
-Sat Aug 14 19:38:20 2004 Ossama Othman
-
- * ace/CDR_Base.h:
-
- Do not include "ace/If_Then_Else.h" when using MSVC++ 6. It
- can't handle the partial template specializations in that file.
-
-Sat Aug 14 19:34:02 2004 Ossama Othman
-
- * ace/Sock_Connect.cpp (ipv6_enabled_):
-
- Fixed syntax error.
-
-Sat Aug 14 13:07:50 2004 Ossama Othman
-
- * ace/QoS/SOCK_Dgram_Mcast_QoS.cpp (subscribe_ifs):
-
- The "ACE_Sock_Connect" interim pseudo namespace no longer
- exists. Use the true "ACE" C++ namespace instead. Fixes a
- compile-time error.
-
-Sat Aug 14 14:48:01 2004 Balachandran Natarajan
-
- * bin/MakeProjectCreator/templates/gnu.mpd:
-
- Add /usr/lib as a path for library check. If the location of the
- library is not specified by the application, the compiler,
- linker and loader knows where to look in for *nix based
- systems. So should our library checker.Without this applications
- MPC file starts pointing to /usr/lib to locate libraries like
- PCAP and XERCES, which can be installed with system
- libraries. It is bad to see installation specific thingies
- making its way up the order.
-
-Sat Aug 14 09:28:19 2004 Ossama Othman
-
- * ace/CDR_Base.h (ACE_CDR::Boolean):
-
- MSVC++ 6 can't handle partial template specializations so fall
- back on an unsigned char typedef if _MSC_VER < 1300 (i.e. MSVC++
- version is less than 7). This is an interim solution to get the
- MSVC++ 6 builds going again.
-
- * ace/IfThenElse.h:
- * ace/If_Then_Else.h:
-
- Renamed the former to the latter, including the class template
- defined within, to match ACE naming conventions. Thanks to Doug
- for pointing this out.
-
-Sat Aug 14 01:43:16 2004 Ossama Othman
-
- * ace/CDR_Base.h (ACE_CDR):
-
- Parenthesize boolean condition that is the first argument to the
- ACE::IfThenElse<> template to avoid any potential confusion.
-
-Sat Aug 14 00:33:59 2004 Ossama Othman
-
- * ace/IfThenElse.h (IfThenElse):
-
- Place sample code within a Doxygen code block. Addresses some
- documentation formatting problems.
-
-Fri Aug 13 23:26:56 2004 Ossama Othman
-
- * ace/IfThenElse.h:
-
- New template that allows one to choose between two types at
- compile-time based on a boolean value. This is basically the
- IfThenElse template described in the book "C++ Templates" by
- Vandevoorde and Josuttis.
-
- * ace/CDR_Base.h (ACE_CDR::Boolean):
-
- Detect at compile-time whether the C++ "bool" type can be used
- as the underlying ACE_CDR::Boolean type using the new
- ACE::IfThenElse template.
-
- * ace/ACE.h:
- * ace/Flag_Manip.cpp:
- * ace/Flag_Manip.h:
- * ace/Flag_Manip.inl:
- * ace/Handle_Ops.cpp:
- * ace/Handle_Ops.h:
- * ace/Init_ACE.cpp:
- * ace/Init_ACE.h:
- * ace/Lib_Find.cpp:
- * ace/Lib_Find.h:
- * ace/Sock_Connect.cpp:
- * ace/Sock_Connect.h:
-
- Functions that were in the pseudo "ACE" namespace are now in a
- true "ACE" C++ namespace.
-
- * ace/ACE.inl (log2):
-
- Use the prefix increment operator when incrementing the loop
- index. It is generally more efficient than the postfix
- increment operator.
-
- * ace/Asynch_Acceptor.cpp:
- * ace/Asynch_Connector.cpp:
- * ace/DEV_Connector.cpp:
- * ace/DLL_Manager.cpp:
- * ace/FILE_Addr.cpp:
- * ace/FILE_Connector.cpp:
- * ace/INET_Addr.inl:
- * ace/IO_SAP.cpp:
- * ace/IPC_SAP.cpp:
- * ace/Logging_Strategy.cpp:
- * ace/MEM_Acceptor.cpp:
- * ace/Memory_Pool.cpp:
- * ace/Naming_Context.cpp:
- * ace/POSIX_Asynch_IO.cpp:
- * ace/POSIX_Proactor.cpp:
- * ace/SOCK_Acceptor.cpp:
- * ace/SOCK_Dgram.cpp:
- * ace/SOCK_Dgram_Mcast.cpp:
- * ace/SOCK_SEQPACK_Acceptor.cpp:
- * ace/SPIPE_Connector.cpp:
- * ace/System_Time.cpp:
- * ace/UPIPE_Connector.cpp:
- * tests/Enum_Interfaces_Test.cpp:
- * tests/FIFO_Test.cpp:
- * tests/INET_Addr_Test.cpp:
- * tests/INET_Addr_Test_IPV6.cpp:
-
- Updated all calls to functions that were in the pseudo "ACE"
- namespace through a former ACE class base class
- (e.g. ACE_Sock_Connect, ACE_Flag_Manip, etc) to use the correct
- "ACE" namespace. Use of the base class names should never have
- been used since it was known long ago that the "ACE" pseudo
- namespace would be changed to true C++ namespace.
-
- * ace/Basic_Types.h:
- * ace/OS_NS_fcntl.inl:
- * ace/OS_NS_stdio.h:
- * ace/OS_NS_stdlib.h:
-
- Nuked trailing whitespace.
-
-Sat Aug 14 03:44:02 2004 Balachandran Natarajan
-
- * ace/TSS_T.cpp:
-
- Fixed compilation errors in the SingleThreaded builds.
-
-Sat Aug 14 03:37:44 2004 Balachandran Natarajan
-
- * ace/OS_NS_Thread.cpp:
-
- Fixed a unused variable warning in the daily builds.
-
-Sat Aug 14 01:58:32 2004 Balachandran Natarajan
-
- * Release:
-
- Added the NEWS file to the release. Thanks to Ramiro Morales
-