1214571Sdim/* pep-dll.h: Header file for routines used to build Windows DLLs.
2214571Sdim   Copyright 2006, 2007 Free Software Foundation, Inc.
3214571Sdim
4214571Sdim   This file is part of BFD, the Binary File Descriptor library.
5214571Sdim
6214571Sdim   This program is free software; you can redistribute it and/or modify
7214571Sdim   it under the terms of the GNU General Public License as published by
8214571Sdim   the Free Software Foundation; either version 2 of the License, or
9214571Sdim   (at your option) any later version.
10214571Sdim
11214571Sdim   This program is distributed in the hope that it will be useful,
12214571Sdim   but WITHOUT ANY WARRANTY; without even the implied warranty of
13214571Sdim   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14214571Sdim   GNU General Public License for more details.
15214571Sdim
16214571Sdim   You should have received a copy of the GNU General Public License
17214571Sdim   along with this program; if not, write to the Free Software
18214571Sdim   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
19214571Sdim
20214571Sdim   Written by Kai Tietz, OneVision Software GmbH&CoKg.  */
21214571Sdim
22214571Sdim#ifndef PEP_DLL_H
23214571Sdim#define PEP_DLL_H
24214571Sdim
25214571Sdim#include "sysdep.h"
26214571Sdim#include "bfd.h"
27214571Sdim#include "bfdlink.h"
28214571Sdim#include "deffile.h"
29214571Sdim
30214571Sdimextern def_file * pep_def_file;
31214571Sdimextern int pep_dll_export_everything;
32214571Sdimextern int pep_dll_do_default_excludes;
33214571Sdimextern int pep_dll_kill_ats;
34214571Sdimextern int pep_dll_stdcall_aliases;
35214571Sdimextern int pep_dll_warn_dup_exports;
36214571Sdimextern int pep_dll_compat_implib;
37214571Sdimextern int pep_dll_extra_pe_debug;
38214571Sdim
39214571Sdimextern void pep_dll_id_target  (const char *);
40214571Sdimextern void pep_dll_add_excludes  (const char *, const int);
41214571Sdimextern void pep_dll_generate_def_file  (const char *);
42214571Sdimextern void pep_dll_generate_implib  (def_file *, const char *);
43214571Sdimextern void pep_process_import_defs  (bfd *, struct bfd_link_info *);
44214571Sdimextern bfd_boolean pep_implied_import_dll  (const char *);
45214571Sdimextern void pep_dll_build_sections  (bfd *, struct bfd_link_info *);
46214571Sdimextern void pep_exe_build_sections  (bfd *, struct bfd_link_info *);
47214571Sdimextern void pep_dll_fill_sections  (bfd *, struct bfd_link_info *);
48214571Sdimextern void pep_exe_fill_sections  (bfd *, struct bfd_link_info *);
49214571Sdimextern void pep_walk_relocs_of_symbol
50214571Sdim  (struct bfd_link_info *, const char *, int (*) (arelent *, asection *));
51214571Sdimextern void pep_create_import_fixup  (arelent * rel, asection *, int);
52214571Sdimextern bfd_boolean pep_bfd_is_dll  (bfd *);
53214571Sdim
54214571Sdim#endif /* PEP_DLL_H */
55