1/* ldfile.h -
2   Copyright 1991, 1992, 1993, 1994, 1995, 2000, 2002, 2003, 2004, 2005, 2007
3   Free Software Foundation, Inc.
4
5   This file is part of the GNU Binutils.
6
7   This program is free software; you can redistribute it and/or modify
8   it under the terms of the GNU General Public License as published by
9   the Free Software Foundation; either version 3 of the License, or
10   (at your option) any later version.
11
12   This program is distributed in the hope that it will be useful,
13   but WITHOUT ANY WARRANTY; without even the implied warranty of
14   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   GNU General Public License for more details.
16
17   You should have received a copy of the GNU General Public License
18   along with this program; if not, write to the Free Software
19   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
20   MA 02110-1301, USA.  */
21
22#ifndef LDFILE_H
23#define LDFILE_H
24
25extern const char *ldfile_input_filename;
26extern bfd_boolean ldfile_assumed_script;
27extern unsigned long ldfile_output_machine;
28extern enum bfd_architecture ldfile_output_architecture;
29extern const char *ldfile_output_machine_name;
30
31/* Structure used to hold the list of directories to search for
32   libraries.  */
33
34typedef struct search_dirs {
35  /* Next directory on list.  */
36  struct search_dirs *next;
37  /* Name of directory.  */
38  const char *name;
39  /* TRUE if this is from the command line.  */
40  bfd_boolean cmdline;
41  /* true if this is from within the sys-root.  */
42  bfd_boolean sysrooted;
43} search_dirs_type;
44
45extern search_dirs_type *search_head;
46
47extern void ldfile_add_arch
48  (const char *);
49extern void ldfile_add_library_path
50  (const char *, bfd_boolean cmdline);
51extern void ldfile_open_command_file
52  (const char *name);
53extern void ldfile_open_default_command_file
54  (const char *name);
55extern void ldfile_open_file
56  (struct lang_input_statement_struct *);
57extern bfd_boolean ldfile_try_open_bfd
58  (const char *, struct lang_input_statement_struct *);
59extern void ldfile_set_output_arch
60  (const char *, enum bfd_architecture);
61extern bfd_boolean ldfile_open_file_search
62  (const char *arch, struct lang_input_statement_struct *,
63   const char *lib, const char *suffix);
64
65#endif
66