* NEWS: Mention new feature --exclude-modules-for-implib.
[deliverable/binutils-gdb.git] / ld / pe-dll.h
CommitLineData
1069dd8d 1/* pe-dll.h: Header file for routines used to build Windows DLLs.
3db64b00
AM
2 Copyright 1999, 2000, 2001, 2002, 2003, 2007
3 Free Software Foundation, Inc.
1069dd8d 4
f96b4a7b 5 This file is part of the GNU Binutils.
1069dd8d 6
f96b4a7b 7 This program is free software; you can redistribute it and/or modify
1069dd8d 8 it under the terms of the GNU General Public License as published by
f96b4a7b
NC
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
1069dd8d 11
f96b4a7b 12 This program is distributed in the hope that it will be useful,
1069dd8d
ILT
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
f96b4a7b
NC
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
20 MA 02110-1301, USA. */
1069dd8d
ILT
21
22#ifndef PE_DLL_H
23#define PE_DLL_H
24
1069dd8d 25#include "sysdep.h"
3db64b00 26#include "bfd.h"
1069dd8d
ILT
27#include "bfdlink.h"
28#include "deffile.h"
29
30extern def_file *pe_def_file;
31extern int pe_dll_export_everything;
32extern int pe_dll_do_default_excludes;
33extern int pe_dll_kill_ats;
34extern int pe_dll_stdcall_aliases;
870df5dc
NC
35extern int pe_dll_warn_dup_exports;
36extern int pe_dll_compat_implib;
b044cda1 37extern int pe_dll_extra_pe_debug;
1069dd8d 38
e1c37eb5
DK
39typedef enum { EXCLUDESYMS, EXCLUDELIBS, EXCLUDEFORIMPLIB } exclude_type;
40
b34976b6 41extern void pe_dll_id_target
1579bae1 42 (const char *);
b34976b6 43extern void pe_dll_add_excludes
e1c37eb5 44 (const char *, const exclude_type);
b34976b6 45extern void pe_dll_generate_def_file
1579bae1 46 (const char *);
b34976b6 47extern void pe_dll_generate_implib
e1c37eb5 48 (def_file *, const char *, struct bfd_link_info *);
b34976b6 49extern void pe_process_import_defs
1579bae1 50 (bfd *, struct bfd_link_info *);
b34976b6 51extern bfd_boolean pe_implied_import_dll
1579bae1 52 (const char *);
b34976b6 53extern void pe_dll_build_sections
1579bae1 54 (bfd *, struct bfd_link_info *);
b34976b6 55extern void pe_exe_build_sections
1579bae1 56 (bfd *, struct bfd_link_info *);
b34976b6 57extern void pe_dll_fill_sections
1579bae1 58 (bfd *, struct bfd_link_info *);
b34976b6 59extern void pe_exe_fill_sections
1579bae1 60 (bfd *, struct bfd_link_info *);
b34976b6 61extern void pe_walk_relocs_of_symbol
1579bae1 62 (struct bfd_link_info *, const char *, int (*) (arelent *, asection *));
b34976b6 63extern void pe_create_import_fixup
6cb442d3 64 (arelent * rel, asection *, bfd_vma);
ff2bdb9c
CF
65extern bfd_boolean pe_bfd_is_dll
66 (bfd *);
67
1069dd8d 68#endif /* PE_DLL_H */
This page took 0.376266 seconds and 4 git commands to generate.