configure.ac revision 1.1.1.1
1dnl Process this file with autoconf to produce a configure script. 2 3sinclude(../config/enable.m4) 4sinclude(../config/tls.m4) 5sinclude(../config/acx.m4) 6sinclude(../config/no-executables.m4) 7sinclude(../config/override.m4) 8 9AC_PREREQ(2.64) 10AC_INIT([GNU C Runtime Library], 1.0,,[libgcc]) 11AC_CONFIG_SRCDIR([static-object.mk]) 12 13AC_ARG_WITH(target-subdir, 14[ --with-target-subdir=SUBDIR Configuring in a subdirectory for target]) 15AC_ARG_WITH(cross-host, 16[ --with-cross-host=HOST Configuring with a cross compiler]) 17AC_ARG_WITH(ld, 18[ --with-ld arrange to use the specified ld (full pathname)]) 19 20if test "${srcdir}" = "."; then 21 if test -n "${with_build_subdir}"; then 22 libgcc_topdir="${srcdir}/../.." 23 with_target_subdir= 24 elif test -z "${with_target_subdir}"; then 25 libgcc_topdir="${srcdir}/.." 26 else 27 if test "${with_target_subdir}" != "."; then 28 libgcc_topdir="${srcdir}/${with_multisrctop}../.." 29 else 30 libgcc_topdir="${srcdir}/${with_multisrctop}.." 31 fi 32 fi 33else 34 libgcc_topdir="${srcdir}/.." 35fi 36AC_SUBST(libgcc_topdir) 37AC_CONFIG_AUX_DIR($libgcc_topdir) 38 39AC_ARG_ENABLE(shared, 40[ --disable-shared don't provide a shared libgcc], 41[ 42 case $enable_shared in 43 yes | no) ;; 44 *) 45 enable_shared=no 46 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," 47 for pkg in $enableval; do 48 if test "X$pkg" = "Xgcc" || test "X$pkg" = "Xlibgcc"; then 49 enable_shared=yes 50 fi 51 done 52 IFS="$ac_save_ifs" 53 ;; 54 esac 55], [enable_shared=yes]) 56AC_SUBST(enable_shared) 57 58AC_MSG_CHECKING([for --enable-version-specific-runtime-libs]) 59AC_ARG_ENABLE(version-specific-runtime-libs, 60[ --enable-version-specific-runtime-libs Specify that runtime libraries should be installed in a compiler-specific directory ], 61[case "$enableval" in 62 yes) version_specific_libs=yes ;; 63 no) version_specific_libs=no ;; 64 *) AC_MSG_ERROR([Unknown argument to enable/disable version-specific libs]);; 65 esac], 66[version_specific_libs=no]) 67AC_MSG_RESULT($version_specific_libs) 68 69AC_ARG_WITH(slibdir, 70[ --with-slibdir=DIR shared libraries in DIR [LIBDIR]], 71slibdir="$with_slibdir", 72if test "${version_specific_libs}" = yes; then 73 slibdir='$(libsubdir)' 74elif test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then 75 slibdir='$(exec_prefix)/$(host_noncanonical)/lib' 76else 77 slibdir='$(libdir)' 78fi) 79AC_SUBST(slibdir) 80 81# Command-line options. 82# Very limited version of AC_MAINTAINER_MODE. 83AC_ARG_ENABLE([maintainer-mode], 84 [AC_HELP_STRING([--enable-maintainer-mode], 85 [enable make rules and dependencies not useful (and 86 sometimes confusing) to the casual installer])], 87 [case ${enable_maintainer_mode} in 88 yes) MAINT='' ;; 89 no) MAINT='#' ;; 90 *) AC_MSG_ERROR([--enable-maintainer-mode must be yes or no]) ;; 91 esac 92 maintainer_mode=${enableval}], 93 [MAINT='#']) 94AC_SUBST([MAINT])dnl 95 96AC_PROG_INSTALL 97 98AC_PROG_AWK 99# We need awk; bail out if it's missing. 100case ${AWK} in 101 "") AC_MSG_ERROR([can't build without awk, bailing out]) ;; 102esac 103 104AC_CANONICAL_HOST 105ACX_NONCANONICAL_HOST 106GCC_TOPLEV_SUBDIRS 107 108dnl These must be called before AM_PROG_LIBTOOL, because it may want 109dnl to call AC_CHECK_PROG. 110AC_CHECK_TOOL(AR, ar) 111AC_CHECK_TOOL(LIPO, lipo, :) 112AC_CHECK_TOOL(NM, nm) 113AC_CHECK_TOOL(RANLIB, ranlib, :) 114AC_CHECK_TOOL(STRIP, strip, :) 115AC_PROG_LN_S 116 117GCC_NO_EXECUTABLES 118AC_PROG_CC 119AC_PROG_CPP_WERROR 120 121# Check for decimal float support. 122AC_CACHE_CHECK([whether decimal floating point is supported], [libgcc_cv_dfp], 123 [AC_COMPILE_IFELSE([_Decimal32 x;], [libgcc_cv_dfp=yes], 124 [libgcc_cv_dfp=no])]) 125decimal_float=$libgcc_cv_dfp 126AC_SUBST(decimal_float) 127 128AC_ARG_ENABLE(decimal-float, 129[ --enable-decimal-float={no,yes,bid,dpd} 130 enable decimal float extension to C. Selecting 'bid' 131 or 'dpd' choses which decimal floating point format 132 to use], 133[ 134 case $enable_decimal_float in 135 yes | no | bid | dpd) ;; 136 *) AC_MSG_ERROR(['$enable_decimal_float' is an invalid value for --enable-decimal-float. 137Valid choices are 'yes', 'bid', 'dpd', and 'no'.]) ;; 138 esac 139], 140[ 141 case $host in 142 powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux*) 143 enable_decimal_float=yes 144 ;; 145 *) 146 enable_decimal_float=no 147 ;; 148 esac 149]) 150 151# x86's use BID format instead of DPD 152if test x$enable_decimal_float = xyes; then 153 case $host in 154 i?86*-*-linux* | x86_64*-*-linux*) 155 enable_decimal_float=bid 156 ;; 157 *) 158 enable_decimal_float=dpd 159 ;; 160 esac 161fi 162AC_SUBST(enable_decimal_float) 163 164# Check for fixed-point support. 165AC_CACHE_CHECK([whether fixed-point is supported], [libgcc_cv_fixed_point], 166 [AC_COMPILE_IFELSE([_Sat _Fract x;], [libgcc_cv_fixed_point=yes], 167 [libgcc_cv_fixed_point=no])]) 168fixed_point=$libgcc_cv_fixed_point 169AC_SUBST(fixed_point) 170 171# Check 32bit or 64bit for x86. 172case ${host} in 173i?86*-*-* | x86_64*-*-*) 174 cat > conftest.c <<EOF 175#ifdef __x86_64__ 176host_address=64 177#else 178host_address=32 179#endif 180EOF 181 eval `${CC-cc} -E conftest.c | grep host_address=` 182 rm -f conftest.c 183 ;; 184esac 185 186# Collect host-machine-specific information. 187. ${srcdir}/config.host 188 189# Check if Solaris/x86 linker supports ZERO terminator unwind entries. 190# This is after config.host so we can augment tmake_file. 191# Link with -nostartfiles -nodefaultlibs since neither are present while 192# building libgcc. 193case ${host} in 194i?86-*-solaris2.1[[0-9]]*) 195 cat > conftest.s <<EOF 196 .section .eh_frame,"a",@unwind 197 .zero 4 198 .section .jcr,"aw",@progbits 199 .zero 8 200EOF 201 if AC_TRY_COMMAND(${CC-cc} -shared -nostartfiles -nodefaultlibs -o conftest.so conftest.s 1>&AS_MESSAGE_LOG_FD); then 202 # configure expects config files in libgcc/config, so need a relative 203 # path here. 204 tmake_file="${tmake_file} ../../gcc/config/i386/t-crtstuff" 205 fi 206 ;; 207esac 208 209# Check for visibility support. This is after config.host so that 210# we can check for asm_hidden_op. 211AC_CACHE_CHECK([for __attribute__((visibility("hidden")))], 212 libgcc_cv_hidden_visibility_attribute, [ 213 echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c 214 libgcc_cv_hidden_visibility_attribute=no 215 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then 216 if grep "\\$asm_hidden_op.*foo" conftest.s >/dev/null; then 217 libgcc_cv_hidden_visibility_attribute=yes 218 fi 219 fi 220 rm -f conftest.* 221 ]) 222 223if test $libgcc_cv_hidden_visibility_attribute = yes; then 224 vis_hide='-fvisibility=hidden -DHIDE_EXPORTS' 225else 226 vis_hide= 227fi 228AC_SUBST(vis_hide) 229 230# See if we have thread-local storage. We can only test assembler 231# sicne link-time and run-time tests require the newly built 232# gcc, which can't be used to build executable due to that libgcc 233# is yet to be built here. 234GCC_CHECK_CC_TLS 235set_have_cc_tls= 236if test "$enable_tls $gcc_cv_have_cc_tls" = "yes yes"; then 237 set_have_cc_tls="-DHAVE_CC_TLS" 238fi 239AC_SUBST(set_have_cc_tls) 240 241# See if we have emulated thread-local storage. 242GCC_CHECK_EMUTLS 243set_use_emutls= 244if test "$enable_tls $gcc_cv_use_emutls" = "yes yes"; then 245 set_use_emutls="-DUSE_EMUTLS" 246fi 247AC_SUBST(set_use_emutls) 248 249# Conditionalize the makefile for this target machine. 250tmake_file_= 251for f in ${tmake_file} 252do 253 if test -f ${srcdir}/config/$f 254 then 255 tmake_file_="${tmake_file_} \$(srcdir)/config/$f" 256 fi 257done 258tmake_file="${tmake_file_}" 259AC_SUBST(tmake_file) 260 261# Substitute configuration variables 262AC_SUBST(extra_parts) 263AC_SUBST(asm_hidden_op) 264 265# We need multilib support. 266AC_CONFIG_FILES([Makefile]) 267AC_CONFIG_COMMANDS([default], 268 [[test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h 269if test -n "$CONFIG_FILES"; then 270 # FIXME: We shouldn't need to set ac_file 271 ac_file=Makefile 272 . ${libgcc_topdir}/config-ml.in 273fi]], 274[[srcdir=${srcdir} 275host=${host} 276with_target_subdir=${with_target_subdir} 277with_multisubdir=${with_multisubdir} 278ac_configure_args="--enable-multilib ${ac_configure_args}" 279CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} 280libgcc_topdir=${libgcc_topdir} 281CC="${CC}" 282]]) 283AC_OUTPUT 284