mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-10 08:10:49 +00:00
try to build with correct ffcall/ffi depending on target system
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26483 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
01a7d37860
commit
7084039296
4 changed files with 52 additions and 6 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2008-05-01 Richard Frith-Macdonald <rfm@gnu.org>
|
||||||
|
|
||||||
|
* configure.ac: try to use libffi on sparc64 as libffcall does not
|
||||||
|
work. Warn if user tries to enable libffcall.
|
||||||
|
|
||||||
2008-04-25 Richard Frith-Macdonald <rfm@gnu.org>
|
2008-04-25 Richard Frith-Macdonald <rfm@gnu.org>
|
||||||
|
|
||||||
* Source/NSPropertyList.m:
|
* Source/NSPropertyList.m:
|
||||||
|
|
|
@ -135,6 +135,9 @@ struct NCTbl; /* Notification Center Table structure */
|
||||||
* each -addObserver... request. It holds the requested selector,
|
* each -addObserver... request. It holds the requested selector,
|
||||||
* name and object. Each struct is placed in one LinkedList,
|
* name and object. Each struct is placed in one LinkedList,
|
||||||
* as keyed by the NAME/OBJECT parameters.
|
* as keyed by the NAME/OBJECT parameters.
|
||||||
|
* If 'next' is 0 then the observation is unused (ie it has been
|
||||||
|
* removed from, or not yet added to any list). The end of a
|
||||||
|
* list is marked by 'next' being set to 'ENDOBS'.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
typedef struct Obs {
|
typedef struct Obs {
|
||||||
|
|
26
configure
vendored
26
configure
vendored
|
@ -16099,9 +16099,21 @@ fi
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
# Check for FFI interface libraries for invocations
|
# Check for FFI interface libraries for invocations
|
||||||
# We enable ffcall by default now.
|
# We enable ffcall by default now, except on sparc64 (where we think
|
||||||
|
# it's broken).
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
do_enable_libffi=no
|
case "$target_cpu" in
|
||||||
|
sparc64*)
|
||||||
|
do_broken_libffi=no;
|
||||||
|
do_broken_libffcall=yes;
|
||||||
|
do_enable_libffi=yes;
|
||||||
|
do_enable_libffcall=no;;
|
||||||
|
*)
|
||||||
|
do_broken_libffi=no;
|
||||||
|
do_broken_libffcall=no;
|
||||||
|
do_enable_libffi=no;
|
||||||
|
do_enable_libffcall=yes;;
|
||||||
|
esac
|
||||||
|
|
||||||
# Check whether --enable-libffi was given.
|
# Check whether --enable-libffi was given.
|
||||||
if test "${enable_libffi+set}" = set; then
|
if test "${enable_libffi+set}" = set; then
|
||||||
|
@ -16115,7 +16127,7 @@ fi
|
||||||
if test "${enable_ffcall+set}" = set; then
|
if test "${enable_ffcall+set}" = set; then
|
||||||
enableval=$enable_ffcall;
|
enableval=$enable_ffcall;
|
||||||
else
|
else
|
||||||
enable_ffcall=yes
|
enable_ffcall=$do_enable_libffcall
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
@ -16588,6 +16600,10 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
|
||||||
{ echo "$as_me:$LINENO: result: libffi" >&5
|
{ echo "$as_me:$LINENO: result: libffi" >&5
|
||||||
echo "${ECHO_T}libffi" >&6; }
|
echo "${ECHO_T}libffi" >&6; }
|
||||||
fi
|
fi
|
||||||
|
if test $do_broken_libffi = yes; then
|
||||||
|
{ echo "$as_me:$LINENO: WARNING: ffi may be broken on this system ... try enabling ffcall" >&5
|
||||||
|
echo "$as_me: WARNING: ffi may be broken on this system ... try enabling ffcall" >&2;}
|
||||||
|
fi
|
||||||
elif test $enable_ffcall = yes; then
|
elif test $enable_ffcall = yes; then
|
||||||
|
|
||||||
cat >>confdefs.h <<\_ACEOF
|
cat >>confdefs.h <<\_ACEOF
|
||||||
|
@ -16643,6 +16659,10 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
|
||||||
{ echo "$as_me:$LINENO: result: ffcall" >&5
|
{ echo "$as_me:$LINENO: result: ffcall" >&5
|
||||||
echo "${ECHO_T}ffcall" >&6; }
|
echo "${ECHO_T}ffcall" >&6; }
|
||||||
fi
|
fi
|
||||||
|
if test $do_broken_libffcall = yes; then
|
||||||
|
{ echo "$as_me:$LINENO: WARNING: ffcall may be broken on this system ... try enabling ffi" >&5
|
||||||
|
echo "$as_me: WARNING: ffcall may be broken on this system ... try enabling ffi" >&2;}
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
ffi_ok=no
|
ffi_ok=no
|
||||||
fi
|
fi
|
||||||
|
|
24
configure.ac
24
configure.ac
|
@ -1868,9 +1868,21 @@ fi
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
# Check for FFI interface libraries for invocations
|
# Check for FFI interface libraries for invocations
|
||||||
# We enable ffcall by default now.
|
# We enable ffcall by default now, except on sparc64 (where we think
|
||||||
|
# it's broken).
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
do_enable_libffi=no
|
case "$target_cpu" in
|
||||||
|
sparc64*)
|
||||||
|
do_broken_libffi=no;
|
||||||
|
do_broken_libffcall=yes;
|
||||||
|
do_enable_libffi=yes;
|
||||||
|
do_enable_libffcall=no;;
|
||||||
|
*)
|
||||||
|
do_broken_libffi=no;
|
||||||
|
do_broken_libffcall=no;
|
||||||
|
do_enable_libffi=no;
|
||||||
|
do_enable_libffcall=yes;;
|
||||||
|
esac
|
||||||
|
|
||||||
AC_ARG_ENABLE(libffi,
|
AC_ARG_ENABLE(libffi,
|
||||||
[ --enable-libffi Enable use of libffi library],,
|
[ --enable-libffi Enable use of libffi library],,
|
||||||
|
@ -1878,7 +1890,7 @@ AC_ARG_ENABLE(libffi,
|
||||||
|
|
||||||
AC_ARG_ENABLE(ffcall,
|
AC_ARG_ENABLE(ffcall,
|
||||||
[ --enable-ffcall Enable use of ffcall library],,
|
[ --enable-ffcall Enable use of ffcall library],,
|
||||||
enable_ffcall=yes)
|
enable_ffcall=$do_enable_libffcall)
|
||||||
|
|
||||||
AC_ARG_ENABLE(do,
|
AC_ARG_ENABLE(do,
|
||||||
[ --disable-do Compile even if DO-dependencies are not met],,
|
[ --disable-do Compile even if DO-dependencies are not met],,
|
||||||
|
@ -1948,6 +1960,9 @@ if test $enable_libffi = yes; then
|
||||||
if test $ffi_ok = yes; then
|
if test $ffi_ok = yes; then
|
||||||
AC_MSG_RESULT(libffi)
|
AC_MSG_RESULT(libffi)
|
||||||
fi
|
fi
|
||||||
|
if test $do_broken_libffi = yes; then
|
||||||
|
AC_MSG_WARN([ffi may be broken on this system ... try enabling ffcall])
|
||||||
|
fi
|
||||||
elif test $enable_ffcall = yes; then
|
elif test $enable_ffcall = yes; then
|
||||||
AC_DEFINE(USE_FFCALL,1,
|
AC_DEFINE(USE_FFCALL,1,
|
||||||
[Define if using the ffcall library for invocations])
|
[Define if using the ffcall library for invocations])
|
||||||
|
@ -1957,6 +1972,9 @@ elif test $enable_ffcall = yes; then
|
||||||
if test $ffi_ok = yes; then
|
if test $ffi_ok = yes; then
|
||||||
AC_MSG_RESULT(ffcall)
|
AC_MSG_RESULT(ffcall)
|
||||||
fi
|
fi
|
||||||
|
if test $do_broken_libffcall = yes; then
|
||||||
|
AC_MSG_WARN([ffcall may be broken on this system ... try enabling ffi])
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
ffi_ok=no
|
ffi_ok=no
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue