blob: 5b7bdf1c477a3124761f7f6c76fb105418550526 [file] [log] [blame]
Brian Gaekeaee4de92003-11-05 22:13:10 +00001//===- gccld.h - Utility functions header file ------------------*- C++ -*-===//
Misha Brukman3da94ae2005-04-22 00:00:37 +00002//
John Criswell7c0e0222003-10-20 17:47:21 +00003// 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.
Misha Brukman3da94ae2005-04-22 00:00:37 +00007//
John Criswell7c0e0222003-10-20 17:47:21 +00008//===----------------------------------------------------------------------===//
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
Misha Brukman8f586ba2005-04-20 04:07:47 +000024GenerateBytecode (Module *M,
Chris Lattner3f14fb12004-12-02 21:26:10 +000025 int StripLevel,
John Criswellf4304342003-09-19 20:24:40 +000026 bool Internalize,
Misha Brukman8f586ba2005-04-20 04:07:47 +000027 std::ostream *Out);
John Criswellf4304342003-09-19 20:24:40 +000028
29int
Misha Brukman8f586ba2005-04-20 04:07:47 +000030GenerateAssembly (const std::string &OutputFilename,
31 const std::string &InputFilename,
32 const sys::Path &llc,
Misha Brukmanb0bafc52005-04-20 03:22:18 +000033 bool Verbose=false);
Chris Lattner69e8d282004-04-06 16:43:13 +000034
Misha Brukman3da94ae2005-04-22 00:00:37 +000035int
36GenerateCFile (const std::string &OutputFile,
Reid Spencer837149c2005-02-28 08:45:35 +000037 const std::string &InputFile,
Misha Brukmanb0bafc52005-04-20 03:22:18 +000038 const sys::Path &llc,
39 bool Verbose=false);
John Criswellf4304342003-09-19 20:24:40 +000040int
Misha Brukman8f586ba2005-04-20 04:07:47 +000041GenerateNative (const std::string &OutputFilename,
42 const std::string &InputFilename,
43 const std::vector<std::string> &LibPaths,
44 const std::vector<std::string> &Libraries,
45 const sys::Path &gcc,
Reid Spencer837149c2005-02-28 08:45:35 +000046 char ** const envp,
47 bool Shared,
Misha Brukman8f586ba2005-04-20 04:07:47 +000048 const std::string &RPath,
49 const std::string &SOName,
Misha Brukmanb0bafc52005-04-20 03:22:18 +000050 bool Verbose=false);
John Criswellf4304342003-09-19 20:24:40 +000051
Brian Gaeked0fde302003-11-11 22:41:34 +000052} // End llvm namespace