diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-10-17 21:50:11 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-10-17 21:50:11 +0000 |
commit | d512efa6d271946b71ccf00306c35f1bf7501b3f (patch) | |
tree | 6daae9af0afb8bf952ff38e804820bf195bc45e7 /clang/www | |
parent | 4bbd1acf8b9bfa849470b3bafaaf6e966fe51078 (diff) | |
download | bcm5719-llvm-d512efa6d271946b71ccf00306c35f1bf7501b3f.tar.gz bcm5719-llvm-d512efa6d271946b71ccf00306c35f1bf7501b3f.zip |
Add a "Universal Driver" open project, and web page.
llvm-svn: 84366
Diffstat (limited to 'clang/www')
-rw-r--r-- | clang/www/OpenProjects.html | 7 | ||||
-rw-r--r-- | clang/www/UniversalDriver.html | 52 |
2 files changed, 59 insertions, 0 deletions
diff --git a/clang/www/OpenProjects.html b/clang/www/OpenProjects.html index d3d05551c0c..46d9716c785 100644 --- a/clang/www/OpenProjects.html +++ b/clang/www/OpenProjects.html @@ -102,6 +102,13 @@ StringRef'izing (converting to use <tt>llvm::StringRef</tt> instead of <tt>const 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> diff --git a/clang/www/UniversalDriver.html b/clang/www/UniversalDriver.html new file mode 100644 index 00000000000..16f8bb6cf9e --- /dev/null +++ b/clang/www/UniversalDriver.html @@ -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> |