summaryrefslogtreecommitdiff
path: root/ACE-configuration.txt
blob: cb68fad0edcd751cbb11d0a12d6e1dd94eb70dc5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
* $Id$ *

================================================================
Configuring ACE Using the `configure' Script
================================================================

QuickStart
----------
Since autoconf support in ACE is still under development, to enable
support for autoconf in ACE, run the script `bootstrap' in the `bin'
directory found in the top-level ACE source directory from the
top-level source directory.  For example, the following set of
commands will set up ACE's autoconf support, and cause ACE to be
configured and built:


    bin/bootstrap
    mkdir objdir
    cd objdir
    ../configure --enable-maintainer-mode.
    make

Note that this bootstrapping procedure requires that GNU Autoconf (>=
2.13), GNU Automake (>= 1.4) and GNU libtool (>= 1.3.3) are installed
and available in your path in order for the procedure to be
successful.  Once autoconf support in ACE is fully integrated, these
requirements will not be necessary.  You will be able to simply run
the configure script without any options.

Description
-----------
To help speed development, the work being done by the ACE
Configuration Project is being slowly introduced into the official ACE
distribution.  Some of the functionality in the work created by the
ACE Configuration Project has been removed so that ACE may be built in
the usual fashion.  Once the ACE Configuration Project work stabilizes
on more platforms that removed functionality may be added to ACE.

Currently the configure script contains most of the tests that are
necessary to properly configure ACE on most platforms.  However, there
are still some autoconf tests that are missing.  As such, you may
encounter and most likely will have compilation problems.  Please
report any problems to the contacts listed at the end of this
document.

The `configure' script that is currently being used has been modified
from the ACE Configuration Project's `configure' script to prevent
makefiles from being automatically generated since there are still
some issues that must be addressed before automatically generated
makefiles are incorporated into the official ACE distribution.

A listing of available configure script options can be shown by
entering:

	./configure --help

at the command line.  The output should look something like the
following:


Usage: configure [options] [host]
Options: [defaults in brackets after descriptions]
Configuration:
  --cache-file=FILE       cache test results in FILE
  --help                  print this message
  --no-create             do not create output files
  --quiet, --silent       do not print `checking...' messages
  --version               print the version of autoconf that created configure
Directory and file names:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [same as prefix]
  --bindir=DIR            user executables in DIR [EPREFIX/bin]
  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
  --datadir=DIR           read-only architecture-independent data in DIR
                          [PREFIX/share]
  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
                          [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
  --includedir=DIR        C header files in DIR [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
  --infodir=DIR           info documentation in DIR [PREFIX/info]
  --mandir=DIR            man documentation in DIR [PREFIX/man]
  --srcdir=DIR            find the sources in DIR [configure dir or ..]
  --program-prefix=PREFIX prepend PREFIX to installed program names
  --program-suffix=SUFFIX append SUFFIX to installed program names
  --program-transform-name=PROGRAM
                          run sed PROGRAM on installed program names
Host type:
  --build=BUILD           configure for building on BUILD [BUILD=HOST]
  --host=HOST             configure for HOST [guessed]
  --target=TARGET         configure for TARGET [TARGET=HOST]
Features and packages:
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --x-includes=DIR        X include files are in DIR
  --x-libraries=DIR       X library files are in DIR
--enable and --with options recognized:
  --enable-static[=PKGS]  build static libraries [default=no]
  --enable-shared[=PKGS]  build shared libraries [default=yes]
  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
  --disable-libtool-lock  force libtool not to do file locking
  --enable-debug          enable debugging                [default=yes]
  --enable-exceptions     enable C++ exception handling   [default=yes]
  --enable-fast           enable -fast flag, e.g. Sun C++ [default=no]
  --enable-inline         enable code inlining            [default=yes]
  --enable-log-msg-prop   enable threads inheriting
                          ACE_Log_Msg properties from parent
                          thread                          [default=yes]
  --enable-logging        enable ACE logging macros       [default=yes]
  --enable-malloc-stats   enable malloc statistics
                          collection                      [default=no]
  --enable-optimize       enable additional optimizations [default=yes]
  --enable-probe          enable ACE_Timeprobes           [default=no]
  --enable-profile        enable profiling                [default=no]
  --enable-purify         Purify all executables          [default=no]
  --enable-quantify       Quantify all executables        [default=no]
  --enable-reentrant      enable reentrant functions      [default=yes]
  --enable-repo           use GNU template repository
                          GNU C++ with repo patches and
                          EGCS only                       [default=no]
  --enable-rtti           enable run-time type
                          identification
                          *Currently only for Sun C++     [default=no]
  --enable-static-obj-mgr enable static Object_Manager    [default=yes]
  --enable-threads        enable thread support           [default=yes]
  --enable-verb-not-sup   enable verbose ENOTSUP reports  [default=no]
  --enable-trace          enable ACE tracing              [default=no]
  --enable-xt-reactor     build support for the XtReactor [default=no]
  --with-x                use the X Window System
  --with-gperf            compile the gperf program       [default=yes]
  --with-orbix[=DIR]      compile ACE with Orbix          [default=no]
  --with-tli-device[=DEV] device for TCP on TLI           [default=/dev/tcp]

To enable debugging and disable code inlining, for example, just enter the
following on the command line:

	./configure --enable-debug --disable-inline

This will generate a configuration header file `ace/config.h' to be used when
compiling ACE that will enable ACE debugging macros and disable code inlining
during compilation of ACE.

Once the `ace/config.h' header has been created you will have to select a
platform macros file.  Please read the ACE installation documents for more
information about this.

----------------------------------------------------------------
Caveats
----------------------------------------------------------------
Much of the power of the `configure' script will not be useful until the
automatically generated makefiles are enabled in ACE.  Configuration options
such as "--prefix" will not be useful for this reason.

The `configure' script will check for libraries that contain certain functions.
If it finds a library that isn't listed in your platform_macros.GNU file you
will have to add that library to the list of libraries to link against.

----------------------------------------------------------------
Contacts
----------------------------------------------------------------
If you do have problems please e-mail the ACE Configuration Project maintainer
at:

	Ossama Othman <othman@cs.wustl.edu>

or send mail to the ACE mailing list.

For more information take at a look at the ACE Configuration Project web page
at:

	http://www.cs.wustl.edu/~othman/aceconf