[gtkmm-documentation/wip/dboles/formatting-3: 2/9] Elaborate the section on pkg-config and API names
- From: Daniel Boles <dboles src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtkmm-documentation/wip/dboles/formatting-3: 2/9] Elaborate the section on pkg-config and API names
- Date: Mon, 15 Jan 2018 21:50:49 +0000 (UTC)
commit 947002f2711a5615abc32b1a5d9bd1637e8c0dde
Author: Daniel Boles <dboles src gmail com>
Date: Mon Jan 15 21:43:27 2018 +0000
Elaborate the section on pkg-config and API names
Reorganise/reword this, explain the pkg-config mantras, identify 3.22 as
the LTS, and update for how gtkmm-4.0 exists nowadays, albeit unstably.
docs/tutorial/C/index-in.docbook | 48 +++++++++++++++++++++++++------------
1 files changed, 32 insertions(+), 16 deletions(-)
---
diff --git a/docs/tutorial/C/index-in.docbook b/docs/tutorial/C/index-in.docbook
index 6a5f109..0a99b49 100644
--- a/docs/tutorial/C/index-in.docbook
+++ b/docs/tutorial/C/index-in.docbook
@@ -362,11 +362,21 @@ Your <function>main()</function> function will then return with an appropriate s
After putting the source code in <filename>simple.cc</filename>, you can compile
the above program with <application>GCC</application> using:
<programlisting>g++ simple.cc -o simple `pkg-config gtkmm-3.0 --cflags --libs`</programlisting>
-Note that you must surround the <command>pkg-config</command> invocation with backquotes.
-Backquotes cause the shell to execute the command inside them, and to use
-the command's output as part of the command line.
-Note also that <filename>simple.cc</filename> must come before the <command>pkg-config</command>
-invocation on the command line.
+</para>
+<para>
+Some details here are important to note: You must surround the
+<command>pkg-config</command> invocation with backquotes, as those cause the
+shell to execute the command inside them and to use the command's output as
+part of the command line, i.e. to substitute the command with the switches it
+returns that your compiler needs in order to find >kmm;'s headers and symbols.
+Filenames, like <filename>simple.cc</filename>, must come before the
+<command>pkg-config</command> invocation on the command line, as most linkers
+work through their command-line arguments in the order given, and they must
+first process your sources in order to know which symbols they need in the
+following libraries returned by <command>pkg-config</command>. Finally, if you
+mention extra modules in addition to <application>gtkmm-3.0</application>, they
+should be separated by spaces, not commas, as <command>pkg-config</command> uses
+space-separated lists.
</para>
</sect1>
@@ -401,18 +411,24 @@ This checks for the presence of >kmm; and defines
<varname>MYAPP_LIBS</varname> and <varname>MYAPP_CFLAGS</varname> for use in
your <filename>Makefile.am</filename> files.
</para>
-<para>gtkmm-3.0 is the name of the current stable API. There was an older API
-called gtkmm-2.4, which installs in parallel when it is available. There were
-several versions of <application>gtkmm-2.4</application>, such as gtkmm 2.10 and
-there are several versions of the <application>gtkmm-3.0</application> API. Note
-that the API name does not change for every version because that would be an
-incompatible API and ABI break. Theoretically, there might be a future
-<application>gtkmm-4.0</application> API which would install in parallel with
-<application>gtkmm-3.0</application> without affecting existing applications.
-</para>
-<para>Note that if you mention extra modules in addition to
-<application>gtkmm-3.0</application>, they should be separated by spaces, not
-commas.
+<para><application>gtkmm-3.0</application> is the name of the current stable
+API. There was an older API called <application>gtkmm-2.4</application>. There
+is also now the newer unstable development API
+<application>gtkmm-4.0</application>, though this is in a high state of flux at
+the time of writing and so is only for users who want to try out the latest
+features while accepting the risk of API/ABI breaks prior to the first stable
+release. All three of these major API versions can be installed in parallel
+without affecting each other or applications that compile against different API
+versions.
+</para>
+<para>There were several versions of <application>gtkmm-2.4</application> such
+as >kmm; 2.10, there are several versions of
+<application>gtkmm-3.0</application>, and there will most likely be several
+versions of <application>gtkmm-4.0</application> too. You can see that, while
+the actual minor version increases, the API name does not change for every
+version because that would be an incompatible API and ABI break.
+</para>
+<para>The current long-term stable version of both GTK+ and >kmm; is 3.22.
</para>
<para>The GNU site has more information about <ulink
url="https://www.gnu.org/software/autoconf/">autoconf</ulink>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]