summaryrefslogtreecommitdiff
path: root/ACE-configuration.txt
blob: 2ed4d4449598198c76c70092168f95f7bc45b687 (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
----------------------------------------------------------------
Configuring ACE Using the `configure' Script
----------------------------------------------------------------

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