Commit | Line | Data |
---|---|---|
99ad8390 | 1 | /* pep-dll.h: Header file for routines used to build Windows DLLs. |
aa820537 | 2 | Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc. |
f96b4a7b | 3 | Written by Kai Tietz, OneVision Software GmbH&CoKg. |
99ad8390 | 4 | |
f96b4a7b | 5 | This file is part of the GNU Binutils. |
99ad8390 NC |
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 | |
f96b4a7b | 9 | the Free Software Foundation; either version 3 of the License, or |
99ad8390 NC |
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 | |
f96b4a7b NC |
19 | Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, |
20 | MA 02110-1301, USA. */ | |
99ad8390 NC |
21 | |
22 | #ifndef PEP_DLL_H | |
23 | #define PEP_DLL_H | |
24 | ||
99ad8390 | 25 | #include "sysdep.h" |
3db64b00 | 26 | #include "bfd.h" |
99ad8390 NC |
27 | #include "bfdlink.h" |
28 | #include "deffile.h" | |
29 | ||
30 | extern def_file * pep_def_file; | |
31 | extern int pep_dll_export_everything; | |
2927aaca | 32 | extern int pep_dll_exclude_all_symbols; |
99ad8390 NC |
33 | extern int pep_dll_do_default_excludes; |
34 | extern int pep_dll_kill_ats; | |
35 | extern int pep_dll_stdcall_aliases; | |
36 | extern int pep_dll_warn_dup_exports; | |
37 | extern int pep_dll_compat_implib; | |
38 | extern int pep_dll_extra_pe_debug; | |
ce11ba6c | 39 | extern int pep_use_nul_prefixed_import_tables; |
88183869 | 40 | extern int pep_use_coff_long_section_names; |
522f09cd | 41 | extern int pep_leading_underscore; |
99ad8390 | 42 | |
e1c37eb5 DK |
43 | typedef enum { EXCLUDESYMS, EXCLUDELIBS, EXCLUDEFORIMPLIB } exclude_type; |
44 | ||
99ad8390 | 45 | extern void pep_dll_id_target (const char *); |
e1c37eb5 | 46 | extern void pep_dll_add_excludes (const char *, const exclude_type); |
99ad8390 | 47 | extern void pep_dll_generate_def_file (const char *); |
e1c37eb5 | 48 | extern void pep_dll_generate_implib (def_file *, const char *, struct bfd_link_info *); |
99ad8390 NC |
49 | extern void pep_process_import_defs (bfd *, struct bfd_link_info *); |
50 | extern bfd_boolean pep_implied_import_dll (const char *); | |
51 | extern void pep_dll_build_sections (bfd *, struct bfd_link_info *); | |
52 | extern void pep_exe_build_sections (bfd *, struct bfd_link_info *); | |
53 | extern void pep_dll_fill_sections (bfd *, struct bfd_link_info *); | |
54 | extern void pep_exe_fill_sections (bfd *, struct bfd_link_info *); | |
55 | extern void pep_walk_relocs_of_symbol | |
56 | (struct bfd_link_info *, const char *, int (*) (arelent *, asection *)); | |
6cb442d3 | 57 | extern void pep_create_import_fixup (arelent * rel, asection *, bfd_vma); |
033432d0 | 58 | extern bfd_boolean pep_bfd_is_dll (bfd *); |
2927aaca | 59 | extern void pep_output_file_set_long_section_names (bfd *); |
99ad8390 NC |
60 | |
61 | #endif /* PEP_DLL_H */ |