/usr/share/gtk-doc/html/libsoup-2.4/libsoup-build-howto.html is in libsoup2.4-doc 2.62.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Compiling with libsoup: libsoup Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="libsoup Reference Manual">
<link rel="up" href="ch01.html" title="Tutorial">
<link rel="prev" href="ch01.html" title="Tutorial">
<link rel="next" href="libsoup-client-howto.html" title="libsoup Client Basics">
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="ch01.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="libsoup-client-howto.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="libsoup-build-howto"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle">Compiling with libsoup</span></h2>
<p>Compiling with libsoup — Notes on compiling</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect2">
<a name="id-1.2.2.3"></a><h3>Using pkg-config</h3>
<p>
Like other GNOME libraries, <span class="application">libsoup</span> uses
<span class="application">pkg-config</span> to provide compiler options. The
package name is "<code class="literal">libsoup-2.4</code>". So in your
<code class="literal">configure</code> script, you might specify something like:
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1
2
3</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="function">PKG_CHECK_MODULES</span><span class="gtkdoc opt">(</span>LIBSOUP<span class="gtkdoc opt">, [</span>libsoup<span class="gtkdoc opt">-</span><span class="number">2.4</span> <span class="gtkdoc opt">>=</span> <span class="number">2.26</span><span class="gtkdoc opt">])</span>
<span class="function">AC_SUBST</span><span class="gtkdoc opt">(</span>LIBSOUP_CFLAGS<span class="gtkdoc opt">)</span>
<span class="function">AC_SUBST</span><span class="gtkdoc opt">(</span>LIBSOUP_LIBS<span class="gtkdoc opt">)</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
The "<code class="literal">2.4</code>" in the package name is the "API version"
(indicating "the version of the <span class="application">libsoup</span> API
that first appeared in version 2.4") and is essentially just part of
the package name.
</p>
</div>
<hr>
<div class="refsect2">
<a name="id-1.2.2.4"></a><h3>API Availability and Deprecation Warnings</h3>
<p>
If you want to restrict your program to a particular
<span class="application">libsoup</span> version or range of versions, you
can define <a class="link" href="libsoup-2.4-Version-Information.html#SOUP-VERSION-MIN-REQUIRED:CAPS" title="SOUP_VERSION_MIN_REQUIRED"><code class="literal">SOUP_VERSION_MIN_REQUIRED</code></a>
and/or <a class="link" href="libsoup-2.4-Version-Information.html#SOUP-VERSION-MAX-ALLOWED:CAPS" title="SOUP_VERSION_MAX_ALLOWED"><code class="literal">SOUP_VERSION_MAX_ALLOWED</code></a>.
Eg:
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1
2</pre></td>
<td class="listing_code"><pre class="programlisting">LIBSOUP_CFLAGS<span class="gtkdoc opt">=</span><span class="string">"$LIBSOUP_CFLAGS -DSOUP_VERSION_MIN_REQUIRED=SOUP_VERSION_2_36"</span>
LIBSOUP_CFLAGS<span class="gtkdoc opt">=</span><span class="string">"$LIBSOUP_CFLAGS -DSOUP_VERSION_MAX_ALLOWED=SOUP_VERSION_2_40"</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
The <code class="literal">SOUP_VERSION_MIN_REQUIRED</code> declaration states
that the code is not expected to compile on versions of
<span class="application">libsoup</span> older than the indicated version
(here, 2.36), and so the compiler should print warnings if the code
uses functions that were deprecated as of that release.
</p>
<p>
The <code class="literal">SOUP_VERSION_MAX_ALLOWED</code> declaration states
that the code <span class="emphasis"><em>is</em></span> expected to compile on versions
of <span class="application">libsoup</span> up to the indicated version
(here, 2.40), and so, when compiling the program against a newer
version than that, the compiler should print warnings if the code uses
functions that did not yet exist in the max-allowed release.
</p>
<p>
You can use <a class="link" href="libsoup-2.4-Version-Information.html#SOUP-CHECK-VERSION:CAPS" title="SOUP_CHECK_VERSION()"><code class="literal">SOUP_CHECK_VERSION</code></a>
to check the version of libsoup at compile time, to compile different
code for different <span class="application">libsoup</span> versions. (If
you are setting <code class="literal">SOUP_VERSION_MIN_REQUIRED</code> and
<code class="literal">SOUP_VERSION_MAX_ALLOWED</code> to different versions, as
in the example above, then you almost certainly need to be doing
this.)
</p>
</div>
<hr>
<div class="refsect2">
<a name="id-1.2.2.5"></a><h3>Headers</h3>
<p>
Code using <span class="application">libsoup</span> should do:
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="gtkdoc ppc">#include <libsoup/soup.h></span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
Including individual headers rather than <code class="literal">soup.h</code> is not
recommended.
</p>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.27</div>
</body>
</html>
|