You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
727 lines
29 KiB
727 lines
29 KiB
<html> |
|
<head> |
|
<!-- |
|
Documentation written by Michael Pyne. |
|
--> |
|
<title>kdesvn-build Documentation</title> |
|
<link rel="stylesheet" type="text/css" href="sitecss.css" |
|
</head> |
|
<body> |
|
<div> |
|
<div class="header">kdesvn-build Reference</div> |
|
|
|
You should always be able to find the latest version of this file at |
|
<a href="http://grammarian.homelinux.net/kdesvn-build/">http://grammarian.homelinux.net/kdesvn-build/</a> |
|
<ol> |
|
<li><a href="#intro">Introduction</a></li> |
|
<li><a href="#features">Features</a></li> |
|
<li><a href="#.kdesvn-buildrc">Configuration File</a></li> |
|
<li><a href="#options">Configuration File Options</a></li> |
|
<li><a href="#cmdline">Command-line Options</a></li> |
|
<li><a href="#envvars">Environment Variables Used</a></li> |
|
</ol> |
|
|
|
<a name="intro"></a> |
|
<h3>Introduction</h3> |
|
<p>kdesvn-build is a Perl script to help users install <a |
|
href="http://www.kde.org/">KDE</a> from <a |
|
href="http://subversion.tigris.org/">Subversion</A>. You may also want to |
|
consider the kde-build script include with KDE's kdesdk module.</p> |
|
|
|
<p id="emailaddy">It is authored by Michael Pyne (mpyne (AT) grammarian (DOT) homelinux |
|
(DOT) net).</p> |
|
|
|
<hr> |
|
<a name="features"></a> |
|
<h3>Features</h3> |
|
<p>Features that I can think of off the top of my head: |
|
<ul> |
|
|
|
<li>Automatically checks out or updates modules from Subversion, as |
|
appropriate.</li> |
|
|
|
<li><strike>Support for checking out specific branches of Subversion |
|
modules.</strike> This work still needs to be completed.</li> |
|
|
|
<li>Times the build process for modules.</li> |
|
|
|
<li>Will automatically try to rebuild modules that were using incremental |
|
make, which is prone to failure after certain kinds of commits.</li> |
|
|
|
<li>Can resume a previous script, or start the build process from a particular |
|
module.</li> |
|
|
|
<li>Comes built-in with a sane set of default options appropriate for building |
|
a base KDE single-user installation from the anonymous Subversion repository. |
|
</li> |
|
|
|
<li><A href="http://www.kde.me.uk/index.php?page=unsermake">Unsermake</A> |
|
support.</li> |
|
|
|
<li>Tilde-expansion for your configuration options. For example, you can |
|
specify: <pre>qtdir ~/kdesvn/build/qt-copy</pre></li> |
|
|
|
<li>Configurable build, source, and logging directories</li> |
|
|
|
<li>Automatically sets up a build system, with the source directory not the |
|
same as the build directory, in order to keep the source directory |
|
pristine. The exception is qt-copy, which isn't designed to be built like |
|
that (unless you'd like to test <a |
|
href="#conf-use-qt-builddir-hack">use-qt-builddir-hack</a>).</li> |
|
|
|
<li>You can specify global options to apply to every module to check out, and |
|
you can specify options to apply to individual modules as well.</li> |
|
|
|
<li>Since the autotools sometimes get out of sync with changes to the |
|
source tree, you can force a rebuild of a module by creating a file called |
|
.refresh-me in the build directory of the module in question, or by running |
|
kdesvn-build with the --refresh-build option.</li> |
|
|
|
<li>You can specify various environment values to be used during the build, |
|
including KDEDIR, QTDIR, DO_NOT_COMPILE, and CXXFLAGS.</li> |
|
|
|
<li>Command logging. Logs are dated and numbered so that you always have a |
|
log of a script run. Also, a special symlink called latest is created to |
|
always point to the most recent log entry in the log directory.</li> |
|
|
|
<li>If you're using a user build of KDE instead of a system build (for which |
|
you must be root to install), you can use the script to install for you. I |
|
haven't audited this code, and it makes ample use of the <code>system()</code> |
|
call, so I would not recommend running it as root at this point.</li> |
|
|
|
<li>You can use <a href="#conf-make-install-prefix">make-install-prefix</a> to |
|
prefix the make install command line with a separate command, which is useful |
|
for sudo.</li> |
|
|
|
<li>You can use the <a href="#conf-apidox">apidox</a> option to automatically |
|
build and install the API documentation for some modules.</li> |
|
|
|
<li>You can check out only a portion of a KDE Subversion module. For example, |
|
you could check out only taglib from kdesupport, or only K3B from |
|
extragear/multimedia. The script will automatically pull in kde-common if |
|
necessary to make the build work.</li> |
|
|
|
<li>You can "pretend" to do the operations. If you pass --pretend or -p on the |
|
command line, the script will give a very verbose description of the commands |
|
it is about to execute, without actually executing it.</li> |
|
|
|
</ul></p> |
|
<p>Things that kdesvn-build does NOT do: |
|
<ul> |
|
<li>Find the fastest KDE Subversion mirror. There isn't even a list shipped |
|
with the script at this point, although the default server should work |
|
fine.</li> |
|
<li>Brush your teeth. You should remember to do that yourself.</li> |
|
<li>The script probably isn't bug-free. Sorry.</li> |
|
</ul> |
|
</p> |
|
|
|
<hr> |
|
<a name=".kdesvn-buildrc"></a> |
|
<h3>Format of .kdesvn-buildrc</h3> |
|
<p>To use the script, you must have a file in your home directory called |
|
.kdesvn-buildrc, which describes the modules you'd like to download and |
|
build.</p> |
|
<p>It starts with the global options, specified like the following:</p> |
|
<code>global<br/> |
|
<i>option-name option-value</i><br/> |
|
<i>[...]</i><br/> |
|
end global |
|
</code> |
|
<p>It is then followed by one or more module sections, specified like the |
|
following:</p> |
|
<code>module <i>module-name</i><br/> |
|
<i>option-name option-value</i><br/> |
|
<i>[...]</i><br/> |
|
end module |
|
</code> |
|
<p><i>module-name</i> must be a module from the KDE Subversion repository (for |
|
example, kdelibs or kdebase). Some options override global options, some |
|
add to global options, and some global options simply can't be overridden. |
|
</p> |
|
|
|
<p>The following is an alphabetized list of options you can use. Click on the |
|
option to find out more about it. If one is not documented, please e-mail me |
|
using the address you can find <a href="#emailaddy">above</a>. |
|
|
|
<ul> |
|
<li><a href="#conf-apidox">apidox</a></li> |
|
<li><a href="#conf-apply-qt-patches">apply-qt-patches</a></li> |
|
<li><a href="#conf-binpath">binpath</a></li> |
|
<li><a href="#conf-build-dir">build-dir</a></li> |
|
<li><a href="#conf-build-system-only">build-system-only</a></li> |
|
<li><a href="#conf-checkout-only">checkout-only</a></li> |
|
<li><a href="#conf-colorful-output">colorful-output</a></li> |
|
<li><a href="#conf-configure-flags">configure-flags</a></li> |
|
<li><a href="#conf-cxxflags">cxxflags</a></li> |
|
<li><a href="#conf-debug">debug</a></li> |
|
<li><a href="#conf-disable-build-list">disable-build-list</a></li> |
|
<li><a href="#conf-do-not-compile">do-not-compile</a></li> |
|
<li><a href="#conf-inst-apps">inst-apps</a></li> |
|
<li><a href="#conf-install-after-build">install-after-build</a></li> |
|
<li><a href="#conf-kdedir">kdedir</a></li> |
|
<li><a href="#conf-libpath">libpath</a></li> |
|
<li><a href="#conf-lockfile">lockfile</a></li> |
|
<li><a href="#conf-make-install-prefix">make-install-prefix</a></li> |
|
<li><a href="#conf-make-options">make-options</a></li> |
|
<li><a href="#conf-manual-build">manual-build</a></li> |
|
<li><a href="#conf-manual-update">manual-update</a></li> |
|
<li><a href="#conf-module-base-path">module-base-path</a></li> |
|
<li><a href="#conf-niceness">niceness</a></li> |
|
<li><a href="#conf-no-rebuild-on-fail">no-rebuild-on-fail</a></li> |
|
<li><a href="#conf-no-svn">no-svn</a></li> |
|
<li><a href="#conf-pretend">pretend</a></li> |
|
<li><a href="#conf-qtdir">qtdir</a></li> |
|
<li><a href="#conf-reconfigure">reconfigure</a></li> |
|
<li><a href="#conf-recreate-configure">recreate-configure</a></li> |
|
<li><a href="#conf-refresh-build">refresh-build</a></li> |
|
<li><a href="#conf-set-env">set-env</a></li> |
|
<li><a href="#conf-source-dir">source-dir</a></li> |
|
<li><a href="#conf-stop-on-failure">stop-on-failure</a></li> |
|
<li><a href="#conf-svn-server">svn-server</a></li> |
|
<li><a href="#conf-use-qt-builddir-hack">use-qt-builddir-hack</a></li> |
|
<li><a href="#conf-use-unsermake">use-unsermake</a></li> |
|
</ul> |
|
|
|
</p> |
|
|
|
<hr> |
|
<a name="options"></a> |
|
<h3>Configuration file Options</h3> |
|
|
|
<p>Here is a table of the various options, and some comments on them. Any |
|
option which overrides the global option will override a command line setting |
|
as well.</p> |
|
|
|
<table border="1" cellspacing="0" cellpadding="2"> |
|
<tr align="center" style="font-style: italic;"> |
|
<td valign="top">Option-name</td> |
|
<td valign="top">Module -> Global Behavior</td> |
|
<td>Notes</td> |
|
</tr> |
|
|
|
<tr id="conf-apidox"> |
|
<td valign="top">apidox</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set this option to 'true' in order to have kdesvn-build automatically |
|
build and install the API documentation for the module after the normal build/install |
|
process. This only works for modules where 'make apidox' does something, |
|
including kdelibs, kdebase, and koffice, among others. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-apply-qt-patches"> |
|
<td valign="top">apply-qt-patches</td> |
|
<td valign="top">Overrides global</td> |
|
<td>This option is only useful for qt-copy. If it is set to a non-zero value, |
|
then the apply-patches script in qt-copy will be run prior to building, in |
|
order to apply the non-official patches to the qt-copy. Since these patches |
|
are normally the reason for using qt-copy instead of a stock Qt, it shouldn't |
|
do any harm to enable it. The default is to enable the patches.</td> |
|
</tr> |
|
|
|
<tr id="conf-binpath"> |
|
<td valign="top">binpath</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td><p>Set this option to set the environment variable PATH while building. |
|
You can't override this setting in a module option. The default value is |
|
<tt>/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin</tt>. This environment |
|
variable should include the colon-separated paths of your development |
|
toolchain. The paths $KDEDIR/bin and $QTDIR/bin are automatically added. You |
|
may use the tilde (~) for any paths you add using this option.</p> |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-build-dir"> |
|
<td valign="top">build-dir</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Use this option to change the directory to contain the built sources. There |
|
are three different ways to use it: |
|
<ul> |
|
|
|
<li><p>Relative to the KDE Subversion source directory (see <a |
|
href="#conf-source-dir">the sourced-dir option</a>). This is the default, and |
|
the way the script worked up to version v0.61. This mode is selected if you |
|
type a directory name that doesn't start with a tilde (~) or a slash (/).</p> |
|
<p>The default value is <b>build</b>.</p></li> |
|
|
|
<li>Absolute path. If you specify a path that begins with a /, then that path |
|
is used directly. For example, <i>/tmp/kde-obj-dir/</i>.</li> |
|
|
|
<li>Relative to your home directory. If you specify a path that begins with a |
|
~, then the path is used relative to your home directory, analogous to the |
|
shell's tilde-expansion. For example, <i>~/builddir</i> would set the build |
|
directory to <i>/home/mpyne/builddir</i> on my system.</li> |
|
|
|
</ul> |
|
|
|
Perhaps surprisingly, this option can be changed per module. |
|
|
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-build-system-only"> |
|
<td valign="top">build-system-only</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set this option to only create the build system for this module. What that |
|
means is that the <code>make -f Makefile.cvs</code> command will be run, and |
|
the configure script will be created (but not run), and make will not be run. |
|
This option is exactly equivalent to the <a |
|
href="#cmdline-build-system-only">--build-system-only</a> command line option. |
|
This command is useful for checking what configure-flags each module supports |
|
so you can change your ~/.kdesvn-buildrc. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-checkout-only"> |
|
<td valign="top">checkout-only</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set this option to checkout Subversion sources piece by piece. The value |
|
for this option should be a space separated list of directories to checkout. |
|
If you don't include the admin directory, it will automatically be included (if |
|
necessary). When checking out piece by piece, the admin directory will be |
|
pulled in from kde-common, which is where it exists on the Subversion server. |
|
Although this option overrides the global option, be aware that setting this as |
|
a global option makes no sense. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-configure-flags"> |
|
<td valign="top">configure-flags</td> |
|
<td valign="top">Appends to global option<br/>(except for qt-copy)</td> |
|
<td>Use this option to specify what flags to pass to ./configure when creating |
|
the build system for the module. When this is used as a global-option, it is |
|
applied to all modules that this script builds. qt-copy uses a much different |
|
set of configure options than the rest of KDE, so this option |
|
<em>overrides</em> the global settings when applied to qt-copy.</td> |
|
</tr> |
|
|
|
<tr id="conf-colorful-output"> |
|
<td valign="top">colorful-output</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td>Set this option to false to disable the colorful output of kdesvn-build. |
|
This option defaults to 'true'. Note that kdesvn-build won't output the |
|
color codes to anything but a terminal (such as xterm, Konsole, or the normal |
|
Linux console). |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-cxxflags"> |
|
<td valign="top">cxxflags</td> |
|
<td valign="top">Appends to global option</td> |
|
<td>Use this option to specify what flags to pass to ./configure as the |
|
CXXFLAGS when creating the build system for the module. This option is |
|
specified here instead of with <a |
|
href="#conf-configure-flags">configure-flags</a> because this option will also |
|
set the environment variable CXXFLAGS during the build process. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-debug"> |
|
<td valign="top">debug</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td>This option enables the script's debug mode. At this point, all this |
|
switch does is disable logging to files, instead dumping all output to |
|
stdout. You should use the <a href="#cmdline-debug">--debug</a> command line |
|
option instead, this option only exists to implement it internally. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-disable-build-list"> |
|
<td valign="top">disable-build-list</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td>Normally kdesvn-build will write out the list of modules that were |
|
successfully built to a file under the source directory called |
|
'successfully-built'. If you set this option to 0, kdesvn-build will skip |
|
writing out the file. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-do-not-compile"> |
|
<td valign="top">do-not-compile</td> |
|
<td valign="top">Overrides global</td> |
|
<td><p>Use this option to set the DO_NOT_COMPILE environment variable prior to |
|
running the configure script. According to the <A |
|
href="http://developer.kde.org/documentation/other/developer-faq.html">KDE |
|
Developer FAQ</A>, this should cause any toplevel directory you pass to not be |
|
built. The directories should be space-separated.</p> |
|
|
|
<p>Note that the sources to the programs will still be downloaded. You can use |
|
the <a href="#conf-checkout-only" class="conf-option">checkout-only</a> |
|
directive to choose directories that you want to check out.</p> |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-inst-apps"> |
|
<td valign="top">inst-apps</td> |
|
<td valign="top">Overrides global</td> |
|
<td><p>This is the opposite of the <a |
|
href="#conf-do-not-compile">do-not-compile</a> option. This option makes it |
|
so that only the given toplevel directories are built. The directories should |
|
be space-separated.</p> |
|
|
|
<p>Any changes don't take effect until the next time make -f Makefile.cvs is |
|
run, either automatically by the script, or manually by the <a |
|
href="#cmdline-refresh-build">--refresh-build</a> or <a |
|
href="#cmdline-recreate-configure">--recreate-configure</a> options. |
|
</p> |
|
|
|
<p>Note that the sources to the programs will still be downloaded. You can use |
|
the <a href="#conf-checkout-only" class="conf-option">checkout-only</a> |
|
directive to choose directories that you want to check out.</p> |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-install-after-build"> |
|
<td valign="top">install-after-build</td> |
|
<td valign="top">Overrides global</td> |
|
<td>This option is used to install the package after it successfully builds. |
|
This option is enabled by default. If you want to disable this, you need to |
|
set this option to 0 in the configuration file. You can also use the |
|
<a href="#cmdline-no-install">--no-install</a> command line flag. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-kdedir"> |
|
<td valign="top">kdedir</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td>This option sets the directory that KDE will be installed to after it is |
|
built. It defaults to <tt>~/kde</tt>. If you change this to a directory |
|
needing root access, you may want to read about the <a |
|
href="#conf-make-install-prefix">make-install-prefix</a> option as well.</td> |
|
</tr> |
|
|
|
<tr id="conf-libpath"> |
|
<td valign="top">libpath</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td>Set this option to set the environment variable LD_LIBRARY_PATH while |
|
building. You can't override this setting in a module option. The default |
|
value is blank, but the paths $KDEDIR/lib and $QTDIR/lib are automatically |
|
added. You may use the tilde (~) for any paths you add using this option. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-lockfile"> |
|
<td valign="top">lockfile</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td> |
|
<p>The path of a file to use for script locking, to prevent parallel execution. |
|
If you don't specify this value, the default is ~/.kdesvn-lock</p> |
|
|
|
<p>If the script is unable to create this file, it will abort.</p> |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-log-dir"> |
|
<td valign="top">log-dir</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Use this option to change the directory used to hold the log files |
|
generated by the script. This setting can be set on a per-module basis as of |
|
version 0.64. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-make-install-prefix"> |
|
<td valign="top">make-install-prefix</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set this variable to a space-separated list, which is interpreted as a |
|
command and its options to precede the make install command used to install |
|
modules. This is useful for installing packages with sudo for example, but |
|
please be careful while dealing with root privileges.</td> |
|
</tr> |
|
|
|
<tr id="conf-make-options"> |
|
<td valign="top">make-options</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set this variable in order to pass command line options to the make |
|
command. This is useful for programs such as <a |
|
href="http://distcc.samba.org/">distcc</a>. distcc allows you to share your |
|
compilation work among more than one computer. To use it, you must use the -j |
|
option to make. Now you can. According to the docs, 2 * |
|
number_of_network_cpus is recommended. I have 1 CPU total, so it would be |
|
-j2 in my case.</td> |
|
</tr> |
|
|
|
<tr id="conf-manual-build"> |
|
<td valign="top">manual-build</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set the option value to 'true' to keep the build process from attempting to |
|
build this module. It will still be kept up-to-date when updating from Subversion. |
|
This option is exactly equivalent to the <a |
|
href="#cmdline-no-build">--no-build</a> command line option. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-manual-update"> |
|
<td valign="top">manual-update</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set the option value to 'true' to keep the build process from attempting to |
|
update (and by extension, build or install) this module. If you set this |
|
option for a module, then you have pretty much commented it out. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-module-base-path"> |
|
<td valign="top">module-base-path</td> |
|
<td valign="top">Overrides global</td> |
|
<td><p>Set this option to override kdesvn-build's default directory path to the |
|
module in question. This can be used, for example, to pull specific branches |
|
or tagged versions of libraries. <a href="http://websvn.kde.org/">The KDE |
|
Source Viewer</a> is invaluable in helping to pick the right path.</p> |
|
<p>Note that kdesvn-build constructs the final path according to the |
|
following template: $svn-server/home/kde/$module-base-path/$module-name.</p> |
|
<p>The default value is either 'trunk' or 'trunk/KDE', depending on the |
|
modulename.</p> |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-niceness"> |
|
<td valign="top">niceness</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td>Set this option to a number between 20 and 0. The higher the number, the |
|
lower a priority kdesvn-build will set for itself. The default is 10. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-no-rebuild-on-fail"> |
|
<td valign="top">no-rebuild-on-fail</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set this option value to 'true' to always prevent kdesvn-build from trying |
|
to rebuild this module if it should fail an incremental build. Normally |
|
kdesvn-build will try to rebuild the module from scratch to counteract the |
|
effect of a stray Subversion update messing up the build system.</td> |
|
</tr> |
|
|
|
<tr id="conf-no-svn"> |
|
<td valign="top">no-svn</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set this option value to 'true' to prevent Subversion updates for the module. |
|
This option is exactly equivalent to the <a href="#cmdline-no-svn">--no-svn</a> |
|
command line option. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-pretend"> |
|
<td valign="top">pretend</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td>Set the option value to 'true' in order to "fake" the update/build or |
|
install process. This setting results in verbose output, and is exactly |
|
equivalent to the <a href="#cmdline-pretend">--pretend</a> command line option. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-qtdir"> |
|
<td valign="top">qtdir</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td>Set this option to set the environment variable QTDIR while building. |
|
You can't override this setting in a module option. If you don't specify |
|
this option, it defaults to $(source-dir)/build/qt-copy, which uses the |
|
qt-copy module included in the KDE source repository. |
|
You may use a tilde (~) to represent your home directory. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-recreate-configure"> |
|
<td valign="top">recreate-configure</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Use this option to re-run make -f Makefile.cvs and then reconfigure the |
|
module before building. Note that setting this option in the configuration |
|
file isn't a great idea, use <a |
|
href="#cmdline-recreate-configure">--recreate-configure</a> on the command line |
|
instead. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-reconfigure"> |
|
<td valign="top">reconfigure</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Use this option to reconfigure the module before building. Note that |
|
setting this option in the configuration file isn't a great idea, use |
|
<a href="#cmdline-reconfigure">--reconfigure</a> on the command line instead. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-refresh-build"> |
|
<td valign="top">refresh-build</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set this option value to 'true' to cause the build system for this module |
|
to start from scratch every time the script is run. This option is exactly |
|
equivalent to the <a href="#cmdline-refresh-build">--refresh-build</a> command |
|
line option. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-set-env"> |
|
<td valign="top">set-env</td> |
|
<td valign="top">Overrides global</td> |
|
<td><p>This option accepts a space-separated set of values, where the first value |
|
is the environment variable to set, and the rest of the values is what you |
|
want the variable set to. For example, to set the variable RONALD to |
|
McDonald, you would put in the appropriate section this command:</p> |
|
<pre>set-env RONALD McDonald</pre> |
|
<p>This option is special in that it can be repeated without overriding |
|
earlier set-env settings in the same section of the configuration file. This |
|
way you can set more than one environment variable per module (or |
|
globally).</p> |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-source-dir"> |
|
<td valign="top">source-dir</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td>This option is used to set the directory on your computer to store the KDE |
|
Subversion sources at. If you don't specify this value, the default is ~/kdesvn. If |
|
you do specify this value, use an absolute path name.</a>. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-svn-server"> |
|
<td valign="top">svn-server</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td>This option is used to set the server used to check out from Subversion. |
|
The default is the anonymous Subversion repository, <a |
|
href="https://anonsvn.kde.org/">https://anonsvn.kde.org/</a></td> |
|
</tr> |
|
|
|
<tr id="conf-stop-on-failure"> |
|
<td valign="top">stop-on-failure</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set this option value to 'true' to cause the script to stop execution |
|
after an error occurs during the build or install process. This option is off |
|
by default. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-use-qt-builddir-hack"> |
|
<td valign="top">use-qt-builddir-hack</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Although this option overrides the global option, it only makes sense for |
|
qt-copy. Set this option to 'true' to enable the script's <em>experimental</em> |
|
srcdir != builddir mode. When enabled, kdesvn-build will copy the qt-copy source |
|
module to the build directory, and perform builds from there. That means your |
|
QTDIR environment variable should be set to $(qt-copy-build-dir)/qt-copy/lib |
|
instead. You should also change your <a href="#conf-qtdir">qtdir</a> option |
|
accordingly.<br/><br/> |
|
Incremental make should still work in this mode, as the timestamps will be |
|
preserved after the copy. If you use the <a |
|
href="#conf-apply-qt-patches">apply-qt-patches</a> option, the patches will be |
|
applied in the build directory, not the source directory.<br><br/> |
|
This option defaults to 'true'. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-use-unsermake"> |
|
<td valign="top">use-unsermake</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set this option to a non-zero value in order to use the experimental |
|
unsermake program instead of automake when running the configure script. This |
|
can lead to some serious decreases in build time, especially for <A |
|
href="http://www.csh.rit.edu/slashdot/distcc.html">distributed building |
|
systems</A>. This option defaults to 'true' (for most modules).</td> |
|
</tr> |
|
|
|
</table> |
|
|
|
<hr> |
|
|
|
<a name="cmdline"></a> |
|
<h3>Command-line options</h3> |
|
<p>The script accepts the following command-line options: |
|
<ul> |
|
|
|
<li id="cmdline-help">--help, which displays simple help on this script.</li> |
|
|
|
<li id="cmdline-version">--version, display the program version.</li> |
|
|
|
<li id="cmdline-author">--author, display contact information for the |
|
author.</li> |
|
|
|
<li id="cmdline-color">--color, enable colorful output.</li> |
|
|
|
<li id="cmdline-no-color">--no-color, disable colorful output.</li> |
|
|
|
<li id="cmdline-pretend">--pretend (or -p), don't actually DO anything, but |
|
act like you did.</li> |
|
|
|
<li id="cmdline-svn-only">--svn-only, Only perform the source update.</li> |
|
|
|
<li id="cmdline-build-only">--build-only, Only perform the build process.</li> |
|
|
|
<li id="cmdline-ignore-modules">--ignore-modules, Don't including the modules |
|
passed on the rest of the command line in the update/build process.</li> |
|
|
|
<li id="cmdline-no-svn">--no-svn, Skip contacting the Subversion server.</li> |
|
|
|
<li id="cmdline-no-build">--no-build, Skip the build process.</li> |
|
|
|
<li id="cmdline-no-install">--no-install, Don't automatically install packages |
|
after they're built.</li> |
|
|
|
<li id="cmdline-debug">--debug, Enables debug mode for the script. Currently |
|
this means that all output will be dumped to STDOUT in addition to being |
|
logged in the log directory like normal. Also, many functions are much more |
|
verbose about what they're doing in debugging mode.</li> |
|
|
|
<li id="cmdline-no-rebuild-on-fail">--no-rebuild-on-fail, Don't try and |
|
rebuild modules that have failed building from scratch. kdesvn-build will |
|
never try to do this to a module that already was tried to be built from |
|
scratch. |
|
|
|
<li id="cmdline-refresh-build">--refresh-build, Recreate the build system and |
|
make from scratch.</li> |
|
|
|
<li id="cmdline-reconfigure">--reconfigure, Run the configure script again |
|
without cleaning the build directory.</li> |
|
|
|
<li id="cmdline-recreate-configure">--recreate-configure, Run <code>make -f |
|
Makefile.cvs</code> again to create the configure script, and continue |
|
building as normal. This option implies --reconfigure.</li> |
|
|
|
<li id="cmdline-resume">--resume, which tries to continue building from where |
|
the script stopped last time. The script starts building the module after the |
|
last module to be compiled last time the script was run, whether or not it |
|
succeeded. This option implies <a href="#cmdline-no-svn">--no-svn</a>. You |
|
should not specify other module names on the command line.</li> |
|
|
|
<li id="cmdline-resume-from">--resume-from, which is like <a |
|
href="#cmdline-resume">--resume</a>, except that you supply the module to |
|
start building from as the next parameter on the command line. This option |
|
implies <a href="#cmdline-no-svn">--no-svn</a>. You should not specify |
|
other module names on the command line.</li> |
|
|
|
<li id="cmdline-rc-file">--rc-file, which interprets the next command line |
|
parameter as the file to read the configuration options from. The default |
|
value for this parameter is ~/.kdesvn-buildrc.</li> |
|
|
|
<li id="cmdline-prefix">--prefix=</path/to/kde>, which allows you to |
|
change the directory that KDE will be installed to from the command line. |
|
This option implies <a href="#cmdline-reconfigure">--reconfigure</a>.</li> |
|
|
|
<li id="cmdline-build-system-only">--build-system-only, Stop after runnning |
|
make -f Makefile.cvs. The configure script will still need to be run, which |
|
kdesvn-build will do next time. This lets you prepare all the configure |
|
scripts at once so you can view the ./configure --help for each module, and |
|
edit your configure-flags accordingly.</li> |
|
|
|
<li id="cmdline-install">--install, If this is the only command-line option, |
|
it tries to install all of the modules contained in successfully-built, except |
|
for qt-copy, which doesn't need installation. If command-line options are |
|
specified after --install, they are all assumed to be modules to install. |
|
</li> |
|
|
|
Any other command-line options are assumed to be modules to update and build. |
|
Don't mix building with installing.</li> |
|
</ul> |
|
</p> |
|
|
|
<hr> |
|
<a name="envvars"></a> |
|
<h3>Environment Variables</h3> |
|
This script doesn't use environment variables. If you need to set environment |
|
variables for the build or install process, please see the <a |
|
href="#conf-set-env">set-env</a> option. |
|
</div> |
|
|
|
<div class="lastupdate">Last modified: Wed May 11 20:39:55 2005</div> |
|
</body> |
|
</html>
|
|
|