From ebb6cb67764e3a383edddb4b78e40dc8140736ba Mon Sep 17 00:00:00 2001 From: Kai Tietz 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