X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FGettingStarted.html;h=0a6a4811880ebc2145514e8abb955d3e9807cd7f;hb=39fe397421a23ea44e19b991e64b04f335f7bde6;hp=5e1985ef132f0fea62c35f0d45c1472f62c4acfc;hpb=24ad111a05b9d0e60a79c4f915bf1bb1d24db40b;p=oota-llvm.git diff --git a/docs/GettingStarted.html b/docs/GettingStarted.html index 5e1985ef132..0a6a4811880 100644 --- a/docs/GettingStarted.html +++ b/docs/GettingStarted.html @@ -516,9 +516,8 @@ href="GCCFEBuildInstrs.html">try to compile it on your platform.

LLVM is very demanding of the host C++ compiler, and as such tends to expose bugs in the compiler. In particular, several versions of GCC crash when trying -to compile LLVM. We routinely use GCC 3.3.3, 3.4.0, and Apple 4.0.1 -successfully with them (however, see important notes below). Other versions -of GCC will probably work as well. GCC versions listed +to compile LLVM. We routinely use GCC 4.2 (and higher) or Clang. +Other versions of GCC will probably work as well. GCC versions listed here are known to not work. If you are using one of these versions, please try to upgrade your GCC to something more recent. If you run into a problem with a version of GCC not listed here, please let @@ -814,6 +813,88 @@ cd llvm/tools git clone http://llvm.org/git/clang.git +

+Since the upstream repository is in Subversion, you should use +"git pull --rebase" +instead of "git pull" to avoid generating a non-linear +history in your clone. +To configure "git pull" to pass --rebase by default +on the master branch, run the following command: +

+ +
+git config branch.master.rebase true
+
+ +

Sending patches with Git

+
+

+Please read Developer Policy, too. +

+ +

+Assume master points the upstream and mybranch points your +working branch, and mybranch is rebased onto master. +At first you may check sanity of whitespaces: +

+ +
+git diff --check master..mybranch
+
+ +

+The easiest way to generate a patch is as below: +

+ +
+git diff master..mybranch > /path/to/mybranch.diff
+
+ +

+It is a little different from svn-generated diff. git-diff-generated diff has +prefixes like a/ and b/. Don't worry, most developers might +know it could be accepted with patch -p1 -N. +

+ +

+But you may generate patchset with git-format-patch. It generates +by-each-commit patchset. To generate patch files to attach to your article: +

+ +
+git format-patch --no-attach master..mybranch -o /path/to/your/patchset
+
+ +

+If you would like to send patches directly, you may use git-send-email or +git-imap-send. Here is an example to generate the patchset in Gmail's [Drafts]. +

+ +
+git format-patch --attach master..mybranch --stdout | git imap-send
+
+ +

+Then, your .git/config should have [imap] sections. +

+ +
+[imap]
+        host = imaps://imap.gmail.com
+        user = your.gmail.account@gmail.com
+        pass = himitsu!
+        port = 993
+        sslverify = false
+; in English
+        folder = "[Gmail]/Drafts"
+; example for Japanese, "Modified UTF-7" encoded.
+        folder = "[Gmail]/&Tgtm+DBN-"
+; example for Traditional Chinese
+        folder = "[Gmail]/&g0l6Pw-"
+
+ +
+

For developers to work with git-svn

@@ -1422,13 +1503,9 @@ different tools.

at runtime in both interpreted and JIT compiled fashions.
llvm/lib/Support/
-
This directory contains the source code that corresponds to the header - files located in llvm/include/Support/.
- - -
llvm/lib/System/
-
This directory contains the operating system abstraction layer that - shields LLVM from platform-specific coding.
+
This directory contains the source code that corresponds to the header + files located in llvm/include/ADT/ + and llvm/include/Support/.
@@ -1515,16 +1592,6 @@ information is in the Command Guide.

href="HowToSubmitABug.html">HowToSubmitABug.html for more information on using bugpoint. -
llvmc
-
The LLVM Compiler Driver. This program can - be configured to utilize both LLVM and non-LLVM compilation tools to enable - pre-processing, translation, optimization, assembly, and linking of programs - all from one command line. llvmc also takes care of processing the - dependent libraries found in bitcode. This reduces the need to get the - traditional -l<name> options right on the command line. Please - note that this tool, while functional, is still experimental and not feature - complete.
-
llvm-ar
The archiver produces an archive containing the given LLVM bitcode files, optionally with an index for faster @@ -1540,9 +1607,9 @@ information is in the Command Guide.

llvm-ld
llvm-ld is a general purpose and extensible linker for LLVM. - This is the linker invoked by llvmc. It performs standard link time - optimizations and allows optimization modules to be loaded and run so that - language specific optimizations can be applied at link time.
+ It performs standard link time optimizations and allows optimization + modules to be loaded and run so that language specific optimizations can + be applied at link time.
llvm-link
llvm-link, not surprisingly, links multiple LLVM modules into