source: general/prog/swig.xml@ 10f9bb45

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt nosym perl-modules 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 10f9bb45 was 10f9bb45, checked in by Fernando de Oliveira <fernando@…>, 8 years ago
  • summ-blfs-test.php: fix to reflect changes to summ-blfs.php.
  • Qt-5.5.1 and gobject-introspection-1.46.0: add Python-2.7.11 as required.
  • Update to iso-codes-3.63.
  • Update to unixODBC-2.3.4.
  • Update to swig-3.0.8.
  • Update to qemu-2.5.0.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@16773 af4574ff-66df-0310-9fd7-8a98e5e911e0

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