[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
configure of base doesn't detect my ffcall
From: |
Lars Sonchocky-Helldorf |
Subject: |
configure of base doesn't detect my ffcall |
Date: |
Tue, 28 Sep 2004 15:14:28 +0200 |
Configure of core/base seems unable to detect my ffcall libraries (scroll
down for my questions).
analysis:
I have installed ffcall 1.9:
localhost:~ lars$ ls -al /opt/local/lib/
total 33944
.
.
.
-rw-r--r-- 2 root admin 2144 27 Sep 16:39 libavcall.a
-rw-r--r-- 2 root admin 652 27 Sep 16:39 libavcall.la
-rw-r--r-- 2 root admin 7992 27 Sep 16:39 libcallback.a
-rw-r--r-- 2 root admin 658 27 Sep 16:39 libcallback.la
.
.
.
-rw-r--r-- 2 root admin 3604 27 Sep 16:39 libtrampoline.a
-rw-r--r-- 2 root admin 4388 27 Sep 16:39 libvacall.a
.
.
.
configure was invoked like (I am building in a sibling to core):
../../core/base/configure --enable-ffcall
--with-ffi-include=/opt/local/include --with-ffi-library=/opt/local/lib
CC=/opt/local/bin/gcc
the relevant part of GNUstep-Darwin/build/base/config.log:
configure:12651: checking "for forwarding callback in runtime"
cc1: warning: command line option "-fgnu-runtime" is valid for ObjC/ObjC++
but n
ot for C
configure:12668: result: no
configure:12678: checking "FFI library usage"
configure:12702: result: none
configure:12722: error: Incomplete support for ffi functionality.
the check in configure that fails (starts at line 12656):
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
#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <objc/objc-api.h>
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "__objc_msg_forward" >/dev/null 2>&1; then
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6; have_forward_hook=no
fi
rm -f conftest*
if test $have_forward_hook = no; then
enable_libffi=no
enable_ffcall=no
fi
the test that is run is effectively:
conftest.c:
#line 12653 "configure"
/* confdefs.h. */
#define PACKAGE_NAME ""
.
.
.
#define HAVE_CALLBACK_H 1
/* end confdefs.h. */
#include <objc/objc-api.h>
localhost:~/GNUstep-Darwin/test lars$ /opt/local/bin/gcc -E
-I/opt/local/include -fgnu-runtime
-I/opt/local/GNUstep/System/Library/Headers conftest.c
cc1: warning: command line option "-fgnu-runtime" is valid for ObjC/ObjC++
but not for C
# 1 "conftest.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "conftest.c"
# 12653 "configure"
# 12765 "configure"
# 1 "/usr/include/objc/objc-api.h" 1 3 4
# 12766 "configure" 2
localhost:~/GNUstep-Darwin/test lars$
as one can see here the wrong objc-api.h is found: the one of the NeXT
runtime.
if I issue:
localhost:~/GNUstep-Darwin/test lars$ /opt/local/bin/gcc -E
-I/opt/local/lib/gcc/i686-apple-darwin7.2.1/4.0.0/include-gnu-runtime
-I/opt/local/include -fgnu-runtime
-I/opt/local/GNUstep/System/Library/Headers conftest.c
cc1: warning: command line option "-fgnu-runtime" is valid for ObjC/ObjC++
but not for C
# 1 "conftest.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "conftest.c"
# 12653 "configure"
# 12765 "configure"
# 1
"/opt/local/lib/gcc/i686-apple-darwin7.2.1/4.0.0/include-gnu-runtime/objc/objc-api.h"
1
# 30
"/opt/local/lib/gcc/i686-apple-darwin7.2.1/4.0.0/include-gnu-runtime/objc/objc-api.h"
.
.
.
extern IMP (*__objc_msg_forward)(SEL);
.
.
.
struct sarray*
objc_get_uninstalled_dtable(void);
# 12766 "configure" 2
localhost:~/GNUstep-Darwin/test lars$
the right (GNU-runtime) objc-api.h is found which contains the
"__objc_msg_forward" the test greps for.
My question is now: What needs to be fixed?
gcc 4.0 for not installing objc-api.h in -I/opt/local/include (gcc was
configured to install into /opt/local)?
Or is the configure check cheesy (from my humble experience including
objc-api.h isn't very common for usual OpenStep Applications)?
And if those GNU-runtime headers are installed in let's say
/opt/local/include/objc how to avoid conflicts with the NeXT-runtime
counterparts in /usr/include/objc ?
TIA, Lars
- configure of base doesn't detect my ffcall,
Lars Sonchocky-Helldorf <=