From f9efd2c54b174591fa42889557686c7aea356547 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Thu, 18 Jul 2002 00:08:25 +0000 Subject: [PATCH] * 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. --- ChangeLog | 39 ++ Documentation/user/GNUmakefile | 6 +- Documentation/user/internals.itely | 8 +- Documentation/user/refman.itely | 3 +- Documentation/windows/GNUmakefile | 54 +-- Documentation/windows/fix-suffixes.sh | 32 -- GNUmakefile.in | 28 +- VERSION | 2 +- aclocal.m4 | 31 +- cygwin/GNUmakefile | 60 ++++ {Documentation/windows => cygwin}/README | 0 {Documentation/windows => cygwin}/changelog | 6 + .../windows => cygwin}/lilypond-doc.hint | 0 .../windows => cygwin}/lilypond.hint | 0 cygwin/mknetrel | 336 ++++++++++++++++++ .../windows => cygwin}/post-lilypond.sh | 0 .../windows => cygwin}/zlily-profile.sh | 4 +- make/lilypond-vars.make | 8 +- make/stepmake.make | 26 +- stepmake/aclocal.m4 | 29 +- stepmake/make/stepmake.make | 19 +- stepmake/stepmake/c++-rules.make | 8 +- stepmake/stepmake/c++-vars.make | 2 +- stepmake/stepmake/c-rules.make | 8 +- stepmake/stepmake/c-vars.make | 2 +- stepmake/stepmake/generic-vars.make | 1 - stepmake/stepmake/help2man-rules.make | 2 +- stepmake/stepmake/topdocs-targets.make | 6 +- 28 files changed, 529 insertions(+), 191 deletions(-) delete mode 100644 Documentation/windows/fix-suffixes.sh create mode 100644 cygwin/GNUmakefile rename {Documentation/windows => cygwin}/README (100%) rename {Documentation/windows => cygwin}/changelog (55%) rename {Documentation/windows => cygwin}/lilypond-doc.hint (100%) rename {Documentation/windows => cygwin}/lilypond.hint (100%) create mode 100644 cygwin/mknetrel rename {Documentation/windows => cygwin}/post-lilypond.sh (100%) rename {Documentation/windows => cygwin}/zlily-profile.sh (95%) 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/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 diff --git a/VERSION b/VERSION index cb5cbc16b5..e9b363f94b 100644 --- a/VERSION +++ b/VERSION @@ -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 similarity index 100% rename from Documentation/windows/README rename to cygwin/README diff --git a/Documentation/windows/changelog b/cygwin/changelog similarity index 55% rename from Documentation/windows/changelog rename to 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 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 similarity index 100% rename from Documentation/windows/lilypond-doc.hint rename to cygwin/lilypond-doc.hint diff --git a/Documentation/windows/lilypond.hint b/cygwin/lilypond.hint similarity index 100% rename from Documentation/windows/lilypond.hint rename to 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 < 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 -- 2.39.2