discuss-gnustep
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]