[maemo-commits] [maemo-commits] r15672 - in projects/haf/trunk/glib: . gio gobject

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Mon Jun 23 13:53:31 EEST 2008
Author: kris
Date: 2008-06-23 13:53:25 +0300 (Mon, 23 Jun 2008)
New Revision: 15672

Modified:
   projects/haf/trunk/glib/ChangeLog
   projects/haf/trunk/glib/gio/gioenumtypes.h.template
   projects/haf/trunk/glib/gobject/glib-mkenums.in
Log:
2008-06-23  Kristian Rietveld  <kris at imendio.com>

	* gobject/glib-mkenums.in: introduce an ENUMPREFIX substitution.

	* gio/gioenumtypes.h.template: use @ENUMPREFIX@ instead of
	hard coding "G" as prefix.



Modified: projects/haf/trunk/glib/ChangeLog
===================================================================
--- projects/haf/trunk/glib/ChangeLog	2008-06-23 09:46:44 UTC (rev 15671)
+++ projects/haf/trunk/glib/ChangeLog	2008-06-23 10:53:25 UTC (rev 15672)
@@ -1,3 +1,10 @@
+2008-06-23  Kristian Rietveld  <kris at imendio.com>
+
+	* gobject/glib-mkenums.in: introduce an ENUMPREFIX substitution.
+
+	* gio/gioenumtypes.h.template: use @ENUMPREFIX@ instead of
+	hard coding "G" as prefix.
+
 2008-05-14  Michael Natterer  <mitch at imendio.com>
 
 	* m4macros/glib-2.0.m4: revert to upstream. Was apparently

Modified: projects/haf/trunk/glib/gio/gioenumtypes.h.template
===================================================================
--- projects/haf/trunk/glib/gio/gioenumtypes.h.template	2008-06-23 09:46:44 UTC (rev 15671)
+++ projects/haf/trunk/glib/gio/gioenumtypes.h.template	2008-06-23 10:53:25 UTC (rev 15672)
@@ -14,7 +14,7 @@
 
 /*** BEGIN value-header ***/
 GType @enum_name at _get_type (void) G_GNUC_CONST;
-#define G_TYPE_ at ENUMSHORT@ (@enum_name at _get_type ())
+#define @ENUMPREFIX at _TYPE_@ENUMSHORT@ (@enum_name at _get_type ())
 /*** END value-header ***/
 
 /*** BEGIN file-tail ***/

Modified: projects/haf/trunk/glib/gobject/glib-mkenums.in
===================================================================
--- projects/haf/trunk/glib/gobject/glib-mkenums.in	2008-06-23 09:46:44 UTC (rev 15671)
+++ projects/haf/trunk/glib/gobject/glib-mkenums.in	2008-06-23 10:53:25 UTC (rev 15672)
@@ -15,6 +15,7 @@
 my $enum_prefix;		# Prefix for this enumeration
 my $enumname;			# Name for this enumeration
 my $enumshort;			# $enumname without prefix
+my $enumname_prefix;		# prefix of $enumname
 my $enumindex = 0;		# Global enum counter
 my $firstenum = 1;		# Is this the first enumeration per file?
 my @entries;			# [ $name, $val ] for each entry
@@ -149,6 +150,7 @@
     print "  \@enum_name\@                prefix_the_xenum\n";
     print "  \@ENUMNAME\@                 PREFIX_THE_XENUM\n";
     print "  \@ENUMSHORT\@                THE_XENUM\n";
+    print "  \@ENUMPREFIX\@               PREFIX\n";
     print "  \@VALUENAME\@                PREFIX_THE_XVALUE\n";
     print "  \@valuenick\@                the-xvalue\n";
     print "  \@type\@                     either enum or flags\n";
@@ -361,6 +363,9 @@
 	    $enumsym = lc $option_underscore_name;
 	    $enumshort = $enumlong;
 	    $enumshort =~ s/^[A-Z][A-Z0-9]*_//;
+
+	    $enumname_prefix = $enumlong;
+	    $enumname_prefix =~ s/$enumshort$//;
 	} else {
 	    # enumname is e.g. GMatchType
 	    $enspace = $enumname;
@@ -372,6 +377,10 @@
 	    $enumshort =~ s/([A-Z][A-Z])([A-Z][0-9a-z])/$1_$2/g;
 	    $enumshort = uc($enumshort);
 
+	    $enumname_prefix = $enumname;
+	    $enumname_prefix =~ s/^([A-Z][a-z]*).*$/$1/;
+	    $enumname_prefix = uc($enumname_prefix);
+
 	    $enumlong = uc($enspace) . "_" . $enumshort;
 	    $enumsym = lc($enspace) . "_" . lc($enumshort);
 
@@ -402,6 +411,7 @@
 	    $prod =~ s/\@EnumName\@/$enumname/g;
 	    $prod =~ s/\@ENUMSHORT\@/$enumshort/g;
 	    $prod =~ s/\@ENUMNAME\@/$enumlong/g;
+	    $prod =~ s/\@ENUMPREFIX\@/$enumname_prefix/g;
 	    if ($flags) { $prod =~ s/\@type\@/flags/g; } else { $prod =~ s/\@type\@/enum/g; }
 	    if ($flags) { $prod =~ s/\@Type\@/Flags/g; } else { $prod =~ s/\@Type\@/Enum/g; }
 	    if ($flags) { $prod =~ s/\@TYPE\@/FLAGS/g; } else { $prod =~ s/\@TYPE\@/ENUM/g; }
@@ -419,6 +429,7 @@
             $prod =~ s/\@EnumName\@/$enumname/g;
             $prod =~ s/\@ENUMSHORT\@/$enumshort/g;
             $prod =~ s/\@ENUMNAME\@/$enumlong/g;
+	    $prod =~ s/\@ENUMPREFIX\@/$enumname_prefix/g;
 	    if ($flags) { $prod =~ s/\@type\@/flags/g; } else { $prod =~ s/\@type\@/enum/g; }
 	    if ($flags) { $prod =~ s/\@Type\@/Flags/g; } else { $prod =~ s/\@Type\@/Enum/g; }
 	    if ($flags) { $prod =~ s/\@TYPE\@/FLAGS/g; } else { $prod =~ s/\@TYPE\@/ENUM/g; }
@@ -456,6 +467,7 @@
             $prod =~ s/\@EnumName\@/$enumname/g;
             $prod =~ s/\@ENUMSHORT\@/$enumshort/g;
             $prod =~ s/\@ENUMNAME\@/$enumlong/g;
+	    $prod =~ s/\@ENUMPREFIX\@/$enumname_prefix/g;
 	    if ($flags) { $prod =~ s/\@type\@/flags/g; } else { $prod =~ s/\@type\@/enum/g; }
 	    if ($flags) { $prod =~ s/\@Type\@/Flags/g; } else { $prod =~ s/\@Type\@/Enum/g; }
 	    if ($flags) { $prod =~ s/\@TYPE\@/FLAGS/g; } else { $prod =~ s/\@TYPE\@/ENUM/g; }


More information about the maemo-commits mailing list