From: Jan Nieuwenhuizen Date: Thu, 18 Jul 2002 00:08:25 +0000 (+0000) Subject: * Documentation/user/refman.itely: Compile fix for \mark #'(music ...). X-Git-Tag: release/1.5.69~19 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=f9efd2c54b174591fa42889557686c7aea356547;p=lilypond.git * Documentation/user/refman.itely: Compile fix for \mark #'(music ...). * Documentation/user/internals.itely: Use ly-set-mus-property!. * cygwin/mknetrel: New file. * Documentation/windows/fix-suffixes.sh: * buildscripts/walk.sh: Junk. * aclocal.m4: Regenerate. * 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. --- diff --git a/ChangeLog b/ChangeLog index 7a7c2ec4db..5236dd34d9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,42 @@ +2002-07-18 Jan Nieuwenhuizen + + * 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 * 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/README b/Documentation/windows/README deleted file mode 100644 index c5c2135ccf..0000000000 --- a/Documentation/windows/README +++ /dev/null @@ -1,60 +0,0 @@ -LilyPond ------------------------------------------- -LilyPond - The GNU music typesetter. - -Runtime requirements: - cygwin-1.3.10 or newer - libguile14 - -Build requirements: - cygwin-1.3.10 or newer - binutils-20011102 or newer - gcc-2.95.3-5 or newer - bison-1.35 or newer - flex-2.5.4 or newer - python-2.2 or newer - texinfo-4.2 or newer - sed-3.02 or newer - fileutils - sh-utils - tetex-beta - texmf-tiny - etc. - libguile14-dev - - -Canonical homepage: - http://www.lilypond.org/development - -Canonical download: - ftp://ftp.lilypond.org/pub/LilyPond - ------------------------------------- - -Build instructions: - - unpack lilypond-1.5.64-1-src.tar.bz2 - if you use setup to install this src package, it will be - unpacked under /usr/src automatically - cd /usr/src - DISTDIR=/usr/src ./lilypond-1.5.64-1.sh - -This will create: - $DISTDIR/lilypond/lilypond-1.5.64-1-orig.tar.bz2 - $DISTDIR/lilypond/lilypond-1.5.64-1-src.tar.bz2 - $DISTDIR/lilypond/lilypond-1.5.64-1.tar.bz2 - $DISTDIR/lilypond/lilypond-doc/lilypond-doc-1.5.64-1.tar.bz2 - ------------------- - -Port notes: - - These packages were built on GNU/Linux using cross building and - packaging scripts: - - http://lilypond.org/cygwin/cygwin-cross-1.3.10.2.tar.gz - - Jan Nieuwenhuizen - janneke@gnu.org - -Cygwin port maintained by: Jan Nieuwenhuizen diff --git a/Documentation/windows/changelog b/Documentation/windows/changelog deleted file mode 100644 index a4825afda5..0000000000 --- a/Documentation/windows/changelog +++ /dev/null @@ -1,9 +0,0 @@ -lilypond (1.5.64.jcn1-1) unstable; urgency=low - - * Initial Release. - - -- Jan Nieuwenhuizen Thu, 4 Jul 2002 12:54:08 +0200 - -Local variables: -mode: debian-changelog -End: 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/Documentation/windows/lilypond-doc.hint b/Documentation/windows/lilypond-doc.hint deleted file mode 100644 index 941ced7e8e..0000000000 --- a/Documentation/windows/lilypond-doc.hint +++ /dev/null @@ -1,5 +0,0 @@ -sdesc: "LilyPond documentation." -category: Publishing -ldesc: "LilyPond Documentation in HTML, PS and DVI formats. -This package contains the HTML, PostScript and DVI documentation for the -LilyPond music typesetting software." diff --git a/Documentation/windows/lilypond.hint b/Documentation/windows/lilypond.hint deleted file mode 100644 index 9ca8c00c2a..0000000000 --- a/Documentation/windows/lilypond.hint +++ /dev/null @@ -1,8 +0,0 @@ -sdesc: "A program for printing sheet music" -category: Publishing -requires: ash bash libguile14 libiconv2 libintl2 python tetex-beta texmf-tiny -#suggests: emacs gsview lilypond-doc rxvt xdvi texmf-base -ldesc: "A program for printing sheet music. -LilyPond prints beautiful sheet music. It produces music notation -from a description file. It excels at typesetting classical music, but -you can also print pop-songs. LilyPond is part of the GNU Project." \ No newline at end of file diff --git a/Documentation/windows/post-lilypond.sh b/Documentation/windows/post-lilypond.sh deleted file mode 100644 index 113a176476..0000000000 --- a/Documentation/windows/post-lilypond.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!@SHELL@ -# /etc/profile.d/post-lily.sh -- Setup LilyPond - -# touch /tmp/.lilypond-install -- from redhat.spec, why? -rm `find /var/lib/texmf -name 'feta*pk' -or -name 'feta*tfm' -or -name 'parmesan*pk' -or -name 'parmesan*tfm' -print'` -# rm /tmp/.lilypond-install - -# needed for prefix=lilypond-x.y.z -#rm -f /usr/lilypond -#lily=@prefix@ -#ln -s $lily /usr/lilypond - - diff --git a/Documentation/windows/zlily-profile.sh b/Documentation/windows/zlily-profile.sh deleted file mode 100644 index 1fa9d011cf..0000000000 --- a/Documentation/windows/zlily-profile.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!@SHELL@ -# /etc/profile.d/zlily-profile.sh -- profile additions for Windows -# runs after lilypond-profile.sh - -# maybe we should do this once (postinstall) and dump result for -# this login script -POSIX_GS_LIB="$(cygpath -apu ""$GS_LIB"")" -WINDOWS_GS_LIB="$(cygpath -apw ""$POSIX_GS_LIB"")" - -POSIX_GS_FONTPATH="$(cygpath -apu ""$GS_FONTPATH"")" -WINDOWS_GS_FONTPATH="$(cygpath -apw ""$POSIX_GS_FONTPATH"")" - -POSIX_TEXINPUTS="$(cygpath -apu ""$TEXINPUTS"")" -WINDOWS_TEXINPUTS="$(cygpath -apw ""$POSIX_TEXINPUTS"")" - -POSIX_TFMFONTS="$(cygpath -apu ""$TFMFONTS"")" -WINDOWS_TFMFONTS="$(cygpath -apw ""$POSIX_TFMFONTS"")" - -POSIX_MFINPUTS="$(cygpath -apu ""$MFINPUTS"")" -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" - -# needed for prefix=lilypond-x.y.z -# PATH="/usr/lilypond/bin:$PATH" -# PATH="@prefix@/bin:$PATH" - -cat < /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/cygwin/README b/cygwin/README new file mode 100644 index 0000000000..c5c2135ccf --- /dev/null +++ b/cygwin/README @@ -0,0 +1,60 @@ +LilyPond +------------------------------------------ +LilyPond - The GNU music typesetter. + +Runtime requirements: + cygwin-1.3.10 or newer + libguile14 + +Build requirements: + cygwin-1.3.10 or newer + binutils-20011102 or newer + gcc-2.95.3-5 or newer + bison-1.35 or newer + flex-2.5.4 or newer + python-2.2 or newer + texinfo-4.2 or newer + sed-3.02 or newer + fileutils + sh-utils + tetex-beta + texmf-tiny + etc. + libguile14-dev + + +Canonical homepage: + http://www.lilypond.org/development + +Canonical download: + ftp://ftp.lilypond.org/pub/LilyPond + +------------------------------------ + +Build instructions: + + unpack lilypond-1.5.64-1-src.tar.bz2 + if you use setup to install this src package, it will be + unpacked under /usr/src automatically + cd /usr/src + DISTDIR=/usr/src ./lilypond-1.5.64-1.sh + +This will create: + $DISTDIR/lilypond/lilypond-1.5.64-1-orig.tar.bz2 + $DISTDIR/lilypond/lilypond-1.5.64-1-src.tar.bz2 + $DISTDIR/lilypond/lilypond-1.5.64-1.tar.bz2 + $DISTDIR/lilypond/lilypond-doc/lilypond-doc-1.5.64-1.tar.bz2 + +------------------ + +Port notes: + + These packages were built on GNU/Linux using cross building and + packaging scripts: + + http://lilypond.org/cygwin/cygwin-cross-1.3.10.2.tar.gz + + Jan Nieuwenhuizen + janneke@gnu.org + +Cygwin port maintained by: Jan Nieuwenhuizen diff --git a/cygwin/changelog b/cygwin/changelog new file mode 100644 index 0000000000..c6c1d500d5 --- /dev/null +++ b/cygwin/changelog @@ -0,0 +1,15 @@ +lilypond (1.5.68.jcn1-1) unstable; urgency=low + + * First full mknetrel build. + + -- Jan Nieuwenhuizen Thu, 18 Jul 2002 01:35:18 +0200 + +lilypond (1.5.64.jcn1-1) unstable; urgency=low + + * Initial Release. + + -- Jan Nieuwenhuizen Thu, 4 Jul 2002 12:54:08 +0200 + +Local variables: +mode: debian-changelog +End: diff --git a/cygwin/lilypond-doc.hint b/cygwin/lilypond-doc.hint new file mode 100644 index 0000000000..941ced7e8e --- /dev/null +++ b/cygwin/lilypond-doc.hint @@ -0,0 +1,5 @@ +sdesc: "LilyPond documentation." +category: Publishing +ldesc: "LilyPond Documentation in HTML, PS and DVI formats. +This package contains the HTML, PostScript and DVI documentation for the +LilyPond music typesetting software." diff --git a/cygwin/lilypond.hint b/cygwin/lilypond.hint new file mode 100644 index 0000000000..9ca8c00c2a --- /dev/null +++ b/cygwin/lilypond.hint @@ -0,0 +1,8 @@ +sdesc: "A program for printing sheet music" +category: Publishing +requires: ash bash libguile14 libiconv2 libintl2 python tetex-beta texmf-tiny +#suggests: emacs gsview lilypond-doc rxvt xdvi texmf-base +ldesc: "A program for printing sheet music. +LilyPond prints beautiful sheet music. It produces music notation +from a description file. It excels at typesetting classical music, but +you can also print pop-songs. LilyPond is part of the GNU Project." \ No newline at end of file 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 < 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 < /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