//===- 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 #include #include namespace llvm { void GetAllDefinedSymbols (Module *M, std::set &DefinedSymbols); void GetAllUndefinedSymbols(Module *M, std::set &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 & Libraries, const std::vector & LibPaths, const std::string & gcc, char ** const envp); std::auto_ptr LoadObject (const std::string & FN, std::string &OutErrorMessage); std::string FindLib(const std::string &Filename, const std::vector &Paths, bool SharedObjectOnly = false); void LinkLibraries (const char * progname, Module* HeadModule, const std::vector & Libraries, const std::vector & LibPaths, bool Verbose, bool Native); bool LinkFiles (const char * progname, Module * HeadModule, const std::vector & Files, bool Verbose); } // End llvm namespace