widl: New option --rt for enabling rt's specific language extensions.

This commit is contained in:
Kai Tietz 2013-08-08 12:29:33 +02:00 committed by Alexandre Julliard
parent b6bfd6d32e
commit 5ff7af708d
3 changed files with 11 additions and 0 deletions

View File

@ -72,6 +72,7 @@ static const char usage[] =
" --prefix-client=p Prefix names of client stubs with 'p'\n" " --prefix-client=p Prefix names of client stubs with 'p'\n"
" --prefix-server=p Prefix names of server functions with 'p'\n" " --prefix-server=p Prefix names of server functions with 'p'\n"
" -r Generate registration script\n" " -r Generate registration script\n"
" --rt Enable WinRT's language extensions for IDL\n"
" -s Generate server stub\n" " -s Generate server stub\n"
" -t Generate typelib\n" " -t Generate typelib\n"
" -u Generate interface identifiers file\n" " -u Generate interface identifiers file\n"
@ -113,6 +114,7 @@ int do_win32 = 1;
int do_win64 = 1; int do_win64 = 1;
int win32_packing = 8; int win32_packing = 8;
int win64_packing = 8; int win64_packing = 8;
int do_rt_extension = 0;
static enum stub_mode stub_mode = MODE_Os; static enum stub_mode stub_mode = MODE_Os;
char *input_name; char *input_name;
@ -152,6 +154,7 @@ enum {
PREFIX_CLIENT_OPTION, PREFIX_CLIENT_OPTION,
PREFIX_SERVER_OPTION, PREFIX_SERVER_OPTION,
PRINT_HELP, PRINT_HELP,
RT_OPTION,
WIN32_OPTION, WIN32_OPTION,
WIN64_OPTION, WIN64_OPTION,
WIN32_ALIGN_OPTION, WIN32_ALIGN_OPTION,
@ -171,6 +174,7 @@ static const struct option long_options[] = {
{ "prefix-all", 1, NULL, PREFIX_ALL_OPTION }, { "prefix-all", 1, NULL, PREFIX_ALL_OPTION },
{ "prefix-client", 1, NULL, PREFIX_CLIENT_OPTION }, { "prefix-client", 1, NULL, PREFIX_CLIENT_OPTION },
{ "prefix-server", 1, NULL, PREFIX_SERVER_OPTION }, { "prefix-server", 1, NULL, PREFIX_SERVER_OPTION },
{ "rt", 0, NULL, RT_OPTION },
{ "win32", 0, NULL, WIN32_OPTION }, { "win32", 0, NULL, WIN32_OPTION },
{ "win64", 0, NULL, WIN64_OPTION }, { "win64", 0, NULL, WIN64_OPTION },
{ "win32-align", 1, NULL, WIN32_ALIGN_OPTION }, { "win32-align", 1, NULL, WIN32_ALIGN_OPTION },
@ -542,6 +546,9 @@ int main(int argc,char *argv[])
case PRINT_HELP: case PRINT_HELP:
fprintf(stderr, "%s", usage); fprintf(stderr, "%s", usage);
return 0; return 0;
case RT_OPTION:
do_rt_extension = 1;
break;
case WIN32_OPTION: case WIN32_OPTION:
do_win32 = 1; do_win32 = 1;
do_win64 = 0; do_win64 = 0;

View File

@ -49,6 +49,7 @@ extern int do_win32;
extern int do_win64; extern int do_win64;
extern int win32_packing; extern int win32_packing;
extern int win64_packing; extern int win64_packing;
extern int do_rt_extension;
extern char *input_name; extern char *input_name;
extern char *header_name; extern char *header_name;

View File

@ -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 generate both 32-bit and 64-bit versions into the same destination
file). file).
.PP .PP
.IP "\fB--rt\fR"
Enable additional language extensions for IDL to support WinRT.
.PP
.B Registration script options: .B Registration script options:
.IP "\fB-r\fR" .IP "\fB-r\fR"
Generate a registration script. The default output filename is Generate a registration script. The default output filename is