diff options
28 files changed, 529 insertions, 191 deletions
@@ -1,3 +1,42 @@ +2002-07-18 Jan Nieuwenhuizen <janneke@gnu.org> + + * Documentation/user/refman.itely: Compile fix for \mark #'(music ...). + + * Documentation/user/internals.itely: Use ly-set-mus-property!. + + * cygwin/mknetrel: New file. + + * cygwin: New directory. Moved Cygwin stuff from + Documentation/windows. + + * Documentation/windows/fix-suffixes.sh: + * buildscripts/walk.sh: Junk. + + * aclocal.m4: Regenerate. + + * buildscripts/walk.sh: Remove. + + * stepmake/stepmake/topdocs-targets.make: + * stepmake/stepmake/help2man-rules.make: + * stepmake/stepmake/generic-vars.make: + * stepmake/make/stepmake.make: + * Documentation/user/GNUmakefile: + * make/stepmake.make: + * make/lilypond-vars.make: + * GNUmakefile.in: + * stepmake/aclocal.m4: Remove builddir cruftyness. + + * stepmake/stepmake/c++-rules.make: Use ALL_CXXFLAGS, to guard + agains user override of CXXFLAGS. + + * stepmake/stepmake/c++-vars.make (ALL_CXXFLAGS): Include CXXFLAGS. + + * stepmake/stepmake/c-rules.make: Use ALL_CFLAGS, to guard + against user override of CFLAGS. + + * stepmake/stepmake/c-vars.make (ALL_CFLAGS): Include CFLAGS. + + 2002-07-17 Han-Wen <hanwen@cs.uu.nl> * GNUmakefile.in: distribute lexer-gcc-3.1.sh as well diff --git a/Documentation/user/GNUmakefile b/Documentation/user/GNUmakefile index b28fc11998..2c5a6df23f 100644 --- a/Documentation/user/GNUmakefile +++ b/Documentation/user/GNUmakefile @@ -119,14 +119,14 @@ ifneq ($(CROSS),yes) # there used to be a dependency on a dummy target, to force a rebuild of lilypond-internals every time. # however, this triggers compilation during install, which is a bad thing (tm). -$(outdir)/lilypond-internals.nexi $(outdir)/lilypond-internals.texi: $(depth)/$(builddir)/lily/$(outconfbase)/lilypond - cd $(outdir) && ../$(depth)/$(builddir)/lily/$(outconfbase)/lilypond --verbose ../$(src-depth)/ly/generate-documentation +$(outdir)/lilypond-internals.nexi $(outdir)/lilypond-internals.texi: $(builddir)/lily/$(outconfbase)/lilypond + cd $(outdir) && $(builddir)/lily/$(outconfbase)/lilypond --verbose ../$(src-depth)/ly/generate-documentation -ln $(outdir)/lilypond-internals.texi $(outdir)/lilypond-internals.nexi ## unused $(outdir)/interfaces.itexi: dummy - cd $(outdir) && ../$(depth)/$(builddir)/lily/$(outconfbase)/lilypond ../$(src-depth)/ly/generate-interface-doc + cd $(outdir) && $(builddir)/lily/$(outconfbase)/lilypond ../$(src-depth)/ly/generate-interface-doc else diff --git a/Documentation/user/internals.itely b/Documentation/user/internals.itely index 4bb59b08df..e18ef3f524 100644 --- a/Documentation/user/internals.itely +++ b/Documentation/user/internals.itely @@ -785,9 +785,9 @@ about how music is stored. @lilypond[verbatim,singleline] #(define (testfunc x) (if (equal? (ly-get-mus-property x 'text) "foo") - (ly-set-mus-property x 'text "bar")) + (ly-set-mus-property! x 'text "bar")) ;; recurse - (ly-set-mus-property x 'elements + (ly-set-mus-property! x 'elements (map testfunc (ly-get-mus-property x 'elements))) (display x) x @@ -812,9 +812,9 @@ A final example is a function that reverses a piece of music in time: (let* ((elements (ly-get-mus-property music 'elements)) (reversed (reverse elements)) (span-dir (ly-get-mus-property music 'span-direction))) - (ly-set-mus-property music 'elements reversed) + (ly-set-mus-property! music 'elements reversed) (if (dir? span-dir) - (ly-set-mus-property music 'span-direction (- span-dir))) + (ly-set-mus-property! music 'span-direction (- span-dir))) (map reverse-music reversed) music)) diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely index 4f69df2c8f..68d6a808f8 100644 --- a/Documentation/user/refman.itely +++ b/Documentation/user/refman.itely @@ -3087,7 +3087,8 @@ To print a rehearsal mark, use the @code{\mark} command. c1 \mark \default c1 \mark "12" c1 \mark \default - c1 \mark #'(music "scripts-segno") +%% FIXME +%% c1 \mark #'(music "scripts-segno") c1 } @end lilypond diff --git a/Documentation/windows/GNUmakefile b/Documentation/windows/GNUmakefile index b72ea68e4c..f683a5cfda 100644 --- a/Documentation/windows/GNUmakefile +++ b/Documentation/windows/GNUmakefile @@ -1,9 +1,8 @@ depth=../.. -EXTRA_DIST_FILES = LilyPond.ico README changelog $(wildcard *.sh *.patch *.hint) - -STEPMAKE_TEMPLATES=documentation texinfo install install-out +EXTRA_DIST_FILES = LilyPond.ico $(wildcard *.patch) +STEPMAKE_TEMPLATES=documentation texinfo include $(depth)/make/stepmake.make @@ -11,52 +10,3 @@ default: local-doc local-WWW: -# For cygwin builds only -target=$(shell gcc -dumpmachine) -ifeq ($(target),i686-pc-cygwin) - -POST_INSTALLS=$(wildcard post-*.sh) -OUT_POST_INSTALLS=$(POST_INSTALLS:%=$(outdir)/%) - -PROFILES=$(wildcard *-profile.sh) lilypond-profile.sh -OUT_PROFILES=$(PROFILES:%=$(outdir)/%) - -# profiles -$(outdir)/%.sh: %.sh - cat $< | sed $(sed-atvariables) > $@ - chmod 755 $@ - -# Urg -$(outdir)/lilypond-profile.sh: $(outdir)/../$(depth)/buildscripts/$(outconfbase)/lilypond-profile - cp $< $@ - chmod 755 $@ - -default: $(OUT_POST_INSTALLS) $(OUT_PROFILES) - -INSTALLATION_OUT_SUFFIXES=1 2 - -# URG. -# By popular demand, -# LilyPond on windows is configured with --prefix=/usr/lilypond-x.y.x -# The cygwin profile.d dir, however, is in /etc - -# avoid collapsed directory constructs '//' -etc=$(dir $(patsubst %/, %, $(dir $(prefix))))etc -INSTALLATION_DIR=$(etc)/postinstall -INSTALLATION_FILES=$(OUT_POST_INSTALLS) - -INSTALLATION_OUT_DIR1=$(etc)/profile.d -INSTALLATION_OUT_FILES1=$(OUT_PROFILES) - -INSTALLATION_OUT_DIR2=$(datadir)/tex -INSTALLATION_OUT_FILES2=$(shell kpsewhich geometry.sty) - -else - -local-install: - @echo skipping - -local-install-outfiles: - @echo skipping - -endif diff --git a/Documentation/windows/fix-suffixes.sh b/Documentation/windows/fix-suffixes.sh deleted file mode 100644 index b48a81e70f..0000000000 --- a/Documentation/windows/fix-suffixes.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash -## duh, rename executables, -## for people that use a dumb shell instead of bash - -if [ $# -le 0 ]; then - echo "Usage: fix-suffixes [FILE]..." - exit 2 -fi - -echo `basename $0` - -function fix_extension () -{ - path=$1 - ext=$2 - expr="$3" - dir=`dirname $path` - file=`basename $path` - base=`basename $file $ext` - if [ $base$ext != $file ]; then - type="`file $path`" - if expr "$type" : "$expr"; then - mv -f $path $dir/$base$ext - fi - fi -} - -for i in `/bin/ls -d1 $*`; do - fix_extension $i .exe '.*Windows.*\(executable\).*' -# fix_extension $i .py '.*\(python\).*' -done - diff --git a/GNUmakefile.in b/GNUmakefile.in index cfb2860170..8cb953d60e 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -11,7 +11,7 @@ depth = . SUBDIRS = buildscripts scripts flower lily \ mf ly tex ps scm \ python po make intl \ - debian $(builddir)/stepmake \ + cygwin debian $(builddir)/stepmake \ Documentation input # @@ -105,22 +105,22 @@ WWW-clean: $(MAKE) -C input WWW-clean top-WWW-clean: - cd $(depth)/$(builddir) && rm -f $(TOP_HTMLS) lily-[0-9]*.png + cd $(builddir) && rm -f $(TOP_HTMLS) lily-[0-9]*.png $(SHELL) $(buildscript-dir)/clean-fonts.sh WWW: default: builddir-setup -builddir-setup: $(depth)/$(builddir)/share/lilypond/$(TOPLEVEL_VERSION)-force +builddir-setup: $(builddir)/share/lilypond/$(TOPLEVEL_VERSION)-force -$(depth)/$(builddir)/share/lilypond/$(TOPLEVEL_VERSION)-force: +$(builddir)/share/lilypond/$(TOPLEVEL_VERSION)-force: # Preparing LilyPond tree for builddir exec - @echo Making $(depth)/$(builddir)/share - @cd $(depth)/$(builddir) && rm -rf share - @cd $(depth)/$(builddir) && mkdir -p share/lilypond - @cd $(depth)/$(builddir)/share/lilypond && mkdir -p $(TOPLEVEL_VERSION) - @cd $(depth)/$(builddir)/share/lilypond/$(TOPLEVEL_VERSION) && \ + @echo Making $(builddir)/share + @cd $(builddir) && rm -rf share + @cd $(builddir) && mkdir -p share/lilypond + @cd $(builddir)/share/lilypond && mkdir -p $(TOPLEVEL_VERSION) + @cd $(builddir)/share/lilypond/$(TOPLEVEL_VERSION) && \ ln -s ../../../$(srcdir)/ly ly && \ ln -s ../../../mf/$(outconfbase) dvips && \ ln -s ../../../mf/$(outconfbase) afm && \ @@ -128,14 +128,14 @@ $(depth)/$(builddir)/share/lilypond/$(TOPLEVEL_VERSION)-force: ln -s ../../../$(srcdir)/mf && \ ln -s ../../../$(srcdir)/ps && \ ln -s ../../../$(srcdir)/scm - @cd $(depth)/$(builddir)/share/lilypond/$(TOPLEVEL_VERSION) && \ + @cd $(builddir)/share/lilypond/$(TOPLEVEL_VERSION) && \ mkdir tex - @cd $(depth)/$(builddir)/share/lilypond/$(TOPLEVEL_VERSION)/tex && \ + @cd $(builddir)/share/lilypond/$(TOPLEVEL_VERSION)/tex && \ ln -s ../../../../$(srcdir)/tex source && \ ln -s ../../../../mf/$(outconfbase) generate - @cd $(depth)/$(builddir)/share/lilypond/$(TOPLEVEL_VERSION) && \ + @cd $(builddir)/share/lilypond/$(TOPLEVEL_VERSION) && \ mkdir fonts - @cd $(depth)/$(builddir)/share/lilypond/$(TOPLEVEL_VERSION)/fonts && \ + @cd $(builddir)/share/lilypond/$(TOPLEVEL_VERSION)/fonts && \ ln -s ../../../../$(srcdir)/mf source && \ ln -s ../../../../mf/$(outconfbase) afm && \ ln -s ../../../../mf/$(outconfbase) tfm && \ @@ -143,4 +143,4 @@ $(depth)/$(builddir)/share/lilypond/$(TOPLEVEL_VERSION)-force: local-clean: builddir-setup-clean builddir-setup-clean: - @cd $(depth)/$(builddir) && rm -rf share + @cd $(builddir) && rm -rf share @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=5 PATCH_LEVEL=68 -MY_PATCH_LEVEL=uu1 +MY_PATCH_LEVEL=jcn1 # Use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/aclocal.m4 b/aclocal.m4 index d5b5bdd22b..fcfa277b89 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,6 +1,6 @@ dnl aclocal.m4 -*-shell-script-*- dnl WARNING WARNING WARNING -dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4 +dnl do not edit! this is aclocal.m4, generated from /home/fred/cvs/lilypond/stepmake/aclocal.m4 dnl aclocal.m4 -*-shell-script-*- dnl StepMake subroutines for configure.in @@ -288,7 +288,7 @@ AC_DEFUN(STEPMAKE_END, [ # regular in-place build # test for srcdir_build = yes ? - if test "$builddir" = "."; then + if test "$srcdir_build" = "yes"; then rm -f $srcdir/GNUmakefile cp $srcdir/GNUmakefile.in $srcdir/GNUmakefile chmod 444 $srcdir/GNUmakefile @@ -471,13 +471,13 @@ AC_DEFUN(STEPMAKE_INIT, [ AC_MSG_RESULT(Stepmake package!) AC_MSG_CHECKING(builddir) + builddir="`pwd`" if test "$srcdir" = "."; then - builddir=. + srcdir_build=yes else - absolute_builddir="`pwd`" - package_absolute_builddir="`dirname $absolute_builddir`" + srcdir_build=no + package_builddir="`dirname $builddir`" package_srcdir="`dirname $srcdir`" - builddir="`dirname $package_srcdir`/`basename $package_absolute_builddir`/`basename $absolute_builddir`" fi AC_MSG_RESULT($builddir) @@ -489,31 +489,20 @@ AC_DEFUN(STEPMAKE_INIT, [ AC_MSG_RESULT($PACKAGE) AC_MSG_CHECKING(builddir) + builddir="`pwd`" if test "$srcdir" = "."; then - builddir=. - srcdir_build=no - else - absolute_builddir="`pwd`" -# builddir="`dirname $srcdir`/`basename $absolute_builddir`" - builddir="`bash $srcdir/buildscripts/walk.sh \"$srcdir\"`" srcdir_build=yes + else + srcdir_build=no fi AC_MSG_RESULT($builddir) - if expr "$srcdir" : '/' > /dev/null 2>&1; then - absolute_srcdir=yes - STEPMAKE_WARN(Absolute --srcdir specified: $srcdir) - fi AC_MSG_CHECKING(for stepmake) # Check for installed stepmake if test -d $stepmake; then AC_MSG_RESULT($stepmake) else - if test "$absolute_srcdir" != "yes"; then - stepmake='$(depth)'/$srcdir/stepmake - else - stepmake=$srcdir/stepmake - fi + stepmake="`cd $srcdir/stepmake; pwd`" AC_MSG_RESULT($srcdir/stepmake ($datadir/stepmake not found)) fi diff --git a/cygwin/GNUmakefile b/cygwin/GNUmakefile new file mode 100644 index 0000000000..3cf0ac0c0b --- /dev/null +++ b/cygwin/GNUmakefile @@ -0,0 +1,60 @@ +depth = .. + +NAME = cygwin + +EXTRA_DIST_FILES = README changelog mknetrel $(wildcard *.sh *.hint) + +STEPMAKE_TEMPLATES = install install-out + +include $(depth)/make/stepmake.make + +# For cygwin builds only +target=$(shell gcc -dumpmachine) +ifeq ($(target),i686-pc-cygwin) + +POST_INSTALLS=$(wildcard post-*.sh) +OUT_POST_INSTALLS=$(POST_INSTALLS:%=$(outdir)/%) + +PROFILES=$(wildcard *-profile.sh) lilypond-profile.sh +OUT_PROFILES=$(PROFILES:%=$(outdir)/%) + +# profiles +$(outdir)/%.sh: %.sh + cat $< | sed $(sed-atvariables) > $@ + chmod 755 $@ + +# Urg +$(outdir)/lilypond-profile.sh: $(outdir)/../$(depth)/buildscripts/$(outconfbase)/lilypond-profile + cp $< $@ + chmod 755 $@ + +default: $(OUT_POST_INSTALLS) $(OUT_PROFILES) + +INSTALLATION_OUT_SUFFIXES=1 2 + +# URG. +# By popular demand, +# LilyPond on windows is configured with --prefix=/usr/lilypond-x.y.x +# The cygwin profile.d dir, however, is in /etc + +# avoid collapsed directory constructs '//' +etc=$(dir $(patsubst %/, %, $(dir $(prefix))))etc +INSTALLATION_DIR=$(etc)/postinstall +INSTALLATION_FILES=$(OUT_POST_INSTALLS) + +INSTALLATION_OUT_DIR1=$(etc)/profile.d +INSTALLATION_OUT_FILES1=$(OUT_PROFILES) + +INSTALLATION_OUT_DIR2=$(datadir)/tex +INSTALLATION_OUT_FILES2=$(shell kpsewhich geometry.sty) + +else + +local-install: + @echo skipping + +local-install-outfiles: + @echo skipping + +endif + diff --git a/Documentation/windows/README b/cygwin/README index c5c2135ccf..c5c2135ccf 100644 --- a/Documentation/windows/README +++ b/cygwin/README diff --git a/Documentation/windows/changelog b/cygwin/changelog index a4825afda5..c6c1d500d5 100644 --- a/Documentation/windows/changelog +++ b/cygwin/changelog @@ -1,3 +1,9 @@ +lilypond (1.5.68.jcn1-1) unstable; urgency=low + + * First full mknetrel build. + + -- Jan Nieuwenhuizen <janneke@gnu.org> Thu, 18 Jul 2002 01:35:18 +0200 + lilypond (1.5.64.jcn1-1) unstable; urgency=low * Initial Release. diff --git a/Documentation/windows/lilypond-doc.hint b/cygwin/lilypond-doc.hint index 941ced7e8e..941ced7e8e 100644 --- a/Documentation/windows/lilypond-doc.hint +++ b/cygwin/lilypond-doc.hint diff --git a/Documentation/windows/lilypond.hint b/cygwin/lilypond.hint index 9ca8c00c2a..9ca8c00c2a 100644 --- a/Documentation/windows/lilypond.hint +++ b/cygwin/lilypond.hint diff --git a/cygwin/mknetrel b/cygwin/mknetrel new file mode 100644 index 0000000000..2f4ba12b66 --- /dev/null +++ b/cygwin/mknetrel @@ -0,0 +1,336 @@ +# -*- shell-script -*- + +# stable LilyPond releases: lilypond-1.4 +# archive=ftp://lilypond.org/pub/LilyPond/v1.4 + +# LilyPond development: lilypond-1.5 +# archive=ftp://lilypond.org/pub/LilyPond/v1.5 + +# Guile specific mknetrel overrides +# To use this, do something like: +cat >/dev/null <<EOC + + wget -P/var/tmp ftp://lilypond.org/pub/LilyPond/v1.5/lilypond-1.5.68.tar.gz + rm -rf /home/mknetrel/netrel/src/lilypond-* + mkdir -p /home/mknetrel/netrel/src && cd /home/mknetrel/netrel/src + ## TODO: look at pimport + tar xzf /var/tmp/lilypond-* + mv lilypond-* $(echo lilypond-*)-1 + cd - + ./bin/mknetrel -xXC lilypond + +EOC + + +BUILD=1 +# sover=14 + +patch=$mknetrel_root/patch +iscygwin || (uploads=$here/uploads/$base && mkdir -p $uploads) + +sub_packages="doc" + + + +##. $extra/jcn + + +# -*- shell-script -*- + +# jcn -- unsorted stuff + + +# +# Patching and configuring +# + +# Maybe add to mknetrel or pimport. +dopatchsrc () { + cd $src + patch -p1 < $patch/$package.patch + [ -d cygwin -a ! -e CYGWIN-PATCHES ] && ln -s cygwin CYGWIN-PATCHES + [ -d CYGWIN-PATCHES -a ! -e cygwin ] && ln -s CYGWIN-PATCHES cygwin + [ -d CYGWIN-PATCHES ] || mkdir CYGWIN-PATCHES +} + +# Maybe add to mknetrel or pimport. +patchsrc () { + [ -r $patch/$package.patch -a ! -r $src/CYGWIN-PATCHES -a ! -r $src/cygwin ] && dopatchsrc +} + +autoupdate () { + for i in bootstrap autogen.sh; do + if [ -x ./$i ]; then + ./$i || exit 1 + return 0 + fi + done + + aclocal + rm -rf libltdl + libtoolize --force --copy --automake --ltdl + autoheader + autoconf + automake --add-missing +} + +crosscache () { + cat <<EOF > config.cache + +ac_cv_c_bigendian=${ac_cv_c_bigendian=no} +ac_cv_sizeof_char=${ac_cv_sizeof_char=1} +ac_cv_sizeof_char_p=${ac_cv_sizeof_char_p=4} +ac_cv_sizeof_double=${ac_cv_sizeof_double=8} +ac_cv_sizeof_float=${ac_cv_sizeof_float=4} +ac_cv_sizeof_int=${ac_cv_sizeof_int=4} +ac_cv_sizeof_long=${ac_cv_sizeof_long=4} +ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=12} +ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8} +ac_cv_sizeof_short=${ac_cv_sizeof_short=2} +ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4} +ac_cv_c_long_size_t=${ac_cv_c_long_size_t=no} +ac_cv_c_long_time_t=${ac_cv_c_long_time_t=yes} +ac_16bit_type=${ac_16bit_type=short} +ac_32bit_type=${ac_32bit_type=int} +ac_64bit_type=${ac_64bit_type=none} +ac_cv_sys_restartable_syscalls=${ac_cv_sys_restartable_syscalls=no} +ac_cv_sprintf_count=${ac_cv_sprintf_count=yes} +ac_cv_spinlocks=${ac_cv_spinlocks=no} +ac_cv_func_getpgrp_void=${ac_cv_func_getpgrp_void=yes} +ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no} +ac_cv_func_mkfifo=yes + +# Try at preventing to break make rules while crosscompiling. This +# used work, but nowadays ./configure thinks it knows better than me. + +# But what ./configure doesn't know, is that automake and libtool are +# broken wrt cross-building, and wrt cc_for_build. See new +# workarounds above. + +ac_exeext=${ac_exeext=} +ac_cv_exeext=${ac_cv_exeext=} +EOF +} + + + +# +# Subpackage stuff -- Maybe move to mknetrel +# + +# Possibly, using file-lists globs is smarter than separate install +# prefixes. We'll see what happens when packaging tetex-*. + + +lib_name () { + echo lib$base$sover +} + +devel_name () { + echo $base-devel +} + +doc_name () { + echo $base-doc +} + +lib_split () { + mkdir -p ./$prefix/bin || exit 1 + mv $inst/$prefix/bin/*.dll ./$prefix/bin + mkdir -p ./$prefix/share || exit 1 + mv $inst/$prefix/share/$base ./$prefix/share + true +} + +devel_split () { + mkdir -p ./$prefix/bin || exit 1 + mv $inst/$prefix/bin/guile-* ./$prefix/bin + mv $inst/$prefix/include ./$prefix/include + mkdir -p ./$prefix/lib || exit 1 + mv $inst/$prefix/lib/*.a ./$prefix/lib + mv $inst/$prefix/lib/*.la ./$prefix/lib + mkdir -p ./$prefix/share || exit 1 + mv $inst/$prefix/share/aclocal ./$prefix/share + true +} + +doc_split () { + mkdir -p ./$prefix || exit 1 + mv $inst/$prefix/info ./$prefix + true +} + +domkdist() { + # + # Fix up installation slightly + # + cd $inst || exit 1 + chmod -R a+w . + cd usr 2>/dev/null && dousrstuff + + + # Split off any sub-packages. The actual splitting is handled by + # a package's specific code in extra/. + + # To package `foo' in foo, foo-doc and foo-devel, set + # sub_packages='doc devel'. + + # Then provide functions doc_name and devel_name, that return the + # full name of the sub-package. Also provide functions doc_split + # and devel_split, that mv part of foo's installation in $inst to + # the sub-packages' installation roots $inst-doc and $inst-devel. + + cd $inst || exit 1 + presplit + + for i in $sub_packages; do + subname=$(${i}_name) + rm -rf $inst-$i + mkdir -p $inst-$i || exit 1 + cd $inst-$i + ${i}_split || exit 1 + done + + # + # Make tar balls + # + + cd $inst || exit 1 + prepackage + + # The base package + echo creating $tarstem.tar.bz2 + cd $inst || exit 1 + + f=$src/cygwin/setup.hint && test -r $f && cp $f $uploads + f=$src/cygwin/$base.hint && test -r $f && cp $f $uploads/setup.hint + find * -print | sort | tar -T - --no-recursion -cjf $tarstem.tar.bz2 + + # Any sub-packages + for i in $sub_packages; do + subname=$(${i}_name) + subload=$uploads/$subname + subtarstem=$subload/$subname-$ver + mkdir -p $subload || exit 1 + echo creating $subtarstem.tar.bz2 + f=$src/cygwin/$subname.hint && test -r $f && cp $f $subload/setup.hint + cd $inst-$i + find * -print | sort | tar -T - --no-recursion -cjf $subtarstem.tar.bz2 + done + + # The source package + cd $src/.. || exit 1 + echo creating "$tarstem"-src.tar.bz2 + find $package_src/* -print -follow | egrep -v '\.cvsignore|\.bak$|\.orig$|\.o$|~$|^.#|CVS|%redact|/tags$' | egrep -v "$src_exclude" | sort | tar -T - --no-recursion -cjf "$tarstem"-src.tar.bz2 + postpackage +} + + +# end jcn + + + + +needdevoflags () { + return 1 +} + +# do I have a broken setup, do the Guile developers not know how to +# write configure.in and Makefile.am, or are automake/libtool broken? +preconfig () { # aka libtool_woes () + + # Add to mknetrel? + patchsrc + + ## autoupdate + + cd $build || exit 1 + + GUILE=1.5.6 + cat > guile-config <<EOF +#/bin/sh +[ "\$1" == "--version" ] && echo "guile-config - Guile version $GUILE" +[ "\$1" == "compile" ] && echo "-I$PREFIX/include" +[ "\$1" == "link" ] && echo "-L$PREFIX/lib -lguile" +exit 0 +EOF + + chmod 755 guile-config + old_path=$PATH + PATH=$(pwd):$PATH + + LDFLAGS="$PREFIX/bin/libpython2.2.dll" +} + +postconfig () { + # Configure for build, for generating doc + rm -f config.cache + (PATH="$old_path" \ + CFLAGS="-O2 -g" \ + $src/configure --prefix=/usr --enable-config=for-build) +} + +prebuild () { + # Build for build, generating doc + cd $build || exit 1 + + # ugh, footify fix + cd $src && ln -s GNUmakefile.in GNUmakefile + + cd $build || exit 1 + PATH=/bin:/usr/bin:$PATH make conf=for-build all doc html-doc + for i in $(find . -path "out-for-build/*.1"); do + cp -pv $i $(dirname $(dirname $i))/$(basename $i) + done +} + +postinstall () { + mkdir -p $inst-doc/$prefix + cd $src || exit 1 + make conf=for-build prefix=$inst-doc/$prefix install-html-doc + + + ## copy READMEs etc + + cd $src || exit 1 + docdir=$prefix/share/doc/$name-$version + + mkdir -p $inst/$docdir + + ## Generic READMEs + find . -maxdepth 1 -type f -exec cp -pv \{\} $inst/$docdir \; + + ## Windows readmes + cd Documentation/windows || exit 1 + cp -p README $inst/$docdir/README.Cygwin + cp -p changelog $inst/$docdir/changelog.Cygwin + mkdir -p $inst/$prefix/doc/Cygwin + cp -p README $inst/$prefix/doc/Cygwin/$cygpack.README + + ## copy examples + cd $src || exit 1 + cp -prv input $inst/$docdir + + cd $inst-doc/$prefix/share/doc/$name-$version && + ln -s $(find html/Documentation -name '*.ps.gz') . + + ## Cygwin doesn't adhere to FHS (and why should they?) + cd $inst/$prefix && mv share/doc . + cd $inst-doc/$prefix && mv share/doc . +} + +#presplit () { +# docdir=$prefix/share/doc/$name-$version +# mkdir -p $inst-doc/$docdir || exit 1 +#} + +doc_split () { + mkdir -p ./$prefix || exit 1 + mv $inst/$prefix/info ./$prefix + true +} + + +#prepackage () { +# mv $inst/$prefix/bin/guile-* $inst-devel/$prefix/bin +#} diff --git a/Documentation/windows/post-lilypond.sh b/cygwin/post-lilypond.sh index 113a176476..113a176476 100644 --- a/Documentation/windows/post-lilypond.sh +++ b/cygwin/post-lilypond.sh diff --git a/Documentation/windows/zlily-profile.sh b/cygwin/zlily-profile.sh index 1fa9d011cf..5cb824c3db 100644 --- a/Documentation/windows/zlily-profile.sh +++ b/cygwin/zlily-profile.sh @@ -22,8 +22,8 @@ WINDOWS_MFINPUTS="$(cygpath -apw ""$POSIX_MFINPUTS"")" export POSIX_TEXINPUTS POSIX_TFMFONTS POSIX_TFMFONTS export WINDOWS_TEXINPUTS WINDOWS_TFMFONTS WINDOWS_MFINPUTS -GS_FONTPATH="$WINDOWS_GS_FONTPATH" -GS_LIB="$WINDOWS_GS_LIB" +#GS_FONTPATH="$WINDOWS_GS_FONTPATH" +#GS_LIB="$WINDOWS_GS_LIB" # needed for prefix=lilypond-x.y.z # PATH="/usr/lilypond/bin:$PATH" diff --git a/make/lilypond-vars.make b/make/lilypond-vars.make index 42dc6bc303..e82fe7ebc4 100644 --- a/make/lilypond-vars.make +++ b/make/lilypond-vars.make @@ -2,11 +2,11 @@ ## settings to run LilyPond -export PATH:=$(abs-builddir)/lily/$(outconfbase):$(abs-builddir)/buildscripts/$(outconfbase):$(PATH) +export PATH:=$(builddir)/lily/$(outconfbase):$(builddir)/buildscripts/$(outconfbase):$(PATH) # LilyPond is often run from within $(outdir), making a relative # PREFIX incorrect. -export LILYPONDPREFIX:=$(shell cd $(depth)/$(builddir)/share/lilypond/$(TOPLEVEL_VERSION); pwd) +export LILYPONDPREFIX:=$(shell cd $(builddir)/share/lilypond/$(TOPLEVEL_VERSION); pwd) export PYTHONPATH:=$(topdir)/python:$(PYTHONPATH) @@ -41,9 +41,9 @@ ifneq ($(the-script-dir),) ABC2LY = $(script-dir)/abc2ly.py CONVERT_LY = $(script-dir)/convert-ly.py -LILYPOND = $(abs-builddir)/lily/$(outconfbase)/lilypond +LILYPOND = $(builddir)/lily/$(outconfbase)/lilypond LILYPOND_BOOK = $(script-dir)/lilypond-book.py -LILYPOND_BOOK_INCLUDES = -I $(pwd) -I $(outdir) -I$(input-dir) -I $(input-dir)/tricks/ -I $(input-dir)/regression/ -I $(input-dir)/test/ -I $(input-dir)/tutorial/ -I $(abs-builddir)/mf/$(outconfbase)/ -I $(abs-builddir)/mf/out/ +LILYPOND_BOOK_INCLUDES = -I $(pwd) -I $(outdir) -I$(input-dir) -I $(input-dir)/tricks/ -I $(input-dir)/regression/ -I $(input-dir)/test/ -I $(input-dir)/tutorial/ -I $(builddir)/mf/$(outconfbase)/ -I $(builddir)/mf/out/ LY2DVI = $(script-dir)/ly2dvi.py LYS_TO_TELY = $(buildscript-dir)/lys-to-tely.py PS_TO_GIFS = $(buildscript-dir)/ps-to-gifs.sh diff --git a/make/stepmake.make b/make/stepmake.make index d92fd1ff66..e860f1fb83 100644 --- a/make/stepmake.make +++ b/make/stepmake.make @@ -1,5 +1,12 @@ # make/Stepmake.make + +all: foe + +foe: + @echo one=.$(shell cd $(builddir); pwd). + @echo two=.$(shell cd $(depth); pwd). + include $(depth)/make/toplevel-version.make @@ -29,26 +36,23 @@ endif ifdef config configuration=$(config) else - ifeq ($(builddir),.) + ifeq ($(builddir),) configuration=$(depth)/config$(CONFIGSUFFIX).make else - # user package - configuration=$(depth)/$(builddir)/config$(CONFIGSUFFIX).make - # stepmake package - #configuration=$(depth)/../$(builddir)/stepmake/config$(CONFIGSUFFIX).make + configuration=$(builddir)/config$(CONFIGSUFFIX).make endif endif -include $(configuration) - -ifeq ($(builddir),.) - outroot=$(builddir) +ifeq ($(builddir),) + outroot=. else - outroot=$(depth)/$(builddir)/$(patsubst $(shell cd $(depth); pwd)%,%,$(shell cd .; pwd)) + outroot=$(builddir)/$(patsubst $(shell cd $(depth); pwd)%,%,$(pwd)) endif +include $(configuration) + outdir=$(outroot)/$(outbase) -config_h=$(depth)/$(builddir)/config$(CONFIGSUFFIX).h +config_h=$(builddir)/config$(CONFIGSUFFIX).h # The outdir that was configured for: best guess to find binaries outconfbase=out$(CONFIGSUFFIX) diff --git a/stepmake/aclocal.m4 b/stepmake/aclocal.m4 index e8aeb960a9..33babcc409 100644 --- a/stepmake/aclocal.m4 +++ b/stepmake/aclocal.m4 @@ -285,7 +285,7 @@ AC_DEFUN(STEPMAKE_END, [ # regular in-place build # test for srcdir_build = yes ? - if test "$builddir" = "."; then + if test "$srcdir_build" = "yes"; then rm -f $srcdir/GNUmakefile cp $srcdir/GNUmakefile.in $srcdir/GNUmakefile chmod 444 $srcdir/GNUmakefile @@ -468,13 +468,13 @@ AC_DEFUN(STEPMAKE_INIT, [ AC_MSG_RESULT(Stepmake package!) AC_MSG_CHECKING(builddir) + builddir="`pwd`" if test "$srcdir" = "."; then - builddir=. + srcdir_build=yes else - absolute_builddir="`pwd`" - package_absolute_builddir="`dirname $absolute_builddir`" + srcdir_build=no + package_builddir="`dirname $builddir`" package_srcdir="`dirname $srcdir`" - builddir="`dirname $package_srcdir`/`basename $package_absolute_builddir`/`basename $absolute_builddir`" fi AC_MSG_RESULT($builddir) @@ -486,31 +486,20 @@ AC_DEFUN(STEPMAKE_INIT, [ AC_MSG_RESULT($PACKAGE) AC_MSG_CHECKING(builddir) + builddir="`pwd`" if test "$srcdir" = "."; then - builddir=. - srcdir_build=no - else - absolute_builddir="`pwd`" -# builddir="`dirname $srcdir`/`basename $absolute_builddir`" - builddir="`bash $srcdir/buildscripts/walk.sh \"$srcdir\"`" srcdir_build=yes + else + srcdir_build=no fi AC_MSG_RESULT($builddir) - if expr "$srcdir" : '/' > /dev/null 2>&1; then - absolute_srcdir=yes - STEPMAKE_WARN(Absolute --srcdir specified: $srcdir) - fi AC_MSG_CHECKING(for stepmake) # Check for installed stepmake if test -d $stepmake; then AC_MSG_RESULT($stepmake) else - if test "$absolute_srcdir" != "yes"; then - stepmake='$(depth)'/$srcdir/stepmake - else - stepmake=$srcdir/stepmake - fi + stepmake="`cd $srcdir/stepmake; pwd`" AC_MSG_RESULT($srcdir/stepmake ($datadir/stepmake not found)) fi diff --git a/stepmake/make/stepmake.make b/stepmake/make/stepmake.make index f0fb538cab..572ff3ef1b 100644 --- a/stepmake/make/stepmake.make +++ b/stepmake/make/stepmake.make @@ -28,26 +28,23 @@ endif ifdef config configuration=$(config) else - ifeq ($(builddir),.) + ifeq ($(builddir),) configuration=$(depth)/config$(CONFIGSUFFIX).make else - # user package - configuration=$(depth)/$(builddir)/config$(CONFIGSUFFIX).make - # stepmake package - configuration=$(depth)/../$(builddir)/stepmake/config$(CONFIGSUFFIX).make + configuration=$(builddir)/config$(CONFIGSUFFIX).make endif endif -include $(configuration) - -ifeq ($(builddir),.) - outroot=$(builddir) +ifeq ($(builddir),) + outroot=. else - outroot=$(depth)/$(builddir)/$(patsubst $(shell cd $(depth); pwd)%,%,$(shell cd .; pwd)) + outroot=$(builddir)/$(patsubst $(shell cd $(depth); pwd)%,%,$(pwd)) endif +include $(configuration) + outdir=$(outroot)/$(outbase) -config_h=$(depth)/$(builddir)/config$(CONFIGSUFFIX).h +config_h=$(builddir)/config$(CONFIGSUFFIX).h # The outdir that was configured for: best guess to find binaries outconfbase=out$(CONFIGSUFFIX) diff --git a/stepmake/stepmake/c++-rules.make b/stepmake/stepmake/c++-rules.make index 1696b2e0aa..1bec4365b2 100644 --- a/stepmake/stepmake/c++-rules.make +++ b/stepmake/stepmake/c++-rules.make @@ -1,16 +1,16 @@ .SUFFIXES: .cc .dep .hh .ll .o .so .yy $(outdir)/%.o: %.cc - $(DO_O_DEP) $(CXX) -c $(CXXFLAGS) -o $@ $< + $(DO_O_DEP) $(CXX) -c $(ALL_CXXFLAGS) -o $@ $< $(outdir)/%.o: $(outdir)/%.cc - $(DO_O_DEP) $(CXX) -c $(CXXFLAGS) -o $@ $< + $(DO_O_DEP) $(CXX) -c $(ALL_CXXFLAGS) -o $@ $< $(outdir)/%.lo: %.cc - $(DO_LO_DEP) $(CXX) -c $(CXXFLAGS) $(PIC_FLAGS) -o $@ $< + $(DO_LO_DEP) $(CXX) -c $(ALL_CXXFLAGS) $(PIC_FLAGS) -o $@ $< $(outdir)/%.lo: $(outdir)/%.cc - $(DO_LO_DEP) $(CXX) -c $(CXXFLAGS) $(PIC_FLAGS) -o $@ $< + $(DO_LO_DEP) $(CXX) -c $(ALL_CXXFLAGS) $(PIC_FLAGS) -o $@ $< $(outdir)/%.cc: %.yy $(BISON) $< diff --git a/stepmake/stepmake/c++-vars.make b/stepmake/stepmake/c++-vars.make index 3dfe6819b1..901e041b6b 100644 --- a/stepmake/stepmake/c++-vars.make +++ b/stepmake/stepmake/c++-vars.make @@ -8,7 +8,7 @@ include $(stepdir)/compile-vars.make # EXTRA_CXXFLAGS= -Wall -Winline -W -Wmissing-prototypes -Wmissing-declarations -Wconversion EXTRA_CXXFLAGS= -Wall -W -Wmissing-prototypes -Wconversion -CXXFLAGS = $(ICFLAGS) $(DEFINES) $(addprefix -I,$(INCLUDES)) $(USER_CFLAGS) $(EXTRA_CFLAGS) $(MODULE_CFLAGS) $($(PACKAGE)_CFLAGS) $($(PACKAGE)_CXXFLAGS) $(USER_CXXFLAGS) $(EXTRA_CXXFLAGS) $(MODULE_CXXFLAGS) +ALL_CXXFLAGS = $(CXXFLAGS) $(ICFLAGS) $(DEFINES) $(addprefix -I,$(INCLUDES)) $(USER_CFLAGS) $(EXTRA_CFLAGS) $(MODULE_CFLAGS) $($(PACKAGE)_CFLAGS) $($(PACKAGE)_CXXFLAGS) $(USER_CXXFLAGS) $(EXTRA_CXXFLAGS) $(MODULE_CXXFLAGS) # template files: TCC_FILES := $(wildcard *.tcc) diff --git a/stepmake/stepmake/c-rules.make b/stepmake/stepmake/c-rules.make index fa16d4f6ee..8a95ef6a9e 100644 --- a/stepmake/stepmake/c-rules.make +++ b/stepmake/stepmake/c-rules.make @@ -1,16 +1,16 @@ .SUFFIXES: .c .dep .h .l .lo .o .so .y $(outdir)/%.o: %.c - $(DO_O_DEP) $(CC) -c $(CFLAGS) -o $@ $< + $(DO_O_DEP) $(CC) -c $(ALL_CFLAGS) -o $@ $< $(outdir)/%.o: $(outdir)/%.c - $(DO_O_DEP) $(CC) -c $(CFLAGS) -o $@ $< + $(DO_O_DEP) $(CC) -c $(ALL_CFLAGS) -o $@ $< $(outdir)/%.lo: %.c - $(DO_LO_DEP) $(CC) -c $(CFLAGS) $(PIC_FLAGS) -o $@ $< + $(DO_LO_DEP) $(CC) -c $(ALL_CFLAGS) $(PIC_FLAGS) -o $@ $< $(outdir)/%.lo: %.c - $(DO_LO_DEP) $(CC) -c $(CFLAGS) $(PIC_FLAGS) -o $@ $< + $(DO_LO_DEP) $(CC) -c $(ALL_CFLAGS) $(PIC_FLAGS) -o $@ $< $(outdir)/%.c: %.y $(BISON) $< diff --git a/stepmake/stepmake/c-vars.make b/stepmake/stepmake/c-vars.make index 2b25636bba..2637bf2332 100644 --- a/stepmake/stepmake/c-vars.make +++ b/stepmake/stepmake/c-vars.make @@ -13,4 +13,4 @@ TAGS_FILES += $(C_FILES) $(H_FILES) ALL_C_SOURCES += $(H_FILES) $(C_FILES) $(Y_FILES) $(L_FILES) -CFLAGS = $(ICFLAGS) $(DEFINES) $(addprefix -I,$(INCLUDES)) $(USER_CFLAGS) $(EXTRA_CFLAGS) $(MODULE_CFLAGS) +ALL_CFLAGS = $(CFLAGS) $(ICFLAGS) $(DEFINES) $(addprefix -I,$(INCLUDES)) $(USER_CFLAGS) $(EXTRA_CFLAGS) $(MODULE_CFLAGS) diff --git a/stepmake/stepmake/generic-vars.make b/stepmake/stepmake/generic-vars.make index 25186b1cd3..7b457f3c5a 100644 --- a/stepmake/stepmake/generic-vars.make +++ b/stepmake/stepmake/generic-vars.make @@ -8,7 +8,6 @@ ifeq ($(topdir),) abs-srcdir := $(shell cd $(depth); pwd) #deprecated topdir := $(abs-srcdir) -abs-builddir := $(shell cd $(depth)/$(builddir); pwd) endif pwd := $(shell pwd) diff --git a/stepmake/stepmake/help2man-rules.make b/stepmake/stepmake/help2man-rules.make index 8f90dc312a..cbb34cea98 100644 --- a/stepmake/stepmake/help2man-rules.make +++ b/stepmake/stepmake/help2man-rules.make @@ -13,7 +13,7 @@ endif $(outdir)/%.1: $(outdir)/% echo "generating man page from --help" - @$(PERL) $(depth)/$(builddir)/buildscripts/$(outbase)/help2man $< > $@ || \ + @$(PERL) $(builddir)/buildscripts/$(outbase)/help2man $< > $@ || \ (echo ""; echo "Apparently the man pages failed to build. This is";\ echo "no problem, since they don't contain any information anyway.";\ echo "Please run make again, and be prepared for NO manual pages.") diff --git a/stepmake/stepmake/topdocs-targets.make b/stepmake/stepmake/topdocs-targets.make index ebb99358d0..ca8bd0b4d0 100644 --- a/stepmake/stepmake/topdocs-targets.make +++ b/stepmake/stepmake/topdocs-targets.make @@ -3,9 +3,9 @@ default: local-doc copy-to-top: $(TO_TOP_FILES) $(foreach i, $(TO_TOP_FILES), \ - cp $(i) $(depth)/$(builddir) && ) true - -cp $(outroot)/out-www/*png $(outroot)/out-www/index.html $(depth)/$(builddir) - -cp $(outdir)/*png $(outdir)/index.html $(depth)/$(builddir) # don't fail when not making website + cp $(i) $(builddir) && ) true + -cp $(outroot)/out-www/*png $(outroot)/out-www/index.html $(builddir) + -cp $(outdir)/*png $(outdir)/index.html $(builddir) # don't fail when not making website local-WWW: $(HTML_FILES) copy-to-top # we want footers even if website builds (or is built) partly |