blob: ea9a8ee3a1daae141e58e37eea51025f13adcb29 [file] [log] [blame]
Brian Gaekeaee4de92003-11-05 22:13:10 +00001//===- gccld.h - Utility functions header file ------------------*- C++ -*-===//
John Criswell7c0e0222003-10-20 17:47:21 +00002//
3// The LLVM Compiler Infrastructure
4//
5// This file was developed by the LLVM research group and is distributed under
6// the University of Illinois Open Source License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
John Criswellf4304342003-09-19 20:24:40 +00009//
10// This file contains function prototypes for the functions in util.cpp.
11//
12//===----------------------------------------------------------------------===//
13
14#include "llvm/Module.h"
Reid Spencer6903c862004-11-14 22:17:49 +000015#include "llvm/Linker.h"
John Criswellf4304342003-09-19 20:24:40 +000016
17#include <string>
18#include <set>
19#include <ostream>
20
Brian Gaeked0fde302003-11-11 22:41:34 +000021namespace llvm {
22
John Criswellf4304342003-09-19 20:24:40 +000023int
24GenerateBytecode (Module * M,
Chris Lattner3f14fb12004-12-02 21:26:10 +000025 int StripLevel,
John Criswellf4304342003-09-19 20:24:40 +000026 bool Internalize,
27 std::ostream * Out);
28
29int
30GenerateAssembly (const std::string & OutputFilename,
31 const std::string & InputFilename,
Reid Spencer6da1e0d2004-12-14 04:20:08 +000032 const sys::Path & llc);
Chris Lattner69e8d282004-04-06 16:43:13 +000033
Reid Spencer837149c2005-02-28 08:45:35 +000034int
35GenerateCFile (const std::string &OutputFile,
36 const std::string &InputFile,
37 const sys::Path &llc);
John Criswellf4304342003-09-19 20:24:40 +000038int
39GenerateNative (const std::string & OutputFilename,
40 const std::string & InputFilename,
Reid Spencer837149c2005-02-28 08:45:35 +000041 const std::vector<std::string> & LibPaths,
John Criswellf4304342003-09-19 20:24:40 +000042 const std::vector<std::string> & Libraries,
Reid Spencer6da1e0d2004-12-14 04:20:08 +000043 const sys::Path & gcc,
Reid Spencer837149c2005-02-28 08:45:35 +000044 char ** const envp,
45 bool Shared,
46 const std::string & RPath,
47 const std::string & SOName);
John Criswellf4304342003-09-19 20:24:40 +000048
Brian Gaeked0fde302003-11-11 22:41:34 +000049} // End llvm namespace