glib r7096 - in trunk: . gio gobject
- From: kristian svn gnome org
- To: svn-commits-list gnome org
- Subject: glib r7096 - in trunk: . gio gobject
- Date: Mon, 23 Jun 2008 12:06:39 +0000 (UTC)
Author: kristian
Date: Mon Jun 23 12:06:39 2008
New Revision: 7096
URL: http://svn.gnome.org/viewvc/glib?rev=7096&view=rev
Log:
2008-06-23 Kristian Rietveld <kris imendio com>
* gobject/glib-mkenums.in: introduce an ENUMPREFIX substitution.
* gio/gioenumtypes.h.template: use @ENUMPREFIX@ instead of
hard coding "G" as prefix.
Modified:
trunk/ChangeLog
trunk/gio/gioenumtypes.h.template
trunk/gobject/glib-mkenums.in
Modified: trunk/gio/gioenumtypes.h.template
==============================================================================
--- trunk/gio/gioenumtypes.h.template (original)
+++ trunk/gio/gioenumtypes.h.template Mon Jun 23 12:06:39 2008
@@ -14,7 +14,7 @@
/*** BEGIN value-header ***/
GType @enum_name _get_type (void) G_GNUC_CONST;
-#define G_TYPE_ ENUMSHORT@ (@enum_name _get_type ())
+#define @ENUMPREFIX _TYPE_@ENUMSHORT@ (@enum_name _get_type ())
/*** END value-header ***/
/*** BEGIN file-tail ***/
Modified: trunk/gobject/glib-mkenums.in
==============================================================================
--- trunk/gobject/glib-mkenums.in (original)
+++ trunk/gobject/glib-mkenums.in Mon Jun 23 12:06:39 2008
@@ -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; }
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]