New header file for gccld.
authorJohn Criswell <criswell@uiuc.edu>
Fri, 19 Sep 2003 20:24:40 +0000 (20:24 +0000)
committerJohn Criswell <criswell@uiuc.edu>
Fri, 19 Sep 2003 20:24:40 +0000 (20:24 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8610 91177308-0d34-0410-b5e6-96231b3b80d8

tools/gccld/gccld.h [new file with mode: 0644]

diff --git a/tools/gccld/gccld.h b/tools/gccld/gccld.h
new file mode 100644 (file)
index 0000000..b94fa89
--- /dev/null
@@ -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 <string>
+#include <set>
+#include <ostream>
+
+int
+PrintAndReturn (const char *progname,
+                const std::string &Message,
+                const std::string &Extra = "");
+
+void
+GetAllDefinedSymbols (Module *M, std::set<std::string> &DefinedSymbols);
+
+void
+GetAllUndefinedSymbols(Module *M, std::set<std::string> &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<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);
+
+bool
+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);
+