Commit 9240ffbb authored by Alexandre Julliard's avatar Alexandre Julliard

wrc: Add --sysroot option.

parent f282b498
...@@ -15,7 +15,7 @@ C_SRCS = \ ...@@ -15,7 +15,7 @@ C_SRCS = \
LEX_SRCS = parser.l LEX_SRCS = parser.l
BISON_SRCS = parser.y BISON_SRCS = parser.y
wrc_EXTRADEFS = -DINCLUDEDIR="\"${includedir}/wine\"" wrc_EXTRADEFS = -DINCLUDEDIR="\"${includedir}\""
EXTRALIBS = $(GETTEXTPO_LIBS) -lwpp EXTRALIBS = $(GETTEXTPO_LIBS) -lwpp
......
...@@ -74,6 +74,7 @@ static const char usage[] = ...@@ -74,6 +74,7 @@ static const char usage[] =
" --po-dir=DIR Directory containing po files for translations\n" " --po-dir=DIR Directory containing po files for translations\n"
" --preprocessor Specifies the preprocessor to use, including arguments\n" " --preprocessor Specifies the preprocessor to use, including arguments\n"
" -r Ignored for compatibility with rc\n" " -r Ignored for compatibility with rc\n"
" --sysroot=DIR Prefix include paths with DIR\n"
" -U, --undefine id Undefine preprocessor identifier id\n" " -U, --undefine id Undefine preprocessor identifier id\n"
" --use-temp-file Ignored for compatibility with windres\n" " --use-temp-file Ignored for compatibility with windres\n"
" -v, --verbose Enable verbose mode\n" " -v, --verbose Enable verbose mode\n"
...@@ -172,6 +173,7 @@ enum long_options_values ...@@ -172,6 +173,7 @@ enum long_options_values
LONG_OPT_NOTMPFILE, LONG_OPT_NOTMPFILE,
LONG_OPT_PO_DIR, LONG_OPT_PO_DIR,
LONG_OPT_PREPROCESSOR, LONG_OPT_PREPROCESSOR,
LONG_OPT_SYSROOT,
LONG_OPT_VERSION, LONG_OPT_VERSION,
LONG_OPT_DEBUG, LONG_OPT_DEBUG,
LONG_OPT_ENDIANNESS, LONG_OPT_ENDIANNESS,
...@@ -197,6 +199,7 @@ static const struct option long_options[] = { ...@@ -197,6 +199,7 @@ static const struct option long_options[] = {
{ "pedantic", 0, NULL, LONG_OPT_PEDANTIC }, { "pedantic", 0, NULL, LONG_OPT_PEDANTIC },
{ "po-dir", 1, NULL, LONG_OPT_PO_DIR }, { "po-dir", 1, NULL, LONG_OPT_PO_DIR },
{ "preprocessor", 1, NULL, LONG_OPT_PREPROCESSOR }, { "preprocessor", 1, NULL, LONG_OPT_PREPROCESSOR },
{ "sysroot", 1, NULL, LONG_OPT_SYSROOT },
{ "target", 1, NULL, 'F' }, { "target", 1, NULL, 'F' },
{ "undefine", 1, NULL, 'U' }, { "undefine", 1, NULL, 'U' },
{ "use-temp-file", 0, NULL, LONG_OPT_TMPFILE }, { "use-temp-file", 0, NULL, LONG_OPT_TMPFILE },
...@@ -335,6 +338,7 @@ int main(int argc,char *argv[]) ...@@ -335,6 +338,7 @@ int main(int argc,char *argv[])
int cmdlen; int cmdlen;
int po_mode = 0; int po_mode = 0;
char *po_dir = NULL; char *po_dir = NULL;
const char *sysroot = "";
char **files = xmalloc( argc * sizeof(*files) ); char **files = xmalloc( argc * sizeof(*files) );
signal(SIGSEGV, segvhandler); signal(SIGSEGV, segvhandler);
...@@ -384,6 +388,9 @@ int main(int argc,char *argv[]) ...@@ -384,6 +388,9 @@ int main(int argc,char *argv[])
if (strcmp(optarg, "cat") == 0) no_preprocess = 1; if (strcmp(optarg, "cat") == 0) no_preprocess = 1;
else fprintf(stderr, "-P option not yet supported, ignored.\n"); else fprintf(stderr, "-P option not yet supported, ignored.\n");
break; break;
case LONG_OPT_SYSROOT:
sysroot = xstrdup( optarg );
break;
case LONG_OPT_VERSION: case LONG_OPT_VERSION:
printf(version_string); printf(version_string);
exit(0); exit(0);
...@@ -499,8 +506,14 @@ int main(int argc,char *argv[]) ...@@ -499,8 +506,14 @@ int main(int argc,char *argv[])
/* If we do need to search standard includes, add them to the path */ /* If we do need to search standard includes, add them to the path */
if (stdinc) if (stdinc)
{ {
wpp_add_include_path(INCLUDEDIR"/msvcrt"); static const char *incl_dirs[] = { INCLUDEDIR, "/usr/include", "/usr/local/include" };
wpp_add_include_path(INCLUDEDIR"/windows");
for (i = 0; i < ARRAY_SIZE(incl_dirs); i++)
{
if (i && !strcmp( incl_dirs[i], incl_dirs[0] )) continue;
wpp_add_include_path( strmake( "%s%s/wine/msvcrt", sysroot, incl_dirs[i] ));
wpp_add_include_path( strmake( "%s%s/wine/windows", sysroot, incl_dirs[i] ));
}
} }
/* Kill io buffering when some kind of debuglevel is enabled */ /* Kill io buffering when some kind of debuglevel is enabled */
......
...@@ -121,6 +121,9 @@ This option may be used to specify the preprocessor to use, including any ...@@ -121,6 +121,9 @@ This option may be used to specify the preprocessor to use, including any
leading arguments. If not specified, \fBwrc\fR uses its builtin processor. leading arguments. If not specified, \fBwrc\fR uses its builtin processor.
To disable preprocessing, use \fB--preprocessor=cat\fR. To disable preprocessing, use \fB--preprocessor=cat\fR.
.TP .TP
.I \fB\-\-sysroot=\fIdir\fR
Prefix the standard include paths with \fIdir\fR.
.TP
.I \fB\-U\fR, \fB\-\-undefine\fR=\fIid\fR .I \fB\-U\fR, \fB\-\-undefine\fR=\fIid\fR
Undefine preprocessor identifier \fIid\fR. Please note that only macros Undefine preprocessor identifier \fIid\fR. Please note that only macros
defined up to this point are undefined by this command. However, these defined up to this point are undefined by this command. However, these
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment