* gxtool silence tweak
[binutils-gdb.git] / intro.texi
blobbc00f3da9e0337157d01a7db4f9bdf51890459fd
1 \input texinfo
2 @c $Id$
3 @setfilename intro.info
4 @settitle Introduction
5 @iftex
6 @c The include file "texiplus.tex" is in the texinfo/cygnus dir, and
7 @c implements Cygnus modifications to the texinfo manual style.
8 @input texiplus
9 @c The include file "smpklug.texi" is a kluge to deal with local
10 @c document production issues at Cygnus; it's safe to comment out this
11 @c line if you don't have (or don't want) the file.
12 @input smpklug.texi
13 @smallbook
14 @cropmarks
15 @finalout
16 @c We don't actually want a titlepage; HEADINGSon is usually called by
17 @c @end titlepage to turn on footers and headers.
18 @setchapternewpage odd
19 @HEADINGSon
20 @end iftex
22 @node Top,,,
23 @unnumbered Introduction
25 This Developer's Kit puts at your disposal, in a single coordinated
26 and tested release, some of the best software development tools
27 available:
29 @table @t
30 @item gcc
31 C compiler
33 @item g++
34 C++ compiler
36 @item gdb
37 Debugger
39 @item make
40 Automates building and installing your programs
42 @item gprof
43 Performance analyzer
45 @item byacc
46 Parser generator
48 @item flex
49 Fast lexical analyzer generator
51 @item libg++.a
52 Class library for C++
54 @item send_pr
55 Script to send structured problem reports to Cygnus
57 @item diff
58 Compares source files
60 @item patch
61 Installs source fixes
63 @item info
64 @itemx makeinfo
65 Online documentation tools
67 @item texinfo.tex
68 @itemx texindex
69 Documentation printing tools
70 @end table
72 On most host systems, the following are also included (to see if
73 they are available on your host, @pxref{Contents, Release Contents,
74 Release Contents, README.info, Installation Notes}).
76 @table @t
77 @item gas
78 Assembler
80 @item ld
81 Linker
83 @item ar
84 Manages object code archives
86 @item nm
87 Lists object file symbol tables
89 @item objdump
90 Displays object file information
92 @item ranlib
93 Generates archive index
95 @item size
96 Lists section and total sizes
98 @item strip
99 Discards symbols
100 @end table
102 These tools are free software; most of them are from the GNU project,
103 produced by the Free Software Foundation (FSF).  ``GNU'' is the name of
104 the FSF's evolving system (in speech, the `G' is sounded).  Cygnus
105 Support collaborates with the FSF in developing these tools.  In this,
106 our @dfn{Progressive} product, we've assembled the most recent forms of
107 the development tools, tested them, made sure they work well together,
108 made them easy to install---the installation tape comes with binaries
109 already compiled for your system---and made them easy to reconfigure and
110 recompile from source.
112 Cygnus Support exists to help our clients exploit their freedom in
113 using, adapting, or enhancing this software.  @xref{Cygnus,,About Cygnus
114 Support}, for more information.
116 @page
117 @node Copying,,,
118 @section Free Software
119 If you find our Developer's Kit useful, please feel free to give or sell
120 copies of the software and documentation to anyone you like.
122 Cygnus products are @dfn{free software}, protected by the @sc{gnu} General
123 Public License (GPL).  The GPL gives you the freedom to copy or adapt any
124 program it licenses---but every person getting a copy also gets with it the
125 freedom to modify that copy (which means that they must get access to
126 the source code), and the freedom to distribute further copies.  Typical
127 software companies use copyrights to limit your freedoms; the GPL is
128 designed to preserve your freedoms.
130 Fundamentally, the General Public License is a license which grants you
131 these freedoms, and only imposes restrictions to ensure that no one can
132 take these freedoms away from anyone else.
134 For full details, see the @strong{LICENSE} section in this manual
135 set.
137 @page
138 @node Manuals,,,
139 @section Manuals
140 @noindent
141 These printed manuals are included in your Cygnus Progressive Release:
142 @display
144 @cite{Using the @sc{gnu} C Compiler}
146 @cite{The C Preprocessor}
148 @cite{GDB: The @sc{gnu} Source-Level Debugger}
150 @cite{Using @code{as}: The @sc{gnu} Assembler}
152 @cite{The @sc{gnu} Binary Utilities}
154 @cite{@code{gld}, the @sc{gnu} Linker}
156 @cite{@sc{gnu} Make: A Program for Directing Recompilation}
158 @cite{User's Guide to the @sc{GNU} C++ Class Library}
160 @end display
162 The manuals are designed for easy online browsing (@pxref{Info,,Online
163 Documentation}).  For online use, the accompanying software distribution
164 tape includes all the printed manuals, and also the following documents:
166 @table @emph
167 @item FLEX: A Fast Lexical Analyzer Generator
168 Generates lexical analyzers suitable for GCC and other compilers.
170 @item Info: Documentation Browsing System
171 Full details on the @code{info} browser.
173 @item Texinfo: The @sc{gnu} Documentation Format
174 How you can use @TeX{} to print these manuals, and how to write your own
175 manuals in this style.
177 @item Using and Porting @sc{gnu cc}
178 Detailed information about what's needed to put @sc{gnu cc} on different
179 platforms, or to modify @sc{gnu cc}.  Also includes all the
180 information in the printed manual @cite{Using the @sc{gnu} C Compiler}.
181 @end table
183 @noindent
184 Finally, @code{man} pages are included for all the programs in the release.
186 You have the freedom to copy the manuals, like the software they cover;
187 each manual's copyright statement includes the necessary permissions.
188 The manuals themselves are also free software, and the source for them
189 is also available on the tape.
191 @node Info,,,
192 @section Using Online Documentation
194 You can browse through the online documentation using either @sc{gnu} Emacs,
195 or the program @code{info} included on the accompanying tape.
196 Online, the manuals are organized into @dfn{nodes}, which correspond to
197 the chapters and sections of a printed book.  You can follow them in
198 sequence, if you wish, just like in the printed book---but there are
199 also other choices.  The documents have menus that let you go quickly to
200 the node that has the information you need.  @code{info} has ``hot''
201 references; if one section refers to another, you can tell @code{info}
202 to take you immediately to that other section---and you can get back
203 again easily to take up your reading where you left off.  Naturally, you
204 can also search for particular words or phrases.
206 The best way to get started with the online documentation system is to
207 run the browser @code{info}.  After the Progressive Release is installed on
208 your system, you can get into @code{info} by just typing its name---no
209 options or arguments are necessary---at your shell's prompt (shown as
210 @samp{eg%} here):
211 @example
212 eg% info
213 @end example
215 @noindent
216 @code{info} will display its first screen, a menu of the documentation
217 available, and will await your input.  Typing the single letter
218 @example
220 @end example
221 @noindent
222 requests a tutorial, designed to teach you how to use @code{info}.
224 If you already use Emacs, you may want to get into the documentation
225 browsing mode, instead, by typing @kbd{C-h i} inside Emacs.
227 You can get out of @code{info} at any time by typing the single letter
228 @kbd{q}.  
230 @page
231 Here is a summary of all the @code{info} commands; @code{info} itself
232 can display a summary like this at any time, when you type the single
233 character @kbd{?}.
235 @smallexample
236 @cartouche
237 h       @r{Invoke the Info tutorial.}
238 q       @r{Quit Info}
240 @i{Selecting other nodes:}
241 n       @r{Move to the ``next'' node of this node.}
242 p       @r{Move to the ``previous'' node of this node.}
243 u       @r{Move ``up'' from this node.}
244 m       @r{Pick menu item specified by name (or abbreviation).}
245         @r{Picking a menu item moves to the corresponding node.}
246 f       @r{Follow a cross reference.  Reads name of reference.}
247 l       @r{Move to the last node you were looking at.}
249 @i{Moving within a node:}
250 Space   @r{scroll forward a page.}
251 DEL     @r{scroll backward a page.}
252 b       @r{Go to beginning of this node.}
254 @i{Advanced commands:}
255 1       @r{Pick first item in node's menu.}
256 2 - 5   @r{Pick second ... fifth item in node's menu.}
257 g       @r{Move to node specified by name.}
258         @r{You may include a filename as well, as @code{(@var{FILENAME})@var{NODENAME}}.}
259 s       @r{Search through this Info file for a specified string,}
260         @r{and select the node in which the next occurrence is found.}
261 Ctl-p   @r{Print the contents of this node using @samp{lpr}.}
262 @end cartouche
263 @end smallexample
265 @page
266 @node Bugs,,,
267 @section Reporting Trouble
268 We've tried to make the programs in your Progressive Release as
269 trouble-free as possible.  If you do encounter trouble, however, we'd
270 like to be able to diagnose and fix the problem as quickly as possible.
271 You can help us do that by using the script @code{send_pr} to send us your
272 problem reports.
274 @code{send_pr} invokes an editor on a problem report form (after
275 trying to fill in some fields with reasonable default values). After
276 you exit the editor, @code{send_pr} sends the filled out form to the
277 problem report management system (PRMS) at Cygnus Support.  You can
278 use the environment variable @code{EDITOR} to specify what editor to
279 use (the default is @code{vi}).
281 @code{send_pr} attempts to send your problem report to Cygnus via
282 electronic mail.  If your site cannot support this, you can still use
283 the problem report form: use @samp{send_pr -p} to capture a copy of the
284 blank problem-report form and fill it in.  (You can also photocopy the
285 blank form at the end of this section to fill in.)  In either case you
286 can FAX the problem report to Cygnus at @w{+1 415 322 3270}.
288 At Cygnus Support, the problem report is assigned a unique number and is
289 stored in the PRMS database according to its category and your
290 customer-id.  PRMS automatically replies with an acknowledgement, citing
291 the category and the PR number.  As the next step, Cygnus staff inspects
292 the bugreport (if you've marked your report as high priority, we respond
293 with an analysis of the problem in less than one business day).  We'll
294 offer a solution as soon as possible, and await your feedback.  As a
295 matter of policy, we do not consider your problem report closed until
296 you've agreed with a solution we offer.
298 To ensure that a problem report is handled promptly, it must contain
299 your (unique) customer-id and one of the available categories, shown as
300 comments in the problem report form, to identify the problem area. As a
301 Cygnus Support customer, you can obtain your customer-id by invoking
302 @code{send_pr} with the @samp{-request-id} option.
304 @page
305 @subsection Filling out a problem report
306 Problem reports are structured so that a program can manage them. When
307 filling out the form, please remember the following guidelines:
309 @itemize @bullet
310 @item
311 Each PR needs a valid customer-id and category.
313 @item
314 Describe only one problem with one PR.
316 @item
317 For follow-up mail, use the same subject line as the one in the
318 automatic acknowledgent. It shows the category, the PR number and the
319 original synopsis line.  This allows Cygnus Support to make sure mail on
320 the same problem report stays together.
322 @item 
323 Please try to make the subject or synopsis line as informative
324 as possible.  For misbehaving software, you might use a sentence of
325 the form ``with input foo, component xyz produces bar''.
327 @item
328 You don't need to delete the comment lines while editing the PR form;
329 this is done by @code{send_pr}.  Put your information before or
330 after the comment.
331 @end itemize
333 @page
334 For full details on @code{send_pr} and the supporting form, see the man
335 page @code{send_pr}(1).  Here is a sample blank problem-report form; if
336 electronic mail from your site does not reach Cygnus, you can send us
337 problem reports by photocopying this sample, filling it out, and sending
338 it by FAX to @w{+1 415 322 3270}.
340 @iftex
341 @widen{28pt}
342 @end iftex
344 @smallexample
345 SEND_PR: Choose from the following categories:
346 SEND_PR:
347 SEND_PR: bfd       binutils  bison     clib      config    cvs
348 SEND_PR: diff      doc       emacs     g++       gas       gcc       
349 SEND_PR: gdb       grep      ispell    ld        libg++    libiberty
350 SEND_PR: libiberty make      rcs       readline  send_pr   texinfo
351 SEND_PR: other
352 SEND_PR:
354 To: cygnus-bugs@@cygnus.com 
356 Subject: 
358 From: 
360 Reply-To: 
362 X-send-pr-version: send_pr: 1.15
365 >Customer-Id:
367 >Originator:    <name of the PR author (one line)>
369 >Organization:  <organization of PR author (multiple lines)>
373 >Confidential:  <[ yes | no ] (one line)>
375 >Synopsis:      <synopsis of the problem (one line)>
377 >Severity:      <[ non-critical | serious | critical ] (one line)>
379 >Priority:      <[ low | medium | high ] (one line)>
381 >Category:      <name of the product (one line)>
383 >Class:         <[ sw-bug | doc-bug | change-request | support ] (one line)>
385 >Release:       <release number or tag (one line)>
387 >Environment:
388         <machine, os, target, libraries (multiple lines)>
392 >Description:    
393         <precise description of the problem (multiple lines)>
400 >How-To-Repeat:  
401         <code/input/activities to reproduce the problem (multiple lines)>
402 @end smallexample
404 @iftex
405 @widen{-28pt}
406 @end iftex
408 @page
409 @node Cygnus,,,
410 @section About Cygnus Support
411 Cygnus Support was founded in 1989 to provide commercial support for
412 free software.  Cygnus supplies products and services that benefit
413 advanced development groups by allowing them to use state-of-the-art
414 tools without having to maintain them.  With Cygnus Support, sites that
415 once were forced to do their own tool support can recover that valuable
416 staff time.  Former users of proprietary software now may choose
417 supported free software, combining the advantages of both worlds.
419 Free software is faster, more powerful, and more portable than its
420 proprietary counterparts.  It evolves faster because users who want to
421 make improvements are free to do so.  Cygnus tracks these
422 improvements and integrates them into tested, stable versions ready
423 for commercial use, then backs this software with comprehensive
424 support.
426 With Cygnus Support as your partner, you will have the software and
427 the support you need to meet your business objectives.  Cygnus
428 is intimately familiar with this software from extensive experience
429 using, debugging, and implementing it.  You get direct access to the
430 most qualified support people: the authors of that software.
432 We provide up-to-the minute ``progressive'' releases, for those who need
433 the very latest version---or ``vintage'' releases: stable versions which
434 have been through extensive use and testing.
436 Because all our improvements are also free software, you can
437 distribute them widely within your organization, or to your customers,
438 without extra cost.
440 @sp 4
442 @display
443 Cygnus Support
444 814 University Avenue
445 Palo Alto, CA 94301, USA
447 +1 415 322 3811
449 email: @code{info@@cygnus.com}
450 fax: +1 415 322 3270
451 @end display
453 @bye