diff --git a/docs/CFEBuildInstrs.html b/docs/CFEBuildInstrs.html index 5f2ed6f9874..bbd11f87ed2 100644 --- a/docs/CFEBuildInstrs.html +++ b/docs/CFEBuildInstrs.html @@ -14,12 +14,17 @@
  1. A Cautionary Note -
  2. Instructions -
  3. License Information + +
  4. +
  5. Instructions
  6. +
  7. License Information
-

Written by Brian R. Gaeke

+

Written by Brian R. Gaeke and + Chris Lattner

@@ -46,6 +51,23 @@ process, and you should only try to do it if:

We welcome patches to help make this process simpler.

+ +
+ Building under cygwin +
+ + +
+

If you are building LLVM and the C front-end under cygwin, please note that +the LLVM and GCC makefiles do not correctly handle spaces in paths. To deal +with this issue, make sure that your LLVM and GCC source and build trees are +located in a top-level directory (like /cygdrive/c/llvm and +/cygdrive/c/llvm-cfrontend), not in a directory that contains a space +(which includes your "home directory", because it lives under the "Documents +and Settings" directory). We welcome patches to fix this issue. +

+
+
Instructions @@ -59,12 +81,11 @@ process, and you should only try to do it if:

  % cd llvm
  % ./configure [options...]
- % gmake tools-only
+ % gmake 
 
-

The use of the non-default target "tools-only" means that the - LLVM tools and libraries will build, and the binaries will be - deposited in llvm/tools/Debug, but the runtime (bytecode) - libraries will not build.

+

This will build all of the LLVM tools and libraries, but you will see + warnings about missing the C front-end (certain runtime libraries can't + be built without it). Ignore these warnings for now.

  • Add the directory containing the tools to your PATH.

    @@ -73,9 +94,6 @@ process, and you should only try to do it if:

  • Unpack the C/C++ front-end source into cfrontend/src.

  • -
  • Edit src/configure. Change the first line (starting w/ #!) to - contain the correct full pathname of sh.

  • -
  • Make "build" and "install" directories as siblings of the "src" tree.

    @@ -86,12 +104,13 @@ process, and you should only try to do it if:

    % set CFEINSTALL = `pwd`/install
  • +
  • Configure, build, and install the C front-end:

    -Linux/x86: -
    -MacOS X/PowerPC: +Linux/x86:
    +MacOS X/PowerPC:
    +cygwin/x86:

    @@ -170,11 +189,9 @@ functions from C as referenced from C++, so we typically configure with
      
     
  • -
  • Go back into the LLVM source tree proper. Edit Makefile.config -to redefine LLVMGCCDIR to the full pathname of the -$CFEINSTALL directory, which is the directory you just -installed the C front-end into. (The ./configure script is likely to -have set this to a directory which does not exist on your system.)

  • +
  • Go back into the LLVM source tree proper. Rerun configure, using +the --with-llvmgccdir=$CFEINSTALL option to specify the path +to the newly built C front-end.

  • If you edited header files during the C/C++ front-end build as described in "Fix 1" above, you must now copy those header files from @@ -184,9 +201,12 @@ described in "Fix 1" above, you must now copy those header files from libgcc.a library, which you can find by running $CFEINSTALL/bin/gcc --print-libgcc-file-name.)

  • -
  • Build and install the runtime (bytecode) libraries by running:

    +
  • Rebuild your CVS tree. This shouldn't cause the whole thing to be + rebuilt, but it should build the runtime libraries. After the tree is + built, install the runtime libraries into your C front-end build tree. + These are the commands you need.

    - % gmake -C runtime
    + % gmake
      % mkdir $CFEINSTALL/bytecode-libs
      % gmake -C runtime install-bytecode
      % setenv LLVM_LIB_SEARCH_PATH $CFEINSTALL/bytecode-libs