mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-31 08:41:03 +00:00
NeXT_RUNTIME fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@9681 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
0988695f73
commit
f00a1d0349
8 changed files with 465 additions and 680 deletions
|
@ -1,8 +1,14 @@
|
||||||
2001-04-23 Adam Fedor <fedor@gnu.org>
|
2001-04-23 Adam Fedor <fedor@gnu.org>
|
||||||
|
|
||||||
|
* configure.in: Simplify NeXT checks.
|
||||||
* Headers/gnustep/base/NSLock.h: Fix NeXT_RUNTIME typo.
|
* Headers/gnustep/base/NSLock.h: Fix NeXT_RUNTIME typo.
|
||||||
* Headers/gnustep/base/objc-gnu2next.h: Change *_EXPORT to extern
|
* Headers/gnustep/base/objc-gnu2next.h: Change *_EXPORT to extern
|
||||||
* Source/o_vscanf.c: include objc-gnu2next.h
|
* Source/o_vscanf.c: include objc-gnu2next.h
|
||||||
|
* Source/NSConnection.m: Fix test for NeXT_RUNTIME define.
|
||||||
|
* Source/NSDistantObject.m: Likewise.
|
||||||
|
* Source/callframe.m: Likewise.
|
||||||
|
* Source/cifframe.m: Likewise.
|
||||||
|
* Source/mframe.m: Likewise.
|
||||||
|
|
||||||
2001-04-24 Nicola Pero <n.pero@mi.flashnet.it>
|
2001-04-24 Nicola Pero <n.pero@mi.flashnet.it>
|
||||||
|
|
||||||
|
|
|
@ -1448,7 +1448,7 @@ static BOOL multi_threaded = NO;
|
||||||
NSParameterAssert (_isValid);
|
NSParameterAssert (_isValid);
|
||||||
|
|
||||||
/* get the method types from the selector */
|
/* get the method types from the selector */
|
||||||
#if NeXT_runtime
|
#if NeXT_RUNTIME
|
||||||
[NSException
|
[NSException
|
||||||
raise: NSGenericException
|
raise: NSGenericException
|
||||||
format: @"Sorry, distributed objects does not work with NeXT runtime"];
|
format: @"Sorry, distributed objects does not work with NeXT runtime"];
|
||||||
|
|
|
@ -897,7 +897,7 @@ static inline BOOL class_is_kind_of (Class self, Class aClassObject)
|
||||||
|
|
||||||
- (const char *) selectorTypeForProxy: (SEL)selector
|
- (const char *) selectorTypeForProxy: (SEL)selector
|
||||||
{
|
{
|
||||||
#if NeXT_runtime
|
#if NeXT_RUNTIME
|
||||||
{
|
{
|
||||||
elt e;
|
elt e;
|
||||||
const char *t;
|
const char *t;
|
||||||
|
|
|
@ -247,7 +247,7 @@ callframe_do_call_opts (const char *encoded_types,
|
||||||
as the ENCODED_TYPES string, but it will have different register
|
as the ENCODED_TYPES string, but it will have different register
|
||||||
and stack locations if the ENCODED_TYPES came from a machine of a
|
and stack locations if the ENCODED_TYPES came from a machine of a
|
||||||
different architecture. */
|
different architecture. */
|
||||||
#if NeXT_runtime
|
#if NeXT_RUNTIME
|
||||||
{
|
{
|
||||||
Method m;
|
Method m;
|
||||||
m = class_getInstanceMethod(object->isa, selector);
|
m = class_getInstanceMethod(object->isa, selector);
|
||||||
|
|
|
@ -534,7 +534,7 @@ cifframe_do_call_opts (const char *encoded_types,
|
||||||
as the ENCODED_TYPES string, but it will have different register
|
as the ENCODED_TYPES string, but it will have different register
|
||||||
and stack locations if the ENCODED_TYPES came from a machine of a
|
and stack locations if the ENCODED_TYPES came from a machine of a
|
||||||
different architecture. */
|
different architecture. */
|
||||||
#if NeXT_runtime
|
#if NeXT_RUNTIME
|
||||||
{
|
{
|
||||||
Method m;
|
Method m;
|
||||||
m = class_getInstanceMethod(object->isa, selector);
|
m = class_getInstanceMethod(object->isa, selector);
|
||||||
|
|
|
@ -853,7 +853,7 @@ mframe_do_call_opts (const char *encoded_types,
|
||||||
as the ENCODED_TYPES string, but it will have different register
|
as the ENCODED_TYPES string, but it will have different register
|
||||||
and stack locations if the ENCODED_TYPES came from a machine of a
|
and stack locations if the ENCODED_TYPES came from a machine of a
|
||||||
different architecture. */
|
different architecture. */
|
||||||
#if NeXT_runtime
|
#if NeXT_RUNTIME
|
||||||
{
|
{
|
||||||
Method m;
|
Method m;
|
||||||
m = class_getInstanceMethod(object->isa, selector);
|
m = class_getInstanceMethod(object->isa, selector);
|
||||||
|
|
58
configure.in
58
configure.in
|
@ -56,8 +56,6 @@ esac
|
||||||
# Find out if we\'re using NeXT\'s compiler.
|
# Find out if we\'re using NeXT\'s compiler.
|
||||||
# if yes:
|
# if yes:
|
||||||
# add -cpp-traditional to CPP
|
# add -cpp-traditional to CPP
|
||||||
# if no:
|
|
||||||
# include implementations of List, HashTable etc.
|
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
AC_PROG_NEXTCC
|
AC_PROG_NEXTCC
|
||||||
if test "$NeXTCC" != yes; then
|
if test "$NeXTCC" != yes; then
|
||||||
|
@ -78,9 +76,7 @@ if test "$NeXTCC" != yes; then
|
||||||
echo "I'm not even sure gstep-base uses nested functions anymore"
|
echo "I'm not even sure gstep-base uses nested functions anymore"
|
||||||
echo "but if it does, gstep-base will not compile. Try it"
|
echo "but if it does, gstep-base will not compile. Try it"
|
||||||
echo "The program this configure script used to test nested functions"
|
echo "The program this configure script used to test nested functions"
|
||||||
echo "can be found in the file 'config/config.nested.c' in this"
|
echo "can be found in the file 'config/config.nested.c'"
|
||||||
echo "distribution. Under sparc-sun-sunos4.1.3 with gcc-2.6.1 the"
|
|
||||||
echo "file compiles, runs and returns exit status 0."
|
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT(yes)
|
AC_MSG_RESULT(yes)
|
||||||
fi
|
fi
|
||||||
|
@ -93,10 +89,6 @@ if test "$NeXTCC" != yes; then
|
||||||
#endif], NeXTSTEP=0, NeXTSTEP=1)
|
#endif], NeXTSTEP=0, NeXTSTEP=1)
|
||||||
if test $NeXTSTEP = 0; then
|
if test $NeXTSTEP = 0; then
|
||||||
AC_MSG_RESULT(no)
|
AC_MSG_RESULT(no)
|
||||||
OBJS_INSTALL='$(GNU_OBJS) $(NEXTSTEP_OBJS) $(GNUSTEP_OBJS)'
|
|
||||||
HEADERS_INSTALL='$(GNU_HEADERS) $(NEXTSTEP_HEADERS) $(GNUSTEP_HEADERS)'
|
|
||||||
NEXT_INCLUDES='$(GNU_NEXT_INCLUDES)'
|
|
||||||
NeXT_runtime=0
|
|
||||||
NeXT_cc=0
|
NeXT_cc=0
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT(yes)
|
AC_MSG_RESULT(yes)
|
||||||
|
@ -107,63 +99,25 @@ if test "$NeXTCC" != yes; then
|
||||||
ac_ext=m
|
ac_ext=m
|
||||||
AC_MSG_CHECKING(whether we are using GNU Objective C runtime)
|
AC_MSG_CHECKING(whether we are using GNU Objective C runtime)
|
||||||
AC_TRY_LINK([#include "$srcdir/config/config.nextrt.m"], ;,
|
AC_TRY_LINK([#include "$srcdir/config/config.nextrt.m"], ;,
|
||||||
NeXT_runtime=1, NeXT_runtime=0)
|
NeXT_RUNTIME=1, NeXT_RUNTIME=0)
|
||||||
ac_ext=$saved_ac_ext
|
ac_ext=$saved_ac_ext
|
||||||
if test $NeXT_runtime = 1; then
|
if test $NeXT_RUNTIME = 1; then
|
||||||
AC_MSG_RESULT(no: NeXT runtime)
|
AC_MSG_RESULT(no: NeXT runtime)
|
||||||
LIBOBJC=''
|
LIBOBJC=''
|
||||||
CC="$CC -fnext-runtime -DNeXT_RUNTIME"
|
CPPFLAGS="$CPPFLAGS -fnext-runtime -DNeXT_RUNTIME"
|
||||||
# Make sure that we get NeXTs objc/*.h files
|
|
||||||
NEXT_INCLUDES='$(NEXT_NEXT_INCLUDES)'
|
|
||||||
OBJS_INSTALL='$(GNU_OBJS)'
|
|
||||||
HEADERS_INSTALL='$(GNU_HEADERS)'
|
|
||||||
NeXT_cc=0
|
NeXT_cc=0
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT(yes)
|
AC_MSG_RESULT(yes)
|
||||||
LIBOBJC='-lobjc'
|
LIBOBJC='-lobjc'
|
||||||
CC="$CC -fgnu-runtime"
|
CPPFLAGS="$CPPFLAGS -fgnu-runtime"
|
||||||
# Get objc/List.h, etc. files from this library.
|
|
||||||
NEXT_INCLUDES='$(GNU_NEXT_INCLUDES)'
|
|
||||||
OBJS_INSTALL='$(GNU_OBJS) $(NEXTSTEP_OBJS) $(GNUSTEP_OBJS)'
|
|
||||||
HEADERS_INSTALL='$(GNU_HEADERS) $(NEXTSTEP_HEADERS) $(GNUSTEP_HEADERS)'
|
|
||||||
NeXT_cc=0
|
NeXT_cc=0
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
else
|
else
|
||||||
|
AC_MSG_ERROR(Sorry, $(LIBRARY_NAME) does not work with NeXT's cc; use gcc)
|
||||||
AC_MSG_ERROR(Sorry, $(LIBRARY_NAME) does not currently work with NeXT's cc; use gcc)
|
|
||||||
#----------------------------------------------------------------
|
|
||||||
# Find out if we have NEXTSTEP 3.2 or lower
|
|
||||||
#----------------------------------------------------------------
|
|
||||||
AC_CHECKING(NEXTSTEP version)
|
|
||||||
AC_TRY_CPP([#if NX_CURRENT_COMPILER_RELEASE < 320
|
|
||||||
#error
|
|
||||||
#endif], NeXT32plus=1, NeXT32plus=0)
|
|
||||||
if test $NeXT32plus = 0; then
|
|
||||||
echo "aborting"
|
|
||||||
echo
|
|
||||||
echo "It looks like your compiler is NEXTSTEP 3.2 or earlier."
|
|
||||||
echo "$(LIBRARY_NAME) makes extensive use of nested functions. In 3.2,"
|
|
||||||
echo "NeXT's cc did not support nested functions. To compile $(LIBRARY_NAME)"
|
|
||||||
echo "you can either (1) use gcc instead of NeXT's cc (no loss, since"
|
|
||||||
echo "gcc can compile AppKit programs without problems), or (2) upgrade"
|
|
||||||
echo "to the later release of NEXTSTEP when it is available."
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
OBJS_INSTALL='$(GNU_OBJS)'
|
|
||||||
HEADERS_INSTALL='$(GNU_HEADERS)'
|
|
||||||
LIBOBJC=''
|
|
||||||
NeXT_runtime=1
|
|
||||||
NeXT_cc=1
|
|
||||||
# NeXT default cpp doesn't accept nested functions
|
|
||||||
CC='cc -traditional-cpp'
|
|
||||||
fi
|
fi
|
||||||
AC_SUBST(OBJS_INSTALL)
|
|
||||||
AC_SUBST(HEADERS_INSTALL)
|
|
||||||
AC_DEFINE_UNQUOTED(NeXT_runtime, $NeXT_runtime)
|
|
||||||
AC_DEFINE_UNQUOTED(NeXT_cc, $NeXT_cc)
|
AC_DEFINE_UNQUOTED(NeXT_cc, $NeXT_cc)
|
||||||
AC_SUBST(NEXT_INCLUDES)
|
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
# Miscellaneous flags
|
# Miscellaneous flags
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue