[cfe-commits] r84366 - in /cfe/trunk/www: OpenProjects.html UniversalDriver.html

Daniel Dunbar daniel at zuster.org
Sat Oct 17 14:50:11 PDT 2009


Author: ddunbar
Date: Sat Oct 17 16:50:11 2009
New Revision: 84366

URL: http://llvm.org/viewvc/llvm-project?rev=84366&view=rev
Log:
Add a "Universal Driver" open project, and web page.

Added:
    cfe/trunk/www/UniversalDriver.html
Modified:
    cfe/trunk/www/OpenProjects.html

Modified: cfe/trunk/www/OpenProjects.html
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/www/OpenProjects.html?rev=84366&r1=84365&r2=84366&view=diff

==============================================================================
--- cfe/trunk/www/OpenProjects.html (original)
+++ cfe/trunk/www/OpenProjects.html Sat Oct 17 16:50:11 2009
@@ -102,6 +102,13 @@
 char *</tt> or <tt>std::string</tt>) various clang interfaces. This generally
 simplifies the code and makes it more efficient.</li>
 
+<li><b>Universal Driver</b>: Clang is inherently a cross compiler. We would like
+to define a new model for cross compilation which provides a great user
+experience -- it should be easy to cross compile applications, install support
+for new architectures, access different compilers and tools, and be consistent
+across different platforms. See the <a href="UniversalDriver.html">Universal
+Driver</a> web page for more information.</li>
+
 </div>
 </body>
 </html>

Added: cfe/trunk/www/UniversalDriver.html
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/www/UniversalDriver.html?rev=84366&view=auto

==============================================================================
--- cfe/trunk/www/UniversalDriver.html (added)
+++ cfe/trunk/www/UniversalDriver.html Sat Oct 17 16:50:11 2009
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+          "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+  <title>Clang - Universal Driver</title>
+  <link type="text/css" rel="stylesheet" href="menu.css" />
+  <link type="text/css" rel="stylesheet" href="content.css" />
+</head>
+<body>
+
+<!--#include virtual="menu.html.incl"-->
+
+<div id="content">
+
+<h1>The Clang Universal Driver Project</h1>
+
+<p>Clang is inherently a cross compiler, in that it is always capable of
+building code for targets which are a different architecture or even operating
+system from the one running the compiler. However, actually cross compiling in
+practice involves much more than just generating the right assembly code for a
+target, it also requires having an appropriate tool chain (assemblers, linkers),
+access to header files and libraries for the target, and many other details (for
+example, the calling convention or whether software floating point is in
+use). Traditionally, compilers and development environments provide little
+assistance with this process, so users do not have easy access to the powerful
+underlying cross-compilation abilities of clang.</p>
+
+<p>We would like to solve this problem by defining a new model for how cross
+compilation is done, based on the idea of a <i>universal driver</i>. The key
+point of this model is that the user would always access the compiler through a
+single entry point (e.g., <tt>/usr/bin/cc</tt>) and provide an argument
+specifying the <i>configuration</i> they would like to target. Under the hood
+this entry point (the universal driver) would have access to all the information
+that the driver, compiler, and other tools need to build applications for that
+target.</p>
+
+<p>This is a large and open-ended project. It's eventually success depends not
+just on implementing the model, but also on getting buy-in from compiler
+developers, operating system distribution vendors and the development community
+at large. Our plan is to begin by defining a clear list of the problems we want
+to solve and a proposed implementation (from the user perspective).</p>
+
+<p>This project is in the very early (i.e., thought experiment) stages of
+development. Stay tuned for more information, and of course, patches
+welcome!</p>
+
+<p>See also <a href="http://llvm.org/PR4127">PR4127</a>.</p>
+
+</div>
+</body>
+</html>





More information about the cfe-commits mailing list