-
Notifications
You must be signed in to change notification settings - Fork 4
/
0compile.1
170 lines (109 loc) · 4.13 KB
/
0compile.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
.TH 0COMPILE 1 "2009" "Thomas Leonard" ""
.SH NAME
0compile \- create a Zero Install binary package from source
.SH SYNOPSIS
.B 0compile autocompile
[\fB--gui\fP] SOURCE-URI
.B 0compile setup
[\fB--no-prompt\fP] [\fBSOURCE-URI\fP [\fBDIR\fP] ]
.B 0compile build
[\fB--nosandbox\fP ] [\fB--shell\fP]
.B 0compile publish
[\fBDOWNLOAD-BASE-URL\fP]
.B 0compile clean
.B 0compile copy-src
.B 0compile diff
.B 0compile gui
[\fB--no-prompt\fP] [\fBSOURCE-URI\fP]
.B 0compile include-deps
.B 0compile report-bug
.SH DESCRIPTION
.PP
0compile can be used to compile a Zero Install package from its source code.
.SH AUTOCOMPILE
.PP
Download and build the source code for the given program. Also download and build
any missing dependencies, recursively. The resulting binaries will be placed in the
Zero Install implementation cache (just like normal binary downloads). A feed file
describing each new binary is created under $XDG_CONFIG_DIRS/0install.net/0compile/builds/
and registered with Zero Install (using "0launch --feed").
.PP
On error, 0compile will display the name of the temporary directory in which it was
compiling the component which failed. You can cd to this directory and fix the problem
using the other 0compile commands.
.SH SETUP
.PP
To set up a build environment for the GNU Hello World example:
.B 0compile setup http://0install.net/tests/GNU-Hello.xml GNU-Hello
.PP
This downloads the source and any build dependencies into the Zero Install
cache, and creates a new directory called GNU-Hello.
.PP
If the name is "." then it uses the current directory instead of creating a new one.
.SH BUILD
.PP
To compile the code, cd to the directory created by "setup" above, and then:
.B 0compile build
.PP
The resulting package will be in a new gnu-hello-1.3 subdirectory (or whatever version you downloaded).
Temporary build files will be in a new "build" subdirectory. These are kept to make rebuilds faster, but
you can delete them if you don't plan to recompile.
.SH PUBLISH
.PP
To create an archive that other people can download:
.B 0compile publish http://mysite/downloads
The will archive the target directory. Upload the resulting tarball to the downloads directory on your web-server.
The command will also create an XML file which can be used to download and run this version.
.SH CLEAN
Deletes the 'build' and distribution directories, if present.
.SH COPY-SRC
.PP
To make changes to the code before compiling:
.B 0compile copy-src
This copies the source code from the cache into a new "src" subdirectory. Edit to taste and then "build".
.SH DIFF
To see the differences between the original (cached) source code and the copy in your "src" directory:
.B 0compile diff
.SH INCLUDE-DEPS
To create a self-contained bundle with the source code and build dependencies:
.B 0compile include-deps
This copies all required items from the Zero Install cache to a new "dependencies" subdirectory. The whole
directory tree (including the "dependencies" subdirectory) can then be copied to the build machine. This is
useful if the build machine doesn't have network access, and so can't download them itself.
.PP
Note that this doesn't include the 0compile program itself.
.SH GUI
To bring up the GTK interface, which offers an newbie-friendly interface to some of the features above:
.B 0compile gui
Note, if you want a more automatic compile-and-register operation, your probably want this instead:
.B 0compile autocompile --gui URI
.SH REPORT-BUG
To send a bug-report about a failed build:
.B 0compile report-bug
.SH COMMAND-LINE OPTIONS
.TP
\fB-h\fP, \fB--help\fP
Show the built-in help text.
.TP
\fB-v\fP, \fB--verbose\fP
More verbose output. Use twice for even more verbose output.
.TP
\fB-V\fP, \fB--version\fP
Display version information.
.SH LICENSE
.PP
Copyright (C) 2009 Thomas Leonard.
.PP
You may redistribute copies of this program under the terms of the GNU General Public License.
.SH BUGS
.PP
Please report bugs to the developer mailing list:
http://0install.net/support.html
.SH AUTHOR
.PP
The Zero Install Injector was created by Thomas Leonard.
.SH SEE ALSO
0launch(1), 0store(1)
.PP
The Zero Install web-site:
.B http://0install.net/0compile.html