[PATCH 01/11] widl: New option --rt for enabling rt's specific language extensions.

Kai Tietz ktietz70 at googlemail.com
Fri Aug 16 07:13:20 CDT 2013


Hello,

I attached adjusted patch (including man-page entry).

Regards,
Kai
-------------- next part --------------
From ebb6cb67764e3a383edddb4b78e40dc8140736ba Mon Sep 17 00:00:00 2001
From: Kai Tietz <ktietz70 at googlemail.com>
Date: Thu, 8 Aug 2013 12:29:33 +0200
Subject: [PATCH 01/12] widl: New option --rt for enabling rt's specific
 language extensions.

---
 tools/widl/widl.c      |    7 +++++++
 tools/widl/widl.h      |    1 +
 tools/widl/widl.man.in |    3 +++
 3 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/tools/widl/widl.c b/tools/widl/widl.c
index cad1d6c..2ff1977 100644
--- a/tools/widl/widl.c
+++ b/tools/widl/widl.c
@@ -72,6 +72,7 @@ static const char usage[] =
 "   --prefix-client=p  Prefix names of client stubs with 'p'\n"
 "   --prefix-server=p  Prefix names of server functions with 'p'\n"
 "   -r                 Generate registration script\n"
+"   --rt               Enable WinRT's language extensions for IDL\n"
 "   -s                 Generate server stub\n"
 "   -t                 Generate typelib\n"
 "   -u                 Generate interface identifiers file\n"
@@ -113,6 +114,7 @@ int do_win32 = 1;
 int do_win64 = 1;
 int win32_packing = 8;
 int win64_packing = 8;
+int do_rt_extension = 0;
 static enum stub_mode stub_mode = MODE_Os;
 
 char *input_name;
@@ -152,6 +154,7 @@ enum {
     PREFIX_CLIENT_OPTION,
     PREFIX_SERVER_OPTION,
     PRINT_HELP,
+    RT_OPTION,
     WIN32_OPTION,
     WIN64_OPTION,
     WIN32_ALIGN_OPTION,
@@ -171,6 +174,7 @@ static const struct option long_options[] = {
     { "prefix-all", 1, NULL, PREFIX_ALL_OPTION },
     { "prefix-client", 1, NULL, PREFIX_CLIENT_OPTION },
     { "prefix-server", 1, NULL, PREFIX_SERVER_OPTION },
+    { "rt", 0, NULL, RT_OPTION },
     { "win32", 0, NULL, WIN32_OPTION },
     { "win64", 0, NULL, WIN64_OPTION },
     { "win32-align", 1, NULL, WIN32_ALIGN_OPTION },
@@ -542,6 +546,9 @@ int main(int argc,char *argv[])
     case PRINT_HELP:
       fprintf(stderr, "%s", usage);
       return 0;
+    case RT_OPTION:
+      do_rt_extension = 1;
+      break;
     case WIN32_OPTION:
       do_win32 = 1;
       do_win64 = 0;
diff --git a/tools/widl/widl.h b/tools/widl/widl.h
index 6551fa0..91054ad 100644
--- a/tools/widl/widl.h
+++ b/tools/widl/widl.h
@@ -49,6 +49,7 @@ extern int do_win32;
 extern int do_win64;
 extern int win32_packing;
 extern int win64_packing;
+extern int do_rt_extension;
 
 extern char *input_name;
 extern char *header_name;
diff --git a/tools/widl/widl.man.in b/tools/widl/widl.man.in
index 473bfac..c5f0205 100644
--- a/tools/widl/widl.man.in
+++ b/tools/widl/widl.man.in
@@ -82,6 +82,9 @@ Only generate 32-bit or 64-bit code respectively (the default is to
 generate both 32-bit and 64-bit versions into the same destination
 file).
 .PP
+.IP "\fB--rt\fR"
+Enable additional language extensions for IDL to support WinRT.
+.PP
 .B Registration script options:
 .IP "\fB-r\fR"
 Generate a registration script. The default output filename is
-- 
1.7.9


More information about the wine-devel mailing list