1/* ldfile.h -
2   Copyright 1991, 1992, 1993, 1994, 1995, 2000, 2002, 2003, 2004
3   Free Software Foundation, Inc.
4
5   This file is part of GLD, the Gnu Linker.
6
7   GLD 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 2, or (at your option)
10   any later version.
11
12   GLD 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 GLD; see the file COPYING.  If not, write to
19   the Free Software Foundation, 51 Franklin Street - Fifth Floor,
20   Boston, 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_file
54  (struct lang_input_statement_struct *);
55extern bfd_boolean ldfile_try_open_bfd
56  (const char *, struct lang_input_statement_struct *);
57extern void ldfile_set_output_arch
58  (const char *, enum bfd_architecture);
59extern bfd_boolean ldfile_open_file_search
60  (const char *arch, struct lang_input_statement_struct *,
61   const char *lib, const char *suffix);
62
63#endif
64