-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathsvn.ht
132 lines (100 loc) · 5.02 KB
/
svn.ht
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
SWIG Git
<p>
<table summary="Bleeding Edge"> <tr>
<td bgcolor="#000000" align=center><font color="#ffffff"><b>Bleeding Edge</b></font></td>
</tr> </table>
<h3>Could you contribute to SWIG?</h3>
SWIG is an all volunteer project which has been publicly available since 1996 and is only as good as it is because of free software collaboration.
There are many warts though and so
we are always looking for people to help out with various aspects of SWIG development.
This can be anything from improving functionality in the SWIG source code or typemaps to writing documentation.
<ul>
<li><p>Send email to the <a href="mail.html">swig-devel</a> (SWIG Developers) mailing list
if you are interested in getting involved in development.
We'd love to hear some background knowledge and information about yourself and we can help you getting started.
</ul>
<h3> SWIG Source </h3>
<p>
Development versions of SWIG are available through a <a href="http://git-scm.com/">Git</a> repository hosted
at <a href="https://github.com/swig/swig">Github</a>.
There is also a <a href="http://subversion.apache.org/">Subversion</a> (SVN) interface provided by Github.
<h3> Disclaimer </h3>
The Git release represents work in progress and is not guaranteed to compile on your machine or be functional in any
manner.
However, it is often in better shape than the last official release!
<h3> Required Tools </h3>
To compile SWIG from the raw source available from Git, you will need the following tools:
<ul>
<li> Either Git or Subversion
<li> Autoconf 2.58 or higher
<li> Automake 1.7.2 or higher
<li> A working C and C++ compiler.
<li> Bison 3.5.0 or higher (to generate the SWIG parser).
<li> libpcre (regular expressions library dependency)
</ul>
<p>
It is important to note that the Git repository does not include the C code
generated by Bison nor the files produced by Autoconf or Automake or the documentation
that is generated. These are however included in a normal release. Thus, you will have
to install the above tools on your machine for everything to work.
<h3>To build the latest version </h3>
There is
<a href="https://help.github.com/">generic Git help</a>
available from Github, but the steps below should be all you need to get going quickly.
However, Windows users should also look at the <a href="Doc4.3/Windows.html#Windows_swig_exe">Building swig.exe on Windows</a>.
<ol>
<li><p>The latest development (master) version of SWIG can be retrieved using:
<pre>
$ git clone https://github.com/swig/swig.git
</pre>
<p>
You can also use Github as if it was a Subversion server, see <a href="https://github.com/blog/1178-collaborating-on-github-with-subversion">Collaborating on GitHub with Subversion</a>.
The following should get you going with the latest:
<pre>
$ svn checkout https://github.com/swig/swig/trunk swig
</pre>
<li><p>To build SWIG, follow the steps below and replace <tt>/some/directory</tt> with a directory that you have permission to write to:
<pre>
$ cd swig
$ ./autogen.sh
$ ./configure --prefix=/some/directory
$ make
$ make install
</pre>
<li><p>To check the build, run the tests:
<pre>
$ make -k check </pre>
This could take up to an hour or longer. If you are interested in a particular language,
just check the examples and test-suite for that language. For example, the Python tests:
<pre>
$ make check-python-examples
$ make check-python-test-suite
</pre>
More details on the <a href="Doc4.3/Extending.html#Extending_test_suite">SWIG test-suite</a> are available.
</ol>
<b>Note:</b> The Git repository is read-only so the system will not
accept code modifications unless you are a registered SWIG developer.
If you would like to see your modifications in the official SWIG distribution, you can
<a href="https://help.github.com/articles/fork-a-repo">fork</a> the repository
and send a <a href="https://help.github.com/articles/using-pull-requests">pull request</a>
or submit a <a href="bugs.html">patch</a> to the patch tracker.
<h3> Build Issues </h3>
Here are some guidelines should you be experiencing problems building SWIG from Git.
<ol>
<li>Check that you have a complete update from the SWIG Git repository.
A fresh checkout from Git often solves build problems.
</li>
<li>
Make sure you have run <tt>./autogen.sh</tt> and <tt>./configure</tt>.
Both these steps will be necessary if you have a fresh Git checkout or if the build files in the repository have changed since a previous update.
</li>
<li>
Check that the appropriate versions of your autotools (Autoconf and Automake) are installed properly.
The autotools are in a state of flux and there are backward compatibility issues which are solved in different ways on different operating systems.
</li>
<li>
Check that all the autotool bootstrap programs which are executed when running <tt>./autogen.sh</tt> are up to date and match your installed autotool versions.
For example <tt>aclocal --version</tt> should report a matching version of Automake or Autoconf, something like "aclocal (GNU automake) 1.7.6".
</li>
</ol>
If you are still having problems, send an email to the <a href="mail.html">swig-devel</a> mailing list.