diff options
author | doko <doko@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-11-14 21:29:15 +0000 |
---|---|---|
committer | doko <doko@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-11-14 21:29:15 +0000 |
commit | 77adc39ef3ec65e20e427a19678d515d92a91d5f (patch) | |
tree | 798f236c1a228f52fb496d836f7871c8ddfaf6d5 /gcc/incpath.c | |
parent | 38171e131c0d522d20cf0e8bc2d6794d26a7800d (diff) | |
download | gcc-77adc39ef3ec65e20e427a19678d515d92a91d5f.tar.gz |
2012-11-14 Matthias Klose <doko@ubuntu.com>
* doc/invoke.texi: Document -print-multiarch.
* doc/install.texi: Document --enable-multiarch.
* doc/fragments.texi: Document MULTILIB_OSDIRNAMES, MULTIARCH_DIRNAME.
* configure.ac: Add --enable-multiarch option.
* configure: Regenerate.
* Makefile.in (s-mlib): Pass MULTIARCH_DIRNAME to genmultilib.
enable_multiarch, with_float: New macros.
if_multiarch: New macro, define in terms of enable_multiarch.
* genmultilib: Add new argument for the multiarch name.
* gcc.c (multiarch_dir): Define.
(for_each_path): Search for multiarch suffixes.
(driver_handle_option): Handle multiarch option.
(do_spec_1): Pass -imultiarch if defined.
(main): Print multiarch.
(set_multilib_dir): Separate multilib and multiarch names
from multilib_select.
(print_multilib_info): Ignore multiarch names in multilib_select.
* incpath.c (add_standard_paths): Search the multiarch include dirs.
* cppdefault.h (default_include): Document multiarch in multilib
member.
* cppdefault.c: [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an
include directory for multiarch directories.
* common.opt: New options --print-multiarch and -imultilib.
* config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file):
Include i386/t-linux.
<i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu> (tmake_file):
Include i386/t-kfreebsd.
<i[34567]86-*-gnu*> (tmake_file): Include i386/t-gnu.
* config/i386/t-linux64: Add multiarch names in
MULTILIB_OSDIRNAMES, define MULTIARCH_DIRNAME.
* config/i386/t-gnu: New file.
* config/i386/t-kfreebsd: Likewise.
* config/i386/t-linux: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193508 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/incpath.c')
-rw-r--r-- | gcc/incpath.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/gcc/incpath.c b/gcc/incpath.c index 6693bf52450..efcd2c75e57 100644 --- a/gcc/incpath.c +++ b/gcc/incpath.c @@ -150,8 +150,14 @@ add_standard_paths (const char *sysroot, const char *iprefix, if (!filename_ncmp (p->fname, cpp_GCC_INCLUDE_DIR, len)) { char *str = concat (iprefix, p->fname + len, NULL); - if (p->multilib && imultilib) + if (p->multilib == 1 && imultilib) str = concat (str, dir_separator_str, imultilib, NULL); + else if (p->multilib == 2) + { + if (!imultiarch) + continue; + str = concat (str, dir_separator_str, imultiarch, NULL); + } add_path (str, SYSTEM, p->cxx_aware, false); } } @@ -203,8 +209,14 @@ add_standard_paths (const char *sysroot, const char *iprefix, else str = update_path (p->fname, p->component); - if (p->multilib && imultilib) + if (p->multilib == 1 && imultilib) str = concat (str, dir_separator_str, imultilib, NULL); + else if (p->multilib == 2) + { + if (!imultiarch) + continue; + str = concat (str, dir_separator_str, imultiarch, NULL); + } add_path (str, SYSTEM, p->cxx_aware, false); } |