X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fcontributor%2Fbuild-notes.itexi;h=a5f8c2ccc0b00acc39df6983675bc03c57db2f54;hb=97a0169312a260933246ab224e4f8b0969871dd5;hp=7891063c202e5eaa50e6ca00bd577f6f32becfc7;hpb=ac1f5ee6bc66e39e4fec27434ebb7c7300bab71e;p=lilypond.git diff --git a/Documentation/contributor/build-notes.itexi b/Documentation/contributor/build-notes.itexi index 7891063c20..a5f8c2ccc0 100644 --- a/Documentation/contributor/build-notes.itexi +++ b/Documentation/contributor/build-notes.itexi @@ -14,8 +14,6 @@ chapter.} * General build system notes:: * Doc build:: * Website build:: -* Building an Ubuntu distro:: -* Building GUB:: @end menu @@ -199,9 +197,15 @@ which expands to the following files: One little feature to notice here - these are all absolute file locations - the line prior to this used relative locations. And -none of these files exist, either. (Further note - I'm assuming -all these lines of make I'm following are autogenerated, but -that'll be something else to discover.) +none of these files exist, either. + +(Further note - I'm assuming all these lines of make I'm following are +autogenerated, but that'll be something else to discover.) + +JM: @emph{``No, these lines are not useful in LilyPond (this is why +you think they are autogenerated), but they are part of StepMake, +which was meant to be a package to be installed as a build system over +autoconf/make in software project source trees.''} Next in @file{stepmake.make}: @@ -289,11 +293,11 @@ are: @example $(outdir)/%.ly: %.lym4 - $(M4) $< | sed "s/\`/,/g" > $@ + $(M4) $< | sed "s/\`/,/g" > $@@ $(outdir)/%: %.in - rm -f $@ - cat $< | sed $(sed-atfiles) | sed $(sed-atvariables) > $@ + rm -f $@@ + cat $< | sed $(sed-atfiles) | sed $(sed-atvariables) > $@@ @end example I believe the first rule is for *.ly files, and has a prerequisite @@ -445,10 +449,10 @@ From git grep: stepmake/stepmake/generic-vars.make has this: @smallexample -LOOP=+$(foreach i, $(SUBDIRS), $(MAKE) PACKAGE=$(PACKAGE) package=$(package) -C $(i) $@ &&) true +LOOP=+$(foreach i, $(SUBDIRS), $(MAKE) PACKAGE=$(PACKAGE) package=$(package) -C $(i) $@@ &&) true @end smallexample -$@ is the name of the target - WWW-1 in this case. +$@@ is the name of the target - WWW-1 in this case. In GNUmakefile.in we find: @@ -557,13 +561,16 @@ they're up to date. (From the make manual: -To this end, after reading in all makefiles, make will consider each as a goal target and -attempt to update it. If a makefile has a rule which says how to update it (found either -in that very makefile or in another one) or if an implicit rule applies to it (see Chapter 10 -[Using Implicit Rules], page 103), it will be updated if necessary. After all makefiles have -been checked, if any have actually been changed, make starts with a clean slate and reads -all the makefiles over again. (It will also attempt to update each of them over again, but -normally this will not change them again, since they are already up to date.) +To this end, after reading in all makefiles, make will consider each +as a goal target and attempt to update it. If a makefile has a rule +which says how to update it (found either in that very makefile or in +another one) or if an implicit rule applies to it (see Chapter 10 +[Using Implicit Rules], page 103), it will be updated if +necessary. After all makefiles have been checked, if any have actually +been changed, make starts with a clean slate and reads all the +makefiles over again. (It will also attempt to update each of them +over again, but normally this will not change them again, since they +are already up to date.) So my assumption seems correct) @@ -1439,131 +1446,3 @@ website: runs website_post.py Then some file copying @end example - -@node Building an Ubuntu distro -@section Building an Ubuntu distro - - -Here's the short instruction on how to create lilybuntu iso image -(Jonathan Kulp did this on a spare drive, -but he supposes it can be done in a VM too): - -@enumerate - -@item -Install ubuntu, reboot. -@item -Run all updates, reboot if asked. -@item -Enable src repos, refresh package lists. -@item -Install LilyPond build deps: -@example -sudo apt-get build-dep lilypond -@end example -@item -Install git and autoconf: -@example -sudo apt-get install git-core gitk autoconf -@end example - -@item -Test to see whether everything works fine now: -@enumerate -@item -use @command{lily-git.tcl} to grab source files -@item -go to source dir and do -@example -"./autogen.sh" ; make ; make doc -@end example -@item -if all compiles, move on to iso creation... -@end enumerate - -@item -Download & install "remastersys": -@uref{http://sourceforge.net/projects/remastersys/, http://sourceforge.net/projects/remastersys/} -@item -Copy @command{lily-git.tcl} script file into @file{/etc/skel/}. -@item -Modify @file{/etc/remastersys.conf} as desired (change @code{.iso} name, -default live session username, etc). -@item -Remove non-essential desktop software as desired. -@item -Create iso: -@example -sudo remastersys dist -@end example -New iso is in @file{/home/remastersys/remastersys/}. -@item -Test iso by installing in VM and repeating steps above for -getting source files and building lp and docs. - -@end enumerate - -@node Building GUB -@section Building GUB - -GUB - the Grand Unified Builder - is used to build the release -versions of LilyPond. For background information, see -@ref{Grand Unified Builder (GUB)}. The simplest way to set up a -GUB build environment is to use a virtual machine with LilyDev -(@ref{LilyDev}). Follow the instructions on that page to set this -up. Make sure that your virtual machine has enough disk space - -a GUB installation takes over 30 GBytes of disk space, and if you -allocate too little, it will fail during the setting up stage and -you will have to start again. 64 GBytes should be sufficient. - -While GUB is being built, any interruptions are likely to make it -almost impossible to restart. If at all possible, leave the build -to continue uniterrupted. - -Download GUB and start the set up: - -@example -git clone git://github.com/gperciva/gub/gub.git -cd gub -make bootstrap -@end example - -This downloads and installs a number of packages. You may find -some fail during download and you will need to download them -manually. For example, the perl archive. If this happens, -download it from -@uref{http://www.cpan.org/src/5.0/perl-5.10.0.tar.gz}, saving the -archive to @file{gub/downloads/perl/}. Continue the set up with: - -@example -make bootstrap -@end example - -Once this has completed successfully, you can build the LilyPond -release package. However, this uses an archived version of the -regression tests, so it is better to download this first. -Download the test output from lilypond.org: - -@smallexample -@uref{http://lilypond.org/download/binaries/test-output/lilypond-2.15.33-1.test-output.tar.bz2} -@end smallexample - -Copy the tarball into @file{gub/regtests/}, and tell the build -system that you have done this: - -@example -touch regtests/ignore -@end example - -Now start the GUB build: - -@example -make lilypond -@end example - -That's it. This will build LilyPond from current master. To build -the current unstable release, run: - -@example -make LILYPOND_BRANCH=release/unstable lilypond -@end example