[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] Get rid of autogenerated concrete NSNumber/NSValue files
From: |
Andrew Ruder |
Subject: |
[PATCH] Get rid of autogenerated concrete NSNumber/NSValue files |
Date: |
Thu, 25 May 2006 13:47:56 -0500 |
User-agent: |
Mutt/1.5.11 |
Hey all,
If there is any interest, I have a patch against -base that removes the
autogenerated NSNumber<0-11>.m and GSValue<0-5>.m files and instead uses
simple preprocessor to do the dirty work.
The following patch is after renaming
NSConcreteNumber.m => NSConcreteNumberTemplate.m
GSTemplateValue.m => GSConcreteValueTemplate.m
The idea is to have a NSConcreteNumber.m and GSConcreteValue.m that
simply redefine TYPE_ORDER and include the template repeatedly.
Don't worry about merging it if it looks good, I am using svk for
GNUstep development and can bring in all the changes quite
easily/quickly from my local branch. Just thought it would be a nice
cleanup and I'm not sure I really have 'official' commit access; I just
acquired it by managing the cvs => svn transistion.
Thanks,
Andy
--
Andrew Ruder <address@hidden>
http://www.aeruder.net
=== Source/Makefile.postamble
==================================================================
--- Source/Makefile.postamble (revision 3590)
+++ Source/Makefile.postamble (revision 3591)
@@ -114,16 +114,6 @@
# Things to do after checking
# after-check::
-# Creation of NSValue and NSNumber concrete classes from templates
-$(NSVALUE_MFILES) : GSTemplateValue.m
- rm -f $@
- echo '#define TYPE_ORDER' `echo $@ | sed -e "s,[^0-9],,g"` >$@
- cat GSTemplateValue.m >> $@
-$(NSNUMBER_MFILES) : NSConcreteNumber.m
- rm -f $@
- echo '#define TYPE_ORDER' `echo $@ | sed -e "s,[^0-9],,g"` >$@
- cat NSConcreteNumber.m >> $@
-
$(GNUSTEP_OBJ_DIR)/objc-load${OEXT}: dynamic-load.h
dynamic-load.h: ../config.status
=== Source/GSConcreteValueTemplate.m
==================================================================
--- Source/GSConcreteValueTemplate.m (revision 3590)
+++ Source/GSConcreteValueTemplate.m (revision 3591)
@@ -22,15 +22,7 @@
Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02111 USA.
*/
-#include "config.h"
-#include "Foundation/NSValue.h"
-#include "Foundation/NSString.h"
-#include "Foundation/NSException.h"
-#include "Foundation/NSCoder.h"
-#include "Foundation/NSObjCRuntime.h"
-#include "GNUstepBase/preface.h"
-
/* This file should be run through a preprocessor with the macro TYPE_ORDER
defined to a number from 0 to 4 corresponding to each value type */
#if TYPE_ORDER == 0
@@ -265,3 +257,6 @@
}
@end
+#undef GSTemplateValue
+#undef TYPE_METHOD
+#undef TYPE_NAME
=== Source/GNUmakefile
==================================================================
--- Source/GNUmakefile (revision 3590)
+++ Source/GNUmakefile (revision 3591)
@@ -133,6 +133,7 @@
BASE_MFILES = \
GSArray.m \
GSAttributedString.m \
+GSConcreteValue.m \
GSCountedSet.m \
GSDictionary.m \
GSFormat.m \
@@ -156,6 +157,7 @@
NSCoder.m \
NSCopyObject.m \
NSCountedSet.m \
+NSConcreteNumber.m \
NSConnection.m \
NSData.m \
NSDate.m \
@@ -248,17 +250,9 @@
BASE_MFILES += GSFFCallInvocation.m
endif
-NSVALUE_MFILES = \
- GSValue0.m GSValue1.m GSValue2.m GSValue3.m \
- GSValue4.m GSValue5.m
-NSNUMBER_MFILES = \
- NSNumber0.m NSNumber1.m NSNumber2.m NSNumber3.m \
- NSNumber4.m NSNumber5.m NSNumber6.m NSNumber7.m \
- NSNumber8.m NSNumber9.m NSNumber10.m NSNumber11.m \
- NSNumber12.m
-
BASE_OTHER_SRCFILES = \
-NSConcreteNumber.m \
+NSConcreteNumberTemplate.m \
+GSConcreteValueTemplate.m \
GSTemplateValue.m \
dld-load.h \
hpux-load.h \
@@ -374,7 +368,7 @@
# The Objective-C source files to be compiled
libgnustep-base_OBJC_FILES = $(GNU_MFILES) \
- $(BASE_MFILES) $(NSVALUE_MFILES) $(NSNUMBER_MFILES)
+ $(BASE_MFILES)
libgnustep-base_C_FILES = $(GNU_CFILES)
# Extra DLL exports file
=== Source/GSConcreteValue.m
==================================================================
--- Source/GSConcreteValue.m (revision 3590)
+++ Source/GSConcreteValue.m (revision 3591)
@@ -0,0 +1,32 @@
+#include "config.h"
+#include "Foundation/NSValue.h"
+#include "Foundation/NSString.h"
+#include "Foundation/NSException.h"
+#include "Foundation/NSCoder.h"
+#include "Foundation/NSObjCRuntime.h"
+#include "GNUstepBase/preface.h"
+
+#define TYPE_ORDER 0
+#include "GSConcreteValueTemplate.m"
+#undef TYPE_ORDER
+
+#define TYPE_ORDER 1
+#include "GSConcreteValueTemplate.m"
+#undef TYPE_ORDER
+
+#define TYPE_ORDER 2
+#include "GSConcreteValueTemplate.m"
+#undef TYPE_ORDER
+
+#define TYPE_ORDER 3
+#include "GSConcreteValueTemplate.m"
+#undef TYPE_ORDER
+
+#define TYPE_ORDER 4
+#include "GSConcreteValueTemplate.m"
+#undef TYPE_ORDER
+
+#define TYPE_ORDER 5
+#include "GSConcreteValueTemplate.m"
+#undef TYPE_ORDER
+
=== Source/NSConcreteNumberTemplate.m
==================================================================
--- Source/NSConcreteNumberTemplate.m (revision 3590)
+++ Source/NSConcreteNumberTemplate.m (revision 3591)
@@ -1,4 +1,4 @@
-# line 1 "NSConcreteNumber.m" /* So gdb knows which file we are in */
+# line 1 "NSConcreteNumberTemplate.m" /* So gdb knows which file we are in */
/* NSConcreteNumber - Object encapsulation of numbers
Copyright (C) 1993, 1994, 1996, 2000 Free Software Foundation, Inc.
@@ -25,17 +25,6 @@
Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02111 USA.
*/
-#include "config.h"
-#include "GNUstepBase/preface.h"
-#include "GSConfig.h"
-#include "Foundation/NSObjCRuntime.h"
-#include "Foundation/NSString.h"
-#include "Foundation/NSException.h"
-#include "Foundation/NSCoder.h"
-#include "Foundation/NSPortCoder.h"
-#include "Foundation/NSCoder.h"
-#include "NSConcreteNumber.h"
-
/* This file should be run through a preprocessor with the macro TYPE_ORDER
defined to a number from 0 to 12 corresponding to each number type */
#if TYPE_ORDER == 0
@@ -618,3 +607,6 @@
@end
+#undef TYPE_TYPE
+#undef NumberTemplate
+#undef PT
=== Source/NSConcreteNumber.m
==================================================================
--- Source/NSConcreteNumber.m (revision 3590)
+++ Source/NSConcreteNumber.m (revision 3591)
@@ -0,0 +1,60 @@
+#include "config.h"
+#include "GNUstepBase/preface.h"
+#include "GSConfig.h"
+#include "Foundation/NSObjCRuntime.h"
+#include "Foundation/NSString.h"
+#include "Foundation/NSException.h"
+#include "Foundation/NSCoder.h"
+#include "NSConcreteNumber.h"
+
+#define TYPE_ORDER 0
+#include "NSConcreteNumberTemplate.m"
+#undef TYPE_ORDER
+
+#define TYPE_ORDER 1
+#include "NSConcreteNumberTemplate.m"
+#undef TYPE_ORDER
+
+#define TYPE_ORDER 2
+#include "NSConcreteNumberTemplate.m"
+#undef TYPE_ORDER
+
+#define TYPE_ORDER 3
+#include "NSConcreteNumberTemplate.m"
+#undef TYPE_ORDER
+
+#define TYPE_ORDER 4
+#include "NSConcreteNumberTemplate.m"
+#undef TYPE_ORDER
+
+#define TYPE_ORDER 5
+#include "NSConcreteNumberTemplate.m"
+#undef TYPE_ORDER
+
+#define TYPE_ORDER 6
+#include "NSConcreteNumberTemplate.m"
+#undef TYPE_ORDER
+
+#define TYPE_ORDER 7
+#include "NSConcreteNumberTemplate.m"
+#undef TYPE_ORDER
+
+#define TYPE_ORDER 8
+#include "NSConcreteNumberTemplate.m"
+#undef TYPE_ORDER
+
+#define TYPE_ORDER 9
+#include "NSConcreteNumberTemplate.m"
+#undef TYPE_ORDER
+
+#define TYPE_ORDER 10
+#include "NSConcreteNumberTemplate.m"
+#undef TYPE_ORDER
+
+#define TYPE_ORDER 11
+#include "NSConcreteNumberTemplate.m"
+#undef TYPE_ORDER
+
+#define TYPE_ORDER 12
+#include "NSConcreteNumberTemplate.m"
+#undef TYPE_ORDER
=== ChangeLog
==================================================================
--- ChangeLog (revision 3590)
+++ ChangeLog (revision 3591)
@@ -1,3 +1,13 @@
+2006-05-25 Andrew Ruder <address@hidden>
+ * Source/NSConcreteNumberTemplate.m (from NSConcreteNumber.m):
+ * Source/GSConcreteValueTemplate.m (from GSTemplateValue.m):
+ * Source/GNUmakefile:
+ * Source/Makefile.postamble:
+ * Source/GSConcreteValue.m (added):
+ * Source/NSConcreteNumber.m (added):
+ Get rid of use of sed to generate concrete NSNumber/NSValue classes.
+ Use preprocessor to get around generation of additional files.
+
2006-05-24 Richard Frith-Macdonald <address@hidden>
* Source/NSPredicate.m: Restore last changes with varargs rewrite
- [PATCH] Get rid of autogenerated concrete NSNumber/NSValue files,
Andrew Ruder <=