Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
a4de9f9d
Commit
a4de9f9d
authored
May 15, 1998
by
Jeff Law
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Merge from Cygnus etc 1998-05-15.
From-SVN: r19796
parent
3affd5f0
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
151 additions
and
51 deletions
+151
-51
etc/ChangeLog
+47
-0
etc/Makefile.in
+1
-1
etc/make-stds.texi
+39
-18
etc/standards.texi
+64
-32
No files found.
etc/ChangeLog
View file @
a4de9f9d
Thu May 14 14:43:10 1998 Nick Clifton <nickc@cygnus.com>
* targetdoc/arm-interwork.texi: Document dlltool support of
interworking.
Thu May 7 16:49:38 1998 Jason Molenda (crash@bugshack.cygnus.com)
* Install.in: Remove references to TCL_LIBRARY, TK_LIBRARY,
and GDBTK_FILENAME.
Wed Apr 1 17:11:44 1998 Nick Clifton <nickc@cygnus.com>
* targetdoc/arm-interwork.texi: Document ARM/thumb interworking.
Tue Mar 31 15:28:20 1998 Ian Lance Taylor <ian@cygnus.com>
* standards.texi, make-stds.texi: Update to current FSF versions.
* Makefile.in (standards.info): Depend upon make-std.texi.
Tue Mar 24 16:13:26 1998 Stu Grossman <grossman@bhuna.cygnus.co.uk>
* configure: Regenerate with autoconf 2.12.1 to fix shell issues
for NT native builds.
Mon Mar 9 16:41:04 1998 Doug Evans <devans@canuck.cygnus.com>
* make-rel-sym-tree (binprogs): Add objcopy.
Tue Feb 24 18:11:58 1998 Doug Evans <devans@canuck.cygnus.com>
* make-rel-sym-tree: as.new -> as-new, ld.new -> ld-new
nm.new -> nm-new. Make symlinks to crt*.o.
Fri Nov 21 12:54:58 1997 Manfred Hollstein <manfred@s-direktnet.de>
Fri Nov 21 12:54:58 1997 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in: Add --no-split argument to avoid creating files
* Makefile.in: Add --no-split argument to avoid creating files
...
@@ -8,11 +41,25 @@ Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
...
@@ -8,11 +41,25 @@ Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
* aclocal.m4: Substitute INSTALL.
* aclocal.m4: Substitute INSTALL.
* configure: Re-built.
* configure: Re-built.
Thu Sep 25 13:13:11 1997 Jason Molenda (crash@pern.cygnus.com)
* intro.texi: Add closing ifset.
Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
* aclocal.m4: New file with replacement for AC_PROG_INSTALL.
* aclocal.m4: New file with replacement for AC_PROG_INSTALL.
* configure.in: Use EGCS_PROG_INSTALL.
* configure.in: Use EGCS_PROG_INSTALL.
Mon Sep 1 10:31:32 1997 Angela Marie Thomas (angela@cygnus.com)
* Install.in: Move setting HOST and TARGET to the beginning
of the file for editing convenience.
Mon Sep 1 10:28:37 1997 Angela Marie Thomas (angela@cygnus.com)
* Install.in.: More friendly options/messages when extracting
from a file instead of a tape device.
Tue Jun 17 15:50:23 1997 Angela Marie Thomas (angela@cygnus.com)
Tue Jun 17 15:50:23 1997 Angela Marie Thomas (angela@cygnus.com)
* Install.in: Add /usr/bsd to PATH for Irix (home of compress)
* Install.in: Add /usr/bsd to PATH for Irix (home of compress)
...
...
etc/Makefile.in
View file @
a4de9f9d
...
@@ -59,7 +59,7 @@ install-info: info
...
@@ -59,7 +59,7 @@ install-info: info
dvi
:
$(DVIFILES)
dvi
:
$(DVIFILES)
standards.info
:
$(srcdir)/standards.texi
standards.info
:
$(srcdir)/standards.texi
$(srcdir)/make-stds.texi
$(MAKEINFO)
--no-split
-I
$(srcdir)
-o
standards.info
$(srcdir)
/standards.texi
$(MAKEINFO)
--no-split
-I
$(srcdir)
-o
standards.info
$(srcdir)
/standards.texi
standards.dvi
:
$(srcdir)/standards.texi
standards.dvi
:
$(srcdir)/standards.texi
...
...
etc/make-stds.texi
View file @
a4de9f9d
...
@@ -209,11 +209,12 @@ don't need to replace them with other programs.
...
@@ -209,11 +209,12 @@ don't need to replace them with other programs.
Each
program
-
name
variable
should
come
with
an
options
variable
that
is
Each
program
-
name
variable
should
come
with
an
options
variable
that
is
used
to
supply
options
to
the
program
.
Append
@samp
{
FLAGS
}
to
the
used
to
supply
options
to
the
program
.
Append
@samp
{
FLAGS
}
to
the
program
-
name
variable
name
to
get
the
options
variable
name
---
for
program
-
name
variable
name
to
get
the
options
variable
name
---
for
example
,
@code
{
BISONFLAGS
}.
(
The
name
@code
{
CFLAGS
}
is
an
exception
to
example
,
@code
{
BISONFLAGS
}.
(
The
names
@code
{
CFLAGS
}
for
the
C
this
rule
,
but
we
keep
it
because
it
is
standard
.)
Use
@code
{
CPPFLAGS
}
compiler
,
@code
{
YFLAGS
}
for
yacc
,
and
@code
{
LFLAGS
}
for
lex
,
are
in
any
compilation
command
that
runs
the
preprocessor
,
and
use
exceptions
to
this
rule
,
but
we
keep
them
because
they
are
standard
.)
@code
{
LDFLAGS
}
in
any
compilation
command
that
does
linking
as
well
as
Use
@code
{
CPPFLAGS
}
in
any
compilation
command
that
runs
the
in
any
direct
use
of
@code
{
ld
}.
preprocessor
,
and
use
@code
{
LDFLAGS
}
in
any
compilation
command
that
does
linking
as
well
as
in
any
direct
use
of
@code
{
ld
}.
If
there
are
C
compiler
options
that
@emph
{
must
}
be
used
for
proper
If
there
are
C
compiler
options
that
@emph
{
must
}
be
used
for
proper
compilation
of
certain
files
,
do
not
include
them
in
@code
{
CFLAGS
}.
compilation
of
certain
files
,
do
not
include
them
in
@code
{
CFLAGS
}.
...
@@ -239,6 +240,9 @@ Put @code{CFLAGS} last in the compilation command, after other variables
...
@@ -239,6 +240,9 @@ Put @code{CFLAGS} last in the compilation command, after other variables
containing
compiler
options
,
so
the
user
can
use
@code
{
CFLAGS
}
to
containing
compiler
options
,
so
the
user
can
use
@code
{
CFLAGS
}
to
override
the
others
.
override
the
others
.
@code
{
CFLAGS
}
should
be
used
in
every
invocation
of
the
C
compiler
,
both
those
which
do
compilation
and
those
which
do
linking
.
Every
Makefile
should
define
the
variable
@code
{
INSTALL
},
which
is
the
Every
Makefile
should
define
the
variable
@code
{
INSTALL
},
which
is
the
basic
command
for
installing
a
file
into
the
system
.
basic
command
for
installing
a
file
into
the
system
.
...
@@ -253,6 +257,18 @@ $(INSTALL_PROGRAM) foo $(bindir)/foo
...
@@ -253,6 +257,18 @@ $(INSTALL_PROGRAM) foo $(bindir)/foo
$
(
INSTALL_DATA
)
libfoo
.
a
$
(
libdir
)
/
libfoo
.
a
$
(
INSTALL_DATA
)
libfoo
.
a
$
(
libdir
)
/
libfoo
.
a
@end
example
@end
example
Optionally
,
you
may
prepend
the
value
of
@code
{
DESTDIR
}
to
the
target
filename
.
Doing
this
allows
the
installer
to
create
a
snapshot
of
the
installation
to
be
copied
onto
the
real
target
filesystem
later
.
Do
not
set
the
value
of
@code
{
DESTDIR
}
in
your
Makefile
,
and
do
not
include
it
in
any
installed
files
.
With
support
for
@code
{
DESTDIR
},
the
above
examples
become
:
@example
$
(
INSTALL_PROGRAM
)
foo
$
(
DESTDIR
)
$
(
bindir
)
/
foo
$
(
INSTALL_DATA
)
libfoo
.
a
$
(
DESTDIR
)
$
(
libdir
)
/
libfoo
.
a
@end
example
@noindent
@noindent
Always
use
a
file
name
,
not
a
directory
name
,
as
the
second
argument
of
Always
use
a
file
name
,
not
a
directory
name
,
as
the
second
argument
of
the
installation
commands
.
Use
a
separate
command
for
each
file
to
be
the
installation
commands
.
Use
a
separate
command
for
each
file
to
be
...
@@ -279,6 +295,10 @@ When building the complete GNU system, the prefix will be empty and
...
@@ -279,6 +295,10 @@ When building the complete GNU system, the prefix will be empty and
@file
{
/
usr
}
will
be
a
symbolic
link
to
@file
{
/
}.
@file
{
/
usr
}
will
be
a
symbolic
link
to
@file
{
/
}.
(
If
you
are
using
Autoconf
,
write
it
as
@samp
{
@@prefix@@
}.)
(
If
you
are
using
Autoconf
,
write
it
as
@samp
{
@@prefix@@
}.)
Running
@samp
{
make
install
}
with
a
different
value
of
@code
{
prefix
}
from
the
one
used
to
build
the
program
should
@var
{
not
}
recompile
the
program
.
@item
exec_prefix
@item
exec_prefix
A
prefix
used
in
constructing
the
default
values
of
some
of
the
A
prefix
used
in
constructing
the
default
values
of
some
of
the
variables
listed
below
.
The
default
value
of
@code
{
exec_prefix
}
should
variables
listed
below
.
The
default
value
of
@code
{
exec_prefix
}
should
...
@@ -288,6 +308,10 @@ be @code{$(prefix)}.
...
@@ -288,6 +308,10 @@ be @code{$(prefix)}.
Generally
,
@code
{
$
(
exec_prefix
)}
is
used
for
directories
that
contain
Generally
,
@code
{
$
(
exec_prefix
)}
is
used
for
directories
that
contain
machine
-
specific
files
(
such
as
executables
and
subroutine
libraries
),
machine
-
specific
files
(
such
as
executables
and
subroutine
libraries
),
while
@code
{
$
(
prefix
)}
is
used
directly
for
other
directories
.
while
@code
{
$
(
prefix
)}
is
used
directly
for
other
directories
.
Running
@samp
{
make
install
}
with
a
different
value
of
@code
{
exec_prefix
}
from
the
one
used
to
build
the
program
should
@var
{
not
}
recompile
the
program
.
@end
table
@end
table
Executable
programs
are
installed
in
one
of
the
following
directories
.
Executable
programs
are
installed
in
one
of
the
following
directories
.
...
@@ -355,14 +379,11 @@ files. This directory should normally be @file{/usr/local/etc}, but
...
@@ -355,14 +379,11 @@ files. This directory should normally be @file{/usr/local/etc}, but
write
it
as
@file
{
$
(
prefix
)
/
etc
}.
write
it
as
@file
{
$
(
prefix
)
/
etc
}.
(
If
you
are
using
Autoconf
,
write
it
as
@samp
{
@@sysconfdir@@
}.)
(
If
you
are
using
Autoconf
,
write
it
as
@samp
{
@@sysconfdir@@
}.)
@c
rewritten
to
avoid
overfull
hbox
--
tower
Do
not
install
executables
here
in
this
directory
(
they
probably
belong
Do
not
install
executables
in
@file
{
$
(
libexecdir
)}
or
@file
{
$
(
sbindir
)}).
Also
do
not
install
@c
here
files
that
are
modified
in
the
normal
course
of
their
use
(
programs
in
this
directory
(
they
probably
whose
purpose
is
to
change
the
configuration
of
the
system
excluded
).
belong
in
@file
{
$
(
libexecdir
)}
or
@file
{
$
(
sbindir
)}).
Also
do
not
Those
probably
belong
in
@file
{
$
(
localstatedir
)}.
install
files
that
are
modified
in
the
normal
course
of
their
use
(
programs
whose
purpose
is
to
change
the
configuration
of
the
system
excluded
).
Those
probably
belong
in
@file
{
$
(
localstatedir
)}.
@item
sharedstatedir
@item
sharedstatedir
The
directory
for
installing
architecture
-
independent
data
files
which
The
directory
for
installing
architecture
-
independent
data
files
which
...
@@ -415,7 +436,7 @@ should normally be @file{/usr/local/include}, but write it as
...
@@ -415,7 +436,7 @@ should normally be @file{/usr/local/include}, but write it as
@file
{
$
(
prefix
)
/
include
}.
@file
{
$
(
prefix
)
/
include
}.
(
If
you
are
using
Autoconf
,
write
it
as
@samp
{
@@includedir@@
}.)
(
If
you
are
using
Autoconf
,
write
it
as
@samp
{
@@includedir@@
}.)
Most
compilers
other
than
GCC
do
not
look
for
header
files
in
Most
compilers
other
than
GCC
do
not
look
for
header
files
in
directory
@file
{
/
usr
/
local
/
include
}.
So
installing
the
header
files
this
way
is
@file
{
/
usr
/
local
/
include
}.
So
installing
the
header
files
this
way
is
only
useful
with
GCC
.
Sometimes
this
is
not
a
problem
because
some
only
useful
with
GCC
.
Sometimes
this
is
not
a
problem
because
some
libraries
are
only
really
intended
to
work
with
GCC
.
But
some
libraries
libraries
are
only
really
intended
to
work
with
GCC
.
But
some
libraries
...
@@ -567,12 +588,12 @@ Here is a sample rule to install an Info file:
...
@@ -567,12 +588,12 @@ Here is a sample rule to install an Info file:
@comment
This
example
has
been
carefully
formatted
for
the
Make
manual
.
@comment
This
example
has
been
carefully
formatted
for
the
Make
manual
.
@comment
Please
do
not
reformat
it
without
talking
to
roland
@gnu
.
ai
.
mit
.
edu
.
@comment
Please
do
not
reformat
it
without
talking
to
roland
@gnu
.
ai
.
mit
.
edu
.
@smallexample
@smallexample
$
(
infodir
)
/
foo
.
info
:
foo
.
info
$
(
DESTDIR
)
$
(
infodir
)
/
foo
.
info
:
foo
.
info
$
(
POST_INSTALL
)
$
(
POST_INSTALL
)
# There may be a newer info file in . than in srcdir.
# There may be a newer info file in . than in srcdir.
-
if
test
-
f
foo
.
info
;
then
d
=
.;
\
-
if
test
-
f
foo
.
info
;
then
d
=
.;
\
else
d
=
$
(
srcdir
);
fi
;
\
else
d
=
$
(
srcdir
);
fi
;
\
$
(
INSTALL_DATA
)
$$
d
/
foo
.
info
$@@
;
\
$
(
INSTALL_DATA
)
$$
d
/
foo
.
info
$
(
DESTDIR
)
$
@@
;
\
#
Run
install
-
info
only
if
it
exists
.
#
Run
install
-
info
only
if
it
exists
.
# Use `if' instead of just prepending `-' to the
# Use `if' instead of just prepending `-' to the
# line so we notice real errors from install-info.
# line so we notice real errors from install-info.
...
@@ -580,8 +601,8 @@ $(infodir)/foo.info: foo.info
...
@@ -580,8 +601,8 @@ $(infodir)/foo.info: foo.info
# fail gracefully when there is an unknown command.
# fail gracefully when there is an unknown command.
if
$
(
SHELL
)
-
c
'
install
-
info
--
version
'
\
if
$
(
SHELL
)
-
c
'
install
-
info
--
version
'
\
>/
dev
/
null
2
>&
1
;
then
\
>/
dev
/
null
2
>&
1
;
then
\
install
-
info
--
dir
-
file
=
$
(
infodir
)
/
dir
\
install
-
info
--
dir
-
file
=
$
(
DESTDIR
)
$
(
infodir
)
/
dir
\
$
(
infodir
)
/
foo
.
info
;
\
$
(
DESTDIR
)
$
(
infodir
)
/
foo
.
info
;
\
else
true
;
fi
else
true
;
fi
@end
smallexample
@end
smallexample
...
...
etc/standards.texi
View file @
a4de9f9d
...
@@ -2,8 +2,8 @@
...
@@ -2,8 +2,8 @@
@
c
%**
start
of
header
@
c
%**
start
of
header
@
setfilename
standards
.
info
@
setfilename
standards
.
info
@
settitle
GNU
Coding
Standards
@
settitle
GNU
Coding
Standards
@
c
UPDATE
THIS
DATE
WHENEVER
YOU
MAKE
CHANGES
!
@
c
This
date
is
automagically
updated
when
you
save
this
file
:
@
set
lastupdate
16
January
1997
@
set
lastupdate
March
13
,
1998
@
c
%**
end
of
header
@
c
%**
end
of
header
@
ifinfo
@
ifinfo
...
@@ -28,7 +28,7 @@ END-INFO-DIR-ENTRY
...
@@ -28,7 +28,7 @@ END-INFO-DIR-ENTRY
@
ifinfo
@
ifinfo
GNU
Coding
Standards
GNU
Coding
Standards
Copyright
(
C
)
1992
,
1993
,
1994
,
1995
,
1996
Free
Software
Foundation
,
Inc
.
Copyright
(
C
)
1992
,
1993
,
1994
,
1995
,
1996
,
1997
,
1998
Free
Software
Foundation
,
Inc
.
Permission
is
granted
to
make
and
distribute
verbatim
copies
of
Permission
is
granted
to
make
and
distribute
verbatim
copies
of
this
manual
provided
the
copyright
notice
and
this
permission
notice
this
manual
provided
the
copyright
notice
and
this
permission
notice
...
@@ -59,7 +59,7 @@ by the Free Software Foundation.
...
@@ -59,7 +59,7 @@ by the Free Software Foundation.
@
page
@
page
@
vskip
0
pt
plus
1f
illl
@
vskip
0
pt
plus
1f
illl
Copyright
@
copyright
{}
1992
,
1993
,
1994
,
1995
,
1996
Free
Software
Foundation
,
Inc
.
Copyright
@
copyright
{}
1992
,
1993
,
1994
,
1995
,
1996
,
1997
,
1998
Free
Software
Foundation
,
Inc
.
Permission
is
granted
to
make
and
distribute
verbatim
copies
of
Permission
is
granted
to
make
and
distribute
verbatim
copies
of
this
manual
provided
the
copyright
notice
and
this
permission
notice
this
manual
provided
the
copyright
notice
and
this
permission
notice
...
@@ -104,8 +104,8 @@ programs written in C, but many of the rules and principles are useful
...
@@ -104,8 +104,8 @@ programs written in C, but many of the rules and principles are useful
even
if
you
write
in
another
programming
language
.
The
rules
often
even
if
you
write
in
another
programming
language
.
The
rules
often
state
reasons
for
writing
in
a
certain
way
.
state
reasons
for
writing
in
a
certain
way
.
Corrections
or
suggestions
regarding
this
document
should
be
sent
to
Corrections
or
suggestions
for
this
document
should
be
sent
to
@
code
{
gnu
@@
prep
.
ai
.
mit
.
edu
}.
If
you
make
a
suggestion
,
please
include
a
@
email
{
gnu
@@
gnu
.
org
}.
If
you
make
a
suggestion
,
please
include
a
suggested
new
wording
for
it
;
our
time
is
limited
.
We
prefer
a
context
suggested
new
wording
for
it
;
our
time
is
limited
.
We
prefer
a
context
diff
to
the
@
file
{
standards
.
texi
}
or
@
file
{
make
-
stds
.
texi
}
files
,
but
if
diff
to
the
@
file
{
standards
.
texi
}
or
@
file
{
make
-
stds
.
texi
}
files
,
but
if
you
don
't have those files, please mail your suggestion anyway.
you
don
't have those files, please mail your suggestion anyway.
...
@@ -168,14 +168,18 @@ contributor to a program must sign some sort of legal papers in order
...
@@ -168,14 +168,18 @@ contributor to a program must sign some sort of legal papers in order
for
us
to
have
clear
title
to
the
program
.
The
main
author
alone
is
not
for
us
to
have
clear
title
to
the
program
.
The
main
author
alone
is
not
enough
.
enough
.
So
,
before
adding
in
any
contributions
from
other
people
,
tell
us
So
,
before
adding
in
any
contributions
from
other
people
,
please
tell
so
we
can
arrange
to
get
the
papers
.
Then
wait
until
we
tell
you
us
,
so
we
can
arrange
to
get
the
papers
.
Then
wait
until
we
tell
you
that
we
have
received
the
signed
papers
,
before
you
actually
use
the
that
we
have
received
the
signed
papers
,
before
you
actually
use
the
contribution
.
contribution
.
This
applies
both
before
you
release
the
program
and
afterward
.
If
This
applies
both
before
you
release
the
program
and
afterward
.
If
you
receive
diffs
to
fix
a
bug
,
and
they
make
significant
changes
,
we
you
receive
diffs
to
fix
a
bug
,
and
they
make
significant
changes
,
we
need
legal
papers
for
it
.
need
legal
papers
for
that
change
.
This
also
applies
to
comments
and
documentation
files
.
For
copyright
law
,
comments
and
code
are
just
text
.
Copyright
applies
to
all
kinds
of
text
,
so
we
need
legal
papers
for
all
kinds
.
You
don
't need papers for changes of a few lines here or there, since
You
don
't need papers for changes of a few lines here or there, since
they are not significant for copyright purposes. Also, you don'
t
need
they are not significant for copyright purposes. Also, you don'
t
need
...
@@ -192,6 +196,10 @@ The very worst thing is if you forget to tell us about the other
...
@@ -192,6 +196,10 @@ The very worst thing is if you forget to tell us about the other
contributor. We could be very embarrassed in court some day as a
contributor. We could be very embarrassed in court some day as a
result.
result.
We have more detailed advice for maintainers of programs; if you have
reached the stage of actually maintaining a program for GNU (whether
released or not), please ask us for a copy.
@node Design Advice
@node Design Advice
@chapter General Program Design
@chapter General Program Design
...
@@ -236,9 +244,6 @@ completely with something totally different and better. (For example,
...
@@ -236,9 +244,6 @@ completely with something totally different and better. (For example,
feature as well. (There is a free @code{vi} clone, so we offer it.)
feature as well. (There is a free @code{vi} clone, so we offer it.)
Additional useful features not in Berkeley Unix are welcome.
Additional useful features not in Berkeley Unix are welcome.
Additional programs with no counterpart in Unix may be useful,
but our first priority is usually to duplicate what Unix already
has.
@node Using Extensions
@node Using Extensions
@section Using Non-standard Features
@section Using Non-standard Features
...
@@ -323,13 +328,16 @@ write in @sc{ansi} C.
...
@@ -323,13 +328,16 @@ write in @sc{ansi} C.
Using
a
language
other
than
C
is
like
using
a
non
-
standard
feature
:
it
Using
a
language
other
than
C
is
like
using
a
non
-
standard
feature
:
it
will
cause
trouble
for
users
.
Even
if
GCC
supports
the
other
language
,
will
cause
trouble
for
users
.
Even
if
GCC
supports
the
other
language
,
users
may
find
it
inconvenient
to
have
to
install
the
compiler
for
that
users
may
find
it
inconvenient
to
have
to
install
the
compiler
for
that
other
language
in
order
to
build
your
program
.
So
please
write
in
C
.
other
language
in
order
to
build
your
program
.
For
example
,
if
you
write
your
program
in
C
++,
people
will
have
to
install
the
C
++
compiler
in
order
to
compile
your
program
.
Thus
,
it
is
better
if
you
write
in
C
.
There
are
three
exceptions
for
this
rule
:
But
there
are
three
situations
when
there
is
no
disadvantage
in
using
some
other
language
:
@
itemize
@
bullet
@
itemize
@
bullet
@
item
@
item
It
is
okay
to
use
a
special
language
if
the
same
program
contains
an
It
is
okay
to
use
a
nother
language
if
your
program
contains
an
interpreter
for
that
language
.
interpreter
for
that
language
.
For
example
,
if
your
program
links
with
GUILE
,
it
is
ok
to
write
part
of
For
example
,
if
your
program
links
with
GUILE
,
it
is
ok
to
write
part
of
...
@@ -343,10 +351,14 @@ This is okay because the only people who want to build the tool will be
...
@@ -343,10 +351,14 @@ This is okay because the only people who want to build the tool will be
those
who
have
installed
the
other
language
anyway
.
those
who
have
installed
the
other
language
anyway
.
@
item
@
item
If
an
application
is
not
of
extremely
widespread
interest
,
then
perhaps
If
an
application
is
of
interest
to
a
narrow
community
,
then
perhaps
it
's not important if the application is inconvenient to install.
it
's not important if the application is inconvenient to install.
@end itemize
@end itemize
C has one other advantage over C++ and other compiled languages: more
people know C, so more people will find it easy to read and modify the
program if it is written in C.
@node Program Behavior
@node Program Behavior
@chapter Program Behavior for All Programs
@chapter Program Behavior for All Programs
...
@@ -606,10 +618,10 @@ you can do so by printing an additional line of version info for each
...
@@ -606,10 +618,10 @@ you can do so by printing an additional line of version info for each
library
you
want
to
mention
.
Use
the
same
format
for
these
lines
as
for
library
you
want
to
mention
.
Use
the
same
format
for
these
lines
as
for
the
first
line
.
the
first
line
.
Please
do
n
't mention all the libraries that the program uses ``just for
Please
do
not
mention
all
of
the
libraries
that
the
program
uses
``
just
completeness''---that would produce a lot of unhelpful clutter. Please
for
completeness
''
---
that
would
produce
a
lot
of
unhelpful
clutter
.
mention library version numbers only if you find in practice that they
Please
mention
library
version
numbers
only
if
you
find
in
practice
that
are very important to you in debugging.
they
are
very
important
to
you
in
debugging
.
The
following
line
,
after
the
version
number
line
or
lines
,
should
be
a
The
following
line
,
after
the
version
number
line
or
lines
,
should
be
a
copyright
notice
.
If
more
than
one
copyright
notice
is
called
for
,
put
copyright
notice
.
If
more
than
one
copyright
notice
is
called
for
,
put
...
@@ -628,10 +640,12 @@ Here's an example of output that follows these rules:
...
@@ -628,10 +640,12 @@ Here's an example of output that follows these rules:
@smallexample
@smallexample
GNU Emacs 19.34.5
GNU Emacs 19.34.5
Copyright (C) 1996 Free Software Foundation, Inc.
Copyright (C) 1996 Free Software Foundation, Inc.
GNU
Emacs
comes
with
NO
WARRANTY
,
to
the
extent
permitted
by
law
.
GNU Emacs comes with NO WARRANTY,
to the extent permitted by law.
You may redistribute copies of GNU Emacs
You may redistribute copies of GNU Emacs
under the terms of the GNU General Public License.
under the terms of the GNU General Public License.
For
more
information
about
these
matters
,
see
the
files
named
COPYING
.
For more information about these matters,
see the files named COPYING.
@end smallexample
@end smallexample
You should adapt this to your program, of course, filling in the proper
You should adapt this to your program, of course, filling in the proper
...
@@ -664,7 +678,7 @@ Report bugs to @var{mailing-address}.
...
@@ -664,7 +678,7 @@ Report bugs to @var{mailing-address}.
Here is a table of long options used by GNU programs. It is surely
Here is a table of long options used by GNU programs. It is surely
incomplete, but we aim to list all the options that a new program might
incomplete, but we aim to list all the options that a new program might
want to be compatible with. If you use names not already in the table,
want to be compatible with. If you use names not already in the table,
please
send
@
samp
{
gnu
@@
prep
.
ai
.
mit
.
edu
}
a
list
of
them
,
with
their
please send @
email{gnu@@gnu.org
} a list of them, with their
meanings, so we can update the table.
meanings, so we can update the table.
@c Please leave newlines between items in this table; it'
s
much
easier
@c Please leave newlines between items in this table; it'
s
much
easier
...
@@ -1159,7 +1173,7 @@ Used in @code{su}.
...
@@ -1159,7 +1173,7 @@ Used in @code{su}.
@item machine
@item machine
No listing of which programs already use this;
No listing of which programs already use this;
someone should check to
someone should check to
see
if
any
actually
do
and
tell
@
code
{
gnu
@@
prep
.
ai
.
mit
.
edu
}.
see if any actually do
, and tell @email{gnu@@gnu.org
}.
@item macro-name
@item macro-name
@samp{-M} in @code{ptx}.
@samp{-M} in @code{ptx}.
...
@@ -1962,6 +1976,11 @@ its sense}. @samp{#else} should have a comment describing the condition
...
@@ -1962,6 +1976,11 @@ its sense}. @samp{#else} should have a comment describing the condition
@dots{}
@dots{}
#endif /* not foo */
#endif /* not foo */
@end group
@end group
@group
#ifdef foo
@dots{}
#endif /* foo */
@end group
@end example
@end example
@noindent
@noindent
...
@@ -1975,9 +1994,13 @@ but, by contrast, write the comments this way for a @samp{#ifndef}:
...
@@ -1975,9 +1994,13 @@ but, by contrast, write the comments this way for a @samp{#ifndef}:
@dots{}
@dots{}
#endif /* foo */
#endif /* foo */
@end group
@end group
@group
#ifndef foo
@dots{}
#endif /* not foo */
@end group
@end example
@end example
@node Syntactic Conventions
@node Syntactic Conventions
@section Clean Use of C Constructs
@section Clean Use of C Constructs
...
@@ -2433,7 +2456,7 @@ printf ((nfiles != 1 ? gettext ("%d files processed")
...
@@ -2433,7 +2456,7 @@ printf ((nfiles != 1 ? gettext ("%d files processed")
@end example
@end example
@noindent
@noindent
This
can
any
method
of
forming
the
plural
of
the
word
for
``
file
''
,
and
This can
be
any method of forming the plural of the word for ``file'', and
also handles languages that require agreement in the word for
also handles languages that require agreement in the word for
``processed''.
``processed''.
...
@@ -2924,9 +2947,12 @@ to work with @var{package}.
...
@@ -2924,9 +2947,12 @@ to work with @var{package}.
@
c
Giving
an
optional
@
var
{
parameter
}
of
@
c
Giving
an
optional
@
var
{
parameter
}
of
@
c
@
samp
{
no
}
should
omit
@
var
{
package
},
if
it
is
used
by
default
.
@
c
@
samp
{
no
}
should
omit
@
var
{
package
},
if
it
is
used
by
default
.
Possible values of @var{package} include @samp{x}, @samp{x-toolkit},
Possible
values
of
@
var
{
package
}
include
@samp{gnu-as} (or @samp{gas}), @samp{gnu-ld}, @samp{gnu-libc}, and
@
samp
{
gnu
-
as
}
(
or
@
samp
{
gas
}),
@
samp
{
gnu
-
ld
},
@
samp
{
gnu
-
libc
},
@samp{gdb}.
@
samp
{
gdb
},
@
samp
{
x
},
and
@
samp
{
x
-
toolkit
}.
Do
not
use
a
@
samp
{--
with
}
option
to
specify
the
file
name
to
use
to
Do
not
use
a
@
samp
{--
with
}
option
to
specify
the
file
name
to
use
to
find
certain
files
.
That
is
outside
the
scope
of
what
@
samp
{--
with
}
find
certain
files
.
That
is
outside
the
scope
of
what
@
samp
{--
with
}
...
@@ -2993,9 +3019,9 @@ ignore most of its arguments.
...
@@ -2993,9 +3019,9 @@ ignore most of its arguments.
@
node
Releases
@
node
Releases
@
section
Making
Releases
@
section
Making
Releases
Package the distribution of
Foo version 69.96 in a gzipped tar file
Package
the
distribution
of
@
code
{
Foo
version
69.96
}
up
in
a
gzipped
tar
named @file{foo-69.96.tar.gz}. It should unpack into a subdirectory
file
with
the
name
@
file
{
foo
-
69.96
.
tar
.
gz
}.
It
should
unpack
into
a
named @file{foo-69.96}.
subdirectory
named
@
file
{
foo
-
69.96
}.
Building
and
installing
the
program
should
never
modify
any
of
the
files
Building
and
installing
the
program
should
never
modify
any
of
the
files
contained
in
the
distribution
.
This
means
that
all
the
files
that
form
contained
in
the
distribution
.
This
means
that
all
the
files
that
form
...
@@ -3059,3 +3085,9 @@ other files to get.
...
@@ -3059,3 +3085,9 @@ other files to get.
@
contents
@
contents
@
bye
@
bye
Local
variables
:
update
-
date
-
leading
-
regexp
:
"@c This date is automagically updated when you save this file:
\n
@set lastupdate "
update
-
date
-
trailing
-
regexp
:
""
eval
:
(
load
"/gd/gnuorg/update-date.el"
)
eval
:
(
add
-
hook
'write-file-hooks '
update
-
date
)
End
:
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment