X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=boehm-gc%2Fconfigure.ac;h=61e12aafe67a89bc410338252d14c9c768138805;hb=875ffd1d934c038e3651f6d67b9a37a5c8a809f8;hp=29331e607d63d60452dc0788e760a0e51607f560;hpb=9bf5723dce955cb1210af9541787d03d9433cfd3;p=pf3gnuchains%2Fgcc-fork.git diff --git a/boehm-gc/configure.ac b/boehm-gc/configure.ac index 29331e607d6..61e12aafe67 100644 --- a/boehm-gc/configure.ac +++ b/boehm-gc/configure.ac @@ -1,4 +1,5 @@ -# Copyright (c) 1999, 2000, 2001, 2002, 2003, 2006 by Red Hat, Inc. All rights reserved. +# Copyright (c) 1999, 2000, 2001, 2002, 2003, 2006, 2010, 2011 by Red Hat, Inc. +# All rights reserved. # Copyright 2004 Nathanael Nerode # # THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED @@ -15,7 +16,7 @@ dnl Process this file with autoconf to produce configure. -AC_PREREQ(2.59) +AC_PREREQ(2.64) AC_INIT AC_CONFIG_SRCDIR(gcj_mlc.c) # This works around the fact that libtool configuration may change LD @@ -49,7 +50,7 @@ m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS]) m4_define([_AC_ARG_VAR_PRECIOUS],[]) AC_PROG_CC AC_PROG_CXX -m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]) +m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]) AM_PROG_CC_C_O @@ -84,6 +85,13 @@ case "${host}" in ;; esac +dnl Add for mingw targets GC_BUILD option +case "${host}" in + *-*-mingw*) + gc_cflags="${gc_cflags} -DGC_BUILD=1" + ;; +esac + dnl gc_cflags="${gc_cflags} -fno-builtin" GC_CFLAGS=${gc_cflags} @@ -172,7 +180,7 @@ case "$THREADS" in AM_CPPFLAGS="$AM_CPPFLAGS -pthread" THREADLIBS=-pthread ;; - *-*-solaris*) + *-*-solaris2.8*) AC_DEFINE(GC_SOLARIS_PTHREADS,1,[support for Solaris pthreads]) # Need to use alternate thread library, otherwise gctest hangs # on Solaris 8. @@ -180,6 +188,15 @@ case "$THREADS" in THREADLIBS="-L/usr/lib/lwp/$multi_os_directory \ -R/usr/lib/lwp/$multi_os_directory -lpthread -lthread -lrt" ;; + *-*-solaris2*) + AC_DEFINE(GC_SOLARIS_PTHREADS,1,[support for Solaris pthreads]) + # The alternate thread library was only introduced in Solaris 8 and + # became the default in Solaris 9, so no need for the special code + # above otherwise. + # nanosleep, sched_yield, and sem_* only live in librt before + # Solaris 11. + THREADLIBS="-lpthread -lrt" + ;; *-*-irix*) AC_DEFINE(GC_IRIX_THREADS,1,[support for Irix pthreads]) ;; @@ -295,9 +312,12 @@ case "$host" in *) ;; esac -# We never want libdl on darwin. It is a fake libdl that just ends up making -# dyld calls anyway case "$host" in + # While IRIX 6 has libdl for the O32 and N32 ABIs, it's missing for N64 + # and unnecessary everywhere. + mips-sgi-irix6*) ;; + # We never want libdl on darwin. It is a fake libdl that just ends up making + # dyld calls anyway *-*-darwin*) ;; *) AC_CHECK_LIB(dl, dlopen, EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl") @@ -438,54 +458,34 @@ AC_SUBST(addtests) # # Check for AViiON Machines running DGUX # -AC_MSG_CHECKING(if host is AViiON running DGUX) ac_is_dgux=no -AC_CHECK_HEADER(sys/dg_sys_info.h, -[ac_is_dgux=yes;]) +AC_CHECK_HEADER(sys/dg_sys_info.h, [ac_is_dgux=yes]) +AC_MSG_CHECKING(if host is AViiON running DGUX) AC_MSG_RESULT($ac_is_dgux) ## :GOTCHA: we do not check anything but sys/dg_sys_info.h if test $ac_is_dgux = yes; then if test "$enable_full_debug" = "yes"; then - CFLAGS="-g -mstandard -DDGUX -D_DGUX_SOURCE -Di386 -mno-legend -O2" - CXXFLAGS="-g -mstandard -DDGUX -D_DGUX_SOURCE -Di386 -mno-legend -O2" - else - CFLAGS="-DDGUX -D_DGUX_SOURCE -Di386 -mno-legend -O2" - CXXFLAGS="-DDGUX -D_DGUX_SOURCE -Di386 -mno-legend -O2" + GC_CFLAGS="$GC_CFLAGS -mstandard" fi - AC_SUBST(CFLAGS) - AC_SUBST(CXXFLAGS) + GC_CFLAGS="$GC_CFLAGS -DDGUX -D_DGUX_SOURCE -Di386 -mno-legend" fi dnl As of 4.13a2, the collector will not properly work on Solaris when dnl built with gcc and -O. So we remove -O in the appropriate case. dnl Not needed anymore on Solaris. -AC_MSG_CHECKING(whether Solaris gcc optimization fix is necessary) +AC_MSG_CHECKING([whether GCC optimization should be disabled]) +O0_CFLAGS= case "$host" in - *aix*) - if test "$GCC" = yes; then - AC_MSG_RESULT(yes) - new_CFLAGS= - for i in $CFLAGS; do - case "$i" in - -O*) - ;; - *) - new_CFLAGS="$new_CFLAGS $i" - ;; - esac - done - CFLAGS="$new_CFLAGS" - else - AC_MSG_RESULT(no) - fi - ;; - *) AC_MSG_RESULT(no) ;; + *aix*) test "$GCC" = yes && O0_CFLAGS=-O0 ;; + *) ;; esac - -dnl We need to override the top-level CFLAGS. This is how we do it. -MY_CFLAGS="$CFLAGS" -AC_SUBST(MY_CFLAGS) +if test x"$O0_CFLAGS" != x; then + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(no) +fi +AC_SUBST([O0_CFLAGS]) dnl Include defines that have become de facto standard. dnl ALL_INTERIOR_POINTERS can be overridden in startup code. @@ -547,5 +547,5 @@ fi AC_CONFIG_HEADERS([include/gc_config.h include/gc_ext_config.h]) -AC_CONFIG_FILES(Makefile include/Makefile) +AC_CONFIG_FILES(Makefile include/Makefile threads.mk) AC_OUTPUT