blob: 85dfb2d5c5cef31eb45f77a3ce0c9c363b60acc2 [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,
Misha Brukmanb0bafc52005-04-20 03:22:18 +000032 const sys::Path & llc,
33 bool Verbose=false);
Chris Lattner69e8d282004-04-06 16:43:13 +000034
Reid Spencer837149c2005-02-28 08:45:35 +000035int
36GenerateCFile (const std::string &OutputFile,
37 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
41GenerateNative (const std::string & OutputFilename,
42 const std::string & InputFilename,
Reid Spencer837149c2005-02-28 08:45:35 +000043 const std::vector<std::string> & LibPaths,
John Criswellf4304342003-09-19 20:24:40 +000044 const std::vector<std::string> & Libraries,
Reid Spencer6da1e0d2004-12-14 04:20:08 +000045 const sys::Path & gcc,
Reid Spencer837149c2005-02-28 08:45:35 +000046 char ** const envp,
47 bool Shared,
48 const std::string & RPath,
Misha Brukmanb0bafc52005-04-20 03:22:18 +000049 const std::string & SOName,
50 bool Verbose=false);
John Criswellf4304342003-09-19 20:24:40 +000051
Brian Gaeked0fde302003-11-11 22:41:34 +000052} // End llvm namespace