Start development series 0.10-post
[0compile.git] / 0compile.1
blob3a5670e991a118149a9a88d104abf5a4ce332e51
1 .TH 0COMPILE 1 "2007" "Thomas Leonard" ""
2 .SH NAME
3 0compile \- create a Zero Install binary package from source
5 .SH SYNOPSIS
7 .B 0compile setup
8 [\fB--no-prompt\fP] [\fBSOURCE-URI\fP [\fBDIR\fP] ]
10 .B 0compile build
11 [\fB --nosandbox\fP ] [\fB--shell\fP]
13 .B 0compile publish
14 [\fBDOWNLOAD-BASE-URL\fP]
16 .B 0compile copy-src
18 .B 0compile diff
20 .B 0compile gui
21 [\fB--no-prompt\fP] [\fBSOURCE-URI\fP]
23 .B 0compile include-deps
25 .B 0compile report-bug
27 .SH DESCRIPTION
28 .PP
29 0compile can be used to compile a Zero Install package from its source code.
31 .SH SETUP
33 .PP
34 To set up a build environment for the GNU Hello World example:
36 .B 0compile setup http://0install.net/tests/GNU-Hello.xml GNU-Hello
38 .PP
39 This downloads the source and any build dependencies into the Zero Install
40 cache, and creates a new directory called GNU-Hello.
42 .SH BUILD
44 .PP
45 To compile the code, cd to the directory created by "setup" above, and then:
47 .B 0compile build
49 .PP
50 The resulting package will be in a new gnu-hello-1.3 subdirectory (or whatever version you downloaded).
51 Temporary build files will be in a new "build" subdirectory. These are kept to make rebuilds faster, but
52 you can delete them if you don't plan to recompile.
54 .SH PUBLISH
56 .PP
57 To create an archive that other people can download:
59 .B 0compile publish http://mysite/downloads
61 The will archive the target directory. Upload the resulting tarball to the downloads directory on your web-server.
62 The command will also create an XML file which can be used to download and run this version.
64 .SH COPY-SRC
66 .PP
67 To make changes to the code before compiling:
69 .B 0compile copy-src
71 This copies the source code from the cache into a new "src" subdirectory. Edit to taste and then "build".
73 .SH DIFF
75 To see the differences between the original (cached) source code and the copy in your "src" directory:
77 .B 0compile diff
79 .SH INCLUDE-DEPS
81 To create a self-contained bundle with the source code and build dependencies:
83 .B 0compile include-deps
85 This copies all required items from the Zero Install cache to a new "dependencies" subdirectory. The whole
86 directory tree (including the "dependencies" subdirectory) can then be copied to the build machine. This is
87 useful if the build machine doesn't have network access, and so can't download them itself.
89 .PP
90 Note that this doesn't include the 0compile program itself.
92 .SH GUI
94 To bring up the GTK interface, which offers an newbie-friendly interface to some of the features above:
96 .B 0compile gui
98 .SH REPORT-BUG
100 To send a bug-report about a failed build:
102 .B 0compile report-bug
105 .SH COMMAND-LINE OPTIONS
108 \fB-h\fP, \fB--help\fP
109 Show the built-in help text.
112 \fB-v\fP, \fB--verbose\fP
113 More verbose output. Use twice for even more verbose output.
116 \fB-V\fP, \fB--version\fP
117 Display version information.
119 .SH LICENSE
121 Copyright (C) 2007 Thomas Leonard.
124 You may redistribute copies of this program under the terms of the GNU General Public License.
125 .SH BUGS
127 Please report bugs to the developer mailing list:
129 http://0install.net/support.html
131 .SH AUTHOR
133 The Zero Install Injector was created by Thomas Leonard.
135 .SH SEE ALSO
136 0launch(1), 0store(1)
138 The Zero Install web-site:
140 .B http://0install.net/0compile.html