Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 180 lines (109 sloc) 4.413 kb
f3303f2 Noah Slater documentation improvements
nslater authored
1 Apache CouchDB DEVELOPERS
2 =========================
3
4 Only follow these instructions if you are building from a source checkout.
5
6 If you're unsure what this means, ignore this document.
7
8 Dependencies
9 ------------
10
11 You will need the following installed:
12
13 * GNU Libtool (http://www.gnu.org/software/libtool/)
23020ab Noah Slater Add Sphinx-related build changes into READMEs
nslater authored
14 * GNU Automake (>=1.6.3) (http://www.gnu.org/software/automake/)
15 * GNU Autoconf (>=2.68) (http://www.gnu.org/software/autoconf/)
16 * GNU Autoconf Archive (http://www.gnu.org/software/autoconf-archive/)
17 * pkg-config (http://www.freedesktop.org/wiki/Software/pkg-config)
18
19 You may also need:
20
21 * Sphinx (http://sphinx.pocoo.org/)
22 * LaTex (http://www.latex-project.org/)
23 * GNU Texinfo (http://www.gnu.org/software/texinfo/)
f3303f2 Noah Slater documentation improvements
nslater authored
24 * GNU help2man (http://www.gnu.org/software/help2man/)
25
23020ab Noah Slater Add Sphinx-related build changes into READMEs
nslater authored
26 These optional dependencies are required for building the documentation.
27
28 You will need these optional dependencies installed if:
29
30 * You are preparing a distribution archive
31
32 However, you do not need them if:
33
34 * You are building from a distribution archive, or
35 * You don't care about building the documentation
f3303f2 Noah Slater documentation improvements
nslater authored
36
37 Debian-based (inc. Ubuntu) Systems
38 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39
23020ab Noah Slater Add Sphinx-related build changes into READMEs
nslater authored
40 You can install the required dependencies by running:
41
42 sudo apt-get install libtool
43 sudo apt-get install automake
44 sudo apt-get install autoconf
45 sudo apt-get install autoconf-archive
46 sudo apt-get install pkg-config
f3303f2 Noah Slater documentation improvements
nslater authored
47
23020ab Noah Slater Add Sphinx-related build changes into READMEs
nslater authored
48 Optional dependencies:
49
50 sudo apt-get install help2man
51 sudo apt-get install python-sphinx
52 sudo apt-get install texlive-latex-base
53 sudo apt-get install texlive-latex-recommended
54 sudo apt-get install texlive-latex-extra
55 sudo apt-get install texlive-fonts-recommended
56 sudo apt-get install texinfo
f3303f2 Noah Slater documentation improvements
nslater authored
57
58 Be sure to update the version numbers to match your system's available packages.
59
60 Mac OS X
61 ~~~~~~~~
62
23020ab Noah Slater Add Sphinx-related build changes into READMEs
nslater authored
63 Install Homebrew, if you do not have it already:
64
65 https://github.com/mxcl/homebrew
66
67 You can install the required dependencies by running:
68
69 brew install libtool
70 brew install automake
71 brew install autoconf
72 brew install autoconf-archive
73 brew install pkg-config
74
75 Unless you want to install the optional dependencies, skip to the next section.
f3303f2 Noah Slater documentation improvements
nslater authored
76
23020ab Noah Slater Add Sphinx-related build changes into READMEs
nslater authored
77 Install what else we can with Homebrew:
f3303f2 Noah Slater documentation improvements
nslater authored
78
23020ab Noah Slater Add Sphinx-related build changes into READMEs
nslater authored
79 brew install help2man
80
81 If you don't already have pip installed, install it:
82
83 sudo easy_install pip
84
85 Now, install the required Python packages:
86
87 sudo pip install sphinx
88 sudo pip install docutils
89 sudo pip install pygments
90
91 Download MaxTeX from here:
92
93 http://www.tug.org/mactex/
94
95 Follow the instructions to get a working LaTeX install on your system.
96
97 Windows
98 ~~~~~~~
99
100 Follow the instructions in INSTALL.Windows and build all components
101 from source, using the same Visual C++ compiler and runtime.
f3303f2 Noah Slater documentation improvements
nslater authored
102
103 Bootstrapping
104 -------------
105
106 Bootstrap the pristine source by running:
107
108 ./bootstrap
109
110 You must repeat this step every time you update your source checkout.
111
23020ab Noah Slater Add Sphinx-related build changes into READMEs
nslater authored
112 Configuring
113 -----------
114
115 Configure the source by running:
116
117 ./configure
118
119 Note that this will not fail when the optional dependencies are missing.
120
121 To ensure the optional dependencies are installed, run:
122
123 ./configure --enable-strictness
124
125 If you don't care about docs and want to skip the whole thing, run:
126
127 ./configure --disable-docs
128
129 If you're working on the build system itself, you can run:
130
131 ./configure --disable-tests
132
133 This skips the tests allowing quicker `make' cycles.
134
f3303f2 Noah Slater documentation improvements
nslater authored
135 Testing
136 -------
137
138 Check the test suite by running:
139
140 make check
141
142 Generate a coverage report by running:
143
144 make cover
145
146 Please report any problems to the developer's mailing list.
147
148 Releasing
149 ---------
150
23020ab Noah Slater Add Sphinx-related build changes into READMEs
nslater authored
151 The release procedure is documented here:
a9de8c7 Randall Leeds add link to release procedure in DEVELOPERS file
tilgovi authored
152
153 https://wiki.apache.org/couchdb/Release_procedure
154
f3303f2 Noah Slater documentation improvements
nslater authored
155 Unix-like Systems
156 ~~~~~~~~~~~~~~~~~
157
158 Prepare the release artefacts by running:
159
160 make distcheck
161
162 You can prepare signed release artefacts by running:
163
164 make distsign
165
166 The release artefacts can be found in the root source directory.
167
168 Microsoft Windows
169 ~~~~~~~~~~~~~~~~~
170
171 Prepare the release artefacts by running:
172
173 make dist
174
175 The release artefacts can be found in the `etc/windows` directory.
176
177 Until the build system has been improved, you must make sure that you run this
178 command from a clean source checkout. If you do not, your test database and log
179 files will be bundled up in the release artefact.
Something went wrong with that request. Please try again.