source: general/prog/swig.xml@ 45ab6c7

11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 45ab6c7 was 45ab6c7, checked in by Xi Ruoyao <xry111@…>, 3 years ago

more SVN prop clean up

Remove "$LastChanged$" everywhere, and also some unused $Date$

  • Property mode set to 100644
File size: 7.4 KB
RevLine 
[47c4c7d]1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[8dfc5c3]7 <!ENTITY swig-download-http "&sourceforge-dl;/swig/swig-&swig-version;.tar.gz">
[47c4c7d]8 <!ENTITY swig-download-ftp " ">
[5eb179fa]9 <!ENTITY swig-md5sum "7c3e46cb5af2b469722cafa0d91e127b">
[191b5a5]10 <!ENTITY swig-size "7.7 MB">
[5eb179fa]11 <!ENTITY swig-buildsize "118 MB (1.3 GB with tests)">
12 <!ENTITY swig-time "0.2 SBU (add 9.3 SBU for tests; both using parallelism=4)">
[47c4c7d]13]>
14
15<sect1 id="swig" xreflabel="SWIG-&swig-version;">
16 <?dbhtml filename="swig.html"?>
17
18 <sect1info>
19 <date>$Date$</date>
20 </sect1info>
21
22 <title>SWIG-&swig-version;</title>
23
24 <indexterm zone="swig">
25 <primary sortas="a-swig">SWIG</primary>
26 </indexterm>
27
28 <sect2 role="package">
29 <title>Introduction to SWIG</title>
30
31 <para>
32 <application>SWIG</application> (Simplified Wrapper and Interface
33 Generator) is a compiler that integrates <application>C</application>
34 and <application>C++</application> with languages including
[191b5a5]35 <application>Perl</application>,
36 <application>Python</application>,
37 <application>Tcl</application>,
38 <application>Ruby</application>,
39 <application>PHP</application>,
40 <application>Java</application>,
41 <application>C#</application>,
42 <application>D</application>,
43 <application>Go</application>,
44 <application>Lua</application>,
45 <application>Octave</application>,
46 <application>R</application>,
47 <application>Scheme</application>, and
48 <application>Ocaml</application>.
49 <application>SWIG</application> can
[47c4c7d]50 also export its parse tree into <application>Lisp</application>
51 s-expressions and <application>XML</application>.
52 </para>
53 <para>
54 <application>SWIG</application> reads annotated
55 <application>C/C++</application> header files and creates wrapper
56 code (glue code) in order to make the corresponding
57 <application>C/C++</application> libraries available to the listed
58 languages, or to extend <application>C/C++</application> programs
59 with a scripting language.
60 </para>
61
[9029db2]62 &lfs101_checked;
[47c4c7d]63
64 <bridgehead renderas="sect3">Package Information</bridgehead>
65 <itemizedlist spacing="compact">
66 <listitem>
67 <para>
68 Download (HTTP): <ulink url="&swig-download-http;"/>
69 </para>
70 </listitem>
71 <listitem>
72 <para>
73 Download (FTP): <ulink url="&swig-download-ftp;"/>
74 </para>
75 </listitem>
76 <listitem>
77 <para>
78 Download MD5 sum: &swig-md5sum;
79 </para>
80 </listitem>
81 <listitem>
82 <para>
83 Download size: &swig-size;
84 </para>
85 </listitem>
86 <listitem>
87 <para>
88 Estimated disk space required: &swig-buildsize;
89 </para>
90 </listitem>
91 <listitem>
92 <para>
93 Estimated build time: &swig-time;
94 </para>
95 </listitem>
96 </itemizedlist>
97
98 <bridgehead renderas="sect3">SWIG Dependencies</bridgehead>
99
100 <bridgehead renderas="sect4">Required</bridgehead>
101 <para role="required">
102 <xref linkend="pcre"/>
103 </para>
104
105 <bridgehead renderas="sect4">Optional</bridgehead>
106 <para role="optional">
[31d0f0d]107 <xref linkend="boost"/> for tests, and any of the languages mentioned
[47c4c7d]108 in the introduction, as run-time dependencies
109 </para>
110
111 <para condition="html" role="usernotes">
112 User Notes: <ulink url="&blfs-wiki;/swig"/>
113 </para>
114 </sect2>
115
116 <sect2 role="installation">
117 <title>Installation of SWIG</title>
118
119 <para>
120 Install <application>SWIG</application> by running the following
121 commands:
122 </para>
123
[191b5a5]124<screen><userinput>./configure --prefix=/usr \
[477418d2]125 --without-maximum-compile-warnings &amp;&amp;
[47c4c7d]126make</userinput></screen>
127
128 <para>
[3aee187]129 To test the results, issue: <command>PY3=1 make -k check TCL_INCLUDE=</command>.
[191b5a5]130 The unsetting of the variable <envar>TCL_INCLUDE</envar> is
131 necessary since it is not correctly set by
[5101276]132 <emphasis>configure</emphasis>. The tests are only executed for the
133 languages installed on your machine, so the disk space and SBU values
134 given for the tests may vary, and should be considered as mere orders of
[3aee187]135 magnitude. <!-- Phase out P2 support
136 If you have <xref linkend="python2"/> installed, the Python-3
[191b5a5]137 tests are not run. You can run tests for Python-3 by issuing
[a0e6e8dd]138 <command>PY3=1 make check-python-examples</command> followed by
[3aee187]139 <command>PY3=1 make check-python-test-suite</command>. --> According to
[a0e6e8dd]140 <application>SWIG</application>'s documentation, the failure of some
[5eb179fa]141 tests should not be considered harmful. The go tests are buggy and may
142 generate a lot of meaningless output.
[47c4c7d]143 </para>
144
145 <para>
146 Now, as the <systemitem class="username">root</systemitem> user:
147 </para>
148
149<screen role="root"><userinput>make install &amp;&amp;
150install -v -m755 -d /usr/share/doc/swig-&swig-version; &amp;&amp;
151cp -v -R Doc/* /usr/share/doc/swig-&swig-version;</userinput></screen>
152 </sect2>
153
154 <sect2 role="commands">
155 <title>Command Explanations</title>
156
[477418d2]157 <para>
158 <parameter>--without-maximum-compile-warnings</parameter>: disables
159 compiler ansi conformance enforcement, which triggers errors in
160 the <application>Lua</application> headers (starting with Lua 5.3).
161 </para>
162
[47c4c7d]163 <para>
164 <option>--without-&lt;language&gt;</option>: allows disabling the
165 building of tests and examples for &lt;language&gt;, but all the
166 languages capabilities of <application>SWIG</application> are always
[cd074c2]167 built. <!--We use it for <application>Clisp</application>, because the
168 SWIG implementation is very incomplete and a lot of tests fail. -->
[47c4c7d]169 </para>
[5101276]170
[47c4c7d]171 </sect2>
172
173 <sect2 role="content">
174 <title>Contents</title>
175
176 <segmentedlist>
177 <segtitle>Installed Programs</segtitle>
178 <segtitle>Installed Library</segtitle>
179 <segtitle>Installed Directories</segtitle>
180
181 <seglistitem>
182 <seg>
183 swig and ccache-swig
184 </seg>
185 <seg>
186 None
187 </seg>
[8c7390c]188 <seg>
[10f9bb45]189 /usr/share/doc/swig-&swig-version; and
[5101276]190 /usr/share/swig
[47c4c7d]191 </seg>
192 </seglistitem>
193 </segmentedlist>
194
195 <variablelist>
196 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
197 <?dbfo list-presentation="list"?>
198 <?dbhtml list-presentation="table"?>
199
200 <varlistentry id="swig-prog">
201 <term><command>swig</command></term>
202 <listitem>
203 <para>
204 takes an interface file containing C/C++ declarations and
205 SWIG special instructions, and generates the corresponding
[4c24eb0a]206 wrapper code needed to build extension modules
[47c4c7d]207 </para>
208 <indexterm zone="swig swig-prog">
209 <primary sortas="b-swig">swig</primary>
210 </indexterm>
211 </listitem>
212 </varlistentry>
213
214 <varlistentry id="ccache-swig">
215 <term><command>ccache-swig</command></term>
216 <listitem>
217 <para>
218 is a compiler cache, which speeds up re-compilation of
[4c24eb0a]219 C/C++/SWIG code
[47c4c7d]220 </para>
221 <indexterm zone="swig ccache-swig">
222 <primary sortas="b-ccache-swig">ccache-swig</primary>
223 </indexterm>
224 </listitem>
225 </varlistentry>
226
227 </variablelist>
228 </sect2>
[4c24eb0a]229
[47c4c7d]230</sect1>
Note: See TracBrowser for help on using the repository browser.