diff options
Diffstat (limited to 'tools/llvm-ld/llvm-ld.h')
-rw-r--r-- | tools/llvm-ld/llvm-ld.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/tools/llvm-ld/llvm-ld.h b/tools/llvm-ld/llvm-ld.h new file mode 100644 index 0000000000..85bf933a02 --- /dev/null +++ b/tools/llvm-ld/llvm-ld.h @@ -0,0 +1,67 @@ +//===- llvm-ld.h - Utility functions header file ----------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file was developed by the LLVM research group and is distributed under +// the University of Illinois Open Source License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file contains function prototypes for the functions in util.cpp. +// +//===----------------------------------------------------------------------===// + +#include "llvm/Module.h" + +#include <string> +#include <set> +#include <ostream> + +namespace llvm { + +void +GetAllDefinedSymbols (Module *M, std::set<std::string> &DefinedSymbols); + +void +GetAllUndefinedSymbols(Module *M, std::set<std::string> &UndefinedSymbols); + +int +GenerateBytecode (Module * M, + bool Strip, + bool Internalize, + std::ostream * Out); + +int +GenerateAssembly (const std::string & OutputFilename, + const std::string & InputFilename, + const std::string & llc, + char ** const envp); + +int GenerateCFile(const std::string &OutputFile, const std::string &InputFile, + const std::string &llc, char ** const envp); +int +GenerateNative (const std::string & OutputFilename, + const std::string & InputFilename, + const std::vector<std::string> & Libraries, + const std::vector<std::string> & LibPaths, + const std::string & gcc, + char ** const envp); + +std::auto_ptr<Module> +LoadObject (const std::string & FN, std::string &OutErrorMessage); + +std::string FindLib(const std::string &Filename, + const std::vector<std::string> &Paths, + bool SharedObjectOnly = false); + +void LinkLibraries (const char * progname, Module* HeadModule, + const std::vector<std::string> & Libraries, + const std::vector<std::string> & LibPaths, + bool Verbose, bool Native); +bool +LinkFiles (const char * progname, + Module * HeadModule, + const std::vector<std::string> & Files, + bool Verbose); + +} // End llvm namespace |