diff --git a/tools/gccld/gccld.h b/tools/gccld/gccld.h new file mode 100644 index 00000000000..b94fa89a7a6 --- /dev/null +++ b/tools/gccld/gccld.h @@ -0,0 +1,64 @@ +//===- util.h - Utility functions header file -----------------------------===// +// +// This file contains function prototypes for the functions in util.cpp. +// +//===----------------------------------------------------------------------===// + +#include "llvm/Module.h" + +#include +#include +#include + +int +PrintAndReturn (const char *progname, + const std::string &Message, + const std::string &Extra = ""); + +void +GetAllDefinedSymbols (Module *M, std::set &DefinedSymbols); + +void +GetAllUndefinedSymbols(Module *M, std::set &UndefinedSymbols); + +char ** +CopyEnv (char ** const envp); + +void +RemoveEnv (const char * name, char ** const envp); + +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 +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); + +bool +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); +