Commit d70627e5 authored by Andrew Gerrand's avatar Andrew Gerrand

doc: update install docs for Windows and Go 1, add golang-announce to /project

R=golang-dev, bradfitz, r, rsc
CC=golang-dev
https://golang.org/cl/5758044
parent 88e86936
...@@ -17,6 +17,15 @@ Go is an open source project developed by a team at ...@@ -17,6 +17,15 @@ Go is an open source project developed by a team at
Go is distributed under a <a href="/LICENSE">BSD-style license</a>. Go is distributed under a <a href="/LICENSE">BSD-style license</a>.
</p> </p>
<h3 id="announce"><a href="http://groups.google.com/group/golang-announce">Announcements Mailing List</a></h3>
<p>
A low traffic mailing list for important announcements, such as new releases.
</p>
<p>
We encourage all Go users to subscribe to
<a href="http://groups.google.com/group/golang-announce">golang-announce</a>.
</p>
<h2 id="resources">Developer Resources</h2> <h2 id="resources">Developer Resources</h2>
<h3 id="source"><a href="https://code.google.com/p/go/source">Source Code</a></h3> <h3 id="source"><a href="https://code.google.com/p/go/source">Source Code</a></h3>
......
...@@ -97,7 +97,9 @@ If you want to build 32-bit binaries on a 64-bit system you'll also need the ...@@ -97,7 +97,9 @@ If you want to build 32-bit binaries on a 64-bit system you'll also need the
</p> </p>
<p> <p>
<font color="red">TODO: add Windows compiler info</font> On Windows, install <code>gcc</code> with
<a href="http://www.mingw.org/">MinGW</a>.
(Make sure you add its <code>bin</code> subdirectory to your <code>PATH</code>.)
</p> </p>
<h2 id="mercurial">Install Mercurial, if needed</h2> <h2 id="mercurial">Install Mercurial, if needed</h2>
...@@ -105,7 +107,7 @@ If you want to build 32-bit binaries on a 64-bit system you'll also need the ...@@ -105,7 +107,7 @@ If you want to build 32-bit binaries on a 64-bit system you'll also need the
<p> <p>
To perform the next step you must have Mercurial installed. (Check that you To perform the next step you must have Mercurial installed. (Check that you
have an <code>hg</code> command.) This suffices to install Mercurial on most have an <code>hg</code> command.) This suffices to install Mercurial on most
systems: Unix systems:
</p> </p>
<pre> <pre>
...@@ -113,8 +115,7 @@ sudo easy_install mercurial==2.0 ...@@ -113,8 +115,7 @@ sudo easy_install mercurial==2.0
</pre> </pre>
<p> <p>
On Ubuntu/Debian, On Ubuntu/Debian, the Mercurial in your distribution's
the Mercurial in your distribution's
package repository is most likely old and broken. package repository is most likely old and broken.
You might try this first: You might try this first:
</p> </p>
...@@ -122,7 +123,7 @@ You might try this first: ...@@ -122,7 +123,7 @@ You might try this first:
<pre>apt-get install python-setuptools python-dev build-essential</pre> <pre>apt-get install python-setuptools python-dev build-essential</pre>
<p> <p>
If that fails, try installing manually from the If that fails, or if you use Windows, install manually from the
<a href="http://mercurial.selenic.com/wiki/Download">Mercurial Download</a> <a href="http://mercurial.selenic.com/wiki/Download">Mercurial Download</a>
page. page.
</p> </p>
...@@ -253,23 +254,14 @@ Bugs can be reported using the <a href="http://code.google.com/p/go/issues/list" ...@@ -253,23 +254,14 @@ Bugs can be reported using the <a href="http://code.google.com/p/go/issues/list"
<h2 id="releases">Keeping up with releases</h2> <h2 id="releases">Keeping up with releases</h2>
<p>
XXX TODO XXX
</p>
<p> <p>
The Go project maintains two stable tags in its Mercurial repository: The Go project maintains two stable tags in its Mercurial repository:
<code>release</code> and <code>weekly</code>. <code>release</code> and <code>weekly</code>.
The <code>weekly</code> tag is updated about once a week, and should be used by
those who want to track the project's development.
The <code>release</code> tag is given, less often, to those weekly releases
that have proven themselves to be robust.
</p> </p>
<p> <p>
Most Go users will want to keep their Go installation at the latest The <code>release</code> tag refers to the current stable release of Go.
<code>release</code> tag. Most Go users should use this version. New releases are announced on the
New releases are announced on the
<a href="http://groups.google.com/group/golang-announce">golang-announce</a> <a href="http://groups.google.com/group/golang-announce">golang-announce</a>
mailing list. mailing list.
</p> </p>
...@@ -286,6 +278,8 @@ $ ./all.bash ...@@ -286,6 +278,8 @@ $ ./all.bash
</pre> </pre>
<p> <p>
The <code>weekly</code> tag is updated about once a week, and should be used
only by those who are actively working on the Go core.
To use the <code>weekly</code> tag run <code>hg update weekly</code> instead. To use the <code>weekly</code> tag run <code>hg update weekly</code> instead.
</p> </p>
...@@ -298,143 +292,123 @@ The Go compilation environment can be customized by environment variables. ...@@ -298,143 +292,123 @@ The Go compilation environment can be customized by environment variables.
to override the defaults. to override the defaults.
</p> </p>
<dl> <blockquote>
<dt>
<code>$GOROOT</code> <p><code>$GOROOT</code></p>
</dt> <p>
<dd> The root of the Go tree, often <code>$HOME/go</code>.
<p> Its value is built into the tree when it is compiled, and
XXX FONT IS WRONG IN THESE ENTRIES XXX defaults to the parent of the directory where <code>all.bash</code> was run.
XXX I NEED SOME SPAN THING XXX There is no need to set this unless you want to switch between multiple
The root of the Go tree, often <code>$HOME/go</code>. local copies of the repository.
Its value is built into the tree when it is compiled, and </p>
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 <p><code>$GOROOT_FINAL</code></p>
local copies of the repository. <p>
</p> The value assumed by installed binaries and scripts when
</dd> <code>$GOROOT</code> is not set explicitly.
It defaults to the value of <code>$GOROOT</code>.
<dt> If you want to build the Go tree in one location
<code>$GOROOT_FINAL</code> but move it elsewhere after the build, set
</dt> <code>$GOROOT_FINAL</code> to the eventual location.
<dd> </p>
<p>
The value assumed by installed binaries and scripts when <p><code>$GOOS</code> and <code>$GOARCH</code></p>
<code>$GOROOT</code> is not set explicitly. <p>
It defaults to the value of <code>$GOROOT</code>. The name of the target operating system and compilation architecture.
If you want to build the Go tree in one location These default to the values of <code>$GOHOSTOS</code> and
but move it elsewhere after the build, set <code>$GOHOSTARCH</code> respectively (described below).
<code>$GOROOT_FINAL</code> to the eventual location.
</p> <p>
</dd> Choices for <code>$GOOS</code> are
<code>darwin</code> (Mac OS X 10.5 and above), <code>freebsd</code>,
<dt> <code>linux</code>, <code>netbsd</code>, <code>openbsd</code>,
<code>$GOOS</code> and <code>$GOARCH</code> <code>plan9</code>, and <code>windows</code>.
</dt> Choices for <code>$GOARCH</code> are
<dd> <code>amd64</code> (64-bit x86, the most mature port),
<p> <code>386</code> (32-bit x86), and <code>arm</code> (32-bit ARM).
The name of the target operating system and compilation architecture. The valid combinations of <code>$GOOS</code> and <code>$GOARCH</code> are:
These default to the values of <code>$GOHOSTOS</code> and <table cellpadding="0">
<code>$GOHOSTARCH</code> respectively (described below). <tr>
<th width="50"><th align="left" width="100"><code>$GOOS</code></th> <th align="left" width="100"><code>$GOARCH</code></th> <th align="left"></th>
<p> </tr>
Choices for <code>$GOOS</code> are <tr>
<code>darwin</code> (Mac OS X 10.5 and above), <code>freebsd</code>, <td></td><td><code>darwin</code></td> <td><code>386</code></td>
<code>linux</code>, <code>netbsd</code>, <code>openbsd</code>, </tr>
<code>plan9</code>, and <code>windows</code>. <tr>
Choices for <code>$GOARCH</code> are <td></td><td><code>darwin</code></td> <td><code>amd64</code></td>
<code>amd64</code> (64-bit x86, the most mature port), </tr>
<code>386</code> (32-bit x86), and <code>arm</code> (32-bit ARM). <tr>
The valid combinations of <code>$GOOS</code> and <code>$GOARCH</code> are: <td></td><td><code>freebsd</code></td> <td><code>386</code></td>
<table cellpadding="0"> </tr>
<tr> <tr>
<th width="50"><th align="left" width="100"><code>$GOOS</code></th> <th align="left" width="100"><code>$GOARCH</code></th> <th align="left"></th> <td></td><td><code>freebsd</code></td> <td><code>amd64</code></td>
</tr> </tr>
<tr> <tr>
<td></td><td><code>darwin</code></td> <td><code>386</code></td> <td></td><td><code>linux</code></td> <td><code>386</code></td>
</tr> </tr>
<tr> <tr>
<td></td><td><code>darwin</code></td> <td><code>amd64</code></td> <td></td><td><code>linux</code></td> <td><code>amd64</code></td>
</tr> </tr>
<tr> <tr>
<td></td><td><code>freebsd</code></td> <td><code>386</code></td> <td></td><td><code>linux</code></td> <td><code>arm</code></td>
</tr> </tr>
<tr> <tr>
<td></td><td><code>freebsd</code></td> <td><code>amd64</code></td> <td></td><td><code>netbsd</code></td> <td><code>386</code></td>
</tr> </tr>
<tr> <tr>
<td></td><td><code>linux</code></td> <td><code>386</code></td> <td></td><td><code>netbsd</code></td> <td><code>amd64</code></td>
</tr> </tr>
<tr> <tr>
<td></td><td><code>linux</code></td> <td><code>amd64</code></td> <td></td><td><code>openbsd</code></td> <td><code>386</code></td>
</tr> </tr>
<tr> <tr>
<td></td><td><code>linux</code></td> <td><code>arm</code></td> <td></td><td><code>openbsd</code></td> <td><code>amd64</code></td>
</tr> </tr>
<tr> <tr>
<td></td><td><code>netbsd</code></td> <td><code>386</code></td> <td></td><td><code>plan9</code></td> <td><code>386</code></td>
</tr> </tr>
<tr> <tr>
<td></td><td><code>netbsd</code></td> <td><code>amd64</code></td> <td></td><td><code>windows</code></td> <td><code>386</code></td>
</tr> </tr>
<tr> <tr>
<td></td><td><code>openbsd</code></td> <td><code>386</code></td> <td></td><td><code>windows</code></td> <td><code>amd64</code></td>
</tr> </tr>
<tr> </table>
<td></td><td><code>openbsd</code></td> <td><code>amd64</code></td>
</tr> <p><code>$GOHOSTOS</code> and <code>$GOHOSTARCH</code></p>
<tr> <p>
<td></td><td><code>plan9</code></td> <td><code>386</code></td> The name of the host operating system and compilation architecture.
</tr> These default to the local system's operating system and
<tr> architecture.
<td></td><td><code>windows</code></td> <td><code>386</code></td> </p>
</tr>
<tr> <p>
<td></td><td><code>windows</code></td> <td><code>amd64</code></td> Valid choices are the same as for <code>$GOOS</code> and
</tr> <code>$GOARCH</code>, listed above.
</table> The specified values must be compatible with the local system.
</dd> For example, you should not set <code>$GOHOSTARCH</code> to
<code>arm</code> on an x86 system.
<dt> </p>
<code>$GOHOSTOS</code> and <code>$GOHOSTARCH</code>
</dt> <p><code>$GOBIN</code>
<dd> <p>
<p> The location where binaries from the main repository will be installed.
The name of the host operating system and compilation architecture. XXX THIS MAY CHANGE TO BE AN OVERRIDE EVEN FOR GOPATH ENTRIES XXX
These default to the local system's operating system and The default is <code>$GOROOT/bin</code>.
architecture. After installing, you will want to arrange to add this
directory to your <code>$PATH</code>, so you can use the tools.
<p> </p>
Valid choices are the same as for <code>$GOOS</code> and
<code>$GOARCH</code>, listed above. <p><code>$GOARM</code> (arm, default=6)</p>
The specified values must be compatible with the local system. <p>
For example, you should not set <code>$GOHOSTARCH</code> to The ARM architecture version the run-time libraries should target.
<code>arm</code> on an x86 system. Setting <code>$GOARM</code> to 5 causes the linker to emit calls
</dd> to a software floating point implementation instead of using
hardware floating point support.
<dt> </p>
<code>$GOBIN</code>
</dt> </blockquote>
<dd>
<p>
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.
</dd>
<dt>
<code>$GOARM</code> (arm, default=6)
</dt>
<dd>
<p>
The ARM architecture version the run-time libraries should target.
Setting <code>$GOARM</code> to 5 causes the linker to emit calls
to a software floating point implementation instead of using
hardware floating point support.
</dd>
</dl>
<p> <p>
Note that <code>$GOARCH</code> and <code>$GOOS</code> identify the Note that <code>$GOARCH</code> and <code>$GOOS</code> identify the
......
...@@ -114,7 +114,14 @@ Terminal sessions for the change to take effect. ...@@ -114,7 +114,14 @@ Terminal sessions for the change to take effect.
<h3 id="windows">Windows</h3> <h3 id="windows">Windows</h3>
<p> <p>
<font color="red">TODO: windows installation instructions.</font> Open the <code>.msi</code> file and follow the prompts to install the Go tools.
By default, the installer puts the Go distribution in <code>c:\Go</code>.
</p>
<p>
The installer should put the <code>c:\Go\bin</code> directory in your
<code>PATH</code> environment variable. You may need to restart any open
command prompts for the change to take effect.
</p> </p>
<h2 id="testing">Testing your installation</h2> <h2 id="testing">Testing your installation</h2>
...@@ -173,8 +180,13 @@ idiomatic Go code. ...@@ -173,8 +180,13 @@ idiomatic Go code.
</p> </p>
<p> <p>
For the full story, consult Go's extensive For the full story, consult Go's extensive <a href="/doc/">documentation</a>.
<a href="/doc/">documentation</a>. </p>
<p>
Subscribe to the
<a href="http://groups.google.com/group/golang-announce">golang-announce</a>
mailing list to be notified when a new stable version of Go is released.
</p> </p>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment