Fixed support for bundled dependenecies
[0compile.git] / 0compile.1
blob40241129ff25edc48a172af12521eec09e27a2be
1 .TH 0COMPILE 1 "2009" "Thomas Leonard" ""
2 .SH NAME
3 0compile \- create a Zero Install binary package from source
5 .SH SYNOPSIS
7 .B 0compile autocompile SOURCE-URI
9 .B 0compile setup
10 [\fB--no-prompt\fP] [\fBSOURCE-URI\fP [\fBDIR\fP] ]
12 .B 0compile build
13 [\fB --nosandbox\fP ] [\fB--shell\fP]
15 .B 0compile publish
16 [\fBDOWNLOAD-BASE-URL\fP]
18 .B 0compile autopublish
19 [\fBDOWNLOAD-BASE-URL\fP]
21 .B 0compile clean
23 .B 0compile copy-src
25 .B 0compile diff
27 .B 0compile gui
28 [\fB--no-prompt\fP] [\fBSOURCE-URI\fP]
30 .B 0compile include-deps
32 .B 0compile report-bug
34 .SH DESCRIPTION
35 .PP
36 0compile can be used to compile a Zero Install package from its source code.
38 .SH AUTOCOMPILE
40 .PP
41 Download and build the source code for the given program. Also download and build
42 any missing dependencies, recursively. The resulting binaries will be placed in the
43 Zero Install implementation cache (just like normal binary downloads). A feed file
44 describing each new binary is created under $XDG_CONFIG_DIRS/0install.net/0compile/builds/
45 and registered with Zero Install (using "0launch --feed").
47 .PP
48 On error, 0compile will display the name of the temporary directory in which it was
49 compiling the component which failed. You can cd to this directory and fix the problem
50 using the other 0compile commands.
52 .SH SETUP
54 .PP
55 To set up a build environment for the GNU Hello World example:
57 .B 0compile setup http://0install.net/tests/GNU-Hello.xml GNU-Hello
59 .PP
60 This downloads the source and any build dependencies into the Zero Install
61 cache, and creates a new directory called GNU-Hello.
63 .PP
64 If the name is "." then it uses the current directory instead of creating a new one.
66 .SH BUILD
68 .PP
69 To compile the code, cd to the directory created by "setup" above, and then:
71 .B 0compile build
73 .PP
74 The resulting package will be in a new gnu-hello-1.3 subdirectory (or whatever version you downloaded).
75 Temporary build files will be in a new "build" subdirectory. These are kept to make rebuilds faster, but
76 you can delete them if you don't plan to recompile.
78 .SH PUBLISH
80 .PP
81 To create an archive that other people can download:
83 .B 0compile publish http://mysite/downloads
85 The will archive the target directory. Upload the resulting tarball to the downloads directory on your web-server.
86 The command will also create an XML file which can be used to download and run this version.
88 .SH CLEAN
90 Deletes the 'build' and distribution directories, if present.
92 .SH AUTOPUBLISH
94 Convenience command, which does "clean, build, publish, clean". On success,
95 this results in a new package archive and a feed file generated from a clean
96 build. On failure, the build directories remain for investigation.
98 .SH COPY-SRC
101 To make changes to the code before compiling:
103 .B 0compile copy-src
105 This copies the source code from the cache into a new "src" subdirectory. Edit to taste and then "build".
107 .SH DIFF
109 To see the differences between the original (cached) source code and the copy in your "src" directory:
111 .B 0compile diff
113 .SH INCLUDE-DEPS
115 To create a self-contained bundle with the source code and build dependencies:
117 .B 0compile include-deps
119 This copies all required items from the Zero Install cache to a new "dependencies" subdirectory. The whole
120 directory tree (including the "dependencies" subdirectory) can then be copied to the build machine. This is
121 useful if the build machine doesn't have network access, and so can't download them itself.
124 Note that this doesn't include the 0compile program itself.
126 .SH GUI
128 To bring up the GTK interface, which offers an newbie-friendly interface to some of the features above:
130 .B 0compile gui
132 .SH REPORT-BUG
134 To send a bug-report about a failed build:
136 .B 0compile report-bug
139 .SH COMMAND-LINE OPTIONS
142 \fB-h\fP, \fB--help\fP
143 Show the built-in help text.
146 \fB-v\fP, \fB--verbose\fP
147 More verbose output. Use twice for even more verbose output.
150 \fB-V\fP, \fB--version\fP
151 Display version information.
153 .SH LICENSE
155 Copyright (C) 2007 Thomas Leonard.
158 You may redistribute copies of this program under the terms of the GNU General Public License.
159 .SH BUGS
161 Please report bugs to the developer mailing list:
163 http://0install.net/support.html
165 .SH AUTHOR
167 The Zero Install Injector was created by Thomas Leonard.
169 .SH SEE ALSO
170 0launch(1), 0store(1)
172 The Zero Install web-site:
174 .B http://0install.net/0compile.html