From 914050bc5a6454316406bcf6f0174436d978d250 Mon Sep 17 00:00:00 2001 From: Jeffrey Yasskin Date: Tue, 9 Feb 2010 23:03:44 +0000 Subject: [PATCH] Make --disable-libffi work on systems with libffi installed. Also make no-ffi the default even on systems with libffi. This fixes http://llvm.org/PR5018. llvm-svn: 95712 --- llvm/autoconf/configure.ac | 16 ++++++++-------- llvm/configure | 28 ++++++++++++++-------------- llvm/docs/ReleaseNotes.html | 6 +++++- 3 files changed, 27 insertions(+), 23 deletions(-) diff --git a/llvm/autoconf/configure.ac b/llvm/autoconf/configure.ac index a534866b2000..40f77d828e2a 100644 --- a/llvm/autoconf/configure.ac +++ b/llvm/autoconf/configure.ac @@ -727,13 +727,13 @@ fi dnl --enable-libffi : check whether the user wants to turn off libffi: AC_ARG_ENABLE(libffi,AS_HELP_STRING( - --enable-libffi,[Check for the presence of libffi (default is YES)]),, - enableval=yes) -case "$enableval" in - yes) llvm_cv_enable_libffi="yes" ;; - no) llvm_cv_enable_libffi="no" ;; - *) AC_MSG_ERROR([Invalid setting for --enable-libffi. Use "yes" or "no"]) ;; -esac + --enable-libffi,[Check for the presence of libffi (default is NO)]), + [case "$enableval" in + yes) llvm_cv_enable_libffi="yes" ;; + no) llvm_cv_enable_libffi="no" ;; + *) AC_MSG_ERROR([Invalid setting for --enable-libffi. Use "yes" or "no"]) ;; + esac], + llvm_cv_enable_libffi=no) dnl Only Windows needs dynamic libCompilerDriver to support plugins. if test "$llvm_cv_os_type" = "Win32" ; then @@ -1021,7 +1021,7 @@ dnl libffi is optional; used to call external functions from the interpreter if test "$llvm_cv_enable_libffi" = "yes" ; then AC_SEARCH_LIBS(ffi_call,ffi,AC_DEFINE([HAVE_FFI_CALL],[1], [Define if libffi is available on this platform.]), - AC_MSG_WARN([libffi not found - disabling external calls from interpreter])) + AC_MSG_ERROR([libffi not found - configure without --enable-libffi to compile without it])) fi dnl mallinfo is optional; the code can compile (minus features) without it diff --git a/llvm/configure b/llvm/configure index da18a768a880..88050f310cac 100755 --- a/llvm/configure +++ b/llvm/configure @@ -1410,7 +1410,7 @@ Optional Features: %a (default is YES) --enable-bindings Build specific language bindings: all,auto,none,{binding-name} (default=auto) - --enable-libffi Check for the presence of libffi (default is YES) + --enable-libffi Check for the presence of libffi (default is NO) --enable-llvmc-dynamic Link LLVMC dynamically (default is NO, unless on Win32) --enable-llvmc-dynamic-plugins @@ -5203,18 +5203,17 @@ fi # Check whether --enable-libffi was given. if test "${enable_libffi+set}" = set; then - enableval=$enable_libffi; -else - enableval=yes -fi - -case "$enableval" in - yes) llvm_cv_enable_libffi="yes" ;; - no) llvm_cv_enable_libffi="no" ;; - *) { { echo "$as_me:$LINENO: error: Invalid setting for --enable-libffi. Use \"yes\" or \"no\"" >&5 + enableval=$enable_libffi; case "$enableval" in + yes) llvm_cv_enable_libffi="yes" ;; + no) llvm_cv_enable_libffi="no" ;; + *) { { echo "$as_me:$LINENO: error: Invalid setting for --enable-libffi. Use \"yes\" or \"no\"" >&5 echo "$as_me: error: Invalid setting for --enable-libffi. Use \"yes\" or \"no\"" >&2;} { (exit 1); exit 1; }; } ;; -esac + esac +else + llvm_cv_enable_libffi=no +fi + if test "$llvm_cv_os_type" = "Win32" ; then llvmc_dynamic="yes" @@ -11036,7 +11035,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <>confdefs.h <<\_ACEOF _ACEOF else - { echo "$as_me:$LINENO: WARNING: libffi not found - disabling external calls from interpreter" >&5 -echo "$as_me: WARNING: libffi not found - disabling external calls from interpreter" >&2;} + { { echo "$as_me:$LINENO: error: libffi not found - configure without --enable-libffi to compile without it" >&5 +echo "$as_me: error: libffi not found - configure without --enable-libffi to compile without it" >&2;} + { (exit 1); exit 1; }; } fi fi diff --git a/llvm/docs/ReleaseNotes.html b/llvm/docs/ReleaseNotes.html index c960f555ee6f..2a096b44ae79 100644 --- a/llvm/docs/ReleaseNotes.html +++ b/llvm/docs/ReleaseNotes.html @@ -604,7 +604,11 @@ on LLVM 2.6, this section lists some "gotchas" that you may run into upgrading from the previous release.