1*38fd1498Szrj /* Set up combined include path for the preprocessor. 2*38fd1498Szrj Copyright (C) 2003-2018 Free Software Foundation, Inc. 3*38fd1498Szrj 4*38fd1498Szrj This program is free software; you can redistribute it and/or modify it 5*38fd1498Szrj under the terms of the GNU General Public License as published by the 6*38fd1498Szrj Free Software Foundation; either version 3, or (at your option) any 7*38fd1498Szrj later version. 8*38fd1498Szrj 9*38fd1498Szrj This program is distributed in the hope that it will be useful, 10*38fd1498Szrj but WITHOUT ANY WARRANTY; without even the implied warranty of 11*38fd1498Szrj MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12*38fd1498Szrj GNU General Public License for more details. 13*38fd1498Szrj 14*38fd1498Szrj You should have received a copy of the GNU General Public License 15*38fd1498Szrj along with this program; see the file COPYING3. If not see 16*38fd1498Szrj <http://www.gnu.org/licenses/>. */ 17*38fd1498Szrj 18*38fd1498Szrj #ifndef GCC_INCPATH_H 19*38fd1498Szrj #define GCC_INCPATH_H 20*38fd1498Szrj 21*38fd1498Szrj /* Various fragments of include path. */ 22*38fd1498Szrj enum incpath_kind { 23*38fd1498Szrj INC_QUOTE = 0, /* include "foo" */ 24*38fd1498Szrj INC_BRACKET, /* include <foo> */ 25*38fd1498Szrj INC_SYSTEM, /* sysinclude */ 26*38fd1498Szrj INC_AFTER, /* post-sysinclude. */ 27*38fd1498Szrj INC_MAX 28*38fd1498Szrj }; 29*38fd1498Szrj 30*38fd1498Szrj extern void split_quote_chain (void); 31*38fd1498Szrj extern void add_path (char *, incpath_kind, int, bool); 32*38fd1498Szrj extern void register_include_chains (cpp_reader *, const char *, 33*38fd1498Szrj const char *, const char *, 34*38fd1498Szrj int, int, int); 35*38fd1498Szrj extern void add_cpp_dir_path (struct cpp_dir *, incpath_kind); 36*38fd1498Szrj extern struct cpp_dir *get_added_cpp_dirs (incpath_kind); 37*38fd1498Szrj 38*38fd1498Szrj struct target_c_incpath_s { 39*38fd1498Szrj /* Do extra includes processing. STDINC is false iff -nostdinc was given. */ 40*38fd1498Szrj void (*extra_pre_includes) (const char *, const char *, int); 41*38fd1498Szrj void (*extra_includes) (const char *, const char *, int); 42*38fd1498Szrj }; 43*38fd1498Szrj 44*38fd1498Szrj extern struct target_c_incpath_s target_c_incpath; 45*38fd1498Szrj 46*38fd1498Szrj #endif /* GCC_INCPATH_H */ 47