blob: a6cb49094d56c68b0c1551dda3de01a5e8ed80d1 [file] [log] [blame]
Jan Voung44c3a802015-03-27 16:29:08 -07001//===- subzero/src/main.cpp - Entry point for bitcode translation ---------===//
Jim Stichnothf7c9a142014-04-29 10:52:43 -07002//
3// The Subzero Code Generator
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
Andrew Scull9612d322015-07-06 14:53:25 -07009///
10/// \file
11/// This file defines the entry point for translating PNaCl bitcode into
12/// native code.
13///
Jim Stichnothf7c9a142014-04-29 10:52:43 -070014//===----------------------------------------------------------------------===//
15
Jan Voung44c3a802015-03-27 16:29:08 -070016#include "IceBrowserCompileServer.h"
17#include "IceCompiler.h"
18#include "IceCompileServer.h"
Karl Schimpfb262c5e2014-10-27 14:41:57 -070019
Jim Stichnothf7c9a142014-04-29 10:52:43 -070020int main(int argc, char **argv) {
Jan Voung44c3a802015-03-27 16:29:08 -070021 // Start file server and "wait" for compile request.
22 Ice::Compiler Comp;
23// Can only compile the BrowserCompileServer w/ the NaCl compiler.
24#if PNACL_BROWSER_TRANSLATOR
25 // There are no real commandline arguments in the browser case.
26 // They are supplied via IPC.
27 assert(argc == 1);
Jan Voung871b97f2015-06-30 13:31:02 -070028 (void)argc;
Jan Voung44c3a802015-03-27 16:29:08 -070029 (void)argv;
30 Ice::BrowserCompileServer Server(Comp);
31 Server.run();
32 return Server.getErrorCode().value();
33#else // !PNACL_BROWSER_TRANSLATOR
34 Ice::CLCompileServer Server(Comp, argc, argv);
35 Server.run();
36 return Server.getErrorCode().value();
37#endif // !PNACL_BROWSER_TRANSLATOR
Jim Stichnothf7c9a142014-04-29 10:52:43 -070038}