Commit 3def1397 by Vladimir Prus Committed by Vladimir Prus

gcc.c (print_sysroot): New.

        * gcc.c (print_sysroot): New.
        (option_map, display_help, process_command): Handle the
        -print-sysroot option.
        (main): Print the sysroot if requested.
        * doc/invoke.texi (Debugging Options): Document -print-sysroot.

From-SVN: r137584
parent 40a420d5
2008-07-07 Vladimir Prus <vladimir@codesourcery.com>
* gcc.c (print_sysroot): New.
(option_map, display_help, process_command): Handle the
-print-sysroot option.
(main): Print the sysroot if requested.
* doc/invoke.texi (Debugging Options): Document -print-sysroot.
2008-07-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2008-07-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
PR target/34780 PR target/34780
......
...@@ -310,7 +310,7 @@ Objective-C and Objective-C++ Dialects}. ...@@ -310,7 +310,7 @@ Objective-C and Objective-C++ Dialects}.
-p -pg -print-file-name=@var{library} -print-libgcc-file-name @gol -p -pg -print-file-name=@var{library} -print-libgcc-file-name @gol
-print-multi-directory -print-multi-lib @gol -print-multi-directory -print-multi-lib @gol
-print-prog-name=@var{program} -print-search-dirs -Q @gol -print-prog-name=@var{program} -print-search-dirs -Q @gol
-print-sysroot-headers-suffix @gol -print-sysroot -print-sysroot-headers-suffix @gol
-save-temps -time} -save-temps -time}
@item Optimization Options @item Optimization Options
...@@ -5059,6 +5059,14 @@ variable @env{GCC_EXEC_PREFIX} to the directory where you installed them. ...@@ -5059,6 +5059,14 @@ variable @env{GCC_EXEC_PREFIX} to the directory where you installed them.
Don't forget the trailing @samp{/}. Don't forget the trailing @samp{/}.
@xref{Environment Variables}. @xref{Environment Variables}.
@item -print-sysroot
@opindex print-sysroot
Print the target sysroot directory that will be used during
compilation. This is the target sysroot specified either at configure
time or or using the @option{--sysroot} option, possibly with an extra
suffix that depends on compilation options. If no target sysroot is
specified, the option prints nothing.
@item -print-sysroot-headers-suffix @item -print-sysroot-headers-suffix
@opindex print-sysroot-headers-suffix @opindex print-sysroot-headers-suffix
Print the suffix added to the target sysroot when searching for Print the suffix added to the target sysroot when searching for
......
...@@ -155,6 +155,8 @@ static const char *print_prog_name = NULL; ...@@ -155,6 +155,8 @@ static const char *print_prog_name = NULL;
static int print_multi_directory; static int print_multi_directory;
static int print_sysroot;
/* Flag saying to print the relative path we'd use to /* Flag saying to print the relative path we'd use to
find OS libraries given the current compiler flags. */ find OS libraries given the current compiler flags. */
...@@ -1162,6 +1164,7 @@ static const struct option_map option_map[] = ...@@ -1162,6 +1164,7 @@ static const struct option_map option_map[] =
{"--print-multi-directory", "-print-multi-directory", 0}, {"--print-multi-directory", "-print-multi-directory", 0},
{"--print-multi-os-directory", "-print-multi-os-directory", 0}, {"--print-multi-os-directory", "-print-multi-os-directory", 0},
{"--print-prog-name", "-print-prog-name=", "aj"}, {"--print-prog-name", "-print-prog-name=", "aj"},
{"--print-sysroot", "-print-sysroot", 0},
{"--print-sysroot-headers-suffix", "-print-sysroot-headers-suffix", 0}, {"--print-sysroot-headers-suffix", "-print-sysroot-headers-suffix", 0},
{"--profile", "-p", 0}, {"--profile", "-p", 0},
{"--profile-blocks", "-a", 0}, {"--profile-blocks", "-a", 0},
...@@ -3244,6 +3247,7 @@ display_help (void) ...@@ -3244,6 +3247,7 @@ display_help (void)
-print-multi-lib Display the mapping between command line options and\n\ -print-multi-lib Display the mapping between command line options and\n\
multiple library search directories\n"), stdout); multiple library search directories\n"), stdout);
fputs (_(" -print-multi-os-directory Display the relative path to OS libraries\n"), stdout); fputs (_(" -print-multi-os-directory Display the relative path to OS libraries\n"), stdout);
fputs (_(" -print-sysroot Display the target libraries directory\n"), stdout);
fputs (_(" -print-sysroot-headers-suffix Display the sysroot suffix used to find headers\n"), stdout); fputs (_(" -print-sysroot-headers-suffix Display the sysroot suffix used to find headers\n"), stdout);
fputs (_(" -Wa,<options> Pass comma-separated <options> on to the assembler\n"), stdout); fputs (_(" -Wa,<options> Pass comma-separated <options> on to the assembler\n"), stdout);
fputs (_(" -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"), stdout); fputs (_(" -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"), stdout);
...@@ -3686,6 +3690,8 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n" ...@@ -3686,6 +3690,8 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"
print_multi_lib = 1; print_multi_lib = 1;
else if (! strcmp (argv[i], "-print-multi-directory")) else if (! strcmp (argv[i], "-print-multi-directory"))
print_multi_directory = 1; print_multi_directory = 1;
else if (! strcmp (argv[i], "-print-sysroot"))
print_sysroot = 1;
else if (! strcmp (argv[i], "-print-multi-os-directory")) else if (! strcmp (argv[i], "-print-multi-os-directory"))
print_multi_os_directory = 1; print_multi_os_directory = 1;
else if (! strcmp (argv[i], "-print-sysroot-headers-suffix")) else if (! strcmp (argv[i], "-print-sysroot-headers-suffix"))
...@@ -4126,6 +4132,8 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n" ...@@ -4126,6 +4132,8 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"
; ;
else if (! strcmp (argv[i], "-print-multi-directory")) else if (! strcmp (argv[i], "-print-multi-directory"))
; ;
else if (! strcmp (argv[i], "-print-sysroot"))
;
else if (! strcmp (argv[i], "-print-multi-os-directory")) else if (! strcmp (argv[i], "-print-multi-os-directory"))
; ;
else if (! strcmp (argv[i], "-print-sysroot-headers-suffix")) else if (! strcmp (argv[i], "-print-sysroot-headers-suffix"))
...@@ -6529,6 +6537,18 @@ main (int argc, char **argv) ...@@ -6529,6 +6537,18 @@ main (int argc, char **argv)
return (0); return (0);
} }
if (print_sysroot)
{
if (target_system_root)
{
if (target_sysroot_suffix)
printf ("%s%s\n", target_system_root, target_sysroot_suffix);
else
printf ("%s\n", target_system_root);
}
return (0);
}
if (print_multi_os_directory) if (print_multi_os_directory)
{ {
if (multilib_os_dir == NULL) if (multilib_os_dir == NULL)
......
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