winebuild: Add support for -marm and -mthumb target flags.

This commit is contained in:
Alexandre Julliard 2014-02-12 12:57:27 +01:00
parent da066aeafc
commit 6c807b7472
3 changed files with 13 additions and 1 deletions

View File

@ -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 */

View File

@ -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 );

View File

@ -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