summaryrefslogtreecommitdiff
path: root/doc/install-source.html
diff options
context:
space:
mode:
authorRob Pike <r@golang.org>2012-03-03 09:36:09 +1100
committerRob Pike <r@golang.org>2012-03-03 09:36:09 +1100
commit4ad226314447d3696212eec32421b052d795c0b3 (patch)
tree280dd84f735a0f3ec372f714bb17d5a406d7262d /doc/install-source.html
parent3a80919f49e943e47aa34d2eec842a9059541561 (diff)
downloadgo-4ad226314447d3696212eec32421b052d795c0b3.tar.gz
doc/install-source.html: update for go tool
Make some updates, get rid of mentions of make. There remain a number of open questions. R=golang-dev, gri CC=golang-dev http://codereview.appspot.com/5720057
Diffstat (limited to 'doc/install-source.html')
-rw-r--r--doc/install-source.html104
1 files changed, 48 insertions, 56 deletions
diff --git a/doc/install-source.html b/doc/install-source.html
index ecb386f59..21cda8a65 100644
--- a/doc/install-source.html
+++ b/doc/install-source.html
@@ -5,21 +5,31 @@
<h2 id="introduction">Introduction</h2>
-<p>Go is an open source project, distributed under a
+<p>
+Go is an open source project, distributed under a
<a href="/LICENSE">BSD-style license</a>.
This document explains how to check out the sources,
build them on your own machine, and run them.
</p>
+<p>
+Most users don't need to do this, and will instead install
+from precompiled binary packages as described in
+<a href="/doc/install.html">Getting Started</a>,
+a much simpler process.
+If you want to help develop what goes into those precompiled
+packages, though, read on.
+</p>
+
<div class="detail">
<p>
There are two official Go compiler tool chains.
This document focuses on the <code>gc</code> Go
compiler and tools (<code>6g</code>, <code>8g</code> etc.).
-For information on how to use <code>gccgo</code>, a more traditional
+For information on how to work on <code>gccgo</code>, a more traditional
compiler using the GCC back end, see
-<a href="/install/gccgo/">Setting up and using gccgo</a>.
+<a href="/doc/gccgo_install.html">Setting up and using gccgo</a>.
</p>
<p>
@@ -33,7 +43,7 @@ architectures.
<code>amd64</code> (a.k.a. <code>x86-64</code>); <code>6g,6l,6c,6a</code>
</dt>
<dd>
- The most mature implementation. The compiler has an effective
+ A mature implementation. The compiler has an effective
optimizer (registerizer) and generates good code (although
<code>gccgo</code> can do noticeably better sometimes).
</dd>
@@ -47,7 +57,8 @@ architectures.
<code>arm</code> (a.k.a. <code>ARM</code>); <code>5g,5l,5c,5a</code>
</dt>
<dd>
- Supports only Linux binaries. Less tested than the other ports.
+ Supports only Linux binaries. Less widely used than the other ports and therefore
+ not as thoroughly tested.
</dd>
</dl>
@@ -113,7 +124,7 @@ You might try this first:
<p>
If that fails, try installing manually from the
<a href="http://mercurial.selenic.com/wiki/Download">Mercurial Download</a>
-page.</p>
+page.
</p>
<p>
@@ -136,7 +147,6 @@ if necessary.
<h2 id="fetch">Fetch the repository</h2>
-<p>
<p>Go will install to a directory named <code>go</code>.
Change to the directory that will be its parent
and make sure the <code>go</code> directory does not exist.
@@ -222,59 +232,32 @@ If you see the "hello, world" message then Go is installed correctly.
</p>
-<h2 id="next">What's next</h2>
-
-<p>
-Start by taking <a href="http://tour.golang.org/">A Tour of Go</a>.
-</p>
-
-<p>
-For more detail about the process of building and testing Go programs
-read <a href="/doc/code.html">How to Write Go Code</a>.
-</p>
-
-<p>
-Build a web application by following the <a href="/doc/articles/wiki/">Wiki
-Tutorial</a>.
-</p>
-
-<p>
-Read <a href="/doc/effective_go.html">Effective Go</a> to learn about writing
-idiomatic Go code.
-</p>
-
-<p>
-For the full story, consult Go's extensive
-<a href="/doc/">documentation</a>.
-</p>
-
-
<h2 id="community">Community resources</h2>
<p>
-For real-time help, there may be users or developers on
-<code>#go-nuts</code> on the <a href="http://freenode.net/">Freenode</a> IRC server.
-</p>
-
-<p>
-The official mailing list for discussion of the Go language is
-<a href="http://groups.google.com/group/golang-nuts">Go Nuts</a>.
+The usual community resources such as
+<code>#go-nuts</code> on the <a href="http://freenode.net/">Freenode</a> IRC server
+and the
+<a href="http://groups.google.com/group/golang-nuts">Go Nuts</a>
+mailing list have active developers that can help you with problems
+with your installation or your development work.
+For those who wish to keep up to date,
+there is another mailing list, <a href="http://groups.google.com/group/golang-checkins">golang-checkins</a>,
+that receives a message summarizing each checkin to the Go repository.
</p>
<p>
Bugs can be reported using the <a href="http://code.google.com/p/go/issues/list">Go issue tracker</a>.
</p>
-<p>
-For those who wish to keep up with development,
-there is another mailing list, <a href="http://groups.google.com/group/golang-checkins">golang-checkins</a>,
-that receives a message summarizing each checkin to the Go repository.
-</p>
-
<h2 id="releases">Keeping up with releases</h2>
<p>
+XXX TODO XXX
+</p>
+
+<p>
The Go project maintains two stable tags in its Mercurial repository:
<code>release</code> and <code>weekly</code>.
The <code>weekly</code> tag is updated about once a week, and should be used by
@@ -311,7 +294,7 @@ To use the <code>weekly</code> tag run <code>hg update weekly</code> instead.
<p>
The Go compilation environment can be customized by environment variables.
-<i>None are required by the build</i>, but you may wish to set them
+<i>None is required by the build</i>, but you may wish to set some
to override the defaults.
</p>
@@ -321,11 +304,14 @@ to override the defaults.
</dt>
<dd>
<p>
+ XXX FONT IS WRONG IN THESE ENTRIES XXX
+ XXX I NEED SOME SPAN THING XXX
The root of the Go tree, often <code>$HOME/go</code>.
- This defaults to the parent of the directory where <code>all.bash</code> is run.
- If you choose not to set <code>$GOROOT</code>, you must
- run <code>gomake</code> instead of <code>make</code> or <code>gmake</code>
- when developing Go programs using the conventional makefiles.
+ Its value is built into the tree when it is compiled, and
+ defaults to the parent of the directory where <code>all.bash</code> was run.
+ There is no need to set this unless you want to switch between multiple
+ local copies of the repository.
+ </p>
</dd>
<dt>
@@ -334,11 +320,12 @@ to override the defaults.
<dd>
<p>
The value assumed by installed binaries and scripts when
- <code>$GOROOT</code> is not set.
- It defaults to the value used for <code>$GOROOT</code>.
+ <code>$GOROOT</code> is not set explicitly.
+ It defaults to the value of <code>$GOROOT</code>.
If you want to build the Go tree in one location
but move it elsewhere after the build, set
<code>$GOROOT_FINAL</code> to the eventual location.
+ </p>
</dd>
<dt>
@@ -406,7 +393,6 @@ to override the defaults.
<td></td><td><code>windows</code></td> <td><code>amd64</code></td>
</tr>
</table>
- <p>
</dd>
<dt>
@@ -431,7 +417,8 @@ to override the defaults.
</dt>
<dd>
<p>
- The location where binaries will be installed.
+ The location where binaries from the main repository will be installed.
+ XXX THIS MAY CHANGE TO BE AN OVERRIDE EVEN FOR GOPATH ENTRIES XXX
The default is <code>$GOROOT/bin</code>.
After installing, you will want to arrange to add this
directory to your <code>$PATH</code>, so you can use the tools.
@@ -472,3 +459,8 @@ export GOROOT=$HOME/go
export GOARCH=amd64
export GOOS=linux
</pre>
+
+<p>
+although, to reiterate, none of these variables needs to be set to build,
+install, and develop the Go tree.
+</p>