OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgcc/] [configure.ac] - Blame information for rev 768

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 734 jeremybenn
dnl Process this file with autoconf to produce a configure script.
2
 
3
sinclude(../config/enable.m4)
4
sinclude(../config/tls.m4)
5
sinclude(../config/acx.m4)
6
sinclude(../config/no-executables.m4)
7
sinclude(../config/lib-ld.m4)
8
sinclude(../config/override.m4)
9
sinclude(../config/picflag.m4)
10
sinclude(../config/dfp.m4)
11
sinclude(../config/unwind_ipinfo.m4)
12
 
13
AC_PREREQ(2.64)
14
AC_INIT([GNU C Runtime Library], 1.0,,[libgcc])
15
AC_CONFIG_SRCDIR([static-object.mk])
16
 
17
AC_ARG_WITH(target-subdir,
18
[  --with-target-subdir=SUBDIR      Configuring in a subdirectory for target])
19
AC_ARG_WITH(cross-host,
20
[  --with-cross-host=HOST           Configuring with a cross compiler])
21
AC_ARG_WITH(ld,
22
[  --with-ld               arrange to use the specified ld (full pathname)])
23
 
24
if test "${srcdir}" = "."; then
25
  if test -n "${with_build_subdir}"; then
26
    libgcc_topdir="${srcdir}/../.."
27
    with_target_subdir=
28
  elif test -z "${with_target_subdir}"; then
29
    libgcc_topdir="${srcdir}/.."
30
  else
31
    if test "${with_target_subdir}" != "."; then
32
      libgcc_topdir="${srcdir}/${with_multisrctop}../.."
33
    else
34
      libgcc_topdir="${srcdir}/${with_multisrctop}.."
35
    fi
36
  fi
37
else
38
  libgcc_topdir="${srcdir}/.."
39
fi
40
AC_SUBST(libgcc_topdir)
41
AC_CONFIG_AUX_DIR($libgcc_topdir)
42
 
43
AC_ARG_ENABLE(shared,
44
[  --disable-shared        don't provide a shared libgcc],
45
[
46
  case $enable_shared in
47
  yes | no) ;;
48
  *)
49
    enable_shared=no
50
    IFS="${IFS=         }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
51
    for pkg in $enableval; do
52
      if test "X$pkg" = "Xgcc" || test "X$pkg" = "Xlibgcc"; then
53
        enable_shared=yes
54
      fi
55
    done
56
    IFS="$ac_save_ifs"
57
    ;;
58
  esac
59
], [enable_shared=yes])
60
AC_SUBST(enable_shared)
61
 
62
GCC_PICFLAG
63
AC_SUBST(PICFLAG)
64
 
65
AC_MSG_CHECKING([for --enable-version-specific-runtime-libs])
66
AC_ARG_ENABLE(version-specific-runtime-libs,
67
[  --enable-version-specific-runtime-libs    Specify that runtime libraries should be installed in a compiler-specific directory ],
68
[case "$enableval" in
69
 yes) version_specific_libs=yes ;;
70
 no)  version_specific_libs=no ;;
71
 *)   AC_MSG_ERROR([Unknown argument to enable/disable version-specific libs]);;
72
 esac],
73
[version_specific_libs=no])
74
AC_MSG_RESULT($version_specific_libs)
75
 
76
AC_ARG_WITH(slibdir,
77
[  --with-slibdir=DIR      shared libraries in DIR [LIBDIR]],
78
slibdir="$with_slibdir",
79
if test "${version_specific_libs}" = yes; then
80
  slibdir='$(libsubdir)'
81
elif test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then
82
  slibdir='$(exec_prefix)/$(host_noncanonical)/lib'
83
else
84
  slibdir='$(libdir)'
85
fi)
86
AC_SUBST(slibdir)
87
 
88
# Command-line options.
89
# Very limited version of AC_MAINTAINER_MODE.
90
AC_ARG_ENABLE([maintainer-mode],
91
  [AC_HELP_STRING([--enable-maintainer-mode],
92
                 [enable make rules and dependencies not useful (and
93
                  sometimes confusing) to the casual installer])],
94
  [case ${enable_maintainer_mode} in
95
     yes) MAINT='' ;;
96
     no) MAINT='#' ;;
97
     *) AC_MSG_ERROR([--enable-maintainer-mode must be yes or no]) ;;
98
   esac
99
   maintainer_mode=${enableval}],
100
  [MAINT='#'])
101
AC_SUBST([MAINT])dnl
102
 
103
AC_PROG_INSTALL
104
 
105
AC_PROG_AWK
106
# We need awk; bail out if it's missing.
107
case ${AWK} in
108
  "") AC_MSG_ERROR([can't build without awk, bailing out]) ;;
109
esac
110
 
111
AC_CANONICAL_HOST
112
ACX_NONCANONICAL_HOST
113
ACX_NONCANONICAL_TARGET
114
GCC_TOPLEV_SUBDIRS
115
 
116
# Calculate toolexeclibdir
117
# Also toolexecdir, though it's only used in toolexeclibdir
118
case ${version_specific_libs} in
119
  yes)
120
    # Need the gcc compiler version to know where to install libraries
121
    # and header files if --enable-version-specific-runtime-libs option
122
    # is selected.
123
    toolexecdir='$(libdir)/gcc/$(target_noncanonical)'
124
    toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)'
125
    ;;
126
  no)
127
    if test -n "$with_cross_host" &&
128
       test x"$with_cross_host" != x"no"; then
129
      # Install a library built with a cross compiler in tooldir, not libdir.
130
      toolexecdir='$(exec_prefix)/$(target_noncanonical)'
131
      toolexeclibdir='$(toolexecdir)/lib'
132
    else
133
      toolexecdir='$(libdir)/gcc-lib/$(target_noncanonical)'
134
      toolexeclibdir='$(libdir)'
135
    fi
136
    multi_os_directory=`$CC -print-multi-os-directory`
137
    case $multi_os_directory in
138
      .) ;; # Avoid trailing /.
139
      *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
140
    esac
141
    ;;
142
esac
143
AC_SUBST(toolexecdir)
144
AC_SUBST(toolexeclibdir)
145
 
146
dnl These must be called before AM_PROG_LIBTOOL, because it may want
147
dnl to call AC_CHECK_PROG.
148
AC_CHECK_TOOL(AR, ar)
149
AC_CHECK_TOOL(LIPO, lipo, :)
150
AC_CHECK_TOOL(NM, nm)
151
AC_CHECK_TOOL(RANLIB, ranlib, :)
152
AC_CHECK_TOOL(STRIP, strip, :)
153
AC_PROG_LN_S
154
 
155
GCC_NO_EXECUTABLES
156
AC_PROG_CC
157
AC_PROG_CPP_WERROR
158
 
159
AC_CHECK_SIZEOF([double])
160
AC_CHECK_SIZEOF([long double])
161
AS_VAR_ARITH([double_type_size], [$ac_cv_sizeof_double \* 8])
162
AS_VAR_ARITH([long_double_type_size], [$ac_cv_sizeof_long_double \* 8])
163
AC_SUBST(double_type_size)
164
AC_SUBST(long_double_type_size)
165
 
166
# Check for decimal float support.
167
AC_CACHE_CHECK([whether decimal floating point is supported], [libgcc_cv_dfp],
168
               [AC_COMPILE_IFELSE([_Decimal32 x;], [libgcc_cv_dfp=yes],
169
                                  [libgcc_cv_dfp=no])])
170
decimal_float=$libgcc_cv_dfp
171
AC_SUBST(decimal_float)
172
 
173
GCC_AC_ENABLE_DECIMAL_FLOAT([$host])
174
 
175
# Check for fixed-point support.
176
AC_CACHE_CHECK([whether fixed-point is supported], [libgcc_cv_fixed_point],
177
               [AC_COMPILE_IFELSE([_Sat _Fract x;], [libgcc_cv_fixed_point=yes],
178
                                  [libgcc_cv_fixed_point=no])])
179
fixed_point=$libgcc_cv_fixed_point
180
AC_SUBST(fixed_point)
181
 
182
# For platforms with the unwind ABI which includes an unwind library,
183
# libunwind, we can choose to use the system libunwind.
184
# config.gcc also contains tests of with_system_libunwind.
185
GCC_CHECK_UNWIND_GETIPINFO
186
 
187
# The sjlj test is almost duplicated here and in libgo/configure.ac (for C),
188
# libstdc++-v3/acinclude.m4 and libjava/configure.ac (for C++), and
189
# libobjc/configure.ac (for Objective-C).
190
# FIXME: This should be centralized in config/sjlj.m4.
191
AC_ARG_ENABLE(sjlj-exceptions,
192
  AC_HELP_STRING([--enable-sjlj-exceptions],
193
                 [force use of builtin_setjmp for exceptions]),
194
  [case "$enableval" in
195
   yes|no|auto) ;;
196
   *) AC_MSG_ERROR([unknown argument to --enable-sjlj-exceptions]) ;;
197
   esac],
198
  [enable_sjlj_exceptions=auto])
199
 
200
AC_CACHE_CHECK([whether to use setjmp/longjmp exceptions],
201
[libgcc_cv_lib_sjlj_exceptions],
202
[AC_LANG_CONFTEST(
203
  [AC_LANG_SOURCE([
204
void bar ();
205
void clean (int *);
206
void foo ()
207
{
208
  int i __attribute__ ((cleanup (clean)));
209
  bar();
210
}
211
])])
212
CFLAGS_hold=$CFLAGS
213
CFLAGS="--save-temps -fexceptions"
214
libgcc_cv_lib_sjlj_exceptions=unknown
215
AS_IF([ac_fn_c_try_compile],
216
  [if grep _Unwind_SjLj_Resume conftest.s >/dev/null 2>&1; then
217
    libgcc_cv_lib_sjlj_exceptions=yes
218
  elif grep _Unwind_Resume conftest.s >/dev/null 2>&1; then
219
    libgcc_cv_lib_sjlj_exceptions=no
220
  fi])
221
CFLAGS=$CFLAGS_hold
222
rm -f conftest*
223
])
224
 
225
if test "$enable_sjlj_exceptions" = "auto"; then
226
  enable_sjlj_exceptions=$libgcc_cv_lib_sjlj_exceptions
227
fi
228
 
229
case $enable_sjlj_exceptions in
230
yes)
231
  AC_DEFINE(LIBGCC_SJLJ_EXCEPTIONS, 1,
232
        [Define if the C compiler is configured for setjmp/longjmp exceptions.])
233
  ;;
234
no)
235
  ;;
236
*)
237
  AC_MSG_ERROR([unable to detect exception model])
238
  ;;
239
esac
240
 
241
AC_LIB_PROG_LD_GNU
242
 
243
AC_MSG_CHECKING([for thread model used by GCC])
244
target_thread_file=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
245
AC_MSG_RESULT([$target_thread_file])
246
 
247
# Check for assembler CFI support.
248
AC_CACHE_CHECK([whether assembler supports CFI directives], [libgcc_cv_cfi],
249
               [AC_COMPILE_IFELSE(
250
[asm("\n\
251
        .text\n\
252
        .cfi_startproc\n\
253
        .cfi_personality 0, symbol\n\
254
        .cfi_endproc");],
255
  [libgcc_cv_cfi=yes],
256
  [libgcc_cv_cfi=no])])
257
 
258
# Check 32bit or 64bit
259
cat > conftest.c <
260
#if defined(__x86_64__) || (!defined(__i386__) && defined(__LP64__))
261
host_address=64
262
#else
263
host_address=32
264
#endif
265
EOF
266
eval `${CC-cc} -E conftest.c | grep host_address=`
267
rm -f conftest.c
268
 
269
# Collect host-machine-specific information.
270
. ${srcdir}/config.host
271
 
272
# Check if Solaris/x86 linker supports ZERO terminator unwind entries.
273
# This is after config.host so we can augment tmake_file.
274
# Link with -nostartfiles -nodefaultlibs since neither are present while
275
# building libgcc.
276
case ${host} in
277
i?86-*-solaris2* | x86_64-*-solaris2.1[[0-9]]*)
278
  cat > conftest.s <
279
        .section        .eh_frame,"a",@unwind
280
        .zero   4
281
        .section        .jcr,"aw",@progbits
282
        .zero   8
283
EOF
284
  if AC_TRY_COMMAND(${CC-cc} -shared -nostartfiles -nodefaultlibs -o conftest.so conftest.s 1>&AS_MESSAGE_LOG_FD); then
285
      tmake_file="${tmake_file} i386/t-crtstuff"
286
  fi
287
  ;;
288
esac
289
 
290
# Check for visibility support.  This is after config.host so that
291
# we can check for asm_hidden_op.
292
AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
293
    libgcc_cv_hidden_visibility_attribute, [
294
        echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
295
        libgcc_cv_hidden_visibility_attribute=no
296
        if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
297
            if grep "\\$asm_hidden_op.*foo" conftest.s >/dev/null; then
298
                libgcc_cv_hidden_visibility_attribute=yes
299
            fi
300
        fi
301
        rm -f conftest.*
302
    ])
303
 
304
if test $libgcc_cv_hidden_visibility_attribute = yes; then
305
    vis_hide='-fvisibility=hidden -DHIDE_EXPORTS'
306
else
307
    vis_hide=
308
fi
309
AC_SUBST(vis_hide)
310
 
311
# See if we have thread-local storage.  We can only test assembler
312
# sicne link-time and run-time tests require the newly built
313
# gcc, which can't be used to build executable due to that libgcc
314
# is yet to be built here.
315
GCC_CHECK_CC_TLS
316
set_have_cc_tls=
317
if test "$enable_tls $gcc_cv_have_cc_tls" = "yes yes"; then
318
  set_have_cc_tls="-DHAVE_CC_TLS"
319
fi
320
AC_SUBST(set_have_cc_tls)
321
 
322
# See if we have emulated thread-local storage.
323
GCC_CHECK_EMUTLS
324
set_use_emutls=
325
if test "$enable_tls $gcc_cv_use_emutls" = "yes yes"; then
326
  set_use_emutls="-DUSE_EMUTLS"
327
fi
328
AC_SUBST(set_use_emutls)
329
 
330
# Conditionalize the sfp-machine.h header for this target machine.
331
if test -z "${sfp_machine_header}"; then
332
        sfp_machine_header=$cpu_type/sfp-machine.h
333
        if test -f ${srcdir}/config/${sfp_machine_header}; then
334
                :
335
        else
336
                sfp_machine_header=no-sfp-machine.h
337
        fi
338
fi
339
AC_SUBST(sfp_machine_header)
340
 
341
# Conditionalize the makefile for this target machine.
342
tmake_file_=
343
for f in ${tmake_file}
344
do
345
        if test -f ${srcdir}/config/$f
346
        then
347
                tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
348
        fi
349
done
350
tmake_file="${tmake_file_}"
351
AC_SUBST(tmake_file)
352
 
353
# Likewise export definitions for libgcc_tm.h
354
tm_file_=
355
for f in ${tm_file}
356
do
357
        tm_file_="${tm_file_} \$(srcdir)/config/$f"
358
done
359
tm_file="${tm_file_}"
360
AC_SUBST(tm_file)
361
AC_SUBST(tm_defines)
362
 
363
# Map from thread model to thread header.
364
case $target_thread_file in
365
    aix)        thread_header=config/rs6000/gthr-aix.h ;;
366
    dce)        thread_header=config/pa/gthr-dce.h ;;
367
    lynx)       thread_header=config/gthr-lynx.h ;;
368
    mipssde)    thread_header=config/mips/gthr-mipssde.h ;;
369
    posix)      thread_header=gthr-posix.h ;;
370
    rtems)      thread_header=config/gthr-rtems.h ;;
371
    single)     thread_header=gthr-single.h ;;
372
    tpf)        thread_header=config/s390/gthr-tpf.h ;;
373
    vxworks)    thread_header=config/gthr-vxworks.h ;;
374
    win32)      thread_header=config/i386/gthr-win32.h ;;
375
esac
376
 
377
# Substitute configuration variables
378
AC_SUBST(cpu_type)
379
AC_SUBST(extra_parts)
380
AC_SUBST(asm_hidden_op)
381
AC_CONFIG_LINKS([enable-execute-stack.c:$enable_execute_stack])
382
AC_CONFIG_LINKS([unwind.h:$unwind_header])
383
AC_CONFIG_LINKS([md-unwind-support.h:config/$md_unwind_header])
384
AC_CONFIG_LINKS([sfp-machine.h:config/$sfp_machine_header])
385
AC_CONFIG_LINKS([gthr-default.h:$thread_header])
386
 
387
# We need multilib support.
388
AC_CONFIG_FILES([Makefile])
389
AC_CONFIG_COMMANDS([default],
390
  [[test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
391
if test -n "$CONFIG_FILES"; then
392
  # FIXME: We shouldn't need to set ac_file
393
  ac_file=Makefile
394
  . ${libgcc_topdir}/config-ml.in
395
fi]],
396
[[srcdir=${srcdir}
397
host=${host}
398
with_target_subdir=${with_target_subdir}
399
with_multisubdir=${with_multisubdir}
400
ac_configure_args="--enable-multilib ${ac_configure_args}"
401
CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
402
libgcc_topdir=${libgcc_topdir}
403
CC="${CC}"
404
]])
405
AC_OUTPUT

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.