annotate README @ 6512:ccc20ae889ca default tip guix

mingw::guile-2.0.7 builds.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Thu, 24 Mar 2016 08:03:39 +0100
parents 75ec1d90de17
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
1 GUB the Grand Unified Builder
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
2
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
3 Home
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
4 Basics
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
5 Applications
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
6 History
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
7 Links
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
8
4616
19096b0c252b web/index.html: add WIP webpage based on README. Regenerate README.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3685
diff changeset
9 GUB -- Grand Unified Builder
1149
1f7cdc36004e add README
hanwen <hanwen@xs4all.nl>
parents:
diff changeset
10
1f7cdc36004e add README
hanwen <hanwen@xs4all.nl>
parents:
diff changeset
11 WHAT IS GUB
1f7cdc36004e add README
hanwen <hanwen@xs4all.nl>
parents:
diff changeset
12
4792
10757b5bd177 Hysterical doco update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4789
diff changeset
13 Grand Unified Builder (GUB, http://lilypond.org/gub) is a mini source-based
5219
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
14 distribution and packaging system. It cross-compiles several packages with
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
15 their dependencies and assembles them into a single installation package.
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
16
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
17 GUB aims at correctness ie, be dependable and reproducible, while avoiding
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
18 gratituous rebuilds. It was originally developed for turnkey building of all
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
19 LilyPond binary installers. Currently, GUB supports GNU/Linux, FreeBSD, MacOS-X
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
20 and Microsoft Windows installation packages. All packages are fully relocatable
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
21 and can be installed with user privileges.
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
22
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
23 GUB uses plain Python classes to describe package build specifics. For
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
24 reasonably well behaved packages, individual build specifications can stay very
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
25 simple by extending the generic build specification classes.
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
26
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
27 USAGE
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
28
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
29 Run these programs with --help argument for instructions
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
30
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
31 bin/gpkg - Gub Package Manager
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
32 bin/gub - the Gub Universal Builder
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
33 bin/gib - Gub (platform dependent) Installer Builder
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
34 bin/gub-tester - build tester; integrates with
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
35 Bazaar,CVS,Darcs,Git,SVN and gub
5627
900c579142f4 Refactor optparse.epilog and add examples to gupdate.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5623
diff changeset
36 bin/gupdate - check for and show or update new upstream releases
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
37 bin/cygwin-packager - roll cygwin package
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
38
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
39 BUGS
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
40
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
41 Send bug reports and patches to lilypond-devel@gnu.org.
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
42
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
43 Supported installer packages
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
44
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
45 GNU Denemo
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
46 Inkscape
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
47 GNU LilyPond
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
48 OpenOffice.org
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
49 with all essential dependencies. Currently, 207 package build specifications
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
50 are included in GUB.
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
51
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
52 Supported installer platforms
1149
1f7cdc36004e add README
hanwen <hanwen@xs4all.nl>
parents:
diff changeset
53
1602
adc6f831a816 remove debugging gobs.
hanwen <hanwen@lilypond.org>
parents: 1544
diff changeset
54 darwin-ppc
adc6f831a816 remove debugging gobs.
hanwen <hanwen@lilypond.org>
parents: 1544
diff changeset
55 tar.bz2 file for Darwin 7 (MacOS 10.3)/PowerPC
adc6f831a816 remove debugging gobs.
hanwen <hanwen@lilypond.org>
parents: 1544
diff changeset
56
adc6f831a816 remove debugging gobs.
hanwen <hanwen@lilypond.org>
parents: 1544
diff changeset
57 darwin-x86
adc6f831a816 remove debugging gobs.
hanwen <hanwen@lilypond.org>
parents: 1544
diff changeset
58 tar.bz2 file for Darwin 8 (MacOS 10.4)/x86
1149
1f7cdc36004e add README
hanwen <hanwen@xs4all.nl>
parents:
diff changeset
59
1f7cdc36004e add README
hanwen <hanwen@xs4all.nl>
parents:
diff changeset
60 mingw
1474
4f780db3347e remove wine requirements.
hanwen <hanwen@lilypond.org>
parents: 1473
diff changeset
61 mingw executable for Windows32
1149
1f7cdc36004e add README
hanwen <hanwen@xs4all.nl>
parents:
diff changeset
62
2732
1f5239b9ccea update README for new features.
hanwen <hanwen@lilypond.org>
parents: 2040
diff changeset
63 linux-x86
1149
1f7cdc36004e add README
hanwen <hanwen@xs4all.nl>
parents:
diff changeset
64 shar archive for Linux/x86
1f7cdc36004e add README
hanwen <hanwen@xs4all.nl>
parents:
diff changeset
65
2732
1f5239b9ccea update README for new features.
hanwen <hanwen@lilypond.org>
parents: 2040
diff changeset
66 linux-64
1f5239b9ccea update README for new features.
hanwen <hanwen@lilypond.org>
parents: 2040
diff changeset
67 shar archive for Linux/x86_64
1f5239b9ccea update README for new features.
hanwen <hanwen@lilypond.org>
parents: 2040
diff changeset
68
3094
6f8b7fd6a227 separate lily specific stuff for README
hanwen <hanwen@lilypond.org>
parents: 2885
diff changeset
69 linux-ppc
6f8b7fd6a227 separate lily specific stuff for README
hanwen <hanwen@lilypond.org>
parents: 2885
diff changeset
70 shar archive for Linux/PowerPC
6f8b7fd6a227 separate lily specific stuff for README
hanwen <hanwen@lilypond.org>
parents: 2885
diff changeset
71
2732
1f5239b9ccea update README for new features.
hanwen <hanwen@lilypond.org>
parents: 2040
diff changeset
72 freebsd-x86
6340
75ec1d90de17 Fix README
Masamichi Hosoda <trueroad@users.noreply.github.com>
parents: 6196
diff changeset
73 shar archive for FreeBSD 6/x86
2732
1f5239b9ccea update README for new features.
hanwen <hanwen@lilypond.org>
parents: 2040
diff changeset
74
3685
fbdaf0f3abcf Also mention freebsd-64.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3451
diff changeset
75 freebsd-64
fbdaf0f3abcf Also mention freebsd-64.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3451
diff changeset
76 shar archive for FreeBSD 6/x86_64
fbdaf0f3abcf Also mention freebsd-64.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3451
diff changeset
77
2732
1f5239b9ccea update README for new features.
hanwen <hanwen@lilypond.org>
parents: 2040
diff changeset
78 cygwin
4616
19096b0c252b web/index.html: add WIP webpage based on README. Regenerate README.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3685
diff changeset
79 .tar.bz2 packages for Cygwin/Windows32
1149
1f7cdc36004e add README
hanwen <hanwen@xs4all.nl>
parents:
diff changeset
80
1f7cdc36004e add README
hanwen <hanwen@xs4all.nl>
parents:
diff changeset
81 arm
1f7cdc36004e add README
hanwen <hanwen@xs4all.nl>
parents:
diff changeset
82 shar archive for Linux/ARM (largely untested)
1f7cdc36004e add README
hanwen <hanwen@xs4all.nl>
parents:
diff changeset
83
3142
38c1c4d80d02 shar for debian
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 3141
diff changeset
84 debian
38c1c4d80d02 shar for debian
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 3141
diff changeset
85 shar archive for Debian (largely untested)
3148
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 3142
diff changeset
86
3141
b7d47ce1834f add license info to README.
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 3112
diff changeset
87 LICENSE
b7d47ce1834f add license info to README.
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 3112
diff changeset
88
4792
10757b5bd177 Hysterical doco update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4789
diff changeset
89 GUB is distributed under the terms of the GNU General Public License, version 2
4616
19096b0c252b web/index.html: add WIP webpage based on README. Regenerate README.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3685
diff changeset
90 or later. Gub comes with NO WARRANTY.
1149
1f7cdc36004e add README
hanwen <hanwen@xs4all.nl>
parents:
diff changeset
91
1f7cdc36004e add README
hanwen <hanwen@xs4all.nl>
parents:
diff changeset
92 ACQUIRING
1f7cdc36004e add README
hanwen <hanwen@xs4all.nl>
parents:
diff changeset
93
4616
19096b0c252b web/index.html: add WIP webpage based on README. Regenerate README.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3685
diff changeset
94 The Git repository is at
2734
71744456a5c3 README update
hanwen <hanwen@lilypond.org>
parents: 2732
diff changeset
95
4616
19096b0c252b web/index.html: add WIP webpage based on README. Regenerate README.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3685
diff changeset
96 http://github.com/janneke/gub
2734
71744456a5c3 README update
hanwen <hanwen@lilypond.org>
parents: 2732
diff changeset
97
4616
19096b0c252b web/index.html: add WIP webpage based on README. Regenerate README.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3685
diff changeset
98 You can get it by doing
1149
1f7cdc36004e add README
hanwen <hanwen@xs4all.nl>
parents:
diff changeset
99
4616
19096b0c252b web/index.html: add WIP webpage based on README. Regenerate README.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3685
diff changeset
100 git clone git://github.com/janneke/gub.git
1149
1f7cdc36004e add README
hanwen <hanwen@xs4all.nl>
parents:
diff changeset
101
4664
c34d2bae97a8 Add tarball download to web page.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4662
diff changeset
102 or download the latest tarball doing
c34d2bae97a8 Add tarball download to web page.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4662
diff changeset
103
c34d2bae97a8 Add tarball download to web page.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4662
diff changeset
104 wget http://github.com/janneke/gub/tarball/master
c34d2bae97a8 Add tarball download to web page.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4662
diff changeset
105
c34d2bae97a8 Add tarball download to web page.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4662
diff changeset
106 GUB home page
4662
12e627ffd544 Small doco nits.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4661
diff changeset
107
12e627ffd544 Small doco nits.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4661
diff changeset
108 http://lilypond.org/gub
12e627ffd544 Small doco nits.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4661
diff changeset
109
1463
4b5df6f43f8f resolve.
hanwen <hanwen@lilypond.org>
parents: 1416
diff changeset
110 INSTALLING
1149
1f7cdc36004e add README
hanwen <hanwen@xs4all.nl>
parents:
diff changeset
111
4616
19096b0c252b web/index.html: add WIP webpage based on README. Regenerate README.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3685
diff changeset
112 * You need
4926
c49d48e7ef37 Doc update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4846
diff changeset
113 - about 9 GB of free space (for all platforms)
4661
8d5a9ac11459 Update doco.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4654
diff changeset
114 - standard unix shell utilities: cat, cp, install, mv, rm, sed, ...
8d5a9ac11459 Update doco.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4654
diff changeset
115 - a standard unix development environment with GCC and G++
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
116 - Python 2.4 or newer (2.5, 2.6, 3.0 are known to work)
4654
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
117
4616
19096b0c252b web/index.html: add WIP webpage based on README. Regenerate README.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3685
diff changeset
118 * Try
19096b0c252b web/index.html: add WIP webpage based on README. Regenerate README.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3685
diff changeset
119 bin/gub --help
4654
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
120 make help
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
121
4770
bd2b53b2b22d Update README.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4664
diff changeset
122 Examples
bd2b53b2b22d Update README.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4664
diff changeset
123
5003
d5e2c9288326 Update makefiles for gub3.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4926
diff changeset
124 * Prepare a cross build environment for darwin-x86
4770
bd2b53b2b22d Update README.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4664
diff changeset
125
bd2b53b2b22d Update README.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4664
diff changeset
126 bin/gub darwin-x86::cross/gcc
4654
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
127
5219
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
128 * Cross build bison for FreeBSD x86_64
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
129
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
130 bin/gub freebsd-64::ftp://ftp.gnu.org/pub/gnu/bison/bison-2.3.tar.gz
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
131
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
132 * Make a LilyPond installer for your platform
1151
10031e566db6 README distcc notes.
hanwen <hanwen@xs4all.nl>
parents: 1149
diff changeset
133
5007
900467243438 Update documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5003
diff changeset
134 bin/gub lilypond-installer
900467243438 Update documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5003
diff changeset
135
900467243438 Update documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5003
diff changeset
136 this leaves the installer in uploads/
4654
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
137
5003
d5e2c9288326 Update makefiles for gub3.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4926
diff changeset
138 * Build Inkscape for your platform
d5e2c9288326 Update makefiles for gub3.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4926
diff changeset
139
5007
900467243438 Update documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5003
diff changeset
140 bin/gub inkscape-installer
900467243438 Update documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5003
diff changeset
141
5219
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
142 this leaves the installer in uploads/
4654
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
143
5226
70d0f503c1c0 Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5219
diff changeset
144 * Cross build OpenOffice (go-oo.org) for Windows (mingw32)
70d0f503c1c0 Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5219
diff changeset
145
70d0f503c1c0 Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5219
diff changeset
146 make openoffice
70d0f503c1c0 Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5219
diff changeset
147
70d0f503c1c0 Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5219
diff changeset
148 this leaves the Windows installer in uploads/
70d0f503c1c0 Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5219
diff changeset
149
5279
e35113cb1d5c Update doc with Denemo info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5240
diff changeset
150 * Cross build Denemo (http://denemo.org) for Windows (mingw32)
e35113cb1d5c Update doc with Denemo info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5240
diff changeset
151
e35113cb1d5c Update doc with Denemo info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5240
diff changeset
152 make denemo
e35113cb1d5c Update doc with Denemo info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5240
diff changeset
153
e35113cb1d5c Update doc with Denemo info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5240
diff changeset
154 this leaves the Windows installer in uploads/
e35113cb1d5c Update doc with Denemo info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5240
diff changeset
155
6047
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
156
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
157
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
158 GUB the Grand Unified Builder
1151
10031e566db6 README distcc notes.
hanwen <hanwen@xs4all.nl>
parents: 1149
diff changeset
159
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
160 Home
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
161 Basics
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
162 Applications
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
163 History
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
164 Links
1149
1f7cdc36004e add README
hanwen <hanwen@xs4all.nl>
parents:
diff changeset
165
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
166 GUB BASICS
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
167
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
168 ROADMAP
1149
1f7cdc36004e add README
hanwen <hanwen@xs4all.nl>
parents:
diff changeset
169
5631
8ceb906705ac Re-instate per-package build logs. Move old logs out of the way.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5627
diff changeset
170 directory contents and use
8ceb906705ac Re-instate per-package build logs. Move old logs out of the way.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5627
diff changeset
171 . (GNUmakefile, *.make) make drivers (try: make help)
8ceb906705ac Re-instate per-package build logs. Move old logs out of the way.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5627
diff changeset
172 bin/ programs (gub, gpkg, gib, ...; try: bin/gub --help)
8ceb906705ac Re-instate per-package build logs. Move old logs out of the way.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5627
diff changeset
173 gub/ python library
8ceb906705ac Re-instate per-package build logs. Move old logs out of the way.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5627
diff changeset
174 gub/specs/ build specifications (gub/specs/
8ceb906705ac Re-instate per-package build logs. Move old logs out of the way.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5627
diff changeset
175 hello.py,bison.py,denemo.py,lilypond.py...)
8ceb906705ac Re-instate per-package build logs. Move old logs out of the way.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5627
diff changeset
176 patches/ patch files used in build specifications
8ceb906705ac Re-instate per-package build logs. Move old logs out of the way.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5627
diff changeset
177 target/ build trees
8ceb906705ac Re-instate per-package build logs. Move old logs out of the way.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5627
diff changeset
178 log/ (gub.log, ...) (build) log files
8ceb906705ac Re-instate per-package build logs. Move old logs out of the way.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5627
diff changeset
179 uploads/ installers
8ceb906705ac Re-instate per-package build logs. Move old logs out of the way.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5627
diff changeset
180 target/<platform>/ working tree for <platform>
8ceb906705ac Re-instate per-package build logs. Move old logs out of the way.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5627
diff changeset
181 target/linux-x86/src/ linux-x86 unpacked sources
8ceb906705ac Re-instate per-package build logs. Move old logs out of the way.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5627
diff changeset
182 target/linux-64/build/ linux-64 build output
8ceb906705ac Re-instate per-package build logs. Move old logs out of the way.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5627
diff changeset
183 target/darwin-x86/log/ darwin-x86 most recent lilypond build log
8ceb906705ac Re-instate per-package build logs. Move old logs out of the way.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5627
diff changeset
184 lilypond.log
8ceb906705ac Re-instate per-package build logs. Move old logs out of the way.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5627
diff changeset
185 target/mingw/packages/ .gup packages for mingw
8ceb906705ac Re-instate per-package build logs. Move old logs out of the way.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5627
diff changeset
186 target/darwin-ppc/log/ status of partial darwin-ppc builds
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
187 status/
5631
8ceb906705ac Re-instate per-package build logs. Move old logs out of the way.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5627
diff changeset
188 target/freebsd-x86/root/ freebsd-x86 build and install root
8ceb906705ac Re-instate per-package build logs. Move old logs out of the way.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5627
diff changeset
189 target/tools/root/usr/ native tools used for build
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
190 bin/
5631
8ceb906705ac Re-instate per-package build logs. Move old logs out of the way.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5627
diff changeset
191 sourcefiles/ non-patch files used in build specifications
5675
5f891b5d76ac Doc nit.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5648
diff changeset
192 nsis/ nsis windows installer scripts
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
193
5842
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
194 BASIC WORKINGS
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
195
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
196 Checksums and rebuilds
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
197
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
198 GUB seeks to minimise unnecessary rebuilds while being strict about important
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
199 changes. Before starting the actual building of a package, the build recipe is
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
200 executed as a dry-run and a checksum is calculated from these build commands.
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
201 This checksum includes the environment variables DISPLAY, FTP_PROXY,
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
202 GUB_TOOLS_PREFIX, HOME, HTTP_PROXY, LIBRESTRICT, PATH [no other environment
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
203 variables are allowed through].
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
204
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
205 The packages' build checksum is matched with the previous build and if it
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
206 changes, the package is rebuilt. Otherwise, only the binary package is
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
207 reinstalled, if necessary. This means that the .py build specs can be changed
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
208 and refactored at will and as long as no actual build commands change, nothing
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
209 will be rebuilt.
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
210
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
211 This makes that forcing rebuilds can can be tricky: gub refuses to do so if it
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
212 deems rebuilding unnecessary.
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
213
5997
5ae0f63b2207 Don't panic about a change in ABI environment var.
Graham Percival <graham@percival-music.ca>
parents: 5842
diff changeset
214 SHARING DIRECTORIES
5ae0f63b2207 Don't panic about a change in ABI environment var.
Graham Percival <graham@percival-music.ca>
parents: 5842
diff changeset
215
5ae0f63b2207 Don't panic about a change in ABI environment var.
Graham Percival <graham@percival-music.ca>
parents: 5842
diff changeset
216 GUB uses an ABI environment variable to work around some build bugs in some
6047
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
217 packages. This variable is not checked by the environment-changed function, so
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
218 problems will probably occur if you share your GUB build directory between a
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
219 32-bit and 64-bit OS. If you change your operating system, delete the target/
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
220 directory of GUB before trying to build it again.
5997
5ae0f63b2207 Don't panic about a change in ABI environment var.
Graham Percival <graham@percival-music.ca>
parents: 5842
diff changeset
221
5842
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
222 LIBRESTRICT
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
223
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
224 A common problem with [making reproducible cross] builds is using files or
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
225 features that are not controlled by the [GUB] build process, but just happen to
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
226 be on the build host and happen to differ between most build hosts.
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
227
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
228 GUB uses the LD_PRELOAD feature with the gub/specs/librestrict.py package and
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
229 code from ./librestrict/restrict.c to disallow reading from build host files.
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
230 This makes for much better reprocucibility, especially between different build
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
231 hosts.
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
232
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
233 The downside to this LIBRESTRICT feature is that quit a few packages are not
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
234 prepared for cross building. LIBRESTRICT will catch these errors and they have
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
235 to be fixed in the package's spec file.
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
236
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
237 This is what such a LIBRESTRICT assertion could like
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
238
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
239 librestrict:error:/home/janneke/vc/gub/target/mingw/root/usr/cross/libexec/gcc/i686-mingw32/4.1.1/cc1plus: tried to open () file /home/janneke/vc/lilypond/lily/main.cc
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
240 librestrict:allowed:
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
241 /home/janneke/vc/gub/target/mingw
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
242 /tmp
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
243 /dev/null
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
244 /dev/urandom
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
245 /proc/self
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
246 cc1plus: internal compiler error: Aborted
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
247 Please submit a full bug report,
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
248 with preprocessed source if appropriate.
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
249 See for instructions.
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
250 [1]10:42:08 janneke@peder:~/vc/gub
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
251 $
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
252
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
253 you often find these in config.log files when package-dependant code blondly
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
254 looks in /usr/include or /usr/lib.
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
255
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
256 stat-restriction
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
257
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
258 LIBRESTRICT has an experimental strict mode enabled by setting the environment
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
259 variable
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
260
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
261 LIBRESTRICT=open:stat
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
262
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
263 This will even disallow any STATting outside the target's build tree. It would
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
264 be nice to get this to work and some effort has been done. However, this is
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
265 potentially a lot of work as not only upstream packages but also build system
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
266 authors [autoconf, automake, libtool etc.] look at the build host root file
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
267 system while cross building.
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
268
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
269 Simplifying package builds or avoiding code duplication
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
270
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
271 Another idea of GUB is to identify, fix and generalise build quircks and move
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
272 them from a package's spec file into one of the generic build classes. This
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
273 increases maintainability by avoiding code duplication, makes spec files
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
274 smaller, simpler and also increases the chances of a new package's spec file to
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
275 only need a source url to specify the build.
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
276
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
277 BASIC USAGE
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
278
5842
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
279 Build package hello for platform linux-x86
4616
19096b0c252b web/index.html: add WIP webpage based on README. Regenerate README.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3685
diff changeset
280
5842
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
281 bin/gub linux-x86::hello
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
282
5842
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
283 Examine why package hello wants to rebuild
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
284
5842
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
285 less target/linux-x86/log/build.log
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
286 search from end back to `mismatch:' [type: FC-c?mismatch:RET]
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
287
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
288 Force a rebuild of package hello for platform linux-x86
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
289
5842
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
290 rm -rf target/linux-x86/*/hello-*
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
291
5842
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
292 Force a rebuild of package hello for all platforms
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
293
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
294 rm -rf target/*/*/hello-*
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
295
5842
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
296 Prepare to rebuild entire linux-x86 platform
4792
10757b5bd177 Hysterical doco update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4789
diff changeset
297
5842
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
298 rm -rf target/linux-x86
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
299
5842
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
300 Prepare to rebuild everything, all platforms
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
301
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
302 rm -rf target
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
303
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
304 SPEC FILES
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
305
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
306 Plain url builds
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
307
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
308 <--no spec-->
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
309
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
310 Well behaved packages can be built without spec file, straight from an url. For
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
311 example, to build bison-2.2 as a build tool, do
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
312
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
313 bin/gub tools::http://ftp.gnu.org/pub/gnu/bison/bison-2.2.tar.gz
4792
10757b5bd177 Hysterical doco update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4789
diff changeset
314
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
315
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
316 This produces
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
317
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
318 target/tools/packages/bison-2.2.tools.gup
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
319 target/tools/packages/bison.tools.hdr
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
320 target/tools/packages/bison.checksum
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
321
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
322
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
323 Check files installed under target/tools/root/ by doing
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
324
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
325 bin/gpkg -p tools files bison
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
326
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
327
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
328 To build the very latest findutils for your architecture, do
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
329
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
330 bin/gub git://git.savannah.gnu.org/findutils.git
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
331
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
332
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
333 Simple spec
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
334
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
335 gub/specs/hello.py
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
336
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
337 from gub import target
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
338
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
339 class Hello (target.AutoBuild):
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
340 source = 'http://lilypond.org/download/gub-sources/hello-1.0.tar.gz'
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
341
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
342
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
343 build it for mingw by doing
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
344
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
345 bin/gub mingw::hello
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
346
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
347
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
348 __TOOLS package with dependencies
4792
10757b5bd177 Hysterical doco update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4789
diff changeset
349
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
350 gub/specs/autoconf.py
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
351
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
352 from gub import tools
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
353
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
354 class Autoconf__tools (tools.AutoBuild):
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
355 source = 'http://ftp.gnu.org/pub/gnu/autoconf/autoconf-2.63.tar.gz'
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
356 parallel_build_broken = True
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
357 dependencies = [
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
358 'm4',
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
359 'perl',
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
360 ]
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
361
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
362
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
363 build it by doing
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
364
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
365 bin/gub tools::autoconf
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
366
4792
10757b5bd177 Hysterical doco update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4789
diff changeset
367
5643
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
368 configure flags
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
369
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
370 gub/specs/icoutils.py
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
371
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
372 from gub import tools
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
373
5643
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
374 class Icoutils__tools (tools.AutoBuild):
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
375 dependencies = ['libpng-devel']
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
376 configure_flags = (tools.AutoBuild.configure_flags
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
377 + ' --with-libintl-prefix=%(system_prefix)s'
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
378 + ' --disable-nls')
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
379
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
380
5648
cc9d490083ee Doc update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
381 __<platform>__<arch>-specific instructions
5643
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
382
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
383 For platform specific instructions, append "__<platform>" to the class name.
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
384 For platform+architecture-specific instructions, "__<platform>__<arch>" to the
5842
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
385 class name.
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
386
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
387 gub/specs/pixman.py
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
388
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
389 from gub import target
4792
10757b5bd177 Hysterical doco update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4789
diff changeset
390
5643
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
391 class Glib (target.AutoBuild):
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
392 ...
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
393
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
394 class Glib__freebsd (Glib):
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
395 dependencies = Glib.dependencies + ['libiconv-devel']
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
396 configure_variables = Glib.configure_variables + ' CFLAGS=-pthread'
4792
10757b5bd177 Hysterical doco update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4789
diff changeset
397
5643
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
398 class Glib__freebsd__x86 (Glib__freebsd):
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
399 # Must include -pthread in lib flags, because our most beloved
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
400 # libtool (2.2.6a) thinks it knows best and blondly strips -pthread
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
401 # if it thinks it's a compile flag.
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
402 # FIXME: should add fixup to update_libtool ()
8eeafefb636b Grand makeflags () -> class.makeflags replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5631
diff changeset
403 compile_flags = ' G_THREAD_LIBS=-pthread G_THREAD_LIBS_FOR_GTHREAD=-pthread '
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
404
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
405
5842
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
406 String expansion
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
407
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
408 In all build commands, standard Python string expansion
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
409
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
410 %(string-name)s
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
411
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
412
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
413 can be used. These strings are taken from class Settings in gub/settings.py and
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
414 from the package's build class and its parent classes.
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
415
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
416 Adding string expansion variables to a spec build class can be done in several
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
417 ways
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
418
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
419 • class variable
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
420
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
421 class Foo (target.Autobuild):
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
422 common_configure_flags = ' --without-java'
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
423
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
424
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
425 instance variable
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
426
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
427 class Foo__mingw (Foo):
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
428 def __init__ (self, settings, source):
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
429 Foo.__init__ (self, settings, source)
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
430 self.target_gcc_flags = '-mms-bitfields'
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
431
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
432
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
433 decorated funtion returning a string
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
434
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
435 class Bar__mingw (target.Autobuild):
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
436 @context.subst_method
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
437 def target_os (self):
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
438 return 'windows'
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
439
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
440
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
441 Manipulating the substitution_dict using gub/build.py's class Change_dict
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
442 or overriding the get_substitution_dict method.
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
443
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
444 Pre-defined strings
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
445
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
446 Typical variables defined by settings are
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
447
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
448 build_architecture=x86_64-linux
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
449 build_os=linux
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
450 build_platform=linux-64
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
451 platform=target
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
452 target_architecture=x86_64-linux
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
453 target_bits=64
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
454 target_cpu=x86_64
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
455 target_os=linux
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
456 target_platform=target
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
457
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
458
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
459 Typical variables defined by the build class
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
460
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
461 compile_flags=
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
462 builddir=.../target/build/...
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
463 config_cache_overrides=
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
464 configure_binary= .../configure
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
465 configure_command= sh .../configure ...
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
466 configure_flags= --prefix=... --enable-shared --enable-static
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
467 configure_variables= CFLAGS=-I.../target/root/usr/include
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
468 install_command=
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
469 install_flags=
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
470 install_prefix=
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
471 install_root=
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
472 make_flags=
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
473 srcdir=.../target/src/...
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
474
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
475
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
476 More examples
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
477
5648
cc9d490083ee Doc update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
478 See gub/specs/*.py for some more examples.
6047
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
479
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
480
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
481
4654
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
482 GUB -- LilyPond
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
483
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
484 INSTALLING
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
485
5230
7b4a00b06c3a Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5226
diff changeset
486 Get GUB
7b4a00b06c3a Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5226
diff changeset
487
7b4a00b06c3a Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5226
diff changeset
488 git clone git://github.com/janneke/gub.git
7b4a00b06c3a Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5226
diff changeset
489 or
7b4a00b06c3a Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5226
diff changeset
490 wget http://github.com/janneke/gub/tarball/master
7b4a00b06c3a Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5226
diff changeset
491
4654
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
492 In addition to the requirements for GUB, you need
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
493
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
494 • A TeX installation
6196
a20b5d52d48d Document need for zip and regenerate README [ make README ].
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6195
diff changeset
495 • texinfo
a20b5d52d48d Document need for zip and regenerate README [ make README ].
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6195
diff changeset
496 • zip
4654
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
497
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
498 Build everything
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
499
5003
d5e2c9288326 Update makefiles for gub3.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4926
diff changeset
500 make lilypond
4654
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
501
5003
d5e2c9288326 Update makefiles for gub3.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4926
diff changeset
502 this leaves installers and documentation in
4654
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
503
5219
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
504 uploads/lilypond-VERSION-RELEASE.darwin-ppc.tar.bz2
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
505 uploads/lilypond-VERSION-RELEASE.darwin-x86.tar.bz2
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
506 uploads/lilypond-VERSION-RELEASE.freebsd-64.shar.sh
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
507 uploads/lilypond-VERSION-RELEASE.freebsd-x86.shar.sh
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
508 uploads/lilypond-VERSION-RELEASE.linux-64.shar.sh
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
509 uploads/lilypond-VERSION-RELEASE.linux-ppc.shar.sh
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
510 uploads/lilypond-VERSION-RELEASE.linux-x86.shar.sh
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
511 uploads/lilypond-VERSION-RELEASE.mingw.exe
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
512
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
513 uploads/lilypond-VERSION-RELEASE.documentation.tar.bz2
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
514 uploads/lilypond-VERSION-RELEASE.webdoc.tar.bz2
4654
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
515 uploads/webdoc/VERSION
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
516
5219
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
517 uploads/lilypond-VERSION-RELEASE.test-output.tar.bz2
5842
cfc6f90aa8da Add some more basic documentation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5822
diff changeset
518 uploads/wbtest/VERSION
5219
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
519
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
520 More examples
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
521
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
522 * Make a LilyPond installer for your platform
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
523
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
524 bin/gub lilypond-installer
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
525
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
526 OR (old style)
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
527
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
528 bin/gub lilypond # package with dependencies
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
529 bin/gib --branch=lilypond=git.sv.gnu.org--lilypond.git-master lilypond #installer
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
530
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
531 * Build all LilyPond installers
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
532
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
533 make lilypond
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
534
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
535 this leaves installers for GNU/Linux (x86, x86_64, powerpc),
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
536 Windows, MacOSX (x86 and powerpc), FreeBSD (x86, x86_64) and
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
537 documentation in uploads/
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
538
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
539 * Optional: Prepare build environment
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
540
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
541 make -f lilypond.make bootstrap
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
542
4654
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
543 TESTING
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
544
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
545 The test-lily directory contains scripts for running various tests. Run without
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
546 arguments for instructions
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
547
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
548 cron-builder.py - entry point from continuous crontab testing
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
549 test-binary.py - test binary builds
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
550 with-lock.py - run a command with a lockfile
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
551 rsync-lily-doc.py
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
552 - prepare documentation for upload
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
553 dist-check.py - check tarball for anomalies
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
554 cygwin-packager.py
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
555 - repackage GUB packages into Cygwin tarballs.
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
556
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
557 CRON USAGE
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
558
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
559 I have the following in my crontab
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
560
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
561 • Hourly build of LilyPond subpackage for all platforms except native (native
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
562 is darwin-pcc?)
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
563
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
564 test-lily/cron-builder.py --package\
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
565 --test-options "--to lilypond-cvs@gnu.org --quiet --from hanwen@lilypond.org
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
566 --smtp smtp.xs4all.nl --repository downloads/lilypond.git"\
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
567 darwin-x86 freebsd-x86 freebsd-64 mingw linux-x86 linux-64
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
568
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
569 • Hourly build of native installer, to run documentation and dist check.
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
570
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
571 test-lily/cron-builder.py\
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
572 --package --installer --tarball --docs\
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
573 --test-options "--to lilypond-cvs@gnu.org --dependent --quiet\
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
574 --from hanwen@lilypond.org --smtp smtp.xs4all.nl --repository downloads/lilypond.git"\
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
575 --unversioned\
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
576 darwin-ppc
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
577
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
578 • Nightly build of all installers, to be ready for shipping binaries in the
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
579 morning.
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
580
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
581 test-lily/cron-builder.py\
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
582 --installer\
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
583 --test-options "--to lilypond-cvs@gnu.org --quiet --from hanwen@lilypond.org\
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
584 --smtp smtp.xs4all.nl --repository downloads/lilypond.git"\
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
585 darwin-x86 freebsd-x86 freebsd-64 mingw linux-x86 linux-64 darwin-ppc
32f3d654ccad Update web and READMEs.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4637
diff changeset
586
6047
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
587
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
588
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
589 GUB -- GNU Denemo
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
590
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
591 INSTALLING
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
592
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
593 Get GUB
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
594
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
595 git clone git://github.com/janneke/gub.git
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
596 or
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
597 wget http://github.com/janneke/gub/tarball/master
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
598
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
599 Build everything
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
600
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
601 make denemo
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
602
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
603 this produces a windows installer in
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
604
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
605 uploads/denemo-x.y.z-b.mingw.exe
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
606
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
607 More examples
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
608
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
609 * Build main Denemo installers
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
610
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
611 make PLATFORMS='mingw linux-x86 linux-64' denemo
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
612
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
613 * Build all Denemo installers
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
614
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
615 make 'PLATFORMS=mingw linux-x86 linux-64 linux-ppc darwin-ppc darwin-x86 freebsd-x86 freebsd-64' denemo
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
616
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
617 this leaves installers for GNU/Linux (x86, x86_64, powerpc),
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
618 FreeBSD (x86, x86_64) and Windows, and documentation in uploads/
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
620 OR (old style)
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
621
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
622 bin/gub denemo
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
623 bin/gib denemo --branch=lilypond=git.sv.gnu.org--lilypond.git-master --branch=denemo=git.savannah.gnu.org--denemo.git-master
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
624
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
625 * Optional: Prepare build environment
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
626
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
627 make -f lilypond.make bootstrap
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
628
6047
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
629
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
630
5219
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
631 GUB -- Inkscape
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
632
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
633 INSTALLING
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
634
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
635 Optional: Prepare build environment
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
636
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
637 make -f inkscape.make bootstrap
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
638
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
639 Build everything
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
640
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
641 make inkscape
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
642
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
643 this leaves installers in uploads/
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
644
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
645 More examples
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
646
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
647 * Build all Inkscape installers
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
648
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
649 make inkscape
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
650
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
651 this leaves installers for GNU/Linux (x86, x86_64, powerpc),
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
652 FreeBSD (x86, x86_64) and Windows, and documentation in uploads/
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
653
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
654 OR (old style)
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
655
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
656 bin/gub inkscape
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
657 bin/gib inkscape --branch=inkscape=trunk inkscape
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
658
6047
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
659
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
660
5283
617aec94aeea Update OpenOffice.org doc with GSoC info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5279
diff changeset
661 GUB -- OpenOffice.org
5219
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
662
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
663 INSTALLING
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
664
5230
7b4a00b06c3a Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5226
diff changeset
665 Get GUB
7b4a00b06c3a Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5226
diff changeset
666
7b4a00b06c3a Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5226
diff changeset
667 git clone git://github.com/janneke/gub.git
7b4a00b06c3a Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5226
diff changeset
668 or
7b4a00b06c3a Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5226
diff changeset
669 wget http://github.com/janneke/gub/tarball/master
7b4a00b06c3a Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5226
diff changeset
670
5219
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
671 In addition to the requirements for GUB, you need
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
672
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
673 wine: to run regcomp.exe and lngconvex.exe and possibly other cross-build
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
674 ignorant build tools that are compile-time tied to the build platform
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
675
5283
617aec94aeea Update OpenOffice.org doc with GSoC info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5279
diff changeset
676 Ongoing work
617aec94aeea Update OpenOffice.org doc with GSoC info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5279
diff changeset
677
617aec94aeea Update OpenOffice.org doc with GSoC info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5279
diff changeset
678 The cross building of OpenOffice.org for mingw32 is still a work in progress
617aec94aeea Update OpenOffice.org doc with GSoC info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5279
diff changeset
679 (WIP). The build in GUB will succeeed and an installer can be created, but
617aec94aeea Update OpenOffice.org doc with GSoC info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5279
diff changeset
680 services.rdb may not build correctly.
617aec94aeea Update OpenOffice.org doc with GSoC info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5279
diff changeset
681
617aec94aeea Update OpenOffice.org doc with GSoC info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5279
diff changeset
682 GSoC 2009
617aec94aeea Update OpenOffice.org doc with GSoC info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5279
diff changeset
683
617aec94aeea Update OpenOffice.org doc with GSoC info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5279
diff changeset
684 Luckily, Jesús Corrius has accepted the challenge to make this mingw32 Go-Oo
617aec94aeea Update OpenOffice.org doc with GSoC info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5279
diff changeset
685 OpenOffice.org almost-prove-concept hack into a real port, provide clean
617aec94aeea Update OpenOffice.org doc with GSoC info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5279
diff changeset
686 solutions for all the hackweek mess leftovers, make it work as expected, in
617aec94aeea Update OpenOffice.org doc with GSoC info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5279
diff changeset
687 other words: actually usable and run on Windows.
617aec94aeea Update OpenOffice.org doc with GSoC info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5279
diff changeset
688
617aec94aeea Update OpenOffice.org doc with GSoC info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5279
diff changeset
689 Jesús is working together with Fridrich Strba to clean up and update some of
617aec94aeea Update OpenOffice.org doc with GSoC info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5279
diff changeset
690 the cross build and mingw32 patches, while implementing and porting the missing
617aec94aeea Update OpenOffice.org doc with GSoC info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5279
diff changeset
691 bits of the mingw32 cross build to openSUSE's osc build system.
617aec94aeea Update OpenOffice.org doc with GSoC info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5279
diff changeset
692
617aec94aeea Update OpenOffice.org doc with GSoC info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5279
diff changeset
693 When jcorrius announces it works, his fixes will be incorporated in GUB to
617aec94aeea Update OpenOffice.org doc with GSoC info.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5279
diff changeset
694 provide turnkey OpenOffice.org Windows binaries and installers.
5219
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
695
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
696 Build everything
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
697
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
698 make openoffice
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
699
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
700 this produces a windows installer in
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
701
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
702 uploads/openoffice-COMMITTISH.mingw.exe
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
703
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
704 More examples
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
705
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
706 * Cross build OpenOffice for Windows:
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
707
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
708 bin/gub mingw::openoffice
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
709
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
710 * Make the nsis installer
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
711
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
712 bin/gib mingw::openoffice
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
713
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
714 * Optional: Prepare build environment
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
715
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
716 make -f lilypond.make bootstrap
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
717
5219
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
718 The package
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
719
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
720 bin/gub tools::openoffice
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
721
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
722 is a work in progress and attempts to build a tiny fraction of openoffice for
5230
7b4a00b06c3a Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5226
diff changeset
723 the build tools.
5219
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
724
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
725 See also
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
726
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
727 http://github.com/janneke/gub/tree/master/patches
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
728 http://lilypond.org/blog/janneke/gub3-ooo-mingw-cross-build
6047
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
729
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
730
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
731
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
732 GUB the Grand Unified Builder
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
733
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
734 • Home
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
735 • Basics
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
736 • Applications
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
737 • History
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
738 • Links
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
739
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
740 GUB -- Grand Unified Builder -- HISTORY
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
741
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
742 HISTORY
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
743
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
744 The story starts June 1999 with a crazy guy with an itch to run LilyPond on
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
745 Windows. To get a feel for the times, this was LilyPond-1.1.47, requiring Egcs
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
746 1.1, Python 1.5, Guile 1.3, discussing on help-gnu-music@gnu.org. Two years
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
747 later Cygwin cross, our first cross build environment is released.
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
748
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
749 This is evolved into a patch set for mknetrel. Spring 2005: In a bold move a
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
750 set of patches for MinGW are created to build LilyPond and all its [17]
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
751 dependencies. Simultaniously, a cross build environment and installer for
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
752 MacOSX is created.
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
753
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
754 Creating a cross build environment is not too difficult, esp. not if you know
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
755 how to use Google. The problem is that they always break and never work on
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
756 other machines. GUB starts as an effort to unify the Windows and MacOS builders
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
757 and to make the process somewhat dependable and reproducible, i.e.: even more
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
758 free time for the developers (if there is such a thing) as the builds always
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
759 succeed. It uses Python instead of make and bash and adds checksums for the
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
760 package build specs. The unification of cross builds greatly facilitates adding
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
761 of new architectures and before long GUB supports cross building lilypond
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
762 binaries for 9 different platforms.
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
763
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
764 GUB2 adds serialization of the Python build code before execution. This makes
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
765 the build checksumming less coarse, ie, less gratuitous rebuilds and more
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
766 reliable. Also, all Python code is executed before the build process starts,
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
767 which means that there is less chance of silly run time errors. Lots of
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
768 packages are added in an effort to replace the OpenEmbedded-based build system
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
769 for the Samco 3G video phone at SES, Philips Research Eindhoven.
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
770
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
771 In Novell's Hackweek-iii GUB enters into its Third Life with GUB3, adding
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
772 cross-platform build dependencies and patches for an OpenOffice.org MinGW cross
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
773 build, including all essential libraries. Later, Inkscape is added, exploring
5620
f016a712bf91 History update and fixlet.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5619
diff changeset
774 and implementing x.org dependencies. After that, building a windows installer
f016a712bf91 History update and fixlet.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5619
diff changeset
775 for GNU Denemo took only one day, including all dependencies.
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
776
6047
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
777
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
778
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
779 GUB the Grand Unified Builder
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
780
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
781 • Home
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
782 • Basics
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
783 • Applications
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
784 • History
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
785 • Links
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
786
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
787 Links
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
788
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
789 autopackage.org
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
790 openSUSE build service
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
791 codesourcery.com
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
792 pre-GUB LilyPond installers
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
793 emdebian.org
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
794 GUB build specifications
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
795 GUB patches
5219
5ec5c4bc8abb Update doc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5215
diff changeset
796 lilypond.org/blog/janneke/gub3-ooo-mingw-cross-build
5619
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
797 openembedded.org
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
798 scratchbox.org
d5a80e9dfa4c Documentation update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5283
diff changeset
799 Scratbox2; sb2 Dan Kegel's crosstool
6047
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
800
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
801
e790935a9c28 web/basics: salvage Graham's Sharing Directories warning.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5997
diff changeset
802