mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 16:33:29 +00:00
Prevent builds where nonfragile-abi state does not match that with which
the base library was configured. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29929 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
a7653da42c
commit
a83ae2b69d
5 changed files with 38 additions and 4 deletions
|
@ -1,3 +1,12 @@
|
|||
2010-03-13 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* configure.ac: Note use of nonfragile abi
|
||||
* configure: regenerate
|
||||
* Headers/Additions/GNUstepBase/GSConfig.h.in: save nonfragile abi state
|
||||
* Headers/Additions/GNUstepBase/GSVersionMacros.h:
|
||||
Fix check for nonfragile-abi state, and raise an error if the current
|
||||
compile doesn't atch the state used to build the base library.
|
||||
|
||||
2010-03-12 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Source/NSKeyedArchiver.m:
|
||||
|
|
|
@ -220,6 +220,7 @@ typedef struct {
|
|||
|
||||
#define OBJC2RUNTIME @OBJC2RUNTIME@
|
||||
#define BASE_NATIVE_OBJC_EXCEPTIONS @BASE_NATIVE_OBJC_EXCEPTIONS@
|
||||
#define GS_NONFRAGILE @GS_NONFRAGILE@
|
||||
|
||||
#import <GNUstepBase/preface.h>
|
||||
|
||||
|
|
|
@ -186,6 +186,13 @@
|
|||
*/
|
||||
#define GS_API_MACOSX 100000
|
||||
|
||||
|
||||
#if defined(GNUSTEP_BASE_INTERNAL)
|
||||
#import "GNUstepBase/GSConfig.h"
|
||||
#else
|
||||
#import <GNUstepBase/GSConfig.h>
|
||||
#endif
|
||||
|
||||
/* The following is for deciding whether private instance variables
|
||||
* should be visible ... if we are building with a compiler which
|
||||
* does not define __has_feature then we know we don't have non-fragile
|
||||
|
@ -201,8 +208,15 @@
|
|||
#define __has_feature(x) 0
|
||||
#endif
|
||||
|
||||
#define GS_NONFRAGILE \
|
||||
(__has_feature(objc_nonfragile_abi) || __has_feature(objc_nonfragile_abi2))
|
||||
#if (__has_feature(objc_nonfragile_abi) || __has_feature(objc_nonfragile_abi2))
|
||||
#if !GS_NONFRAGILE
|
||||
#error "You are now using the objc-nonfragile-abi but your gnustep-base was not configured to use it."
|
||||
#endif
|
||||
#else
|
||||
#if GS_NONFRAGILE
|
||||
#error "Your gnustep-base was configured for the objc-nonfragile-abi but you are not using it now."
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define GS_EXPOSE(X) (!GS_NONFRAGILE || defined(EXPOSE_##X##_IVARS))
|
||||
|
||||
|
|
10
configure
vendored
10
configure
vendored
|
@ -708,6 +708,7 @@ NX_CONST_STRING_OBJCFLAGS
|
|||
NX_CONST_STRING_CLASS
|
||||
OBJC2RUNTIME
|
||||
OBJCFLAGS
|
||||
GS_NONFRAGILE
|
||||
HAVE_OBJC_SYNC_ENTER
|
||||
GS_SIZEOF_MUTEX_T
|
||||
GS_SIZEOF_COND_T
|
||||
|
@ -9332,7 +9333,11 @@ CPPFLAGS="$saved_CPPFLAGS"
|
|||
if test $non_fragile = yes; then
|
||||
OBJCFLAGS="$OBJCFLAGS -fobjc-nonfragile-abi"
|
||||
|
||||
GS_NONFRAGILE=1
|
||||
else
|
||||
GS_NONFRAGILE=0
|
||||
fi
|
||||
|
||||
{ echo "$as_me:$LINENO: result: $non_fragile" >&5
|
||||
echo "${ECHO_T}$non_fragile" >&6; }
|
||||
|
||||
|
@ -22004,8 +22009,8 @@ NX_CONST_STRING_OBJCFLAGS!$NX_CONST_STRING_OBJCFLAGS$ac_delim
|
|||
NX_CONST_STRING_CLASS!$NX_CONST_STRING_CLASS$ac_delim
|
||||
OBJC2RUNTIME!$OBJC2RUNTIME$ac_delim
|
||||
OBJCFLAGS!$OBJCFLAGS$ac_delim
|
||||
GS_NONFRAGILE!$GS_NONFRAGILE$ac_delim
|
||||
HAVE_OBJC_SYNC_ENTER!$HAVE_OBJC_SYNC_ENTER$ac_delim
|
||||
GS_SIZEOF_MUTEX_T!$GS_SIZEOF_MUTEX_T$ac_delim
|
||||
_ACEOF
|
||||
|
||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
|
||||
|
@ -22047,6 +22052,7 @@ _ACEOF
|
|||
ac_delim='%!_!# '
|
||||
for ac_last_try in false false false false false :; do
|
||||
cat >conf$$subs.sed <<_ACEOF
|
||||
GS_SIZEOF_MUTEX_T!$GS_SIZEOF_MUTEX_T$ac_delim
|
||||
GS_SIZEOF_COND_T!$GS_SIZEOF_COND_T$ac_delim
|
||||
HAVE_PTS_STREAM_MODULES!$HAVE_PTS_STREAM_MODULES$ac_delim
|
||||
INCLUDE_STDINT!$INCLUDE_STDINT$ac_delim
|
||||
|
@ -22091,7 +22097,7 @@ LIBOBJS!$LIBOBJS$ac_delim
|
|||
LTLIBOBJS!$LTLIBOBJS$ac_delim
|
||||
_ACEOF
|
||||
|
||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 42; then
|
||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 43; then
|
||||
break
|
||||
elif $ac_last_try; then
|
||||
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
|
||||
|
|
|
@ -681,7 +681,11 @@ CPPFLAGS="$saved_CPPFLAGS"
|
|||
if test $non_fragile = yes; then
|
||||
OBJCFLAGS="$OBJCFLAGS -fobjc-nonfragile-abi"
|
||||
AC_SUBST(OBJCFLAGS)
|
||||
GS_NONFRAGILE=1
|
||||
else
|
||||
GS_NONFRAGILE=0
|
||||
fi
|
||||
AC_SUBST(GS_NONFRAGILE)
|
||||
AC_MSG_RESULT($non_fragile)
|
||||
|
||||
# Don't revert any Objective-C flags as they are used in the next test
|
||||
|
|
Loading…
Reference in a new issue