summaryrefslogtreecommitdiff
path: root/gcc/file-find.h
diff options
context:
space:
mode:
authormeadori <meadori@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-27 16:55:47 +0000
committermeadori <meadori@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-27 16:55:47 +0000
commitcdd7a5a41ecd752050f6cb2d927d4892d64585f3 (patch)
treeb327f0c1eba3f0941ca3e99f9c8e852a2b117082 /gcc/file-find.h
parentc7abeac58d5bb179f032292b4c9bc05b0b4402fc (diff)
downloadgcc-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.h47
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 */