This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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. */



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]