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