summaryrefslogtreecommitdiffstats
path: root/www/OpenProjects.html
diff options
context:
space:
mode:
authorRenato Golin <renato.golin@linaro.org>2013-02-27 21:28:29 +0000
committerRenato Golin <renato.golin@linaro.org>2013-02-27 21:28:29 +0000
commitc661e1248079f6f87ac47a45f034067580ab2f1c (patch)
treed87389b081a4899f88891d1f5ab03789eb3a0a2a /www/OpenProjects.html
parent854e75575e1d54ef9c8f4d812c646b325737eaa6 (diff)
Add config manager to open projects
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176211 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'www/OpenProjects.html')
-rw-r--r--www/OpenProjects.html32
1 files changed, 26 insertions, 6 deletions
diff --git a/www/OpenProjects.html b/www/OpenProjects.html
index b2d4dae6c3..4d28b6a6cf 100644
--- a/www/OpenProjects.html
+++ b/www/OpenProjects.html
@@ -82,13 +82,7 @@ improve the quality of clang by self-testing. Some examples:
C++'98 is feature complete, but there is still a lot of C++'11 features to
implement. Please see the <a href="cxx_status.html">C++ status report
page</a> to find out what is missing.</li>
-</ul>
-
-<p>If you hit a bug with clang, it is very useful for us if you reduce the code
-that demonstrates the problem down to something small. There are many ways to
-do this; ask on cfe-dev for advice.</p>
-<ul>
<li><b>StringRef'ize APIs</b>: A thankless but incredibly useful project is
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
@@ -107,8 +101,34 @@ Driver</a> web page for more information.</li>
<li><i>Documented</i>, with appropriate Schema against which the output of Clang's XML formatter can be verified.</li>
<li><i>Stable</i> across Clang versions.</li>
</ul></li>
+
+<li><b>Configuration Manager</b>: Clang/LLVM works on a large number of
+architectures and operating systems and can cross-compile to a similarly large
+number of configurations, but the pitfalls of chosing the command-line
+options, making sure the right sub-architecture is chosen and that the correct
+optional elements of your particular system can be a pain.
+
+<p>A tool that would investigate hosts and targets, and store the configuration
+in files that can later be used by Clang itself to avoid command-line options,
+especially the ones regarding which target options to use, would greatle alleviate
+this problem. A simple tool, with little or no dependency on LLVM itself, that
+will investigate a target architecture by probing hardware, software, libraries
+and compiling and executing code to identify all properties that would be relevant
+to command-line options (VFP, SSE, NEON, ARM vs. Thumb etc), triple settings etc.</p>
+
+<p>The first stage is to build a CFLAGS for Clang that would produce code on the
+current Host to the identified Target.</p>
+
+<p>The second stage would be to produce a configuration file (that can be used
+independently of the Host) so that Clang can read it and not need a gazillion
+of command-line options. Such file should be simple JSON / INI or anything that
+Vim could change.</p>
</ul>
+<p>If you hit a bug with clang, it is very useful for us if you reduce the code
+that demonstrates the problem down to something small. There are many ways to
+do this; ask on cfe-dev for advice.</p>
+
</div>
</body>
</html>