diff --git a/llvm/docs/FAQ.html b/llvm/docs/FAQ.html new file mode 100644 index 000000000000..a76fea66f69f --- /dev/null +++ b/llvm/docs/FAQ.html @@ -0,0 +1,145 @@ + + +

+
+LLVM: Frequently Asked Questions +
+

+ +
+ + +

+Source Code +

+ + +
+
In what language is LLVM written? +
+ All of the LLVM tools and libraries are written in C++ with extensive use + of the STL. +

+ +

How portable is the LLVM source code? +
+ The LLVM source code should be portable to most modern UNIX-like operating + systems. Most of the code is written in standard C++ with operating + system services abstracted to a support library. The tools required to + build and test LLVM have been ported to a plethora of platforms. +

+ Some porting problems may exist in the following areas: +

+
+ +
+ + +

+Build Problems +

+ + +
+
When I run configure, it finds the wrong C compiler. +
+ The configure script attempts to locate first gcc and + then cc, unless it finds compiler paths set in CC and + CXX for the C and C++ compiler, respectively. + + If configure finds the wrong compiler, either adjust your + PATH environment variable or set CC and CXX + explicitly. +

+ +

I compile the code, and I get some error about /localhome. +
+ There are several possible causes for this. The first is that you + didn't set a pathname properly when using configure, and it + defaulted to a pathname that we use on our research machines. +

+ Another possibility is that we hardcoded a path in our Makefiles. If + you see this, please email the LLVM bug mailing list with the name of + the offending Makefile and a description of what is wrong with it. + +

The configure script finds the right C compiler, but it + uses the LLVM linker from a previous build. What do I do? +
+ The configure script uses the PATH to find + executables, so if it's grabbing the wrong linker/assembler/etc, there + are two ways to fix it: +
    +
  1. Adjust your PATH environment variable so that the + correct program appears first in the PATH. This may work, + but may not be convenient when you want them first in your + path for other work. +

    + +

  2. Run configure with an alternative PATH that + is correct. In a Borne compatible shell, the syntax would be: +

    + PATH= ./configure ... +

    + This is still somewhat inconvenient, but it allows + configure to do its work without having to adjust your + PATH permanently. +

+ +
When creating a dynamic library, I get a strange GLIBC error. +
+ Under some operating systems (i.e. Linux), libtool does not work correctly + if GCC was compiled with the --disable-shared option. To work around this, + install your own version of GCC that has shared libraries enabled by + default. +

+ +

I've updated my source tree from CVS, and now my build is trying to + use a file/directory that doesn't exist. +
+ You need to re-run configure in your object directory. When new Makefiles + are added to the source tree, they have to be copied over to the object + tree in order to be used by the build. +

+ +

I've modified a Makefile in my source tree, but my build tree keeps + using the old version. What do I do? +
+ If the Makefile already exists in your object tree, you can just run the + following command in the top level directory of your object tree: +

+ ./config.status <relative path to Makefile> +

+ If the Makefile is new, you will have to modify the configure script to copy + it over. +

+ +

I've upgraded to a new version of LLVM, and I get strange build + errors. +
+ Sometimes changes to the LLVM source code alters how the build system + works. Changes in libtool, autoconf, or header file dependencies are + especially prone to this sort of problem. +

+ The best thing to try is to remove the old files and re-build. In most + cases, this takes care of the problem. To do this, just type make + clean and then make in the directory that fails to build. +

+

+
+ + +