Nicola,
Thanks for your reply. I've pasted in a small snippet of the make
output below. These are deprecation warnings related to ObjC 2.0.
The vast majority of the deprecated items are in runtime.h, but there
are a few other declarations in other headers that are deprecated as
well. The items are marked with the macro OBJC2_UNAVAILABLE, which
has the underlying definition of "__attribute__((deprecated))".
An alternative is to execute make as 'make OBJCFLAGS="-Wno-deprecated-
declarations"', but my hope was that this could be incorporated into
target.make since I can't think of a reason someone would want these
warnings enabled.
Below the make output snippet, I pasted in the corresponding snippet
of runtime.h that generates these warnings. I hope this is enough
information to be helpful, but let me know if you need something else.
Thanks,
Blake
*** snippet of make output ***
GSObjCRuntime.m:448: warning: ‘objc_class’ is deprecated (declared at
<built-in>:0)
GSObjCRuntime.m:449: warning: ‘objc_class’ is deprecated (declared at
<built-in>:0)
GSObjCRuntime.m:451: warning: ‘super_class’ is deprecated (declared
at /usr/include/objc/runtime.h:47)
GSObjCRuntime.m:452: warning: ‘name’ is deprecated (declared at /usr/
include/objc/runtime.h:48)
GSObjCRuntime.m:453: warning: ‘version’ is deprecated (declared at /
usr/include/objc/runtime.h:49)
GSObjCRuntime.m:454: warning: ‘info’ is deprecated (declared at /usr/
include/objc/runtime.h:50)
GSObjCRuntime.m:457: warning: ‘instance_size’ is deprecated (declared
at /usr/include/objc/runtime.h:51)
GSObjCRuntime.m:461: warning: ‘objc_ivar’ is deprecated (declared at /
usr/include/objc/runtime.h:39)
GSObjCRuntime.m:468: warning: ‘objc_ivar_list’ is deprecated (declared
at /usr/include/objc/runtime.h:52)
*** snippet of runtime.h header definition that causes the warnings ***
struct objc_class {
Class isa;
#if !__OBJC2__
Class super_class
OBJC2_UNAVAILABLE;
const char *name
OBJC2_UNAVAILABLE;
long version
OBJC2_UNAVAILABLE;
long info
OBJC2_UNAVAILABLE;
long instance_size
OBJC2_UNAVAILABLE;
struct objc_ivar_list *ivars
OBJC2_UNAVAILABLE;
struct objc_method_list **methodLists
OBJC2_UNAVAILABLE;
struct objc_cache *cache
OBJC2_UNAVAILABLE;
struct objc_protocol_list *protocols
OBJC2_UNAVAILABLE;
#endif
} OBJC2_UNAVAILABLE;
/* Use `Class` instead of `struct objc_class *` */
On Mar 24, 2008, at 7:47 AM, Nicola Pero wrote:
Hi Blake
Sorry for not answering before - I don't have Leopard, so I don't
really know what warnings you are trying to suppress. ;-)
Can you send us the output of 'make messages=yes' on Mac OS X that
shows the warnings you are wanting to suppress ?
Thanks
On 22 Mar 2008, at 14:45, Blake Nicholson wrote:
I sent this a few days back and haven't heard anything so I thought
I'd try again. I'm not sure if I haven't heard anything because
few people are running Leopard, this isn't a patch people think
should be applied, or if everyone is simply busy with other things.
Whatever the case may be, if anyone can spare a few minutes to
consider this patch, I'd appreciate it. Two specific questions I
have are:
1) Is target.make an okay place to put this or should individual
GNUstep sub-projects make their own decision on whether to add this
to their relevant makefiles?
2) Is INTERNAL_OBJCFLAGS the correct variable to which this
compiler setting should be added?
Thanks,
Blake
Begin forwarded message:
From: Blake Nicholson <[EMAIL PROTECTED]>
Date: March 18, 2008 4:00:28 PM GMT-04:00
To: [email protected]
Subject: PATCH: suppress deprecation warnings on OS X Leopard
The following patch modifies target.make so that it adds the
compiler option -Wno-deprecated-declarations when compiling
GNUstep on Mac OS X 10.5 (Leopard) using Apple's GCC. Is this
kind of wholesale disabling of warnings okay, or should this be
done on an individual GNUmakefile level?
Thanks,
Blake
Index: target.make
===================================================================
--- target.make (revision 26339)
+++ target.make (working copy)
@@ -343,6 +343,10 @@
ifeq ($(findstring darwin7, $(GNUSTEP_TARGET_OS)), darwin7)
DYLIB_EXTRA_FLAGS += -Wl,-single_module
endif
+# suppress deprecation warnings on OS X 10.5 (Leopard)
+ifeq ($(findstring darwin9, $(GNUSTEP_TARGET_OS)), darwin9)
+ INTERNAL_OBJCFLAGS += -Wno-deprecated-declarations
+endif
SHARED_LIB_LINK_CMD = \
$(CC) $(SHARED_LD_PREFLAGS) \
_______________________________________________
Gnustep-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnustep-dev
_______________________________________________
Gnustep-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnustep-dev
_______________________________________________
Gnustep-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnustep-dev