diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog index 431c7fc200982ef021ccb44e64b40004b1d892b9..784056bf1e5b0bb60124660a4dfba2fc730473e2 100644 --- a/libobjc/ChangeLog +++ b/libobjc/ChangeLog @@ -1,3 +1,21 @@ +2010-09-11 Nicola Pero <nicola.pero@meta-innovation.com> + + * objc/runtime.h: Moved to objc-private/runtime.h. Do not include + all the objc/*.h files. + * objc-private/runtime.h: New file. + * archive.c: Include objc-private/runtime.h (and required objc/*.h + files) instead of objc/runtime.h. + * class.c: Same change. + * hash.c: Same change. + * init.c: Same change. + * misc.c: Same change. + * nil_method.c: Same change. + * objects.c: Same change. + * sarray.c: Same change. + * selector.c: Same change. + * sendmsg.c: Same change. + * thr.c: Same change. + 2010-09-11 Nicola Pero <nicola.pero@meta-innovation.com> * objc/deprecated/struct_objc_selector.h: New file. Definition of diff --git a/libobjc/archive.c b/libobjc/archive.c index 6ac25fbd9a13334f35fee18c1745272d9ffd320f..5275c63042b4b9c27de6d306819eb658d758dc73 100644 --- a/libobjc/archive.c +++ b/libobjc/archive.c @@ -23,7 +23,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see <http://www.gnu.org/licenses/>. */ #include "tconfig.h" -#include "objc/runtime.h" +#include "objc/objc.h" +#include "objc/objc-api.h" +#include "objc/thr.h" +#include "objc/hash.h" +#include "objc/objc-list.h" +#include "objc-private/runtime.h" #include "objc/typedstream.h" #include "objc/encoding.h" #include <stdlib.h> diff --git a/libobjc/class.c b/libobjc/class.c index 58f23194a2ea5b6bd6751f5b0d4e9d7013fc862e..f3bb07b1980f8e305e155b4a2575887b0de185b6 100644 --- a/libobjc/class.c +++ b/libobjc/class.c @@ -87,12 +87,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see classes from the table - and the difficult thing with lock-free data structures is freeing data when is removed from the structures. */ -#include "objc/runtime.h" /* the kitchen sink */ -#include "objc/sarray.h" - #include "objc/objc.h" #include "objc/objc-api.h" #include "objc/thr.h" +#include "objc/hash.h" +#include "objc/objc-list.h" +#include "objc-private/runtime.h" /* the kitchen sink */ +#include "objc/sarray.h" /* We use a table which maps a class name to the corresponding class * pointer. The first part of this file defines this table, and diff --git a/libobjc/hash.c b/libobjc/hash.c index 21d9458c8352f742ee0b11bcf7ca59e677643010..69b0b9f216271e67743813fd779aa94c4fcf213a 100644 --- a/libobjc/hash.c +++ b/libobjc/hash.c @@ -24,9 +24,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "assert.h" +#include "objc/objc.h" +#include "objc/objc-api.h" +#include "objc/thr.h" #include "objc/hash.h" - -#include "objc/runtime.h" /* for DEBUG_PRINTF */ +#include "objc/objc-list.h" +#include "objc-private/runtime.h" /* for DEBUG_PRINTF */ /* These two macros determine when a hash table is full and by how much it should be expanded respectively. diff --git a/libobjc/init.c b/libobjc/init.c index 138f9077472dbfd1ed3476248f2d3a3ccbea1779..ea6ab38569ea6a9f36dc7b21903595a1df9a9100 100644 --- a/libobjc/init.c +++ b/libobjc/init.c @@ -24,7 +24,12 @@ a copy of the GCC Runtime Library Exception along with this program; see the files COPYING3 and COPYING.RUNTIME respectively. If not, see <http://www.gnu.org/licenses/>. */ -#include "objc/runtime.h" +#include "objc/objc.h" +#include "objc/objc-api.h" +#include "objc/thr.h" +#include "objc/hash.h" +#include "objc/objc-list.h" +#include "objc-private/runtime.h" /* The version number of this runtime. This must match the number defined in gcc (objc-act.c). */ diff --git a/libobjc/misc.c b/libobjc/misc.c index ab7f568ebc00dc57d7df43a5d5877f1e04d6c599..987acfc2e204fd11737f62006604a3c196e268d5 100644 --- a/libobjc/misc.c +++ b/libobjc/misc.c @@ -27,7 +27,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #define __USE_FIXED_PROTOTYPES__ #include <stdlib.h> -#include "objc/runtime.h" +#include "objc/objc.h" +#include "objc/objc-api.h" +#include "objc/thr.h" +#include "objc/hash.h" +#include "objc/objc-list.h" +#include "objc-private/runtime.h" /* ** Error handler function diff --git a/libobjc/nil_method.c b/libobjc/nil_method.c index f73505cab5511168c2ed3101b009c7e7b3fd3648..c58515baa5b7141a271cad92f521c28c965a085b 100644 --- a/libobjc/nil_method.c +++ b/libobjc/nil_method.c @@ -26,7 +26,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see /* This is the nil method, the function that is called when the receiver of a method is nil */ -#include "objc/runtime.h" +#include "objc/objc.h" +#include "objc/objc-api.h" +#include "objc/thr.h" +#include "objc/hash.h" +#include "objc/objc-list.h" +#include "objc-private/runtime.h" /* When the receiver of a method invocation is nil, the runtime returns nil_method() as the method implementation. This function diff --git a/libobjc/objc/runtime.h b/libobjc/objc-private/runtime.h similarity index 92% rename from libobjc/objc/runtime.h rename to libobjc/objc-private/runtime.h index 190d7efb649c5352b691e3259fed03a6c75c6bcd..c924e4d49750b0f05e5c20160a9211752b1f4718 100644 --- a/libobjc/objc/runtime.h +++ b/libobjc/objc-private/runtime.h @@ -22,6 +22,19 @@ a copy of the GCC Runtime Library Exception along with this program; see the files COPYING3 and COPYING.RUNTIME respectively. If not, see <http://www.gnu.org/licenses/>. */ +/* You need to include this file after including a number of standard ObjC files. + +The original list was: + +#include "objc/objc.h" +#include "objc/objc-api.h" +#include "objc/thr.h" +#include "objc/hash.h" +#include "objc/objc-list.h" + +but can almost certainly be shrinked down. + +*/ #ifndef __objc_runtime_INCLUDE_GNU #define __objc_runtime_INCLUDE_GNU @@ -34,14 +47,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include <stddef.h> /* so noone else will get system versions */ #include <assert.h> -#include "objc.h" /* core data types */ -#include "objc-api.h" /* runtime api functions */ - -#include "thr.h" /* thread and mutex support */ - -#include "hash.h" /* hash structures */ -#include "objc-list.h" /* linear lists */ - #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ diff --git a/libobjc/objects.c b/libobjc/objects.c index 36ff8675a2f10e90b70303c75bea7ab369415e9c..10ac3a991022b6b87e0cdbf373a308137d1a6b7c 100644 --- a/libobjc/objects.c +++ b/libobjc/objects.c @@ -25,7 +25,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "tconfig.h" /* include defs of bzero for target */ #include "objc/objc.h" -#include "objc/runtime.h" /* the kitchen sink */ +#include "objc/objc-api.h" +#include "objc/thr.h" +#include "objc/hash.h" +#include "objc/objc-list.h" +#include "objc-private/runtime.h" /* the kitchen sink */ #if OBJC_WITH_GC # include <gc.h> diff --git a/libobjc/sarray.c b/libobjc/sarray.c index bb80ae03ec363b703ffb8839f2c45c3e8ecced0d..c4d7fbb6b364406a13879c23be8a894c09fceff1 100644 --- a/libobjc/sarray.c +++ b/libobjc/sarray.c @@ -24,7 +24,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "objc/sarray.h" -#include "objc/runtime.h" +#include "objc/objc.h" +#include "objc/objc-api.h" +#include "objc/thr.h" +#include "objc/hash.h" +#include "objc/objc-list.h" +#include "objc-private/runtime.h" #include <stdio.h> #include "assert.h" diff --git a/libobjc/selector.c b/libobjc/selector.c index 226ef7db3103a374c09cb807c2d78c5f63b95de7..1b611419da7fe0533cd3ff1139c445081acf1f5a 100644 --- a/libobjc/selector.c +++ b/libobjc/selector.c @@ -23,7 +23,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see <http://www.gnu.org/licenses/>. */ -#include "objc/runtime.h" +#include "objc/objc.h" +#include "objc/objc-api.h" +#include "objc/thr.h" +#include "objc/hash.h" +#include "objc/objc-list.h" +#include "objc-private/runtime.h" #include "objc/sarray.h" #include "objc/encoding.h" diff --git a/libobjc/sendmsg.c b/libobjc/sendmsg.c index 8b1845104e50e18727d1f000ca65f378d63a83d8..5b0d3604a7bf7f93b0a87f67648167f95d53f0f2 100644 --- a/libobjc/sendmsg.c +++ b/libobjc/sendmsg.c @@ -31,7 +31,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "tconfig.h" #include "coretypes.h" #include "tm.h" -#include "objc/runtime.h" +#include "objc/objc.h" +#include "objc/objc-api.h" +#include "objc/thr.h" +#include "objc/hash.h" +#include "objc/objc-list.h" +#include "objc-private/runtime.h" #include "objc/sarray.h" #include "objc/encoding.h" #include "runtime-info.h" diff --git a/libobjc/thr.c b/libobjc/thr.c index 4bdbb5d1a2760380523af9154368e2a8658c0bff..b2a896a0f4541f0c92a4a2b6e77456c074d25249 100644 --- a/libobjc/thr.c +++ b/libobjc/thr.c @@ -36,7 +36,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "tm.h" #include "defaults.h" #include "objc/thr.h" -#include "objc/runtime.h" +#include "objc/objc.h" +#include "objc/objc-api.h" +#include "objc/hash.h" +#include "objc/objc-list.h" +#include "objc-private/runtime.h" #include <gthr.h> #include <stdlib.h>