]>
Commit | Line | Data |
---|---|---|
b2dad0e3 | 1 | # Process this file with autoconf to produce a configure script, like so: |
d2caef2e | 2 | # aclocal && autoconf && autoheader && automake |
b2dad0e3 BK |
3 | |
4 | AC_PREREQ(2.13) | |
1228c7b6 | 5 | AC_INIT(src/ios.cc) |
e2c20fae | 6 | |
6706f116 AO |
7 | # This works around the fact that libtool configuration may change LD |
8 | # for this particular configuration, but some shells, instead of | |
9 | # keeping the changes in LD private, export them just because LD is | |
2c839a4e | 10 | # exported. Only used at the end of this file. |
6706f116 AO |
11 | ORIGINAL_LD_FOR_MULTILIBS=$LD |
12 | ||
33590f13 | 13 | PACKAGE=libstdc++ |
33590f13 | 14 | AC_SUBST(PACKAGE) |
4e10943d | 15 | # For typical GNU versioning info, format is MAJOR.MINOR.MICRO |
da2c31ae | 16 | release_VERSION=3.1.1 |
4e10943d BK |
17 | AC_SUBST(release_VERSION) |
18 | # For libtool versioning info, format is CURRENT:REVISION:AGE | |
da2c31ae | 19 | libtool_VERSION=4:1:0 |
4e10943d | 20 | AC_SUBST(libtool_VERSION) |
b2dad0e3 | 21 | |
aebb8c22 DD |
22 | GLIBCPP_TOPREL_CONFIGURE |
23 | ||
58b08ac3 | 24 | # Gets build, host, target, *_vendor, *_cpu, *_os, etc. |
2c839a4e PE |
25 | # |
26 | # You will slowly go insane if you do not grok the following fact: when | |
27 | # building v3 as part of the compiler, the top-level /target/ becomes the | |
28 | # library's /host/. `configure' then causes --target to default to --host, | |
29 | # exactly like any other package using autoconf. Therefore, 'target' and | |
30 | # 'host' will always be the same. This makes sense both for native and | |
31 | # cross compilers, just think about it for a little while. :-) | |
32 | # | |
33 | # Also, if v3 is being configured as part of a cross compiler, the top-level | |
34 | # configure script will pass the "real" host as $with_cross_host. | |
35 | # | |
d2caef2e PE |
36 | # AC 2.5x sets target_alias iff the user specified --target, but we use it |
37 | # everywhere, so we set it here just to be sure. In AC 2.13 | |
38 | # AC_CANONICAL_TARGET was known as AC_CANONICAL_SYSTEM. | |
b2dad0e3 | 39 | AC_CANONICAL_SYSTEM |
52b55e7d PE |
40 | target_alias=${target_alias-$target} |
41 | AC_SUBST(target_alias) | |
b2dad0e3 | 42 | |
4e10943d | 43 | AM_INIT_AUTOMAKE($PACKAGE, $release_VERSION) |
33590f13 | 44 | AM_CONFIG_HEADER(config.h) |
4a9d5109 | 45 | |
2c839a4e PE |
46 | # Runs configure.target, finds CC, CXX and assorted other critical bits. |
47 | # Must run this before the GLIBCPP_ENABLE_* macros below. | |
b2dad0e3 | 48 | GLIBCPP_CONFIGURE(.) |
f4c79fef | 49 | |
b2dad0e3 | 50 | AC_LIBTOOL_DLOPEN |
5780a46b | 51 | AM_PROG_LIBTOOL |
34791641 PE |
52 | AC_SUBST(enable_shared) |
53 | AC_SUBST(enable_static) | |
04e78786 | 54 | |
b2dad0e3 | 55 | # Check for c++ or library specific bits that don't require linking. |
33590f13 BK |
56 | #GLIBCPP_CHECK_COMPILER_VERSION |
57 | GLIBCPP_CHECK_GNU_MAKE | |
b2dad0e3 | 58 | |
33590f13 | 59 | # Enable all the variable C++ stuff. C_MBCHAR must come early. |
7f586614 | 60 | GLIBCPP_ENABLE_DEBUG($USE_MAINTAINER_MODE) |
b2dad0e3 | 61 | GLIBCPP_ENABLE_CSTDIO |
0214010c | 62 | GLIBCPP_ENABLE_CLOCALE |
e26cb7ab | 63 | GLIBCPP_ENABLE_C_MBCHAR([yes]) |
7cda84dc BK |
64 | GLIBCPP_ENABLE_C99([yes]) |
65 | GLIBCPP_ENABLE_LONG_LONG([yes]) | |
e01c9849 | 66 | GLIBCPP_ENABLE_CHEADERS([$c_model]) |
b2dad0e3 | 67 | GLIBCPP_ENABLE_THREADS |
32a4595e | 68 | GLIBCPP_ENABLE_CXX_FLAGS([none]) |
52a11cbf | 69 | GLIBCPP_ENABLE_SJLJ_EXCEPTIONS |
263c6fa8 | 70 | GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS |
4d16bdbb | 71 | GLIBCPP_ENABLE_CONCEPT_CHECKS |
b2dad0e3 | 72 | |
7e90efc4 KG |
73 | # Check for headers necessary for libsupc++ using dyn-string.c/cxa_demangle.c |
74 | AC_CHECK_HEADERS(string.h stdlib.h) | |
33590f13 | 75 | |
39f5fa33 | 76 | if test -n "$with_cross_host" || test x"$build" != x"$host"; then |
b2dad0e3 | 77 | |
39f5fa33 | 78 | # We are being configured with some form of cross compiler. |
4a9d5109 | 79 | GLIBCPP_IS_CROSS_COMPILING=1 |
eebc608e | 80 | |
2c839a4e PE |
81 | # This lets us hard-code the functionality we know we'll have in the cross |
82 | # target environment. "Let" is a sugar-coated word placed on an especially | |
83 | # dull and tedious hack, actually. | |
84 | # | |
85 | # Here's why GLIBCPP_CHECK_MATH_SUPPORT, and other autoconf macros | |
86 | # that involve linking, can't be used: | |
87 | # "cannot open sim-crt0.o" | |
88 | # "cannot open crt0.o" | |
89 | # etc. All this is because there currently exists no unified, consistent | |
90 | # way for top level CC information to be passed down to target directories: | |
91 | # newlib includes, newlib linking info, libgloss versus newlib crt0.o, etc. | |
92 | # When all of that is done, all of this hokey, excessive AC_DEFINE junk for | |
93 | # crosses can be removed. | |
94 | ||
95 | # If Canadian cross, then don't pick up tools from the build directory. | |
96 | # Used in GLIBCPP_EXPORT_INCLUDES (and nowhere else?). | |
39f5fa33 | 97 | if test -n "$with_cross_host" && test x"$build" != x"$with_cross_host"; then |
b2dad0e3 | 98 | CANADIAN=yes |
b2dad0e3 BK |
99 | else |
100 | CANADIAN=no | |
b2dad0e3 BK |
101 | fi |
102 | ||
75940b88 SE |
103 | # Construct crosses by hand, eliminating bits that need ld... |
104 | # GLIBCPP_CHECK_COMPILER_FEATURES | |
105 | # GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT | |
106 | # GLIBCPP_CHECK_MATH_SUPPORT | |
107 | ||
b2dad0e3 | 108 | case "$target_alias" in |
1d8939ef | 109 | *-linux*) |
2c839a4e | 110 | os_include_dir="os/gnu-linux" |
75940b88 | 111 | AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \ |
2c839a4e PE |
112 | machine/endian.h machine/param.h sys/machine.h sys/types.h \ |
113 | fp.h locale.h float.h inttypes.h]) | |
75940b88 SE |
114 | SECTION_FLAGS='-ffunction-sections -fdata-sections' |
115 | AC_SUBST(SECTION_FLAGS) | |
116 | GLIBCPP_CHECK_LINKER_FEATURES | |
117 | GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT | |
118 | GLIBCPP_CHECK_WCHAR_T_SUPPORT | |
75940b88 SE |
119 | AC_DEFINE(HAVE_COPYSIGN) |
120 | AC_DEFINE(HAVE_COPYSIGNF) | |
a616effa | 121 | AC_DEFINE(HAVE_FINITE) |
75940b88 SE |
122 | AC_DEFINE(HAVE_FINITEF) |
123 | AC_DEFINE(HAVE_FREXPF) | |
124 | AC_DEFINE(HAVE_HYPOTF) | |
a616effa SE |
125 | AC_DEFINE(HAVE_ISINF) |
126 | AC_DEFINE(HAVE_ISINFF) | |
127 | AC_DEFINE(HAVE_ISNAN) | |
128 | AC_DEFINE(HAVE_ISNANF) | |
75940b88 SE |
129 | AC_DEFINE(HAVE_SINCOS) |
130 | AC_DEFINE(HAVE_SINCOSF) | |
131 | if test x"long_double_math_on_this_cpu" = x"yes"; then | |
a616effa | 132 | AC_DEFINE(HAVE_FINITEL) |
2c839a4e | 133 | AC_DEFINE(HAVE_HYPOTL) |
a616effa SE |
134 | AC_DEFINE(HAVE_ISINFL) |
135 | AC_DEFINE(HAVE_ISNANL) | |
75940b88 SE |
136 | fi |
137 | ;; | |
138 | *-hpux*) | |
139 | # Check for available headers. | |
140 | AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \ | |
2c839a4e PE |
141 | machine/endian.h machine/param.h sys/machine.h sys/types.h \ |
142 | fp.h locale.h float.h inttypes.h]) | |
75940b88 SE |
143 | SECTION_FLAGS='-ffunction-sections -fdata-sections' |
144 | AC_SUBST(SECTION_FLAGS) | |
145 | GLIBCPP_CHECK_LINKER_FEATURES | |
146 | GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT | |
147 | GLIBCPP_CHECK_WCHAR_T_SUPPORT | |
2c839a4e | 148 | os_include_dir="os/hpux" |
75940b88 SE |
149 | AC_DEFINE(HAVE_COPYSIGN) |
150 | AC_DEFINE(HAVE_COPYSIGNF) | |
75940b88 SE |
151 | AC_DEFINE(HAVE_FREXPF) |
152 | AC_DEFINE(HAVE_HYPOT) | |
a616effa SE |
153 | case "$target_alias" in |
154 | *-hpux10*) | |
155 | AC_DEFINE(HAVE_FINITE) | |
156 | AC_DEFINE(HAVE_FINITEF) | |
157 | AC_DEFINE(HAVE_ISINF) | |
158 | AC_DEFINE(HAVE_ISINFF) | |
159 | AC_DEFINE(HAVE_ISNAN) | |
160 | AC_DEFINE(HAVE_ISNANF) | |
161 | ;; | |
162 | esac | |
163 | ||
75940b88 | 164 | ;; |
40ded872 JT |
165 | *-netbsd*) |
166 | # Check for available headers. | |
167 | AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \ | |
2c839a4e PE |
168 | machine/endian.h machine/param.h sys/machine.h sys/types.h \ |
169 | fp.h locale.h float.h inttypes.h]) | |
40ded872 JT |
170 | SECTION_FLAGS='-ffunction-sections -fdata-sections' |
171 | AC_SUBST(SECTION_FLAGS) | |
172 | GLIBCPP_CHECK_LINKER_FEATURES | |
173 | GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT | |
174 | GLIBCPP_CHECK_WCHAR_T_SUPPORT | |
2c839a4e | 175 | os_include_dir="os/bsd/netbsd" |
40ded872 JT |
176 | AC_DEFINE(HAVE_COPYSIGN) |
177 | AC_DEFINE(HAVE_COPYSIGNF) | |
178 | AC_DEFINE(HAVE_FINITEF) | |
a616effa | 179 | AC_DEFINE(HAVE_FINITE) |
40ded872 JT |
180 | AC_DEFINE(HAVE_FREXPF) |
181 | AC_DEFINE(HAVE_HYPOTF) | |
a616effa SE |
182 | AC_DEFINE(HAVE_ISINF) |
183 | AC_DEFINE(HAVE_ISINFF) | |
184 | AC_DEFINE(HAVE_ISNAN) | |
185 | AC_DEFINE(HAVE_ISNANF) | |
186 | if test x"long_double_math_on_this_cpu" = x"yes"; then | |
187 | AC_DEFINE(HAVE_FINITEL) | |
188 | AC_DEFINE(HAVE_ISINFL) | |
189 | AC_DEFINE(HAVE_ISNANL) | |
190 | fi | |
40ded872 | 191 | ;; |
660bdf36 AG |
192 | *-mingw32*) |
193 | AC_CHECK_HEADERS([sys/types.h locale.h float.h]) | |
194 | GLIBCPP_CHECK_LINKER_FEATURES | |
195 | GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT | |
196 | GLIBCPP_CHECK_WCHAR_T_SUPPORT | |
2c839a4e | 197 | os_include_dir="os/mingw32" |
660bdf36 | 198 | ;; |
522e3d22 | 199 | *-windiss*) |
2c839a4e | 200 | os_include_dir="os/windiss" |
522e3d22 | 201 | ;; |
6203ef88 | 202 | changequote(,)dnl |
f62bef48 | 203 | *-qnx6.[12]*) |
6203ef88 | 204 | changequote([,])dnl |
f62bef48 C |
205 | SECTION_FLAGS='-ffunction-sections -fdata-sections' |
206 | AC_SUBST(SECTION_FLAGS) | |
207 | GLIBCPP_CHECK_LINKER_FEATURES | |
208 | GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT | |
209 | GLIBCPP_CHECK_WCHAR_T_SUPPORT | |
2c839a4e | 210 | os_include_dir="os/qnx/qnx6.1" |
f62bef48 C |
211 | AC_DEFINE(HAVE_COSF) |
212 | AC_DEFINE(HAVE_COSL) | |
213 | AC_DEFINE(HAVE_COSHF) | |
214 | AC_DEFINE(HAVE_COSHL) | |
215 | AC_DEFINE(HAVE_LOGF) | |
216 | AC_DEFINE(HAVE_LOGL) | |
217 | AC_DEFINE(HAVE_LOG10F) | |
218 | AC_DEFINE(HAVE_LOG10L) | |
219 | AC_DEFINE(HAVE_SINF) | |
220 | AC_DEFINE(HAVE_SINL) | |
221 | AC_DEFINE(HAVE_SINHF) | |
222 | AC_DEFINE(HAVE_SINHL) | |
223 | ;; | |
b2dad0e3 | 224 | *) |
2c839a4e | 225 | os_include_dir="os/newlib" |
75940b88 SE |
226 | AC_DEFINE(HAVE_HYPOT) |
227 | ;; | |
b2dad0e3 | 228 | esac |
75940b88 | 229 | |
660bdf36 AG |
230 | case "$target_alias" in |
231 | *-mingw32*) | |
232 | ;; | |
522e3d22 MM |
233 | *-windiss*) |
234 | AC_DEFINE(HAVE_ACOSF) | |
235 | AC_DEFINE(HAVE_ASINF) | |
236 | AC_DEFINE(HAVE_ATAN2F) | |
237 | AC_DEFINE(HAVE_ATANF) | |
238 | AC_DEFINE(HAVE_CEILF) | |
239 | AC_DEFINE(HAVE_COPYSIGN) | |
240 | AC_DEFINE(HAVE_COPYSIGNF) | |
241 | AC_DEFINE(HAVE_COSF) | |
242 | AC_DEFINE(HAVE_COSHF) | |
243 | AC_DEFINE(HAVE_EXPF) | |
244 | AC_DEFINE(HAVE_FABSF) | |
245 | AC_DEFINE(HAVE_FLOORF) | |
246 | AC_DEFINE(HAVE_FMODF) | |
247 | AC_DEFINE(HAVE_FREXPF) | |
248 | AC_DEFINE(HAVE_LDEXPF) | |
249 | AC_DEFINE(HAVE_LOG10F) | |
250 | AC_DEFINE(HAVE_LOGF) | |
251 | AC_DEFINE(HAVE_MODFF) | |
252 | AC_DEFINE(HAVE_POWF) | |
253 | AC_DEFINE(HAVE_SINF) | |
254 | AC_DEFINE(HAVE_SINHF) | |
255 | AC_DEFINE(HAVE_SQRTF) | |
256 | AC_DEFINE(HAVE_TANF) | |
257 | AC_DEFINE(HAVE_TANHF) | |
258 | ;; | |
660bdf36 AG |
259 | *) |
260 | # GLIBCPP_CHECK_STDLIB_SUPPORT | |
261 | AC_DEFINE(HAVE_STRTOF) | |
262 | AC_DEFINE(HAVE_STRTOLD) | |
263 | # AC_FUNC_MMAP | |
264 | AC_DEFINE(HAVE_MMAP) | |
265 | ||
266 | AC_DEFINE(HAVE_ACOSF) | |
267 | AC_DEFINE(HAVE_ASINF) | |
268 | AC_DEFINE(HAVE_ATAN2F) | |
269 | AC_DEFINE(HAVE_ATANF) | |
270 | AC_DEFINE(HAVE_CEILF) | |
271 | AC_DEFINE(HAVE_COPYSIGN) | |
272 | AC_DEFINE(HAVE_COPYSIGNF) | |
273 | AC_DEFINE(HAVE_COSF) | |
274 | AC_DEFINE(HAVE_COSHF) | |
275 | AC_DEFINE(HAVE_EXPF) | |
276 | AC_DEFINE(HAVE_FABSF) | |
660bdf36 AG |
277 | AC_DEFINE(HAVE_FLOORF) |
278 | AC_DEFINE(HAVE_FMODF) | |
279 | AC_DEFINE(HAVE_FREXPF) | |
660bdf36 AG |
280 | AC_DEFINE(HAVE_LDEXPF) |
281 | AC_DEFINE(HAVE_LOG10F) | |
282 | AC_DEFINE(HAVE_LOGF) | |
283 | AC_DEFINE(HAVE_MODFF) | |
284 | AC_DEFINE(HAVE_POWF) | |
285 | AC_DEFINE(HAVE_SINF) | |
286 | AC_DEFINE(HAVE_SINHF) | |
287 | AC_DEFINE(HAVE_SQRTF) | |
288 | AC_DEFINE(HAVE_TANF) | |
289 | AC_DEFINE(HAVE_TANHF) | |
290 | ;; | |
291 | esac | |
75940b88 SE |
292 | |
293 | # At some point, we should differentiate between architectures | |
294 | # like x86, which have long double versions, and alpha/powerpc/etc., | |
295 | # which don't. For the time being, punt. | |
296 | if test x"long_double_math_on_this_cpu" = x"yes"; then | |
297 | AC_DEFINE(HAVE_ACOSL) | |
298 | AC_DEFINE(HAVE_ASINL) | |
299 | AC_DEFINE(HAVE_ATAN2L) | |
300 | AC_DEFINE(HAVE_ATANL) | |
301 | AC_DEFINE(HAVE_CEILL) | |
302 | AC_DEFINE(HAVE_COPYSIGNL) | |
303 | AC_DEFINE(HAVE_COSL) | |
304 | AC_DEFINE(HAVE_COSHL) | |
305 | AC_DEFINE(HAVE_EXPL) | |
306 | AC_DEFINE(HAVE_FABSL) | |
75940b88 SE |
307 | AC_DEFINE(HAVE_FLOORL) |
308 | AC_DEFINE(HAVE_FMODL) | |
309 | AC_DEFINE(HAVE_FREXPL) | |
75940b88 SE |
310 | AC_DEFINE(HAVE_LDEXPL) |
311 | AC_DEFINE(HAVE_LOG10L) | |
312 | AC_DEFINE(HAVE_LOGL) | |
313 | AC_DEFINE(HAVE_MODFL) | |
314 | AC_DEFINE(HAVE_POWL) | |
315 | AC_DEFINE(HAVE_SINCOSL) | |
316 | AC_DEFINE(HAVE_SINL) | |
317 | AC_DEFINE(HAVE_SINHL) | |
318 | AC_DEFINE(HAVE_SQRTL) | |
319 | AC_DEFINE(HAVE_TANL) | |
320 | AC_DEFINE(HAVE_TANHL) | |
321 | fi | |
2c839a4e | 322 | |
b2dad0e3 BK |
323 | else |
324 | ||
325 | # We are being configured natively. We can do more elaborate tests | |
326 | # that include AC_TRY_COMPILE now, as the linker is assumed to be | |
327 | # working. | |
4a9d5109 | 328 | GLIBCPP_IS_CROSS_COMPILING=0 |
b2dad0e3 | 329 | CANADIAN=no |
b2dad0e3 BK |
330 | |
331 | # Check for available headers. | |
332 | AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h machine/endian.h \ | |
de215bc6 | 333 | machine/param.h sys/machine.h fp.h locale.h float.h inttypes.h gconv.h sys/types.h]) |
b2dad0e3 | 334 | |
c470c17d BK |
335 | GLIBCPP_CHECK_COMPILER_FEATURES |
336 | GLIBCPP_CHECK_LINKER_FEATURES | |
b2dad0e3 BK |
337 | GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT |
338 | GLIBCPP_CHECK_MATH_SUPPORT | |
2f103494 | 339 | GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT |
b2dad0e3 | 340 | GLIBCPP_CHECK_WCHAR_T_SUPPORT |
e7140677 | 341 | GLIBCPP_CHECK_STDLIB_SUPPORT |
58b08ac3 | 342 | AC_LC_MESSAGES |
b2dad0e3 | 343 | |
48dbafe4 | 344 | AC_TRY_COMPILE([ |
f295ecef BK |
345 | #include <setjmp.h> |
346 | ], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);], | |
347 | [AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ]) | |
348 | ]) | |
48dbafe4 | 349 | |
b2dad0e3 | 350 | AC_FUNC_MMAP |
33590f13 | 351 | |
58b08ac3 BK |
352 | # Establish limits on memory usage during 'make check' |
353 | GLIBCPP_CONFIGURE_TESTSUITE | |
b2dad0e3 BK |
354 | fi |
355 | ||
c98b201b | 356 | # This depends on the possibly-skipped linker test above. |
ab3bc736 | 357 | GLIBCPP_ENABLE_SYMVERS([yes]) |
fe413112 | 358 | |
4a9d5109 | 359 | # Propagate the target-specific source directories through the build chain. |
2c839a4e PE |
360 | # (Nothing currently uses cpu_include_dir directly; only ATOMICITYH and |
361 | # CPULIMITSH [might] use it, and they only get used here.) | |
d32e25df PE |
362 | OS_INC_SRCDIR=config/${os_include_dir} |
363 | ATOMICITY_INC_SRCDIR=config/${ATOMICITYH} | |
364 | CPU_LIMITS_INC_SRCDIR=config/${CPULIMITSH} | |
4a9d5109 SW |
365 | AC_SUBST(OS_INC_SRCDIR) |
366 | AC_SUBST(ATOMICITY_INC_SRCDIR) | |
f295ecef | 367 | AC_SUBST(CPU_LIMITS_INC_SRCDIR) |
eebc608e | 368 | |
4a9d5109 | 369 | # Set up cross-compile flags |
2c839a4e | 370 | AC_SUBST(GLIBCPP_IS_CROSS_COMPILING) dnl Unused so far. |
6e138b89 | 371 | AM_CONDITIONAL(CANADIAN, test "$CANADIAN" = yes) |
c4d3f801 | 372 | |
5e53dba6 | 373 | AC_CACHE_SAVE |
b2dad0e3 | 374 | |
b2dad0e3 BK |
375 | if test "${multilib}" = "yes"; then |
376 | multilib_arg="--enable-multilib" | |
377 | else | |
378 | multilib_arg= | |
379 | fi | |
380 | ||
1fd2f510 BK |
381 | # Needed so that g++ can find the correct include subdir automatically. |
382 | INTERFACE=v3 | |
383 | ||
43ba4a58 BK |
384 | # Export all the install information |
385 | GLIBCPP_EXPORT_INSTALL_INFO | |
1fd2f510 | 386 | |
e466dc8a BK |
387 | # Export all the include and flag information to makefiles. |
388 | GLIBCPP_EXPORT_INCLUDES | |
389 | GLIBCPP_EXPORT_FLAGS | |
390 | ||
f8e4b51d AO |
391 | if ${CONFIG_SHELL-/bin/sh} ./libtool --tag CXX --features | |
392 | grep "enable shared" > /dev/null; then | |
393 | LIBSUPCXX_PICFLAGS=-prefer-pic | |
394 | else | |
395 | LIBSUPCXX_PICFLAGS= | |
396 | fi | |
397 | AC_SUBST(LIBSUPCXX_PICFLAGS) | |
398 | ||
4a9d5109 | 399 | # Generate the various Makefiles, include files, and scripts. |
b2dad0e3 | 400 | # NB: Multilibs need MULTISUBDIR defined correctly in src/Makefile.am |
c8f33f22 CD |
401 | # and libsupc++/Makefile.am so that multilib installs will end up |
402 | # installed in the correct place. To work around this not being passed | |
403 | # down from config-ml.in -> top_srcdir/Makefile.am -> | |
404 | # top_srcdir/{src,libsupc++}/Makefile.am, manually append it here. | |
4a9d5109 SW |
405 | AC_OUTPUT(Makefile \ |
406 | include/Makefile src/Makefile \ | |
407 | libmath/Makefile libio/Makefile libsupc++/Makefile \ | |
4e10943d | 408 | po/Makefile testsuite/Makefile mkcheck testsuite_flags, |
b2dad0e3 | 409 | [if test -n "$CONFIG_FILES"; then |
6706f116 | 410 | LD="${ORIGINAL_LD_FOR_MULTILIBS}" |
b2dad0e3 BK |
411 | ac_file=Makefile . ${glibcpp_basedir}/../config-ml.in |
412 | grep '^MULTISUBDIR =' Makefile >> src/Makefile | |
c8f33f22 | 413 | grep '^MULTISUBDIR =' Makefile >> libsupc++/Makefile |
be5aeb60 MM |
414 | fi |
415 | chmod +x mkcheck | |
c6192d88 | 416 | chmod +x testsuite_flags |
be5aeb60 | 417 | ], |
b2dad0e3 BK |
418 | srcdir=${srcdir} |
419 | host=${host} | |
420 | target=${target} | |
421 | with_multisubdir=${with_multisubdir} | |
422 | ac_configure_args="${multilib_arg} ${ac_configure_args}" | |
423 | CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} | |
424 | glibcpp_basedir=${glibcpp_basedir} | |
425 | CC="${CC}" | |
426 | CXX="${CXX}" | |
427 | ) | |
d2caef2e PE |
428 | dnl In autoconf 2.5x, AC_OUTPUT is replaced by three AC_ macros: |
429 | dnl AC_CONFIG_FILES(Makefile \ | |
430 | dnl include/Makefile src/Makefile \ | |
431 | dnl libmath/Makefile libio/Makefile libsupc++/Makefile \ | |
432 | dnl po/Makefile testsuite/Makefile mkcheck testsuite_flags) | |
433 | dnl AC_CONFIG_COMMANDS([default], | |
434 | dnl [if test -n "$CONFIG_FILES"; then | |
435 | dnl ac_file=Makefile . ${glibcpp_basedir}/../config-ml.in | |
436 | dnl grep '^MULTISUBDIR =' Makefile >> src/Makefile | |
437 | dnl grep '^MULTISUBDIR =' Makefile >> libsupc++/Makefile | |
438 | dnl fi | |
439 | dnl chmod +x mkcheck | |
440 | dnl chmod +x testsuite_flags | |
441 | dnl ], | |
442 | dnl srcdir=${srcdir} | |
443 | dnl host=${host} | |
444 | dnl target=${target} | |
445 | dnl with_multisubdir=${with_multisubdir} | |
446 | dnl ac_configure_args="${multilib_arg} ${ac_configure_args}" | |
447 | dnl CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} | |
448 | dnl glibcpp_basedir=${glibcpp_basedir} | |
449 | dnl CC="${CC}" | |
450 | dnl CXX="${CXX}" | |
451 | dnl ) | |
452 | dnl AC_OUTPUT | |
b2dad0e3 BK |
453 | |
454 | ||
29bd52c8 PE |
455 | # Sanity checking & User-visible messages. |
456 | # Checks down here, otherwise they get scrolled off before | |
457 | # the user will notice. | |
29bd52c8 | 458 | |
5780a46b BK |
459 | # Trying to get more people to read documentation. Possibly remove |
460 | # check and warn all the time. There is no "informational" AC_MSG_ | |
461 | # macro, so these are going to be printed even when --quiet/--silent | |
462 | # is given. | |
99b51359 BK |
463 | if test ! -f stamp-sanity-warned; then |
464 | touch stamp-sanity-warned | |
5780a46b BK |
465 | echo "" |
466 | echo "Please make certain that you read the installation information here:" | |
d6ab05a0 | 467 | echo " faster => ${srcdir}/docs/html/install.html" |
a9ab8db1 | 468 | echo " slower => <URL:http://gcc.gnu.org/onlinedocs/libstdc++/install.html>" |
5780a46b BK |
469 | echo "" |
470 | echo "and the configuration information here:" | |
d6ab05a0 | 471 | echo " faster => ${srcdir}/docs/html/configopts.html" |
a9ab8db1 | 472 | echo " slower => <URL:http://gcc.gnu.org/onlinedocs/libstdc++/configopts.html>" |
5780a46b | 473 | echo "" |
421173e6 | 474 | echo "before proceeding with ${_cv_gnu_make_command}." |
5780a46b | 475 | echo "" |
29bd52c8 | 476 | fi |