Mercurial > hg > CbC > CbC_gcc
diff gcc/doc/cppdiropts.texi @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 84e7813d76e9 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/doc/cppdiropts.texi Fri Oct 27 22:46:09 2017 +0900 @@ -0,0 +1,154 @@ +@c Copyright (C) 1999-2017 Free Software Foundation, Inc. +@c This is part of the CPP and GCC manuals. +@c For copying conditions, see the file gcc.texi. + +@c --------------------------------------------------------------------- +@c Options affecting include directory search in the preprocessor +@c --------------------------------------------------------------------- + +@c If this file is included with the flag ``cppmanual'' set, it is +@c formatted for inclusion in the CPP manual; otherwise the main GCC manual. + +@item -I @var{dir} +@itemx -iquote @var{dir} +@itemx -isystem @var{dir} +@itemx -idirafter @var{dir} +@opindex I +@opindex iquote +@opindex isystem +@opindex idirafter +Add the directory @var{dir} to the list of directories to be searched +for header files during preprocessing. +@ifset cppmanual +@xref{Search Path}. +@end ifset +If @var{dir} begins with @samp{=} or @code{$SYSROOT}, then the @samp{=} +or @code{$SYSROOT} is replaced by the sysroot prefix; see +@option{--sysroot} and @option{-isysroot}. + +Directories specified with @option{-iquote} apply only to the quote +form of the directive, @code{@w{#include "@var{file}"}}. +Directories specified with @option{-I}, @option{-isystem}, +or @option{-idirafter} apply to lookup for both the +@code{@w{#include "@var{file}"}} and +@code{@w{#include <@var{file}>}} directives. + +You can specify any number or combination of these options on the +command line to search for header files in several directories. +The lookup order is as follows: + +@enumerate +@item +For the quote form of the include directive, the directory of the current +file is searched first. + +@item +For the quote form of the include directive, the directories specified +by @option{-iquote} options are searched in left-to-right order, +as they appear on the command line. + +@item +Directories specified with @option{-I} options are scanned in +left-to-right order. + +@item +Directories specified with @option{-isystem} options are scanned in +left-to-right order. + +@item +Standard system directories are scanned. + +@item +Directories specified with @option{-idirafter} options are scanned in +left-to-right order. +@end enumerate + +You can use @option{-I} to override a system header +file, substituting your own version, since these directories are +searched before the standard system header file directories. +However, you should +not use this option to add directories that contain vendor-supplied +system header files; use @option{-isystem} for that. + +The @option{-isystem} and @option{-idirafter} options also mark the directory +as a system directory, so that it gets the same special treatment that +is applied to the standard system directories. +@ifset cppmanual +@xref{System Headers}. +@end ifset + +If a standard system include directory, or a directory specified with +@option{-isystem}, is also specified with @option{-I}, the @option{-I} +option is ignored. The directory is still searched but as a +system directory at its normal position in the system include chain. +This is to ensure that GCC's procedure to fix buggy system headers and +the ordering for the @code{#include_next} directive are not inadvertently +changed. +If you really need to change the search order for system directories, +use the @option{-nostdinc} and/or @option{-isystem} options. +@ifset cppmanual +@xref{System Headers}. +@end ifset + +@item -I- +@opindex I- +Split the include path. +This option has been deprecated. Please use @option{-iquote} instead for +@option{-I} directories before the @option{-I-} and remove the @option{-I-} +option. + +Any directories specified with @option{-I} +options before @option{-I-} are searched only for headers requested with +@code{@w{#include "@var{file}"}}; they are not searched for +@code{@w{#include <@var{file}>}}. If additional directories are +specified with @option{-I} options after the @option{-I-}, those +directories are searched for all @samp{#include} directives. + +In addition, @option{-I-} inhibits the use of the directory of the current +file directory as the first search directory for @code{@w{#include +"@var{file}"}}. There is no way to override this effect of @option{-I-}. +@ifset cppmanual +@xref{Search Path}. +@end ifset + +@item -iprefix @var{prefix} +@opindex iprefix +Specify @var{prefix} as the prefix for subsequent @option{-iwithprefix} +options. If the prefix represents a directory, you should include the +final @samp{/}. + +@item -iwithprefix @var{dir} +@itemx -iwithprefixbefore @var{dir} +@opindex iwithprefix +@opindex iwithprefixbefore +Append @var{dir} to the prefix specified previously with +@option{-iprefix}, and add the resulting directory to the include search +path. @option{-iwithprefixbefore} puts it in the same place @option{-I} +would; @option{-iwithprefix} puts it where @option{-idirafter} would. + +@item -isysroot @var{dir} +@opindex isysroot +This option is like the @option{--sysroot} option, but applies only to +header files (except for Darwin targets, where it applies to both header +files and libraries). See the @option{--sysroot} option for more +information. + +@item -imultilib @var{dir} +@opindex imultilib +Use @var{dir} as a subdirectory of the directory containing +target-specific C++ headers. + +@item -nostdinc +@opindex nostdinc +Do not search the standard system directories for header files. +Only the directories explicitly specified with @option{-I}, +@option{-iquote}, @option{-isystem}, and/or @option{-idirafter} +options (and the directory of the current file, if appropriate) +are searched. + +@item -nostdinc++ +@opindex nostdinc++ +Do not search for header files in the C++-specific standard directories, +but do still search the other standard directories. (This option is +used when building the C++ library.) +