winebuild: Add support for -marm and -mthumb target flags.
This commit is contained in:
parent
da066aeafc
commit
6c807b7472
|
@ -362,5 +362,6 @@ extern struct strarray *cc_command;
|
||||||
extern struct strarray *ld_command;
|
extern struct strarray *ld_command;
|
||||||
extern struct strarray *nm_command;
|
extern struct strarray *nm_command;
|
||||||
extern char *cpu_option;
|
extern char *cpu_option;
|
||||||
|
extern int thumb_mode;
|
||||||
|
|
||||||
#endif /* __WINE_BUILD_H */
|
#endif /* __WINE_BUILD_H */
|
||||||
|
|
|
@ -90,6 +90,12 @@ struct strarray *ld_command = NULL;
|
||||||
struct strarray *nm_command = NULL;
|
struct strarray *nm_command = NULL;
|
||||||
char *cpu_option = NULL;
|
char *cpu_option = NULL;
|
||||||
|
|
||||||
|
#ifdef __thumb__
|
||||||
|
int thumb_mode = 1;
|
||||||
|
#else
|
||||||
|
int thumb_mode = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
static int nb_res_files;
|
static int nb_res_files;
|
||||||
static char **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;
|
if (!strcmp( optarg, "16" )) spec->type = SPEC_WIN16;
|
||||||
else if (!strcmp( optarg, "32" )) force_pointer_size = 4;
|
else if (!strcmp( optarg, "32" )) force_pointer_size = 4;
|
||||||
else if (!strcmp( optarg, "64" )) force_pointer_size = 8;
|
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 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;
|
break;
|
||||||
case 'M':
|
case 'M':
|
||||||
spec->main_module = xstrdup( optarg );
|
spec->main_module = xstrdup( optarg );
|
||||||
|
|
|
@ -156,6 +156,9 @@ option.
|
||||||
.B \-m16, -m32, -m64
|
.B \-m16, -m32, -m64
|
||||||
Generate respectively 16-bit, 32-bit or 64-bit code.
|
Generate respectively 16-bit, 32-bit or 64-bit code.
|
||||||
.TP
|
.TP
|
||||||
|
.BI \-marm,\ \-mthumb,\ \-mcpu= option
|
||||||
|
Set code generation options for the assembler.
|
||||||
|
.TP
|
||||||
.BI \-M,\ --main-module= module
|
.BI \-M,\ --main-module= module
|
||||||
When building a 16-bit dll, set the name of its 32-bit counterpart to
|
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
|
\fImodule\fR. This is used to enforce that the load order for the
|
||||||
|
|
Loading…
Reference in New Issue