core-deps-latest: Pull gtkmm-3 from the gtkmm-3-24 branch
[jhbuild.git] / README
blobc4d8f27e9fcc8b04b5ba1c69328040254ea4541c
1 JHBuild README
2 ================================
4 JHBuild is a tool designed to ease building collections of source
5 packages, called “modules”.
7 JHBuild was originally written for building GNOME, but has since been
8 extended to be usable with other projects.
10 JHBuild requires Python >= 2.3
12 Installing JHBuild
13 -----------
15 Refer to the 'Getting Started' section of the JHBuild manual:
17   yelp /jhbuild-source-dir/doc/C/index.docbook
19 Or refer to the on-line JHBuild manual at:
21   http://library.gnome.org/devel/jhbuild/stable/getting-started.html.en
23 Using JHBuild
24 -------------
26 JHBuild uses a command line syntax similar to tools like CVS:
28   jhbuild [global-options] command [command-arguments]
30 The global JHBuild options are:
32   -f, --file config
33   Use an alternative configuration file instead of the default
34   ~/.config/jhbuildrc.
36   -m, --moduleset moduleset
37   Use a module set other than the module set listed in the
38   configuration file. This option can be a relative path if the module
39   set is located in the JHBuild moduleset folder, or an absolute path
40   if located elsewhere.
42   --no-interact
43   Do not prompt the user for any input. This option is useful if
44   leaving a build unattended, in order to ensure the build is not
45   interrupted.
47 Refer to the JHBuild manual for a complete list of JHBuild commands
48 and options. The common ones are:
50 jhbuild bootstrap
52   The bootstrap command installs a set of build utilities. The build
53   utilities include autoconf , automake and similar utilities. The
54   recommended method to install the build utilities is via your
55   distribution's package management system. The bootstrap should only be
56   used if the build utilites are not provided by your distribution's package
57   management system, for example on Mac OS.
59 jhbuild build [--autogen] [--clean] [--dist] [--distcheck]
60   [--ignore-suggests] [--no-network] [--skip=module...]
61   [--start-at=module] [--tags=tags] [-D date] [--no-xvfb]
62   [--try-checkout] [--no-poison] [--force] [--build-optional-modules]
63   [--min-age=time] [module...]
65   The build command builds one or more packages, including their
66   dependencies.
68   If no module names are provided on the command line, the modules
69   list from the configuration file will be used.
71   -a, --autogen
72   Always run autogen.sh before building modules. By default,
73   autogen.sh will only be called if the top-level makefile is
74   missing. Otherwise, JHBuild relies on the package's makefiles to
75   detect if configure needs to be rebuilt or rerun.
77   -c, --clean
78   Run make clean before building modules.
80   -d, --dist
81   Run make dist after building modules.
83   --distcheck
84   Run make distcheck after building modules.
86   --ignore-suggests
87   Do not build soft dependencies.
89   -n, --no-network
90   Do not access the network when building modules. This will skip
91   download or update stages in a build. If a module can't be built
92   without network access, the module build will fail.
94   -s, --skip=module,...
95   Do not build the listed modules. Used to skip the building of
96   specified dependencies.
98   --tags=tag,...
99   Ignore modules that do not match tag. Modules are automatically
100   attributed a tag matching the name of the module's module set.
102   -t, --start-at=module
103   Start at the named module rather than at the beginning of the
104   list. This option is useful if the build was interrupted.
106   -D date
107   If supported by the underlying version control system, update the
108   source tree to the specified date before building. An ISO date
109   format is required, e.g. "2009-09-18 02:32Z".
111   -x, --no-xvfb
112   Run graphical tests on the actual X server rather than in a
113   simulated Xvfb.
115   -C, --try-checkout
116   If the build fails, and if supported by the version control system,
117   force a checkout and run autogen.sh before retrying the build.
119   -N, --no-poison
120   If one or more of a module's dependencies failed, this option forces
121   JHBuild to try to build the module anyway.
123   -f, --force
124   Build the modules even if policy states it is not required.
126   --build-optional-modules
127   Modules listed as optional dependencies, may not be required to
128   build the module. This option forces JHBuild to build optional
129   dependencies.
131   --min-age=time
132   Skip modules installed more recently than the specified relative
133   time. The time string format is a number followed by a unit. The
134   following units are supported: seconds (s), minutes (m), hours (h)
135   and days (d). For example, --min-age=2h will skip modules built
136   less than two hours ago.
138 jhbuild buildone [--autogen] [--clean] [--distcheck] [--no-network]
139   [-D date] [--no-xvfb] [--force] [--min-age=time] module...
141   The buildone command is similar to build, but it does not build the
142   dependent modules. It is useful for rebuilding one or more modules.
144 jhbuild sanitycheck
146   The sanitycheck command performs a number of checks to verify the
147   build environment is okay.
149 For details of all jbhuild's command line options:
150   jhbuild --help
152 Reporting Bugs
153 --------------
155 If you find any bugs in JHBuild, or have feature requests (or
156 implementations :), please file them in bugzilla at:
158   http://bugzilla.gnome.org/enter_bug.cgi?product=jhbuild
160 This will ensure your request is not lost.