diff --git a/ChangeLog b/ChangeLog index d5affff37..f27b83b17 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-08-19 Adam Fedor + + * configure.ac: Clarify ffi interface warnings and disable_do on + apple-apple-apple. + 2003-08-15 Richard Frith-Macdonald * Source/NSObject.m: Move hacked methods for getting protocol diff --git a/configure b/configure index c7f5a07fc..bb9bd4d1f 100755 --- a/configure +++ b/configure @@ -12040,6 +12040,11 @@ else enable_do=yes fi; +# DO isn't used on apple-apple-apple +if test $LIBRARY_COMBO = apple-apple-apple; then + enable_do=no +fi + # Check whether --with-ffcall-include or --without-ffcall-include was given. if test "${with_ffcall_include+set}" = set; then @@ -12203,6 +12208,7 @@ fi +have_forward_hook=yes echo "$as_me:$LINENO: checking \"for forwarding callback in runtime\"" >&5 echo $ECHO_N "checking \"for forwarding callback in runtime\"... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF @@ -12221,7 +12227,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | echo "${ECHO_T}yes" >&6 else echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; enable_ffcall=no +echo "${ECHO_T}no" >&6; have_forward_hook=no fi rm -f conftest* @@ -12364,11 +12370,15 @@ if test `eval echo '${'$as_ac_Header'}'` = yes; then _ACEOF else - enable_ffcall=no + have_forward_hook=no fi done +if test $have_forward_hook = no; then + enable_libffi=no + enable_ffcall=no +fi echo "$as_me:$LINENO: checking \"FFI library usage\"" >&5 echo $ECHO_N "checking \"FFI library usage\"... $ECHO_C" >&6 @@ -12397,24 +12407,27 @@ else echo "$as_me:$LINENO: result: none" >&5 echo "${ECHO_T}none" >&6 echo - echo "GNUstep requires the ffcall library to do invocations and DO." - echo "Make sure this library is installed (see installation instructions)." - echo "Otherwise DO will not be compatible with other systems, and you will not" - echo "be able to use gnustep-gui." + echo "GNUstep requires ffcall or libffi and proper libobjc hooks to do" + echo "invocations and DO." + echo "Make sure one of these libraries is installed and you have a proper" + echo "libobjc library. Otherwise DO will not be compatible with other" + echo "systems, and you will not be able to use gnustep-gui." + echo "(This does not apply on apple-apple-apple systems, except DO will" + echo "still not be compatible with other GNUstep systems.)" if test $enable_do = yes; then echo - echo "You most likely do not want to build -base without DO support. Many" + echo "You most likely do not want to build base without DO support. Many" echo "things, including all applications, won't work at all without DO." echo "If you really want to build -base without DO support, add --disable-do" echo "to the configure arguments." echo "For more information, read the GNUstep build guide, ffcall section:" echo "http://documents.made-it.com/GNUstep/buildguide.html#FOREIGN.FUNCTION.INTERFACES" - { { echo "$as_me:$LINENO: error: No ffcall interface library found." >&5 -echo "$as_me: error: No ffcall interface library found." >&2;} + { { echo "$as_me:$LINENO: error: Incomplete support for ffi functionality." >&5 +echo "$as_me: error: Incomplete support for ffi functionality." >&2;} { (exit 1); exit 1; }; } fi - { echo "$as_me:$LINENO: WARNING: No ffcall interface library found" >&5 -echo "$as_me: WARNING: No ffcall interface library found" >&2;} + { echo "$as_me:$LINENO: WARNING: Incomplete support for ffi funtionality." >&5 +echo "$as_me: WARNING: Incomplete support for ffi funtionality." >&2;} fi diff --git a/configure.ac b/configure.ac index 9b23cd4f1..ba0dab1e0 100644 --- a/configure.ac +++ b/configure.ac @@ -866,6 +866,11 @@ AC_ARG_ENABLE(do, [ --disable-do Compile even if DO-dependencies are not met],, enable_do=yes) +# DO isn't used on apple-apple-apple +if test $LIBRARY_COMBO = apple-apple-apple; then + enable_do=no +fi + AC_ARG_WITH(ffcall-include, [ --with-ffcall-include=PATH include path for ffcall headers], ffcall_incdir="$withval", ffcall_incdir="no") @@ -884,10 +889,15 @@ fi AC_CHECK_HEADER(ffi.h, , enable_libffi=no) +have_forward_hook=yes AC_MSG_CHECKING("for forwarding callback in runtime") AC_EGREP_HEADER(__objc_msg_forward, objc/objc-api.h, AC_MSG_RESULT(yes), - AC_MSG_RESULT(no); enable_ffcall=no) -AC_CHECK_HEADERS(callback.h, , enable_ffcall=no) + AC_MSG_RESULT(no); have_forward_hook=no) +AC_CHECK_HEADERS(callback.h, , have_forward_hook=no) +if test $have_forward_hook = no; then + enable_libffi=no + enable_ffcall=no +fi AC_MSG_CHECKING("FFI library usage") WITH_FFI=none @@ -906,21 +916,24 @@ elif test $enable_ffcall = yes; then else AC_MSG_RESULT(none) echo - echo "GNUstep requires the ffcall library to do invocations and DO." - echo "Make sure this library is installed (see installation instructions)." - echo "Otherwise DO will not be compatible with other systems, and you will not" - echo "be able to use gnustep-gui." + echo "GNUstep requires ffcall or libffi and proper libobjc hooks to do" + echo "invocations and DO." + echo "Make sure one of these libraries is installed and you have a proper" + echo "libobjc library. Otherwise DO will not be compatible with other" + echo "systems, and you will not be able to use gnustep-gui." + echo "(This does not apply on apple-apple-apple systems, except DO will" + echo "still not be compatible with other GNUstep systems.)" if test $enable_do = yes; then echo - echo "You most likely do not want to build -base without DO support. Many" + echo "You most likely do not want to build base without DO support. Many" echo "things, including all applications, won't work at all without DO." echo "If you really want to build -base without DO support, add --disable-do" echo "to the configure arguments." echo "For more information, read the GNUstep build guide, ffcall section:" echo "http://documents.made-it.com/GNUstep/buildguide.html#FOREIGN.FUNCTION.INTERFACES" - AC_MSG_ERROR([No ffcall interface library found.]) + AC_MSG_ERROR([Incomplete support for ffi functionality.]) fi - AC_MSG_WARN([No ffcall interface library found]) + AC_MSG_WARN([Incomplete support for ffi funtionality.]) fi AC_SUBST(WITH_FFI)