This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch] Document options for building and linking to libstdc++fs.a
- From: Jonathan Wakely <jwakely at redhat dot com>
- To: libstdc++ at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Fri, 16 Oct 2015 14:58:28 +0100
- Subject: [patch] Document options for building and linking to libstdc++fs.a
- Authentication-results: sourceware.org; auth=none
This documents how to use the Filsystem TS library.
Committed to trunk.
commit 2d8dfef4311b51a2743f5ab722d467792c7c32dd
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Fri Oct 16 14:53:46 2015 +0100
Document options for Filesystem TS library
* doc/xml/manual/configure.xml: Document
--enable-libstdcxx-filesystem-ts option.
* doc/xml/manual/status_cxx2014.xml: Document libstdc++fs.a.
* doc/xml/manual/using.xml: Likewise.
* doc/html/*: Regenerate.
diff --git a/libstdc++-v3/doc/xml/manual/configure.xml b/libstdc++-v3/doc/xml/manual/configure.xml
index 2f558d2..ac383cf 100644
--- a/libstdc++-v3/doc/xml/manual/configure.xml
+++ b/libstdc++-v3/doc/xml/manual/configure.xml
@@ -411,6 +411,15 @@
</para>
</listitem></varlistentry>
+ <varlistentry><term><code>--enable-libstdcxx-filesystem-ts</code>[default]</term>
+ <listitem>
+ <para>Build <filename class="libraryfile">libstdc++fs.a</filename> as well
+ as the usual libstdc++ and libsupc++ libraries. This is enabled by
+ default on select POSIX targets where it is known to work and disabled
+ otherwise.
+ </para>
+ </listitem></varlistentry>
+
</variablelist>
</section>
diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2014.xml b/libstdc++-v3/doc/xml/manual/status_cxx2014.xml
index d022ea4..6f1fbe5 100644
--- a/libstdc++-v3/doc/xml/manual/status_cxx2014.xml
+++ b/libstdc++-v3/doc/xml/manual/status_cxx2014.xml
@@ -402,7 +402,11 @@ not in any particular release.
</entry>
<entry>File System</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry>
+ Link with
+ <link linkend="manual.intro.using.linkage.experimental">
+ <option>-lstdc++fs</option></link>
+ </entry>
</row>
diff --git a/libstdc++-v3/doc/xml/manual/using.xml b/libstdc++-v3/doc/xml/manual/using.xml
index 2c8d179..96ae686 100644
--- a/libstdc++-v3/doc/xml/manual/using.xml
+++ b/libstdc++-v3/doc/xml/manual/using.xml
@@ -96,6 +96,14 @@
</row>
<row>
+ <entry><literal>-lstdc++fs</literal></entry>
+ <entry>Linking to <filename class="libraryfile">libstdc++fs</filename>
+ is required for use of the Filesystem library extensions in
+ <filename class="headerfile"><experimental/filesystem></filename>.
+ </entry>
+ </row>
+
+ <row>
<entry><literal>-fopenmp</literal></entry>
<entry>For <link linkend="manual.ext.parallel_mode">parallel</link> mode.</entry>
</row>
@@ -1361,8 +1369,31 @@ A quick read of the relevant part of the GCC
you.
</para>
</section>
- </section>
+ <section xml:id="manual.intro.using.linkage.experimental" xreflabel="Library Extensions"><info><title>Experimental Library Extensions</title></info>
+
+ <para>
+ GCC 5.3 includes an implementation of the Filesystem library defined
+ by the technical specification ISO/IEC TS 18822:2015. Because this is
+ an experimental library extension, not part of the C++ standard, it
+ is implemented in a separate library,
+ <filename class="libraryfile">libstdc++fs.a</filename>, and there is
+ no shared library for it. To use the library you should include
+ <filename class="headerfile"><experimental/filesystem></filename>
+ and link with <option>-lstdc++fs</option>. The library implementation
+ is incomplete on non-POSIX platforms, specifically Windows support is
+ rudimentary.
+ </para>
+
+ <para>
+ Due to the experimental nature of the Filesystem library the usual
+ guarantees about ABI stability and backwards compatibility do not apply
+ to it. There is no guarantee that the components in any
+ <filename class="headerfile"><experimental/xxx></filename>
+ header will remain compatible between different GCC releases.
+ </para>
+ </section>
+ </section>
<section xml:id="manual.intro.using.concurrency" xreflabel="Concurrency"><info><title>Concurrency</title></info>
<?dbhtml filename="using_concurrency.html"?>