From 36dff72987c4412ba47b9d23f37e637005448d4b Mon Sep 17 00:00:00 2001
From: Steve Huston
-
-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, its Network Services,
test suite and examples on the various OS platforms and compilers that
@@ -33,7 +33,7 @@ tracking system to submit a report in accordance with our bug
report process.Document Index
+
-
ACE has been ported to a large number of platforms using many different compilers over the years. @@ -132,7 +132,8 @@ document.
consulting services for many platforms including AIX, HP-UX, Linux, Solaris, and Windows. -
no longer maintained and may be removed from ACE at any time. If you want to have support for these environments contact one of the commercial support organisations. The platforms include: - DG/UX, VxWorks 5.4, MSVC5/6/7.0, Borland C++ Builder 4 and 5. + DG/UX, HP-UX 9 and 10, VxWorks 5.4, MSVC5/6/7.0, + Borland C++ Builder 4 and 5. For up-to-date listings on platform that are deprecated and pending removal from ACE, please see the NEWS file. @@ -209,16 +211,18 @@ patches from the ACE+TAO user community for any platforms that aren't supported by the DOC group, Riverace, OCI or Remedy IT.
-
Many features in ACE can be modified by defining some macros in
$ACE_ROOT/ace/config.h
. These macros should
@@ -250,7 +260,7 @@ and Windows.
GNU Autoconf support is available in the ACE and ACE+TAO distributions in the DOC group website. More, precisely support for Autoconf will be @@ -368,8 +378,8 @@ c
../configure [options]
make install
.
In order to test and develop the GNU Autotool support in ACE or bootstrap autotool support into ACE when working directly off of ACE @@ -380,13 +390,13 @@ doing the following:
cd ACE_wrappers
- autoreconf -I m4 --install --force
+ ./bin/bootstrap
After doing so, you will be able to run the configure
script.
-Here's what you need to do to build ACE using GNU Make and ACE's traditional per-platform configuration method:
@@ -491,147 +501,69 @@ include $(ACE_ROOT)/include/makeinclude/platform_sunos5_sunc++.GNU --
+
+
This section contains instructions for building ACE on Microsoft +Windows with a variety of compilers and development environments.
-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.+
First, if you are upgrading from an older release, the recommended practice +is to start with a clean directory. Unpacking the newer release over an older +one will not clean up any old files, and trying to use the environment's +"Clean" command will probably not account for all existing files.
--
- -
config.h
in the ACE_ROOT\ace
- directory that contains: #include "ace/config-win32.h"
#define ACE_HAS_WINNT4 0
set ACE_ROOT=C:\ACE_wrappers
set BCBVER=6
make -f Makefile.bor all
set DEBUG=1
set STATIC=1
set UNICODE=1
set CODEGUARD=1
set CPU_FLAG=-6
set CBX=1
make -f Makefile.bor all
make -f Makefile.bor -DDEBUG all
make -f Makefile.bor -DINSTALL_DIR=C:\ACETAO install
-
-Note that when you run make
in a sub directory you give make -f Makefile.bor all
. The all
is needed to make sure the complete project is build.
- -The Borland C++ Builder 4.0/5.0/6.0/2006 port has been done by Jody Hagins, Christopher Kohlhoff and Johnny Willemsen.
- -ACE TESTS
- -Before you can build the tests you need to build the protocols directory. -Change the directory to ACE_ROOT\protocols and start the build with:
-
-make -f Makefile.bor all
-
- -The tests are located in ACE_ROOT\tests, change to this directory. -You build then the tests with the following command:
-
-make -f Makefile.bor all
-
- -Once you build all the tests, you can run the automated test script using:
-
perl 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 contains project files for Microsoft Visual Studio .NET 2003 (VC7.1)
+and Visual Studio 2005 (VC8). Visual Studio 2005 supports building for
+desktop/server Windows as well as for Windows CE and Windows Mobile. Since
+not all users will be interested in the CE/Mobile capability, these platforms
+have separate solution and project files from the desktop/server Windows.
+Furthermore, VC7.1 and VC8 use different file formats but the same file
+suffixes (.sln
and .vcproj
). To support both
+environments, ACE supplies files with different names for the different
+development and target platforms. The platform/name mapping is shown below.
+All solution files have a .sln
suffix and all project files have
+a .vcproj
suffix.
Platform | +File Name | +
---|---|
VC7.1 | +name (no decorator) + | +
VC8 for desktop/server | +name_vc8
+ |
+
VC8 for Windows CE/Mobile | +name_WinCE
+ |
+
If you happen to open a VC7.1 file from within VC8, it will offer to convert +the file to the newer format for you. Do not do this; there have been +reports of Visual Studio crashing while attempting to convert the large +solution and project files to build ACE. Simply refuse the conversion and +open the file with the correct format.
+
+ +
config.h
in the ACE_ROOT\ace
+ directory that contains: #include "ace/config-win32.h"
#define ACE_HAS_WINNT4 0
set ACE_ROOT=C:\ACE_wrappers
set BCBVER=6
make -f Makefile.bor all
set DEBUG=1
set STATIC=1
set UNICODE=1
set CODEGUARD=1
set CPU_FLAG=-6
set CBX=1
make -f Makefile.bor all
make -f Makefile.bor -DDEBUG all
make -f Makefile.bor -DINSTALL_DIR=C:\ACETAO install
+
+Note that when you run make
in a sub directory you give make -f Makefile.bor all
. The all
is needed to make sure the complete project is build.
+ +The Borland C++ Builder 4.0/5.0/6.0/2006 port has been done by Jody Hagins, Christopher Kohlhoff and Johnny Willemsen.
+ +ACE TESTS
+ +Before you can build the tests you need to build the protocols directory. +Change the directory to ACE_ROOT\protocols and start the build with:
+
+make -f Makefile.bor all
+
+ +The tests are located in ACE_ROOT\tests, change to this directory. +You build then the tests with the following command:
+
+make -f Makefile.bor all
+
+ +Once you build all the tests, you can run the automated test script using:
+
perl 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.
-
If you are building for a machine without a network card, you may want @@ -943,7 +994,7 @@ 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 @@ -1088,10 +1139,9 @@ of the various tests on Cygwin and the different Windows flavors.
-
Interix comes with a BSD style make you need GNUmake. -
-Make builds easily under Interix or there is a pre-built +
Interix comes with a BSD style make; you need GNU make. +Make builds easily under Interix or there is a prebuilt package at:
http://www.interopsystems.com/tools/warehouse.htm
@@ -1123,7 +1173,7 @@ to modify your LD_LIBRARY_PATH as explained in-
spa
, spaef
and vx_execa
this problem by building a regular argc
and argv
which also contain a
valid argv[0]
element.
-Building Shared Libraries for VxWorks.
+Building Shared Libraries for VxWorks.
NOTE: Since VxWorks support is currently being reworked with
an initial focus on static builds the support for shared builds is momentarily
@@ -1325,7 +1375,7 @@ recommend creating just one program, and spawning a thread for each
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
@@ -1340,7 +1390,7 @@ After building the shared lib, link it into the kernel by setting
the MACH_EXTRA
make variable in the kernel configuration
Makefile. Then, build the kernel using make exe
.
-
Using the one-button ACE tests with VxWorks.
+Using the one-button ACE tests with VxWorks.
It is possible to generate a script to execute all ACE tests. You can do this by executing
% perl run_test.pl -v -o > run_test.vxworks @@ -1389,7 +1439,7 @@ approach for running the ACE tests on Tornado II:
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.
@@ -1682,56 +1731,8 @@ 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. - --
- -
main
) contained in $ACE_ROOT/netsvcs/servers/main.cpp
- should also be compiled and ready to run.- -
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- -
- % setenv LD_LIBRARY_PATH $ACE_ROOT/ace:$ACE_ROOT/lib:$LD_LIBRARY_PATH
-
- -
main
driver program dynamically.
- To specify which services should be linked in and executed, edit the
- $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
- 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.- -
-
-
export RTEMS_MAKEFILE_PATH=/opt/rtems/CPU-rtems/BSP # setup the build structure @@ -1782,20 +1783,68 @@ cd ../TAO make+ +
-
+ +
main
) contained in $ACE_ROOT/netsvcs/servers/main.cpp
+ should also be compiled and ready to run.+ +
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+ +
+ % setenv LD_LIBRARY_PATH $ACE_ROOT/ace:$ACE_ROOT/lib:$LD_LIBRARY_PATH
+
+ +
main
driver program dynamically.
+ To specify which services should be linked in and executed, edit the
+ $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
+ 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.+ +
+
+
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 below.
-SSL_ROOT
environment variable to the location
of the directory containing the OpenSSL inc32
and
@@ -1836,7 +1885,7 @@ below.
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.
-
ACE_Reactors
for various GUI
libraries.
- Windows
the results are shared QtReactor.dll
and import
QtReactor.lib
libraries or their variants depending on build options.
When compiling TAO also GUI related libraries are created like libTAO_QtResource.so
.
- ACE_[GUI]Reactor
library. When using TAO support for GUI one has
- also to link with specific TAO_[GUI]Resource
library.
- TAO_[GUI]Resource
library.ACE_wrappers/bin/MakeProjectCreator/[ace,tao]_[gui][reactor,resource].mpb
- may be an examples of how to do this.
- ace_[gui]reactor.mpb
base projects. To employ TAO support for GUI one should derive
the project from tao_[gui]resource.mpb
These base projects ensure that all necessary libraries
are linked to the application, specifies features necessary to build a project and moreover impose a
build order consistant with ACE. For example, the application project using XtReactor
should be
- derived from ace_xtreactor.mpb
.
- ace_xtreactor.mpb
.QtReactor
ace_qtreactor
[1 by default] feature.
@@ -1956,7 +2007,7 @@ libraries.
x11
switch is ignored for this platform.@@ -2479,7 +2530,7 @@ libraries.
-
@@ -2544,8 +2595,8 @@ in $ACE_ROOT/include/makeinclude/platform_macros.GNU
also. See
library customization instructions for more information.
-
-
-
@@ -2650,7 +2701,7 @@ The Eclipse CDT C++ development environment can be used to develop ACE applicati
-
-
-
-
ACE::init ()
and ACE::fini
@@ -2750,7 +2801,7 @@ in ace/OS_main.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
@@ -2784,7 +2835,7 @@ See the comments at the top of the create_ace_build.pl script for
further 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
@@ -2820,7 +2871,7 @@ 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
@@ -2918,7 +2969,7 @@ show_uninit Lists all uninitialized in object files built for
-
Building from anonymous CVS
+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
diff --git a/ChangeLog b/ChangeLog
index 45d118616c8..8d8ec4a76dd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Sat Jun 10 22:32:03 UTC 2006 Steve Huston
+
+ * ACE-INSTALL.html: Corrected a bunch of platform build things and
+ hopefully clarified the sections a bit.
+
+ * bin/make_release: Removed the search for, and chmod for, dsp/dsw
+ files - they're for MSVC6 which is no longer generated.
+
Sat Jun 10 10:07:32 UTC 2006 Phil Mesnier
* ace/Thread_Manager.cpp:
diff --git a/bin/make_release b/bin/make_release
index a0c73c050c7..5126de53d4f 100755
--- a/bin/make_release
+++ b/bin/make_release
@@ -819,7 +819,6 @@ sub generate_makefiles () {
bin/mwc.pl -type vc71 $mpc_option $exclude_option; \
bin/mwc.pl -type borland $mpc_option $exclude_option; \
bin/mwc.pl -type vc71 $static_option; \
- find ./ -name '*.ds[p,w]' | /usr/bin/xargs chmod 0644;\
find ./ -name '*.bor' | /usr/bin/xargs chmod 0644;\
find ./ -name '*.vcproj' | /usr/bin/xargs chmod 0644;\
find ./ -name '*.sln' | /usr/bin/xargs chmod 0644");
--
cgit v1.2.1