<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix A. Contributing</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><meta name="keywords" content=" ISO C++ , library " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="bk01pt12ch41s03.html" title="Use" /><link rel="next" href="source_organization.html" title="Directory Layout and Source Conventions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix A.
|
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix A. Contributing</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><meta name="keywords" content=" ISO C++ , library " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="spine.html" title="The GNU C++ Library" /><link rel="prev" href="bk01pt12ch41s03.html" title="Use" /><link rel="next" href="source_organization.html" title="Directory Layout and Source Conventions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix A.
|
Contributing
|
Contributing
|
|
|
</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch41s03.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="source_organization.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix A. Contributing"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.contrib"></a>Appendix A.
|
</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch41s03.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="source_organization.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix A. Contributing"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.contrib"></a>Appendix A.
|
Contributing
|
Contributing
|
<a id="id598653" class="indexterm"></a>
|
<a id="id598653" class="indexterm"></a>
|
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="appendix_contributing.html#contrib.list">Contributor Checklist</a></span></dt><dd><dl><dt><span class="sect2"><a href="appendix_contributing.html#list.reading">Reading</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.copyright">Assignment</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.getting">Getting Sources</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.patches">Submitting Patches</a></span></dt></dl></dd><dt><span class="sect1"><a href="source_organization.html">Directory Layout and Source Conventions</a></span></dt><dt><span class="sect1"><a href="source_code_style.html">Coding Style</a></span></dt><dd><dl><dt><span class="sect2"><a href="source_code_style.html#coding_style.bad_identifiers">Bad Identifiers</a></span></dt><dt><span class="sect2"><a href="source_code_style.html#coding_style.example">By Example</a></span></dt></dl></dd><dt><span class="sect1"><a href="documentation_style.html">Documentation Style</a></span></dt><dd><dl><dt><span class="sect2"><a href="documentation_style.html#doc_style.doxygen">Doxygen</a></span></dt><dt><span class="sect2"><a href="documentation_style.html#doc_style.docbook">Docbook</a></span></dt></dl></dd><dt><span class="sect1"><a href="source_design_notes.html">Design Notes</a></span></dt></dl></div><p>
|
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="appendix_contributing.html#contrib.list">Contributor Checklist</a></span></dt><dd><dl><dt><span class="sect2"><a href="appendix_contributing.html#list.reading">Reading</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.copyright">Assignment</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.getting">Getting Sources</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.patches">Submitting Patches</a></span></dt></dl></dd><dt><span class="sect1"><a href="source_organization.html">Directory Layout and Source Conventions</a></span></dt><dt><span class="sect1"><a href="source_code_style.html">Coding Style</a></span></dt><dd><dl><dt><span class="sect2"><a href="source_code_style.html#coding_style.bad_identifiers">Bad Identifiers</a></span></dt><dt><span class="sect2"><a href="source_code_style.html#coding_style.example">By Example</a></span></dt></dl></dd><dt><span class="sect1"><a href="documentation_style.html">Documentation Style</a></span></dt><dd><dl><dt><span class="sect2"><a href="documentation_style.html#doc_style.doxygen">Doxygen</a></span></dt><dt><span class="sect2"><a href="documentation_style.html#doc_style.docbook">Docbook</a></span></dt></dl></dd><dt><span class="sect1"><a href="source_design_notes.html">Design Notes</a></span></dt></dl></div><p>
|
The GNU C++ Library follows an open development model. Active
|
The GNU C++ Library follows an open development model. Active
|
contributors are assigned maintainer-ship responsibility, and given
|
contributors are assigned maintainer-ship responsibility, and given
|
write access to the source repository. First time contributors
|
write access to the source repository. First time contributors
|
should follow this procedure:
|
should follow this procedure:
|
</p><div class="sect1" title="Contributor Checklist"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.list"></a>Contributor Checklist</h2></div></div></div><div class="sect2" title="Reading"><div class="titlepage"><div><div><h3 class="title"><a id="list.reading"></a>Reading</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
|
</p><div class="sect1" title="Contributor Checklist"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.list"></a>Contributor Checklist</h2></div></div></div><div class="sect2" title="Reading"><div class="titlepage"><div><div><h3 class="title"><a id="list.reading"></a>Reading</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
|
Get and read the relevant sections of the C++ language
|
Get and read the relevant sections of the C++ language
|
specification. Copies of the full ISO 14882 standard are
|
specification. Copies of the full ISO 14882 standard are
|
available on line via the ISO mirror site for committee
|
available on line via the ISO mirror site for committee
|
members. Non-members, or those who have not paid for the
|
members. Non-members, or those who have not paid for the
|
privilege of sitting on the committee and sustained their
|
privilege of sitting on the committee and sustained their
|
two meeting commitment for voting rights, may get a copy of
|
two meeting commitment for voting rights, may get a copy of
|
the standard from their respective national standards
|
the standard from their respective national standards
|
organization. In the USA, this national standards
|
organization. In the USA, this national standards
|
organization is ANSI and their web-site is right
|
organization is ANSI and their web-site is right
|
<a class="ulink" href="http://www.ansi.org" target="_top">here.</a>
|
<a class="ulink" href="http://www.ansi.org" target="_top">here.</a>
|
(And if you've already registered with them, clicking this link will take you to directly to the place where you can
|
(And if you've already registered with them, clicking this link will take you to directly to the place where you can
|
<a class="ulink" href="http://webstore.ansi.org/RecordDetail.aspx?sku=ISO%2FIEC+14882:2003" target="_top">buy the standard on-line.)</a>
|
<a class="ulink" href="http://webstore.ansi.org/RecordDetail.aspx?sku=ISO%2FIEC+14882:2003" target="_top">buy the standard on-line.)</a>
|
</p></li><li class="listitem"><p>
|
</p></li><li class="listitem"><p>
|
The library working group bugs, and known defects, can
|
The library working group bugs, and known defects, can
|
be obtained here:
|
be obtained here:
|
<a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/" target="_top">http://www.open-std.org/jtc1/sc22/wg21 </a>
|
<a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/" target="_top">http://www.open-std.org/jtc1/sc22/wg21 </a>
|
</p></li><li class="listitem"><p>
|
</p></li><li class="listitem"><p>
|
The newsgroup dedicated to standardization issues is
|
The newsgroup dedicated to standardization issues is
|
comp.std.c++: this FAQ for this group is quite useful and
|
comp.std.c++: this FAQ for this group is quite useful and
|
can be
|
can be
|
found <a class="ulink" href="http://www.comeaucomputing.com/csc/faq.html" target="_top">
|
found <a class="ulink" href="http://www.comeaucomputing.com/csc/faq.html" target="_top">
|
here </a>.
|
here </a>.
|
</p></li><li class="listitem"><p>
|
</p></li><li class="listitem"><p>
|
Peruse
|
Peruse
|
the <a class="ulink" href="http://www.gnu.org/prep/standards" target="_top">GNU
|
the <a class="ulink" href="http://www.gnu.org/prep/standards" target="_top">GNU
|
Coding Standards</a>, and chuckle when you hit the part
|
Coding Standards</a>, and chuckle when you hit the part
|
about <span class="quote">“<span class="quote">Using Languages Other Than C</span>”</span>.
|
about <span class="quote">“<span class="quote">Using Languages Other Than C</span>”</span>.
|
</p></li><li class="listitem"><p>
|
</p></li><li class="listitem"><p>
|
Be familiar with the extensions that preceded these
|
Be familiar with the extensions that preceded these
|
general GNU rules. These style issues for libstdc++ can be
|
general GNU rules. These style issues for libstdc++ can be
|
found <a class="link" href="source_code_style.html" title="Coding Style">here</a>.
|
found <a class="link" href="source_code_style.html" title="Coding Style">here</a>.
|
</p></li><li class="listitem"><p>
|
</p></li><li class="listitem"><p>
|
And last but certainly not least, read the
|
And last but certainly not least, read the
|
library-specific information
|
library-specific information
|
found <a class="link" href="appendix_porting.html" title="Appendix B. Porting and Maintenance"> here</a>.
|
found <a class="link" href="appendix_porting.html" title="Appendix B. Porting and Maintenance"> here</a>.
|
</p></li></ul></div></div><div class="sect2" title="Assignment"><div class="titlepage"><div><div><h3 class="title"><a id="list.copyright"></a>Assignment</h3></div></div></div><p>
|
</p></li></ul></div></div><div class="sect2" title="Assignment"><div class="titlepage"><div><div><h3 class="title"><a id="list.copyright"></a>Assignment</h3></div></div></div><p>
|
Small changes can be accepted without a copyright assignment form on
|
Small changes can be accepted without a copyright assignment form on
|
file. New code and additions to the library need completed copyright
|
file. New code and additions to the library need completed copyright
|
assignment form on file at the FSF. Note: your employer may be required
|
assignment form on file at the FSF. Note: your employer may be required
|
to fill out appropriate disclaimer forms as well.
|
to fill out appropriate disclaimer forms as well.
|
</p><p>
|
</p><p>
|
Historically, the libstdc++ assignment form added the following
|
Historically, the libstdc++ assignment form added the following
|
question:
|
question:
|
</p><p>
|
</p><p>
|
<span class="quote">“<span class="quote">
|
<span class="quote">“<span class="quote">
|
Which Belgian comic book character is better, Tintin or Asterix, and
|
Which Belgian comic book character is better, Tintin or Asterix, and
|
why?
|
why?
|
</span>”</span>
|
</span>”</span>
|
</p><p>
|
</p><p>
|
While not strictly necessary, humoring the maintainers and answering
|
While not strictly necessary, humoring the maintainers and answering
|
this question would be appreciated.
|
this question would be appreciated.
|
</p><p>
|
</p><p>
|
For more information about getting a copyright assignment, please see
|
For more information about getting a copyright assignment, please see
|
<a class="ulink" href="http://www.gnu.org/prep/maintain/html_node/Legal-Matters.html" target="_top">Legal
|
<a class="ulink" href="http://www.gnu.org/prep/maintain/html_node/Legal-Matters.html" target="_top">Legal
|
Matters</a>.
|
Matters</a>.
|
</p><p>
|
</p><p>
|
Please contact Benjamin Kosnik at
|
Please contact Benjamin Kosnik at
|
<code class="email"><<a class="email" href="mailto:bkoz+assign@redhat.com">bkoz+assign@redhat.com</a>></code> if you are confused
|
<code class="email"><<a class="email" href="mailto:bkoz+assign@redhat.com">bkoz+assign@redhat.com</a>></code> if you are confused
|
about the assignment or have general licensing questions. When
|
about the assignment or have general licensing questions. When
|
requesting an assignment form from
|
requesting an assignment form from
|
<code class="email"><<a class="email" href="mailto:mailto:assign@gnu.org">mailto:assign@gnu.org</a>></code>, please cc the libstdc++
|
<code class="email"><<a class="email" href="mailto:mailto:assign@gnu.org">mailto:assign@gnu.org</a>></code>, please cc the libstdc++
|
maintainer above so that progress can be monitored.
|
maintainer above so that progress can be monitored.
|
</p></div><div class="sect2" title="Getting Sources"><div class="titlepage"><div><div><h3 class="title"><a id="list.getting"></a>Getting Sources</h3></div></div></div><p>
|
</p></div><div class="sect2" title="Getting Sources"><div class="titlepage"><div><div><h3 class="title"><a id="list.getting"></a>Getting Sources</h3></div></div></div><p>
|
<a class="ulink" href="http://gcc.gnu.org/svnwrite.html" target="_top">Getting write access
|
<a class="ulink" href="http://gcc.gnu.org/svnwrite.html" target="_top">Getting write access
|
(look for "Write after approval")</a>
|
(look for "Write after approval")</a>
|
</p></div><div class="sect2" title="Submitting Patches"><div class="titlepage"><div><div><h3 class="title"><a id="list.patches"></a>Submitting Patches</h3></div></div></div><p>
|
</p></div><div class="sect2" title="Submitting Patches"><div class="titlepage"><div><div><h3 class="title"><a id="list.patches"></a>Submitting Patches</h3></div></div></div><p>
|
Every patch must have several pieces of information before it can be
|
Every patch must have several pieces of information before it can be
|
properly evaluated. Ideally (and to ensure the fastest possible
|
properly evaluated. Ideally (and to ensure the fastest possible
|
response from the maintainers) it would have all of these pieces:
|
response from the maintainers) it would have all of these pieces:
|
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
|
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
|
A description of the bug and how your patch fixes this
|
A description of the bug and how your patch fixes this
|
bug. For new features a description of the feature and your
|
bug. For new features a description of the feature and your
|
implementation.
|
implementation.
|
</p></li><li class="listitem"><p>
|
</p></li><li class="listitem"><p>
|
A ChangeLog entry as plain text; see the various
|
A ChangeLog entry as plain text; see the various
|
ChangeLog files for format and content. If you are
|
ChangeLog files for format and content. If you are
|
using emacs as your editor, simply position the insertion
|
using emacs as your editor, simply position the insertion
|
point at the beginning of your change and hit CX-4a to bring
|
point at the beginning of your change and hit CX-4a to bring
|
up the appropriate ChangeLog entry. See--magic! Similar
|
up the appropriate ChangeLog entry. See--magic! Similar
|
functionality also exists for vi.
|
functionality also exists for vi.
|
</p></li><li class="listitem"><p>
|
</p></li><li class="listitem"><p>
|
A testsuite submission or sample program that will
|
A testsuite submission or sample program that will
|
easily and simply show the existing error or test new
|
easily and simply show the existing error or test new
|
functionality.
|
functionality.
|
</p></li><li class="listitem"><p>
|
</p></li><li class="listitem"><p>
|
The patch itself. If you are accessing the SVN
|
The patch itself. If you are accessing the SVN
|
repository use <span class="command"><strong>svn update; svn diff NEW</strong></span>;
|
repository use <span class="command"><strong>svn update; svn diff NEW</strong></span>;
|
else, use <span class="command"><strong>diff -cp OLD NEW</strong></span> ... If your
|
else, use <span class="command"><strong>diff -cp OLD NEW</strong></span> ... If your
|
version of diff does not support these options, then get the
|
version of diff does not support these options, then get the
|
latest version of GNU
|
latest version of GNU
|
diff. The <a class="ulink" href="http://gcc.gnu.org/wiki/SvnTricks" target="_top">SVN
|
diff. The <a class="ulink" href="http://gcc.gnu.org/wiki/SvnTricks" target="_top">SVN
|
Tricks</a> wiki page has information on customising the
|
Tricks</a> wiki page has information on customising the
|
output of <code class="code">svn diff</code>.
|
output of <code class="code">svn diff</code>.
|
</p></li><li class="listitem"><p>
|
</p></li><li class="listitem"><p>
|
When you have all these pieces, bundle them up in a
|
When you have all these pieces, bundle them up in a
|
mail message and send it to libstdc++@gcc.gnu.org. All
|
mail message and send it to libstdc++@gcc.gnu.org. All
|
patches and related discussion should be sent to the
|
patches and related discussion should be sent to the
|
libstdc++ mailing list.
|
libstdc++ mailing list.
|
</p></li></ul></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt12ch41s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="source_organization.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Use </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Directory Layout and Source Conventions</td></tr></table></div></body></html>
|
</p></li></ul></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt12ch41s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="source_organization.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Use </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Directory Layout and Source Conventions</td></tr></table></div></body></html>
|
|
|