File: HACKING

package info (click to toggle)
libidn 1.25-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 15,744 kB
  • sloc: ansic: 59,535; java: 13,518; sh: 13,349; cs: 1,974; perl: 1,254; makefile: 439; lisp: 231; php: 214; sed: 16; python: 9
file content (75 lines) | stat: -rw-r--r-- 2,896 bytes parent folder | download
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
Libidn HACKING -- Information for contributors.                 -*- outline -*-
Copyright (C) 2009-2012 Simon Josefsson
See the end for copying conditions.

This file contains instructions for developers and advanced users that
wants to build from version controlled sources.

We require several tools to build the software, including:

- Make <http://www.gnu.org/software/make/>
- Automake <http://www.gnu.org/software/automake/>
- Autoconf <http://www.gnu.org/software/autoconf/>
- Libtool <http://www.gnu.org/software/libtool/>
- Gettext <http://www.gnu.org/software/gettext/>
- Texinfo <http://www.gnu.org/software/texinfo/>
- Gperf <http://www.gnu.org/software/gperf/>
- help2man <http://www.gnu.org/software/help2man/>
- Gengetopt <http://www.gnu.org/software/gengetopt/>
- Tar <http://www.gnu.org/software/tar/>
- Gzip <http://www.gnu.org/software/gzip/>
- Texlive & epsf <http://www.tug.org/texlive/> (for PDF manual)
- CVS <http://www.gnu.org/software/cvs/> (for gettext autopoint)
- GTK-DOC <http://www.gtk.org/gtk-doc/> (for API manual)
- Git <http://git.or.cz/>
- Perl <http://www.cpan.org/>
- Valgrind <http://valgrind.org/> (optional)
- Gcj <http://www.gnu.org/software/gcc/java/> (for java port)
- gjdoc <http://www.gnu.org/software/classpath/cp-tools/> (for java port)
- Mono mcs <http://www.mono.org/> (for C# port)
- fig2dev <http://www-epb.lbl.gov/xfig/>

The required software is typically distributed with your operating
system, and the instructions for installing them differ.  Here are
some hints:

gNewSense/Debian/Ubuntu:
apt-get install make git-core autoconf automake libtool gettext cvs
apt-get install texinfo texlive texlive-generic-recommended texlive-extra-utils
apt-get install help2man gtk-doc-tools valgrind gengetopt
apt-get install gcj-jdk gjdoc transfig mono-mcs binfmt-support gperf

To download the version controlled sources:

$ git clone git://git.savannah.gnu.org/libidn.git
$ cd libidn

The next step is to run autoreconf, ./configure, etc:

$ make bootstrap

Then build the project normally:

$ make
$ make check

When building from version controlled sources, some developer specific
flags are automatically enabled.  For example, the self-checks are run
under valgrind if available.  For various reasons, you may run into
valgrind false positives that will cause self-checks to fail.  We ship
a Valgrind suppression file to address common issues.  You can use it
by putting the following in your ~/.valgrindrc:

--suppressions=/path/to/libidn/tests/libidn.supp

To prepare releases (see rules in cfg.mk) you need some additional
tools:

apt-get install pmccabe mingw-w64 wine clang lcov

Happy hacking!

----------------------------------------------------------------------
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.