From 222e2a7620e6520ffaf4fc4e69d79c18da31542e Mon Sep 17 00:00:00 2001 From: "Zancanaro; Carlo" Date: Mon, 24 Sep 2012 09:58:17 +1000 Subject: Add the clang library to the repo (with some of my changes, too). --- clang/www/UniversalDriver.html | 87 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 clang/www/UniversalDriver.html (limited to 'clang/www/UniversalDriver.html') diff --git a/clang/www/UniversalDriver.html b/clang/www/UniversalDriver.html new file mode 100644 index 0000000..2d41a62 --- /dev/null +++ b/clang/www/UniversalDriver.html @@ -0,0 +1,87 @@ + + + + + Clang - Universal Driver + + + + + + + +
+ +

The Clang Universal Driver Project

+ +

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.

+ +

We would like to solve this problem by defining a new model for how cross +compilation is done, based on the idea of a universal driver. The key +point of this model is that the user would always access the compiler through a +single entry point (e.g., /usr/bin/cc) and provide an argument +specifying the configuration 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.

+ +

This is a large and open-ended project. It's eventual 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).

+ +

This project is in the very early (i.e., thought experiment) stages of +development. Stay tuned for more information, and of course, patches +welcome!

+ +

See also PR4127.

+ +

Existing Solutions and Related Work

+ + + +
+ + -- cgit v1.2.3