X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=libmudflap%2Fconfigure.ac;h=8ce99a10270df1c01871ab941b5d04c0d74c8b1d;hb=67a2b55a06644eea26249e710fa29677122fe789;hp=794fa9bd621265a94b037bdbaf65e3f9bfacae8f;hpb=14ac914460d95cc284b41bd11403d1ef2f7f5bf5;p=pf3gnuchains%2Fgcc-fork.git diff --git a/libmudflap/configure.ac b/libmudflap/configure.ac index 794fa9bd621..8ce99a10270 100644 --- a/libmudflap/configure.ac +++ b/libmudflap/configure.ac @@ -1,10 +1,11 @@ # Process this file with autoconf to produce a configure script, like so: -# aclocal && autoconf && autoheader && automake +# aclocal -I .. -I ../config && autoconf && autoheader && automake AC_PREREQ(2.59) AC_INIT(libmudflap, 1.0) AC_CONFIG_SRCDIR(mf-runtime.c) AC_CANONICAL_SYSTEM +ACX_NONCANONICAL_TARGET AM_INIT_AUTOMAKE @@ -74,6 +75,7 @@ AC_CHECK_FUNCS(getservent getservbyname getservbyport getaddrinfo gai_strerror) AC_CHECK_FUNCS(getprotoent getprotobyname getprotobynumber) AC_CHECK_FUNCS(getmntent setmntent addmntent) AC_CHECK_FUNCS(inet_ntoa mmap munmap) +AC_CHECK_FUNCS(__libc_freeres) AC_TRY_COMPILE([#include #include @@ -114,15 +116,28 @@ then mkdir pth fi -pthread_create_version='""' -AC_CHECK_HEADER(pthread.h,[ -AC_DEFINE_UNQUOTED(HAVE_PTHREAD_H, 1, [define if you have ]) -ac_have_pthread_h=yes -],[ -ac_have_pthread_h= -]) -AM_CONDITIONAL(LIBMUDFLAPTH, [test "x$ac_have_pthread_h" != "x"]) -if test "x$ac_have_pthread_h" != "x" +AC_CHECK_HEADERS(pthread.h) + +AC_MSG_CHECKING([for thread model used by GCC]) +target_thread_file=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'` +AC_MSG_RESULT([$target_thread_file]) + +# We only support posix threads, or no threads at all. +posix_threads= +case ${target_thread_file} in + posix) + posix_threads=yes + ;; + single) + ;; + *) + echo "${target_thread_file} is an unsupported thread package" 1>&2 + exit 1 + ;; +esac + +AM_CONDITIONAL(LIBMUDFLAPTH, [test "x$posix_threads" != "x"]) +if test "x$posix_threads" != "x" then build_libmudflapth=1 else @@ -132,8 +147,6 @@ AC_SUBST(build_libmudflapth) AC_CHECK_LIB(dl, dlsym) -TL_AC_GCC_VERSION([$srcdir/..]) - # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${version_specific_libs} in @@ -142,7 +155,7 @@ case ${version_specific_libs} in # and header files if --enable-version-specific-runtime-libs option # is selected. toolexecdir='$(libdir)/gcc/$(target_alias)' - toolexeclibdir='$(toolexecdir)/'${gcc_version}'$(MULTISUBDIR)' + toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)' ;; no) if test -n "$with_cross_host" && @@ -164,7 +177,11 @@ esac AC_SUBST(toolexecdir) AC_SUBST(toolexeclibdir) -if test "x$enable_shared" = "xyes" && test "x$ac_have_pthread_h" != "x"; then +includedir=${toolexecdir}/include +AC_SUBST(includedir) + +pthread_create_version='""' +if test "x$enable_shared" = "xyes" && test "x$posix_threads" != "x"; then # NB: don't check for -lpthread here, because then it would be # added to LIBS. For the thread-unaware libmudflap.la, we don't # want it there. @@ -225,11 +242,30 @@ AC_MSG_RESULT($ac_fdsections) AC_SUBST(SECTION_FLAGS) +# Check for the name of the symbol used for the entry point. +AC_CACHE_CHECK([for the name of the symbol used for the entry point], + [mudflap_cv_entry_point], [ +for name in _start __start unknown; do + AC_LINK_IFELSE([AC_LANG_PROGRAM([extern char $name@<:@@:>@;], [$name@<:@0@:>@ = 0;])], + [break]) +done +mudflap_cv_entry_point="$name"]) +if test "$mudflap_cv_entry_point" = unknown; then + AC_MSG_ERROR([none of the known symbol names works]) +fi +AC_DEFINE_UNQUOTED([ENTRY_POINT], [$mudflap_cv_entry_point], + [Define to the name of the symbol used for the entry point.]) + + if test ${multilib} = yes; then multilib_arg="--enable-multilib" else multilib_arg= fi -AC_CONFIG_FILES([Makefile testsuite/Makefile testsuite/mfconfig.exp mf-runtime.h]) +# See if we support thread-local storage. +GCC_CHECK_TLS +GCC_CHECK_EMUTLS + +AC_CONFIG_FILES([Makefile testsuite/Makefile testsuite/mfconfig.exp]) AC_OUTPUT