winegcc: Add support for the --sysroot option to allow out-of-tree cross-compiling.
diff --git a/Make.rules.in b/Make.rules.in index db84e90..a259da9 100644 --- a/Make.rules.in +++ b/Make.rules.in
@@ -71,7 +71,7 @@ WRC = $(TOOLSDIR)/tools/wrc/wrc WMC = $(TOOLSDIR)/tools/wmc/wmc WIDL = $(TOOLSDIR)/tools/widl/widl -WINEGCC = $(TOOLSDIR)/tools/winegcc/winegcc $(TARGETFLAGS) -B$(TOOLSDIR)/tools/winebuild +WINEGCC = $(TOOLSDIR)/tools/winegcc/winegcc $(TARGETFLAGS) -B$(TOOLSDIR)/tools/winebuild --sysroot=$(TOPOBJDIR) RELPATH = $(TOOLSDIR)/tools/relpath SFNT2FNT = $(TOOLSDIR)/tools/sfnt2fnt FNT2FON = $(TOOLSDIR)/tools/fnt2fon
diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c index 491a733..4e41033 100644 --- a/tools/winegcc/winegcc.c +++ b/tools/winegcc/winegcc.c
@@ -1154,6 +1154,12 @@ case '-': if (strcmp("-static", argv[i]+1) == 0) linking = -1; + else if (!strncmp("--sysroot", argv[i], 9) && opts.wine_objdir) + { + if (argv[i][9] == '=') opts.wine_objdir = argv[i] + 10; + else opts.wine_objdir = argv[++i]; + raw_compiler_arg = raw_linker_arg = 0; + } break; }