This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
isysroot and various headers
- From: Devang Patel <dpatel at apple dot com>
- To: gcc mailing list <gcc at gcc dot gnu dot org>
- Date: Mon, 3 Jan 2005 17:08:58 -0800
- Subject: isysroot and various headers
Few weeks ago there was one discussion about isysroot. It allows user
to supply set of include headers some where else (other than
/usr/include). We have a requirement that requires compiler to find ALL
headers (including compiler headers) in isysroot path. Which means a
patch like following is needed. Does it match isysroot's intended use?
If yes, I'll schedule it for 4.1.
Thanks,
-
Devang
Index: gcc/cppdefault.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cppdefault.c,v
retrieving revision 1.4.12.3
diff -Idpatel.pbxuser -c -3 -p -r1.4.12.3 cppdefault.c
*** gcc/cppdefault.c 2 Mar 2003 19:58:46 -0000 1.4.12.3
--- gcc/cppdefault.c 20 Dec 2004 23:31:32 -0000
*************** Foundation, 59 Temple Place - Suite 330,
*** 41,46 ****
--- 41,49 ----
# undef CROSS_INCLUDE_DIR
#endif
+ /* APPLE LOCAL begin SDK 3886137. */
+ /* Allow -isysroot to override ALL include patchs. This is done by
+ setting add_sysroot for all default inclue paths. */
const struct default_include cpp_include_defaults[]
#ifdef INCLUDE_DEFAULTS
= INCLUDE_DEFAULTS;
*************** const struct default_include cpp_include
*** 48,81 ****
= {
#ifdef GPLUSPLUS_INCLUDE_DIR
/* Pick up GNU C++ generic include files. */
! { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, 0 },
#endif
#ifdef GPLUSPLUS_TOOL_INCLUDE_DIR
/* Pick up GNU C++ target-dependent include files. */
! { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, 0 },
#endif
#ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR
/* Pick up GNU C++ backward and deprecated include files. */
! { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, 0 },
#endif
#ifdef LOCAL_INCLUDE_DIR
/* /usr/local/include comes before the fixincluded header files.
*/
{ LOCAL_INCLUDE_DIR, 0, 0, 1, 1 },
#endif
#ifdef PREFIX_INCLUDE_DIR
! { PREFIX_INCLUDE_DIR, 0, 0, 1, 0 },
#endif
#ifdef GCC_INCLUDE_DIR
/* This is the dir for fixincludes and for gcc's private headers.
*/
! { GCC_INCLUDE_DIR, "GCC", 0, 0, 0 },
#endif
#ifdef CROSS_INCLUDE_DIR
/* One place the target system's headers might be. */
! { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0 },
#endif
#ifdef TOOL_INCLUDE_DIR
/* Another place the target system's headers might be. */
! { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0 },
#endif
#ifdef SYSTEM_INCLUDE_DIR
/* Some systems have an extra dir of include files. */
--- 51,84 ----
= {
#ifdef GPLUSPLUS_INCLUDE_DIR
/* Pick up GNU C++ generic include files. */
! { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, 1 },
#endif
#ifdef GPLUSPLUS_TOOL_INCLUDE_DIR
/* Pick up GNU C++ target-dependent include files. */
! { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, 1 },
#endif
#ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR
/* Pick up GNU C++ backward and deprecated include files. */
! { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, 1 },
#endif
#ifdef LOCAL_INCLUDE_DIR
/* /usr/local/include comes before the fixincluded header files.
*/
{ LOCAL_INCLUDE_DIR, 0, 0, 1, 1 },
#endif
#ifdef PREFIX_INCLUDE_DIR
! { PREFIX_INCLUDE_DIR, 0, 0, 1, 1 },
#endif
#ifdef GCC_INCLUDE_DIR
/* This is the dir for fixincludes and for gcc's private headers.
*/
! { GCC_INCLUDE_DIR, "GCC", 0, 0, 1 },
#endif
#ifdef CROSS_INCLUDE_DIR
/* One place the target system's headers might be. */
! { CROSS_INCLUDE_DIR, "GCC", 0, 0, 1 },
#endif
#ifdef TOOL_INCLUDE_DIR
/* Another place the target system's headers might be. */
! { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 1 },
#endif
#ifdef SYSTEM_INCLUDE_DIR
/* Some systems have an extra dir of include files. */