From c5c756bf14e894fad65644a1f1b6ec8fc8da0536 Mon Sep 17 00:00:00 2001
From: Simonas Kazlauskas <git@kazlauskas.me>
Date: Wed, 3 Feb 2016 02:50:55 +0200
Subject: [PATCH] Improve wording of --target help

---
 man/rustc.1                    | 41 +++++++++++++++++++++-------------
 src/librustc/session/config.rs |  6 +----
 2 files changed, 27 insertions(+), 20 deletions(-)

diff --git a/man/rustc.1 b/man/rustc.1
index f383f51052f..3d7fc7f6bf4 100644
--- a/man/rustc.1
+++ b/man/rustc.1
@@ -53,10 +53,9 @@ Comma separated list of types of crates for the compiler to emit.
 Specify the name of the crate being built.
 .TP
 \fB\-\-emit\fR [asm|llvm\-bc|llvm\-ir|obj|link|dep\-info][=\fIPATH\fR]
-Configure the output that \fBrustc\fR will produce.
-
-Each emission may also have an optional explicit output \fIPATH\fR specified for that particular
-emission kind. This path takes precedence over the \fB-o\fR option.
+Configure the output that \fBrustc\fR will produce. Each emission may also have
+an optional explicit output \fIPATH\fR specified for that particular emission
+kind. This path takes precedence over the \fB-o\fR option.
 .TP
 \fB\-\-print\fR [crate\-name|file\-names|sysroot]
 Comma separated list of compiler information to print on stdout.
@@ -68,13 +67,11 @@ Equivalent to \fI\-C\ debuginfo=2\fR.
 Equivalent to \fI\-C\ opt\-level=2\fR.
 .TP
 \fB\-o\fR \fIFILENAME\fR
-Write output to \fIFILENAME\fR.
-Ignored if multiple \fI\-\-emit\fR outputs are specified which don't have an
-explicit path otherwise.
+Write output to \fIFILENAME\fR. Ignored if multiple \fI\-\-emit\fR outputs are specified which
+don't have an explicit path otherwise.
 .TP
 \fB\-\-out\-dir\fR \fIDIR\fR
-Write output to compiler\[hy]chosen filename in \fIDIR\fR.
-Ignored if \fI\-o\fR is specified.
+Write output to compiler\[hy]chosen filename in \fIDIR\fR. Ignored if \fI\-o\fR is specified.
 Defaults to the current directory.
 .TP
 \fB\-\-explain\fR \fIOPT\fR
@@ -83,12 +80,26 @@ Provide a detailed explanation of an error message.
 \fB\-\-test\fR
 Build a test harness.
 .TP
-\fB\-\-target\fR \fITRIPLE\fR
-Target triple \fIcpu\fR\-\fImanufacturer\fR\-\fIkernel\fR[\-\fIos\fR]
-to compile for (see chapter 3.4 of
-.UR http://www.sourceware.org/autobook/
-.UE
-for details).
+\fB\-\-target\fR \fITARGET\fR
+Target triple for which the code is compiled. This option defaults to the host’s target
+triple. The target triple has the general format <arch><sub>\-<vendor>\-<sys>\-<abi>, where:
+.RS
+.TP
+.B <arch>
+x86, arm, thumb, mips, etc.
+.TP
+.B <sub>
+for example on ARM: v5, v6m, v7a, v7m, etc.
+.TP
+.B <vendor>
+pc, apple, nvidia, ibm, etc.
+.TP
+.B <sys>
+none, linux, win32, darwin, cuda, etc.
+.TP
+.B <abi>
+eabi, gnu, android, macho, elf, etc.
+.RE
 .TP
 \fB\-W help\fR
 Print 'lint' options and default settings.
diff --git a/src/librustc/session/config.rs b/src/librustc/session/config.rs
index 6956ee8eac2..de128d839d9 100644
--- a/src/librustc/session/config.rs
+++ b/src/librustc/session/config.rs
@@ -845,11 +845,7 @@ pub fn rustc_short_optgroups() -> Vec<RustcOptGroup> {
         opt::opt("", "explain", "Provide a detailed explanation of an error \
                                message", "OPT"),
         opt::flag("", "test", "Build a test harness"),
-        opt::opt("", "target", "Target triple cpu-manufacturer-kernel[-os] \
-                              to compile for (see chapter 3.4 of \
-                              http://www.sourceware.org/autobook/
-                              for details)",
-               "TRIPLE"),
+        opt::opt("", "target", "Target triple for which the code is compiled", "TARGET"),
         opt::multi("W", "warn", "Set lint warnings", "OPT"),
         opt::multi("A", "allow", "Set lint allowed", "OPT"),
         opt::multi("D", "deny", "Set lint denied", "OPT"),