1 .TH 0COMPILE 1 "2009" "Thomas Leonard" ""
3 0compile \- create a Zero Install binary package from source
7 .B 0compile autocompile
8 [\fB--gui\fP] SOURCE-URI
11 [\fB--no-prompt\fP] [\fBSOURCE-URI\fP [\fBDIR\fP] ]
14 [\fB--nosandbox\fP ] [\fB--shell\fP]
17 [\fBDOWNLOAD-BASE-URL\fP]
26 [\fB--no-prompt\fP] [\fBSOURCE-URI\fP]
28 .B 0compile include-deps
30 .B 0compile report-bug
34 0compile can be used to compile a Zero Install package from its source code.
39 Download and build the source code for the given program. Also download and build
40 any missing dependencies, recursively. The resulting binaries will be placed in the
41 Zero Install implementation cache (just like normal binary downloads). A feed file
42 describing each new binary is created under $XDG_CONFIG_DIRS/0install.net/0compile/builds/
43 and registered with Zero Install (using "0launch --feed").
46 On error, 0compile will display the name of the temporary directory in which it was
47 compiling the component which failed. You can cd to this directory and fix the problem
48 using the other 0compile commands.
53 To set up a build environment for the GNU Hello World example:
55 .B 0compile setup http://0install.net/tests/GNU-Hello.xml GNU-Hello
58 This downloads the source and any build dependencies into the Zero Install
59 cache, and creates a new directory called GNU-Hello.
62 If the name is "." then it uses the current directory instead of creating a new one.
67 To compile the code, cd to the directory created by "setup" above, and then:
72 The resulting package will be in a new gnu-hello-1.3 subdirectory (or whatever version you downloaded).
73 Temporary build files will be in a new "build" subdirectory. These are kept to make rebuilds faster, but
74 you can delete them if you don't plan to recompile.
79 To create an archive that other people can download:
81 .B 0compile publish http://mysite/downloads
83 The will archive the target directory. Upload the resulting tarball to the downloads directory on your web-server.
84 The command will also create an XML file which can be used to download and run this version.
88 Deletes the 'build' and distribution directories, if present.
93 To make changes to the code before compiling:
97 This copies the source code from the cache into a new "src" subdirectory. Edit to taste and then "build".
101 To see the differences between the original (cached) source code and the copy in your "src" directory:
107 To create a self-contained bundle with the source code and build dependencies:
109 .B 0compile include-deps
111 This copies all required items from the Zero Install cache to a new "dependencies" subdirectory. The whole
112 directory tree (including the "dependencies" subdirectory) can then be copied to the build machine. This is
113 useful if the build machine doesn't have network access, and so can't download them itself.
116 Note that this doesn't include the 0compile program itself.
120 To bring up the GTK interface, which offers an newbie-friendly interface to some of the features above:
124 Note, if you want a more automatic compile-and-register operation, your probably want this instead:
126 .B 0compile autocompile --gui URI
130 To send a bug-report about a failed build:
132 .B 0compile report-bug
135 .SH COMMAND-LINE OPTIONS
138 \fB-h\fP, \fB--help\fP
139 Show the built-in help text.
142 \fB-v\fP, \fB--verbose\fP
143 More verbose output. Use twice for even more verbose output.
146 \fB-V\fP, \fB--version\fP
147 Display version information.
151 Copyright (C) 2009 Thomas Leonard.
154 You may redistribute copies of this program under the terms of the GNU General Public License.
157 Please report bugs to the developer mailing list:
159 http://0install.net/support.html
163 The Zero Install Injector was created by Thomas Leonard.
166 0launch(1), 0store(1)
168 The Zero Install web-site:
170 .B http://0install.net/0compile.html