Animation.
[yuu.git] / docs / building.org
1 * Requirements
2
3 Building (for all OSs) is supported on GNU/Linux or Mac OS X. It
4 requires several third-party tools. Other Unix operating systems can
5 probably be coerced into building with sufficient work. Maybe even
6 Windows.
7
8 * Standard Unix tools
9 * GNU Make
10 * Python 2.x
11 * ~zip~, ~unzip~, ~git~, ~wget~
12
13 Hopefully your OS distributor already provides these...
14
15 * Node.js and npm
16 http://nodejs.org and https://www.npmjs.org
17
18 Node.js is used to run unit tests, linters, and some other build
19 scripts. npm is used to download the modules and programs
20 required for this.
21
22 * GraphicsMagick or ImageMagick
23 http://www.graphicsmagick.org or http://imagemagick.org
24
25 This provides ~convert~, a tool for other image format conversions.
26 You probably have this already; it can be found in most GNU/Linux
27 distributions as well as Mac OS X's MacPorts, homebrew, etc.
28
29 * xcftools (or one of its forks)
30 http://henning.makholm.net/software
31
32 This provides ~xcf2png~, a tool to convert XCF source images to
33 PNGs. This is available prepackaged in most GNU/Linux
34 distributions, but you'll probably need to build it by hand on Mac
35 OS X.
36
37 * libicns (GNU/Linux only)
38 http://icns.sourceforge.net
39
40 This provides ~icnsutil~, a tool to convert PNGs to the Cocoa icon
41 format. The compatible ~iconutil~ tool comes with Mac OS X.
42
43 * Wine
44 http://winehq.org/
45
46 Building Windows binary packages requires Wine, to run the
47 rcedit.exe tool. It should run without issue in any Wine
48 configuration.
49
50
51 * Local Builds
52
53 To build the project, you just need to run ~make~. This will generate
54 various data files.
55
56 To run the test suite, run ~make check~.
57
58 Running it locally in your browser may require a local web server due
59 to access restrictions placed on filesystem content in some browsers.
60 You can install and start one with sensible defaults by running ~make
61 serve~.
62
63
64 * Distribution
65
66 Building distributables requires that the project be in a git
67 repository, and that the source you wish to build is checked in. Git's
68 index is used to generate version information and base distributable
69 archives.
70
71 Ideally, this version is also tagged with some human-readable
72 identifier; otherwise it is given a version based on the git index
73 hash.
74
75 ** Source
76
77 ** Binary