]>
Commit | Line | Data |
---|---|---|
e89f2fbe SC |
1 | /* bfd initialization stuff |
2 | Copyright (C) 1990-1991 Free Software Foundation, Inc. | |
3 | Written by Steve Chamberlain of Cygnus Support. | |
4 | ||
5 | This file is part of BFD, the Binary File Descriptor library. | |
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 2 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ | |
c188b0be | 20 | |
e89f2fbe | 21 | #include "bfd.h" |
c188b0be | 22 | #include "sysdep.h" |
e89f2fbe SC |
23 | #include "libbfd.h" |
24 | ||
c188b0be DM |
25 | extern void DEFUN_VOID (bfd_section_init); |
26 | ||
e89f2fbe SC |
27 | static boolean initialized = false; |
28 | ||
c188b0be DM |
29 | /* |
30 | SECTION | |
31 | Initialization | |
32 | ||
33 | These are the functions that handle initializing a BFD. | |
34 | */ | |
35 | ||
36 | /* | |
37 | FUNCTION | |
38 | bfd_init | |
e89f2fbe | 39 | |
c188b0be DM |
40 | SYNOPSIS |
41 | void bfd_init(void); | |
e89f2fbe | 42 | |
c188b0be DM |
43 | DESCRIPTION |
44 | This routine must be called before any other libbfd function to | |
45 | initialize magical internal data structures. | |
e89f2fbe SC |
46 | */ |
47 | ||
c188b0be DM |
48 | void |
49 | bfd_init () | |
e89f2fbe SC |
50 | { |
51 | if (initialized == false) { | |
52 | initialized = true; | |
53 | ||
54 | bfd_arch_init(); | |
55 | } | |
56 | } | |
57 | ||
58 | ||
c188b0be DM |
59 | /* |
60 | INTERNAL_FUNCTION | |
61 | bfd_check_init | |
e89f2fbe | 62 | |
c188b0be DM |
63 | SYNOPSIS |
64 | void bfd_check_init(void); | |
e89f2fbe | 65 | |
c188b0be DM |
66 | DESCRIPTION |
67 | This routine is called before any other libbfd function using | |
68 | initialized data. It ensures that the structures have | |
69 | been initialized. Soon this function will go away, and the bfd | |
70 | library will assume that <<bfd_init>> has been called. | |
e89f2fbe SC |
71 | */ |
72 | ||
c188b0be DM |
73 | void |
74 | bfd_check_init () | |
e89f2fbe SC |
75 | { |
76 | if (initialized == false) { | |
e89f2fbe SC |
77 | bfd_init(); |
78 | } | |
79 | } |