Module: wine
Branch: master
Commit: e6340f1652e0328bbfeeae58462f41400b09b38a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e6340f1652e0328bbfeeae584…
Author: Alexandre Julliard <julliard(a)winehq.org>
Date: Wed Sep 29 20:13:28 2010 +0200
wrc: Add support for target options, and define _WIN64 for 64-bit builds.
---
tools/wrc/wrc.c | 102 ++++++++++++++++++++++++++++----------------------
tools/wrc/wrc.man.in | 27 ++++++++-----
2 files changed, 74 insertions(+), 55 deletions(-)
diff --git a/tools/wrc/wrc.c b/tools/wrc/wrc.c
index 614cc84..99285db 100644
--- a/tools/wrc/wrc.c
+++ b/tools/wrc/wrc.c
@@ -52,41 +52,32 @@
static const char usage[] =
"Usage: wrc [options...] [infile[.rc|.res]]\n"
- " -D id[=val] Define preprocessor identifier id=val\n"
- " -E Preprocess only\n"
- " -F target Ignored for compatibility with windres\n"
- " -h Prints this summary\n"
- " -i file The name of the input file\n"
- " -I path Set include search dir to path (multiple -I allowed)\n"
- " -J format The input format (either `rc' or `rc16')\n"
- " -l lan Set default language to lan (default is neutral {0, 0})\n"
- " -o file Output to file (default is infile.res)\n"
- " -O format The output format (either `res' or `res16`)\n"
- " -r Ignored for compatibility with rc\n"
- " -U id Undefine preprocessor identifier id\n"
- " -v Enable verbose mode\n"
- "The following long options are supported:\n"
- " --debug=nn Set debug level to 'nn'\n"
- " --define Synonym for -D\n"
- " --endianess=e Set output byte-order e={n[ative], l[ittle], b[ig]}\n"
- " (win32 only; default is " ENDIAN "-endian)\n"
- " --help Synonym for -h\n"
- " --include-dir Synonym for -I\n"
- " --input Synonym for -i\n"
- " --input-format Synonym for -J\n"
- " --language Synonym for -l\n"
- " --no-use-temp-file Ignored for compatibility with windres\n"
- " --nostdinc Disables searching the standard include path\n"
- " --output -fo Synonym for -o\n"
- " --output-format Synonym for -O\n"
- " --pedantic Enable pedantic warnings\n"
- " --preprocessor Specifies the preprocessor to use, including arguments\n"
- " --target Synonym for -F\n"
- " --undefine Synonym for -U\n"
- " --use-temp-file Ignored for compatibility with windres\n"
- " --verbose Synonym for -v\n"
- " --verify-translations Check the status of the various translations\n"
- " --version Print version and exit\n"
+ " -b, --target=TARGET Specify target CPU and platform when cross-compiling\n"
+ " -D, --define id[=val] Define preprocessor identifier id=val\n"
+ " --debug=nn Set debug level to 'nn'\n"
+ " -E Preprocess only\n"
+ " --endianess=e Set output byte-order e={n[ative], l[ittle], b[ig]}\n"
+ " (win32 only; default is " ENDIAN "-endian)\n"
+ " -F TARGET Synonym for -b for compatibility with windres\n"
+ " -fo FILE Synonym for -o for compatibility with windres\n"
+ " -h, --help Prints this summary\n"
+ " -i, --input=FILE The name of the input file\n"
+ " -I, --include-dir=PATH Set include search dir to path (multiple -I allowed)\n"
+ " -J, --input-format=FORMAT The input format (either `rc' or `rc16')\n"
+ " -l, --language=LANG Set default language to LANG (default is neutral {0, 0})\n"
+ " -m16, -m32, -m64 Build for 16-bit, 32-bit resp. 64-bit platforms\n"
+ " --no-use-temp-file Ignored for compatibility with windres\n"
+ " --nostdinc Disables searching the standard include path\n"
+ " -o, --output=FILE Output to file (default is infile.res)\n"
+ " -O, --output-format=FORMAT The output format (either `res' or `res16`)\n"
+ " --pedantic Enable pedantic warnings\n"
+ " --preprocessor Specifies the preprocessor to use, including arguments\n"
+ " -r Ignored for compatibility with rc\n"
+ " -U, --undefine id Undefine preprocessor identifier id\n"
+ " --use-temp-file Ignored for compatibility with windres\n"
+ " -v, --verbose Enable verbose mode\n"
+ " --verify-translations Check the status of the various translations\n"
+ " --version Print version and exit\n"
"Input is taken from stdin if no sourcefile specified.\n"
"Debug level 'n' is a bitmask with following meaning:\n"
" * 0x01 Tell which resource is parsed (verbose mode)\n"
@@ -153,6 +144,8 @@ int no_preprocess = 0;
int check_utf8 = 1; /* whether to check for valid utf8 */
+static int pointer_size = sizeof(void *);
+
static int verify_translations_mode;
char *output_name = NULL; /* The name given by the -o option */
@@ -187,7 +180,7 @@ enum long_options_values
};
static const char short_options[] =
- "D:Ef:F:hi:I:J:l:o:O:rU:v";
+ "b:D:Ef:F:hi:I:J:l:m:o:O:rU:v";
static const struct option long_options[] = {
{ "debug", 1, NULL, LONG_OPT_DEBUG },
{ "define", 1, NULL, 'D' },
@@ -320,6 +313,19 @@ static int load_file( const char *input_name, const char *output_name )
return ret;
}
+static void set_target( const char *target )
+{
+ char *p, *cpu = xstrdup( target );
+
+ /* target specification is in the form CPU-MANUFACTURER-OS or CPU-MANUFACTURER-KERNEL-OS */
+ if (!(p = strchr( cpu, '-' ))) error( "Invalid target specification '%s'\n", target );
+ *p = 0;
+ if (!strcmp( cpu, "amd64" ) || !strcmp( cpu, "x86_64" ) || !strcmp( cpu, "ia64" ))
+ pointer_size = 8;
+ else
+ pointer_size = 4;
+ free( cpu );
+}
int main(int argc,char *argv[])
{
@@ -346,8 +352,6 @@ int main(int argc,char *argv[])
/* Set the default defined stuff */
set_version_defines();
wpp_add_cmdline_define("RC_INVOKED=1");
- wpp_add_cmdline_define("__WIN32__=1");
- wpp_add_cmdline_define("__FLAT__=1");
/* Microsoft RC always searches current directory */
wpp_add_include_path(".");
@@ -422,8 +426,9 @@ int main(int argc,char *argv[])
case 'E':
preprocess_only = 1;
break;
+ case 'b':
case 'F':
- /* ignored for compatibility with windres */
+ set_target( optarg );
break;
case 'h':
printf(usage);
@@ -447,6 +452,12 @@ int main(int argc,char *argv[])
defaultlanguage = new_language(PRIMARYLANGID(lan), SUBLANGID(lan));
}
break;
+ case 'm':
+ if (!strcmp( optarg, "16" )) win32 = 0;
+ else if (!strcmp( optarg, "32" )) { win32 = 1; pointer_size = 4; }
+ else if (!strcmp( optarg, "64" )) { win32 = 1; pointer_size = 8; }
+ else error( "Invalid option: -m%s\n", optarg );
+ break;
case 'f':
if (*optarg != 'o') error("Unknown option: -f%s\n", optarg);
optarg++;
@@ -456,12 +467,7 @@ int main(int argc,char *argv[])
else error("Too many output files.\n");
break;
case 'O':
- if (strcmp(optarg, "res16") == 0)
- {
- win32 = 0;
- wpp_del_define("__WIN32__");
- wpp_del_define("__FLAT__");
- }
+ if (strcmp(optarg, "res16") == 0) win32 = 0;
else if (strcmp(optarg, "res")) warning("Output format %s not supported.\n", optarg);
break;
case 'r':
@@ -485,6 +491,12 @@ int main(int argc,char *argv[])
return 1;
}
+ if (win32)
+ {
+ wpp_add_cmdline_define("_WIN32=1");
+ if (pointer_size == 8) wpp_add_cmdline_define("_WIN64=1");
+ }
+
/* If we do need to search standard includes, add them to the path */
if (stdinc)
{
diff --git a/tools/wrc/wrc.man.in b/tools/wrc/wrc.man.in
index 5c8d0c0..c5d6a60 100644
--- a/tools/wrc/wrc.man.in
+++ b/tools/wrc/wrc.man.in
@@ -21,6 +21,17 @@ specified with \fI-o\fR, then \fBwrc\fR will write the output to
no inputfile was given.
.SH OPTIONS
.TP
+.BI \-b,\ --target= cpu-manufacturer[-kernel]-os
+Specify the target CPU and platform on which the generated code will
+be built. The target specification is in the standard autoconf format
+as returned by config.sub.
+.TP
+.I \fB\-D\fR, \fB\-\-define\fR=\fIid[=val]\fR
+Define preprocessor identifier \fIid\fR to (optionally) value \fIval\fR.
+See also
+.B PREPROCESSOR
+below.
+.TP
.I \fB\-\-debug\fR=\fInn\fR
Set debug level to \fInn\fR. The value is a bitmask consisting of
1=verbose, 2=dump internals, 4=resource parser trace, 8=preprocessor
@@ -32,20 +43,11 @@ l[ittle] or b[ig]. Only resources in source-form can be reorderd. Native
ordering depends on the system on which \fBwrc\fR was built. You can see
the native ordering by typing \fIwrc \-h\fR.
.TP
-.I \fB\-D\fR, \fB\-\-define\fR=\fIid[=val]\fR
-Define preprocessor identifier \fIid\fR to (optionally) value \fIval\fR.
-See also
-.B PREPROCESSOR
-below.
-.TP
.I \fB\-E\fR
Preprocess only. The output is written to standard output if no
outputfile was selected. The output is compatible with what gcc would
generate.
.TP
-.I \fB\-F\fR, \fB\-\-target\fR
-Ignored for compatibility with \fIwindres\fR.
-.TP
.I \fB\-h\fR, \fB\-\-help\fR
Prints a summary message and exits.
.TP
@@ -73,6 +75,11 @@ input to 'rc16' disables the recognition of win32 keywords.
Set default language to \fIlan\fR. Default is the neutral language 0
(i.e. "LANGUAGE 0, 0").
.TP
+.B \-m16, -m32, -m64
+Generate resources for 16-bit, 32-bit, respectively 64-bit
+platforms. The only difference between 32-bit and 64-bit is whether
+the _WIN64 preprocessor symbol is defined.
+.TP
.I \fB\-\-nostdinc\fR
Do not search the standard include path, look for include files only
in the directories explicitly specified with the \fI\-I\fR option.
@@ -136,7 +143,7 @@ __WRC_MINOR__ Minor version of wrc
.br
__WRC_PATCHLEVEL__ Patch level
.PP
-Win32 compilation mode also sets __WIN32__ to 1 and __FLAT__ to 1.
+Win32 compilation mode also sets _WIN32 to 1.
.PP
Special macros __FILE__, __LINE__, __TIME__ and __DATE__ are also
recognized and expand to their respective equivalent.
Module: website
Branch: master
Commit: 6f2fbd8a848e3414a818301a491e08dba8eb956a
URL: http://source.winehq.org/git/website.git/?a=commit;h=6f2fbd8a848e3414a81830…
Author: André Hentschel <nerv(a)dawncrow.de>
Date: Wed Sep 29 18:45:36 2010 +0200
German link to Launchpad PPA
---
templates/de/download/deb.template | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/templates/de/download/deb.template b/templates/de/download/deb.template
index 13ff76c..19cb94f 100644
--- a/templates/de/download/deb.template
+++ b/templates/de/download/deb.template
@@ -57,3 +57,5 @@ Derivate. Zuerst öffne ein Terminalfenster (Anwendungen->Zubehör->Term
<p>Aktualisiere dann die APT-Paketinformationen durch Ausführen von '<b>sudo apt-get
update</b>'. Du kannst nun Wine durch Ausführen von '<b>sudo apt-get
install wine1.3</b>' im Terminal installieren.</p>
+
+<p>Wenn du das PPA durchsuchen willst, kannst du es <a href="https://launchpad.net/~ubuntu-wine/+archive/ppa">bei Launchpad anschauen</a>.</p>