]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgcc/configure.ac
* configure: Check host, not target, for decimal float support.
[thirdparty/gcc.git] / libgcc / configure.ac
1 dnl Process this file with autoconf to produce a configure script.
2
3 sinclude(../config/acx.m4)
4 sinclude(../config/no-executables.m4)
5
6 AC_PREREQ(2.59)
7 AC_INIT([GNU C Runtime Library], 1.0,,[libgcc])
8 AC_CONFIG_SRCDIR([static-object.mk])
9
10 AC_ARG_WITH(target-subdir,
11 [ --with-target-subdir=SUBDIR Configuring in a subdirectory for target])
12 AC_ARG_WITH(cross-host,
13 [ --with-cross-host=HOST Configuring with a cross compiler])
14 AC_ARG_WITH(ld,
15 [ --with-ld arrange to use the specified ld (full pathname)])
16
17 if test "${srcdir}" = "."; then
18 if test -n "${with_build_subdir}"; then
19 libgcc_topdir="${srcdir}/../.."
20 with_target_subdir=
21 elif test -z "${with_target_subdir}"; then
22 libgcc_topdir="${srcdir}/.."
23 else
24 if test "${with_target_subdir}" != "."; then
25 libgcc_topdir="${srcdir}/${with_multisrctop}../.."
26 else
27 libgcc_topdir="${srcdir}/${with_multisrctop}.."
28 fi
29 fi
30 else
31 libgcc_topdir="${srcdir}/.."
32 fi
33 AC_SUBST(libgcc_topdir)
34 AC_CONFIG_AUX_DIR($libgcc_topdir)
35
36 AC_ARG_ENABLE(shared,
37 [ --disable-shared don't provide a shared libgcc],
38 [
39 case $enable_shared in
40 yes | no) ;;
41 *)
42 enable_shared=no
43 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
44 for pkg in $enableval; do
45 if test "X$pkg" = "Xgcc" || test "X$pkg" = "Xlibgcc"; then
46 enable_shared=yes
47 fi
48 done
49 IFS="$ac_save_ifs"
50 ;;
51 esac
52 ], [enable_shared=yes])
53 AC_SUBST(enable_shared)
54
55 AC_MSG_CHECKING([for --enable-version-specific-runtime-libs])
56 AC_ARG_ENABLE(version-specific-runtime-libs,
57 [ --enable-version-specific-runtime-libs Specify that runtime libraries should be installed in a compiler-specific directory ],
58 [case "$enableval" in
59 yes) version_specific_libs=yes ;;
60 no) version_specific_libs=no ;;
61 *) AC_MSG_ERROR([Unknown argument to enable/disable version-specific libs]);;
62 esac],
63 [version_specific_libs=no])
64 AC_MSG_RESULT($version_specific_libs)
65
66 AC_ARG_WITH(slibdir,
67 [ --with-slibdir=DIR shared libraries in DIR [LIBDIR]],
68 slibdir="$with_slibdir",
69 if test "${version_specific_libs}" = yes; then
70 slibdir='$(libsubdir)'
71 elif test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then
72 slibdir='$(exec_prefix)/$(host_noncanonical)/lib'
73 else
74 slibdir='$(libdir)'
75 fi)
76 AC_SUBST(slibdir)
77
78 AC_PROG_INSTALL
79
80 AC_PROG_AWK
81 # We need awk; bail out if it's missing.
82 case ${AWK} in
83 "") AC_MSG_ERROR([can't build without awk, bailing out]) ;;
84 esac
85
86 AC_CANONICAL_HOST
87 ACX_NONCANONICAL_HOST
88 GCC_TOPLEV_SUBDIRS
89
90 dnl These must be called before AM_PROG_LIBTOOL, because it may want
91 dnl to call AC_CHECK_PROG.
92 AC_CHECK_TOOL(AR, ar)
93 AC_CHECK_TOOL(LIPO, lipo, :)
94 AC_CHECK_TOOL(NM, nm)
95 AC_CHECK_TOOL(RANLIB, ranlib, :)
96 AC_CHECK_TOOL(STRIP, strip, :)
97 AC_PROG_LN_S
98
99 GCC_NO_EXECUTABLES
100 AC_PROG_CC
101 AC_PROG_CPP_WERROR
102
103 # Check for decimal float support.
104 AC_CACHE_CHECK([whether decimal floating point is supported], [libgcc_cv_dfp],
105 [AC_COMPILE_IFELSE([_Decimal32 x;], [libgcc_cv_dfp=yes],
106 [libgcc_cv_dfp=no])])
107 decimal_float=$libgcc_cv_dfp
108 AC_SUBST(decimal_float)
109
110 AC_ARG_ENABLE(decimal-float,
111 [ --enable-decimal-float={no,yes,bid,dpd}
112 enable decimal float extension to C. Selecting 'bid'
113 or 'dpd' choses which decimal floating point format
114 to use],
115 [
116 case $enable_decimal_float in
117 yes | no | bid | dpd) ;;
118 *) AC_MSG_ERROR(['$enable_decimal_float' is an invalid value for --enable-decimal-float.
119 Valid choices are 'yes', 'bid', 'dpd', and 'no'.]) ;;
120 esac
121 ],
122 [
123 case $host in
124 powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux*)
125 enable_decimal_float=yes
126 ;;
127 *)
128 enable_decimal_float=no
129 ;;
130 esac
131 ])
132
133 # x86's use BID format instead of DPD
134 if test x$enable_decimal_float = xyes; then
135 case $host in
136 i?86*-*-linux* | x86_64*-*-linux*)
137 enable_decimal_float=bid
138 ;;
139 *)
140 enable_decimal_float=dpd
141 ;;
142 esac
143 fi
144 AC_SUBST(enable_decimal_float)
145
146 # Collect host-machine-specific information.
147 . ${srcdir}/config.host
148
149 # Check for visibility support. This is after config.host so that
150 # we can check for asm_hidden_op.
151 AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
152 libgcc_cv_hidden_visibility_attribute, [
153 echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
154 libgcc_cv_hidden_visibility_attribute=no
155 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
156 if grep "\\$asm_hidden_op.*foo" conftest.s >/dev/null; then
157 libgcc_cv_hidden_visibility_attribute=yes
158 fi
159 fi
160 rm -f conftest.*
161 ])
162
163 if test $libgcc_cv_hidden_visibility_attribute = yes; then
164 vis_hide='-fvisibility=hidden -DHIDE_EXPORTS'
165 else
166 vis_hide=
167 fi
168 AC_SUBST(vis_hide)
169
170 # Conditionalize the makefile for this target machine.
171 tmake_file_=
172 for f in ${tmake_file}
173 do
174 if test -f ${srcdir}/config/$f
175 then
176 tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
177 fi
178 done
179 tmake_file="${tmake_file_}"
180 AC_SUBST(tmake_file)
181
182 # Substitute configuration variables
183 AC_SUBST(extra_parts)
184 AC_SUBST(asm_hidden_op)
185
186 # We need multilib support.
187 AC_CONFIG_FILES([Makefile])
188 AC_CONFIG_COMMANDS([default],
189 [[test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
190 if test -n "$CONFIG_FILES"; then
191 # FIXME: We shouldn't need to set ac_file
192 ac_file=Makefile
193 . ${libgcc_topdir}/config-ml.in
194 fi]],
195 [[srcdir=${srcdir}
196 host=${host}
197 with_target_subdir=${with_target_subdir}
198 with_multisubdir=${with_multisubdir}
199 ac_configure_args="--enable-multilib ${ac_configure_args}"
200 CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
201 libgcc_topdir=${libgcc_topdir}
202 CC="${CC}"
203 ]])
204 AC_OUTPUT