diff options
author | meadori <meadori@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-11-27 16:55:47 +0000 |
---|---|---|
committer | meadori <meadori@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-11-27 16:55:47 +0000 |
commit | cdd7a5a41ecd752050f6cb2d927d4892d64585f3 (patch) | |
tree | b327f0c1eba3f0941ca3e99f9c8e852a2b117082 /gcc/file-find.h | |
parent | c7abeac58d5bb179f032292b4c9bc05b0b4402fc (diff) | |
download | gcc-cdd7a5a41ecd752050f6cb2d927d4892d64585f3.tar.gz |
2012-11-27 Meador Inge <meadori@codesourcery.com>
* collect2.c (main): Call find_file_set_debug.
(find_a_find, add_prefix, prefix_from_env, prefix_from_string):
Factor out into ...
* file-find.c (New file): ... here and ...
* file-find.h (New file): ... here.
* gcc-ar.c (standard_exec_prefix): New variable.
(standard_libexec_prefix): Ditto.
(tooldir_base_prefix) Ditto.
(self_exec_prefix): Ditto.
(self_libexec_prefix): Ditto.
(self_tooldir_prefix): Ditto.
(target_version): Ditto.
(path): Ditto.
(target_path): Ditto.
(setup_prefixes): New function.
(main): Rework how wrapped programs are found.
* Makefile.in (OBJS-libcommon-target): Add file-find.o.
(AR_OBJS): New variable.
(gcc-ar$(exeext)): Add dependency on $(AR_OBJS).
(gcc-nm$(exeext)): Ditto.
(gcc-ranlib(exeext)): Ditto.
(COLLECT2_OBJS): Add file-find.o.
(collect2.o): Add file-find.h prerequisite.
(file-find.o): New rule.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193859 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/file-find.h')
-rw-r--r-- | gcc/file-find.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/gcc/file-find.h b/gcc/file-find.h new file mode 100644 index 00000000000..4c0182a5eda --- /dev/null +++ b/gcc/file-find.h @@ -0,0 +1,47 @@ +/* Prototypes and data structures used for implementing functions for + finding files relative to GCC binaries. + Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, + 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012 + +This file is part of GCC. + +GCC 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. + +GCC 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 GCC; see the file COPYING3. If not see +<http://www.gnu.org/licenses/>. */ + +#ifndef GCC_FILE_FIND_H +#define GCC_FILE_FIND_H + +/* Structure to hold all the directories in which to search for files to + execute. */ + +struct prefix_list +{ + const char *prefix; /* String to prepend to the path. */ + struct prefix_list *next; /* Next in linked list. */ +}; + +struct path_prefix +{ + struct prefix_list *plist; /* List of prefixes to try */ + int max_len; /* Max length of a prefix in PLIST */ + const char *name; /* Name of this list (used in config stuff) */ +}; + +extern void find_file_set_debug (bool); +extern char *find_a_file (struct path_prefix *, const char *); +extern void add_prefix (struct path_prefix *, const char *); +extern void prefix_from_env (const char *, struct path_prefix *); +extern void prefix_from_string (const char *, struct path_prefix *); + +#endif /* GCC_FILE_FIND_H */ |