Alexandre Julliard : winebuild: Add support for -marm and -mthumb target flags.
Alexandre Julliard
julliard at winehq.org
Wed Feb 12 13:44:39 CST 2014
Module: wine
Branch: master
Commit: 6c807b74721831c06ae6ce76f833c42cf15ab64a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=6c807b74721831c06ae6ce76f833c42cf15ab64a
Author: Alexandre Julliard <julliard at winehq.org>
Date: Wed Feb 12 12:57:27 2014 +0100
winebuild: Add support for -marm and -mthumb target flags.
---
tools/winebuild/build.h | 1 +
tools/winebuild/main.c | 10 +++++++++-
tools/winebuild/winebuild.man.in | 3 +++
3 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/tools/winebuild/build.h b/tools/winebuild/build.h
index fa92764..41cec91 100644
--- a/tools/winebuild/build.h
+++ b/tools/winebuild/build.h
@@ -362,5 +362,6 @@ extern struct strarray *cc_command;
extern struct strarray *ld_command;
extern struct strarray *nm_command;
extern char *cpu_option;
+extern int thumb_mode;
#endif /* __WINE_BUILD_H */
diff --git a/tools/winebuild/main.c b/tools/winebuild/main.c
index a848a0c..807cf61 100644
--- a/tools/winebuild/main.c
+++ b/tools/winebuild/main.c
@@ -90,6 +90,12 @@ struct strarray *ld_command = NULL;
struct strarray *nm_command = NULL;
char *cpu_option = NULL;
+#ifdef __thumb__
+int thumb_mode = 1;
+#else
+int thumb_mode = 0;
+#endif
+
static int nb_res_files;
static char **res_files;
@@ -396,8 +402,10 @@ static char **parse_options( int argc, char **argv, DLLSPEC *spec )
if (!strcmp( optarg, "16" )) spec->type = SPEC_WIN16;
else if (!strcmp( optarg, "32" )) force_pointer_size = 4;
else if (!strcmp( optarg, "64" )) force_pointer_size = 8;
+ else if (!strcmp( optarg, "arm" )) thumb_mode = 0;
+ else if (!strcmp( optarg, "thumb" )) thumb_mode = 1;
else if (!strncmp( optarg, "cpu=", 4 )) cpu_option = xstrdup( optarg + 4 );
- else fatal_error( "Invalid -m option '%s', expected -m16, -m32, -m64 or -mcpu\n", optarg );
+ else fatal_error( "Unknown -m option '%s'\n", optarg );
break;
case 'M':
spec->main_module = xstrdup( optarg );
diff --git a/tools/winebuild/winebuild.man.in b/tools/winebuild/winebuild.man.in
index b0b2784..df91cb8 100644
--- a/tools/winebuild/winebuild.man.in
+++ b/tools/winebuild/winebuild.man.in
@@ -156,6 +156,9 @@ option.
.B \-m16, -m32, -m64
Generate respectively 16-bit, 32-bit or 64-bit code.
.TP
+.BI \-marm,\ \-mthumb,\ \-mcpu= option
+Set code generation options for the assembler.
+.TP
.BI \-M,\ --main-module= module
When building a 16-bit dll, set the name of its 32-bit counterpart to
\fImodule\fR. This is used to enforce that the load order for the
More information about the wine-cvs
mailing list