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. From-SVN: r193508
73 lines
2.8 KiB
C
73 lines
2.8 KiB
C
/* CPP Library.
|
|
Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
|
1999, 2000, 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
|
|
Contributed by Per Bothner, 1994-95.
|
|
Based on CCCP program by Paul Rubin, June 1986
|
|
Adapted to ANSI C, Richard Stallman, Jan 1987
|
|
|
|
This program is free software; you can redistribute it and/or modify it
|
|
under the terms of the GNU General Public License as published by the
|
|
Free Software Foundation; either version 3, or (at your option) any
|
|
later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; see the file COPYING3. If not see
|
|
<http://www.gnu.org/licenses/>. */
|
|
|
|
#ifndef GCC_CPPDEFAULT_H
|
|
#define GCC_CPPDEFAULT_H
|
|
|
|
/* This is the default list of directories to search for include files.
|
|
It may be overridden by the various -I and -ixxx options.
|
|
|
|
#include "file" looks in the same directory as the current file,
|
|
then this list.
|
|
#include <file> just looks in this list.
|
|
|
|
All these directories are treated as `system' include directories
|
|
(they are not subject to pedantic warnings in some cases). */
|
|
|
|
struct default_include
|
|
{
|
|
const char *const fname; /* The name of the directory. */
|
|
const char *const component; /* The component containing the directory
|
|
(see update_path in prefix.c) */
|
|
const char cplusplus; /* Only look here if we're compiling C++. */
|
|
const char cxx_aware; /* Includes in this directory don't need to
|
|
be wrapped in extern "C" when compiling
|
|
C++. */
|
|
const char add_sysroot; /* FNAME should be prefixed by
|
|
cpp_SYSROOT. */
|
|
const char multilib; /* FNAME should have appended
|
|
- the multilib path specified with -imultilib
|
|
when set to 1,
|
|
- the multiarch path specified with
|
|
-imultiarch, when set to 2. */
|
|
};
|
|
|
|
extern const struct default_include cpp_include_defaults[];
|
|
extern const char cpp_GCC_INCLUDE_DIR[];
|
|
extern const size_t cpp_GCC_INCLUDE_DIR_len;
|
|
|
|
/* The configure-time prefix, i.e., the value supplied as the argument
|
|
to --prefix=. */
|
|
extern const char cpp_PREFIX[];
|
|
/* The length of the configure-time prefix. */
|
|
extern const size_t cpp_PREFIX_len;
|
|
/* The configure-time execution prefix. This is typically the lib/gcc
|
|
subdirectory of cpp_PREFIX. */
|
|
extern const char cpp_EXEC_PREFIX[];
|
|
/* The run-time execution prefix. This is typically the lib/gcc
|
|
subdirectory of the actual installation. */
|
|
extern const char *gcc_exec_prefix;
|
|
|
|
/* Return true if the toolchain is relocated. */
|
|
bool cpp_relocated (void);
|
|
|
|
#endif /* ! GCC_CPPDEFAULT_H */
|