Reviewers: dak,
http://codereview.appspot.com/6446096/diff/2001/aclocal.m4 File aclocal.m4 (right): http://codereview.appspot.com/6446096/diff/2001/aclocal.m4#newcode1350 aclocal.m4:1350: + if test "$CYGWIN$MINGW32" = "nono"; then On 2012/08/09 18:32:28, dak wrote:
This does not look like aclocal.m4 at all, more like the output of git
log -p.
What is up with this?
This looks like a bug in git-cl and/or side-by-side view or Rietveld. Unified diff view is correct, though. Description: Brain surgery on the build system, first stage Sorry to do this just before 2.16 branching out, but if you remember nightmares about non-distributed files and the like because of the desire to include last-minute changes to translations and whatnot, IMO the part of this patch regarding "make dist" is really worth the trouble. If you like, I can also include a merge of stepmake/stepmake and make/, but I thought this would really clutter the review of other changes, and this merge is trivial if you compare with the patch of this issue, so that merge will be submitted for review after this review issue settled down. Commits are viewable separately on dev/jmandereau: http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=shortlog;h=refs/heads/dev/jmandereau I recommend inspecting changes locally with git with "git log -p -M" to sort out real changes in moved files. Patchy test is welcome, but is not enough. People who have reasonable horsepower (or many hours of CPU time to allocate for this, typically 12 hours on a Pentium 4 with 2GB RAM) and about five gigabytes of free space might want to run the following test. I checked which files disappeared or appeared with these changes in both tarball and installation of binary and docs, with the following "scripts" (they are very dirty, but I'm not sure it's worth adding installation and distribution checks to Patchy), assuming you've set LILYPOND_GIT and LILYPOND_BUILD_DIR as in http://lilypond.org/doc/v2.15/Documentation/contributor/environment-variables (please set them without using the tilde character '~') and you start from master branch checked out and freshly pulled in $LILYPOND_GIT: export VERSION=2.15.43 export MAKE_FLAGS=-j3 CPU_COUNT=3 ./autogen.sh --noconfigure && \ rm -rf $LILYPOND_BUILD_DIR && \ mkdir -p $LILYPOND_BUILD_DIR && \ cd $LILYPOND_BUILD_DIR && \ ${LILYPOND_GIT}/configure && \ mkdir -p $HOME/lily-base && \ make dist &>$HOME/lily-base/make-dist.log && \ mv out/lilypond-${VERSION}.tar.gz $HOME/lily-base && \ pushd $HOME/lily-base && tar -xzf lilypond-${VERSION}.tar.gz && popd && \ make distclean && \ ${LILYPOND_GIT}/configure --prefix=$HOME/lily-base && \ make ${MAKE_FLAGS} &>$HOME/lily-base/make.log && \ make ${MAKE_FLAGS} test &>$HOME/lily-base/make-test.log && \ make ${MAKE_FLAGS} doc &>$HOME/lily-base/make-doc.log && \ make install &>$HOME/lily-base/make-install.log && \ make install-doc &>$HOME/lily-base/make-install-doc.log Cd to $LILYPOND_GIT, apply patch -- or checkout dev/jmandereau, which is most easily done with git checkout origin/dev/jmandereau then make sure you don't have anything valuable in files and directories ignored by Git (because of the "git clean" command below), then do git clean -f -d -X && \ ./autogen.sh --noconfigure && \ rm -rf $LILYPOND_BUILD_DIR && \ mkdir -p $LILYPOND_BUILD_DIR && \ cd $LILYPOND_BUILD_DIR && \ ${LILYPOND_GIT}/configure && \ mkdir -p $HOME/lily-new && \ make dist &>$HOME/lily-new/make-dist.log && \ mv out/lilypond-${VERSION}.tar.gz $HOME/lily-new && \ pushd $HOME/lily-new && tar -xzf lilypond-${VERSION}.tar.gz && popd && \ make distclean && \ ${LILYPOND_GIT}/configure --prefix=$HOME/lily-new && \ make ${MAKE_FLAGS} &>$HOME/lily-new/make.log && \ make ${MAKE_FLAGS} test &>$HOME/lily-new/make-test.log && \ make ${MAKE_FLAGS} doc &>$HOME/lily-new/make-doc.log && \ make install &>$HOME/lily-new/make-install.log && \ make install-doc &>$HOME/lily-new/make-install-doc.log Cd to $HOME, check the output of LANG= diff -qr lily-base lily-new |grep -i only then test in-tree build (first line is optional, it's merely here to free some disk space): rm -rf $LILYPOND_BUILD_DIR && \ cd $LILYPOND_GIT && \ ./configure && \ mkdir -p $HOME/lily-new-intree && \ make dist &>$HOME/lily-new-intree/make-dist.log && \ mv out/lilypond-${VERSION}.tar.gz $HOME/lily-new-intree && \ pushd $HOME/lily-new-intree && tar -xzf lilypond-${VERSION}.tar.gz && popd && \ make distclean && \ ./configure --prefix=$HOME/lily-new-intree && \ make ${MAKE_FLAGS} &>$HOME/lily-new-intree/make.log && \ make ${MAKE_FLAGS} test &>$HOME/lily-new-intree/make-test.log && \ make ${MAKE_FLAGS} doc &>$HOME/lily-new-intree/make-doc.log && \ make install &>$HOME/lily-new-intree/make-install.log && \ make install-doc &>$HOME/lily-new-intree/make-install-doc.log Again, cd to $HOME and see the output of LANG= diff -qr lily-base lily-new-intree |grep -i only You should in either case (lily-new, lily-new-intree) see differences that match either deleted or moved files in the tree extracted from tarball (these differences should match the ones in the commits being reviewed), or lilypond-book hashing. commit 2651085fa4642f802ac0ad3f6992eda548219ba9 Author: John Mandereau <[email protected]> Date: Fri Aug 3 15:03:31 2012 +0200 Make targets: improve *clean, remove bin, cvs-clean and maintainerclean * distclean was usable from any directory in theory, make it toplevel-only and call clean, doc-clean, test-clean and log-clean (previous behaviour can now be obtained with make clean && make local-distclean), * remove maintainerclean, which was a broken distclean-like, and cvs-clean that can be substituted by some "git clean" incantation, * remove bin, which does not work in a clean tree, and that can be replaced by make bin-clean && make all in an already built tree, * update help target. commit 10467285b3014ff14611718c60c25aa6aa844815 Author: John Mandereau <[email protected]> Date: Thu Aug 2 23:25:54 2012 +0200 Remove StepMake as a separate package Rationale: * there are no publicly-known current usage cases of StepMake outside LilyPond, * StepMake installation has been disabled for a decade, * generic templates (stepmake/stepmake) have been so heavily customized lately for our heavy documentation that they can no longer be qualifed as "generic", * only a few build scripts have remained in stepmake/bin, whereas most of them now live in scripts/build. This commit removes everything in stepmake/ except included makefiles; scripts that are still used are moved to config/ (Autoconf helpers) or scripts/build (build and install scripts). Remove config make target to avoid potential conflict with new config/ directory. For clarity, a merge of all stepmake templates, from stepmake/stepmake and make/ into stepmake/ (or similar), will be done in another commit. commit 4fac59f99e2f5bbe0f78946aa9ed0f96d687b7aa Author: John Mandereau <[email protected]> Date: Wed Aug 1 12:22:43 2012 +0200 Make distributed tarball from Git file list This removes the requirement of having a GNUmakefile in each and every directory of the source tree; this commit also deletes GNUmakefiles made unnecessary this way. dist-toplevel-txt-files toplevel target is also removed, because it is unneeded outside of dist target and it prevents linking of toplevel generated txt docs to distdir when these docs are already generated. In addition, on suggestions from Han-Wen, if dist is made with a source directory tracked by Git, then * the source directory is required to have no uncommitted changes nor non-ignored untracked files, * the time stamp of all files in the tarball is set to the time stamp of the head of the checked-out branch. commit 4281dfd99d068e4c3ab53fa2343f5f3659fd8292 Author: John Mandereau <[email protected]> Date: Wed Aug 1 12:14:50 2012 +0200 mass-link: handle filesystem crossing and support OS without link support Please review this at http://codereview.appspot.com/6446096/ Affected files: M .gitignore M Documentation/GNUmakefile D Documentation/contributor/GNUmakefile M Documentation/cs/GNUmakefile D Documentation/cs/essay/GNUmakefile D Documentation/cs/included/GNUmakefile D Documentation/cs/learning/GNUmakefile D Documentation/cs/texidocs/GNUmakefile D Documentation/cs/usage/GNUmakefile D Documentation/cs/web/GNUmakefile M Documentation/css/GNUmakefile M Documentation/de/GNUmakefile D Documentation/de/essay/GNUmakefile D Documentation/de/extending/GNUmakefile D Documentation/de/included/GNUmakefile D Documentation/de/learning/GNUmakefile D Documentation/de/notation/GNUmakefile D Documentation/de/texidocs/GNUmakefile D Documentation/de/usage/GNUmakefile D Documentation/de/web/GNUmakefile M Documentation/es/GNUmakefile D Documentation/es/essay/GNUmakefile D Documentation/es/extending/GNUmakefile D Documentation/es/included/GNUmakefile D Documentation/es/learning/GNUmakefile D Documentation/es/notation/GNUmakefile D Documentation/es/texidocs/GNUmakefile D Documentation/es/usage/GNUmakefile D Documentation/es/web/GNUmakefile D Documentation/essay/GNUmakefile D Documentation/extending/GNUmakefile M Documentation/fr/GNUmakefile D Documentation/fr/essay/GNUmakefile D Documentation/fr/extending/GNUmakefile D Documentation/fr/included/GNUmakefile D Documentation/fr/learning/GNUmakefile D Documentation/fr/notation/GNUmakefile D Documentation/fr/texidocs/GNUmakefile D Documentation/fr/usage/GNUmakefile D Documentation/fr/web/GNUmakefile M Documentation/hu/GNUmakefile D Documentation/hu/included/GNUmakefile D Documentation/hu/learning/GNUmakefile D Documentation/hu/texidocs/GNUmakefile D Documentation/hu/usage/GNUmakefile D Documentation/hu/web/GNUmakefile D Documentation/included/GNUmakefile M Documentation/it/GNUmakefile D Documentation/it/included/GNUmakefile D Documentation/it/learning/GNUmakefile D Documentation/it/notation/GNUmakefile D Documentation/it/texidocs/GNUmakefile D Documentation/it/usage/GNUmakefile D Documentation/it/web/GNUmakefile M Documentation/ja/GNUmakefile D Documentation/ja/included/GNUmakefile D Documentation/ja/learning/GNUmakefile D Documentation/ja/notation/GNUmakefile D Documentation/ja/texidocs/GNUmakefile D Documentation/ja/usage/GNUmakefile D Documentation/ja/web/GNUmakefile D Documentation/learning/GNUmakefile M Documentation/logo/GNUmakefile M Documentation/misc/GNUmakefile M Documentation/nl/GNUmakefile D Documentation/nl/included/GNUmakefile D Documentation/nl/learning/GNUmakefile D Documentation/nl/texidocs/GNUmakefile D Documentation/nl/web/GNUmakefile D Documentation/notation/GNUmakefile M Documentation/pictures/GNUmakefile D Documentation/pictures/pdf/GNUmakefile D Documentation/snippets/GNUmakefile D Documentation/snippets/new/GNUmakefile D Documentation/usage/GNUmakefile D Documentation/web/GNUmakefile D Documentation/web/server/GNUmakefile M Documentation/zh/GNUmakefile D Documentation/zh/included/GNUmakefile D Documentation/zh/texidocs/GNUmakefile D Documentation/zh/web/GNUmakefile M GNUmakefile.in M ROADMAP A + aclocal.m4 M autogen.sh A + config/config.guess A + config/config.sub A + config/install-sh M configure.in M flower/GNUmakefile D flower/include/GNUmakefile M input/regression/lilypond-book/GNUmakefile D input/regression/lilypond-book/include/GNUmakefile M input/regression/musicxml/GNUmakefile M lily/GNUmakefile D lily/include/GNUmakefile D make/GNUmakefile M make/abc-vars.make M make/ly-vars.make M make/midi-vars.make M make/musicxml-vars.make M python/auxiliar/GNUmakefile M scripts/GNUmakefile D scripts/auxiliar/GNUmakefile M scripts/build/GNUmakefile A + scripts/build/install.py A + scripts/build/make-version.py M scripts/build/mass-link.py A + scripts/build/text2html.py D stepmake/GNUmakefile D stepmake/INSTALL.texi D stepmake/README D stepmake/autogen.sh D stepmake/bin/GNUmakefile D stepmake/bin/fake-msgfmt.sh D stepmake/bin/ntpwd.py D stepmake/bin/stepmakeise.sh D stepmake/config.hh.in D stepmake/configure.in D stepmake/stepmake/GNUmakefile M stepmake/stepmake/documentation-vars.make M stepmake/stepmake/generic-targets.make M stepmake/stepmake/generic-vars.make M stepmake/stepmake/makedir-vars.make M stepmake/stepmake/metafont-vars.make M stepmake/stepmake/podir-vars.make M stepmake/stepmake/python-module-vars.make M stepmake/stepmake/toplevel-targets.make M stepmake/stepmake/toplevel-vars.make _______________________________________________ lilypond-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-devel
