]> git.donarmstrong.com Git - lilypond.git/commitdiff
patch::: 1.3.41.jcn2
authorJan Nieuwenhuizen <janneke@gnu.org>
Sat, 1 Apr 2000 11:09:18 +0000 (13:09 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sat, 1 Apr 2000 11:09:18 +0000 (13:09 +0200)
1.3.41.jcn2
===========

* Lots of fixes to windows distribution scripts.

* Added configuration features --program-prefix, --program suffix.

* lily/my-lily-parser.cc (get_chord): Bugfix, don't use deleted pitch.
This fixes inversions c/g and bass additions d/+c on chords.

---
Generated by janneke@gnu.org,
From = lilypond-1.3.41.jcn1, To = lilypond-1.3.41.jcn2

usage

    cd lilypond-source-dir; patch -E -p1 < lilypond-1.3.41.jcn2.diff

Patches do not contain automatically generated files
or (urg) empty directories,
i.e., you should rerun autoconf, configure

13 files changed:
CHANGES
VERSION
aclocal.m4
buildscripts/make-cygwin-cross.sh
config.make.in
lily/chord.cc
lily/my-lily-parser.cc
make/generic-vars.make
make/lilypond.spec.in
make/substitute.make
stepmake/aclocal.m4
stepmake/stepmake/executable-targets.make
stepmake/stepmake/generic-vars.make

diff --git a/CHANGES b/CHANGES
index 29ebd84c8e44b5471e1ea858a97cb19db8f95152..71b2b44f4a6a1ffcc605d3baf85383b4cb14589b 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,19 @@
---- ../lilypond-1.3.41/CHANGES Thu Mar 30 04:05:01 2000
+--- ../lilypond-1.3.41.jcn1/CHANGES    Thu Mar 30 17:50:26 2000
+++ b/CHANGES   Sat Apr  1 13:09:18 2000
+@@ -1,3 +1,13 @@
+1.3.41.jcn2
+===========
+
+* Lots of fixes to windows distribution scripts.
+
+* Added configuration features --program-prefix, --program suffix.
+
+* lily/my-lily-parser.cc (get_chord): Bugfix, don't use deleted pitch.
+This fixes inversions c/g and bass additions d/+c on chords.
+
+ 1.3.41.jcn1
+ ===========
+ --- ../lilypond-1.3.41/CHANGES        Thu Mar 30 04:05:01 2000
 ++ b/CHANGES   Fri Mar 31 00:30:53 2000
 @@ -1,3 +1,10 @@
 1.3.41.mwd1
diff --git a/VERSION b/VERSION
index c4a2122142e46ed5a04951ee92b678d5ad6749a5..c5d027c045ea98c5731350bf6ec784c75fa73a78 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=3
 PATCH_LEVEL=41
-MY_PATCH_LEVEL=mwd1
+MY_PATCH_LEVEL=jcn2
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index 8e3f35150dc69df63c79dc8a7e50975202ffdb2a..3e488a8f4f66b06d2b65bb93931053027c2d6bae 100644 (file)
@@ -1,5 +1,3 @@
-dnl WARNING WARNING WARNING WARNING
-dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4
 dnl aclocal.m4   -*-shell-script-*-
 dnl StepMake subroutines for configure.in
 
@@ -210,6 +208,14 @@ AC_DEFUN(AC_STEPMAKE_INIT, [
     fi
     stepmake=`echo ${stepmake} | sed "s!\\\${prefix}!$presome!"`
 
+    # urg, how is this supposed to work?
+    if test "$program_prefix" = "NONE"; then
+         program_prefix=
+    fi
+    if test "$program_suffix" = "NONE"; then
+         program_suffix=
+    fi
+
     AC_MSG_CHECKING(Package)
     if test "x$PACKAGE" = "xSTEPMAKE"; then
        AC_MSG_RESULT(Stepmake package!)
@@ -338,7 +344,7 @@ dnl    fi
        LN=cp # hard link does not work under cygnus-nt
        LN_S='cp -r' # symbolic link does not work for native nt
        ZIP="zip -r -9" #
-       DOTEXE=.exe
+       program_suffix=.exe
        # urg
         # DIRSEP='\\'
        # PATHSEP=';'
@@ -373,7 +379,8 @@ dnl    fi
        ZIP="zip -r -9"
         INSTALL="\$(SHELL) \$(stepdir)/../bin/install-sh -c"
     fi
-    AC_SUBST(DOTEXE)
+    AC_SUBST(program_prefix)
+    AC_SUBST(program_suffix)
     AC_SUBST(ZIP)
     AC_SUBST(LN)
     AC_SUBST(LN_S)
index ba14c333e1ddae9f8f1998082eb52dac96c76da3..8b215a0445358c50d2e653c2178c986479a59e3a 100644 (file)
 # config section
 ################
 
-target=cygwin
-#target=mingw
+TARGET_OS=cygwin
+#TARGET_OS=mingw32
 
-if [ $target = cygwin ]; then
+if [ $TARGET_OS = cygwin ]; then
        ROOT=/usr/src/cygwin-net-485
-       TARGET_ARCH=i686-pc-cygwin
+       TARGET_ARCH=i686
+       TARGET_VENDOR=pc
 else
        ROOT=/usr/src/mingw-net-485
-       TARGET_ARCH=i386-pc-mingw32
+       TARGET_ARCH=i386
+       TARGET_VENDOR=pc
 fi
+TARGET_PLATFORM=$TARGET_ARCH-$TARGET_VENDOR-$TARGET_OS
+
+ARCH=`uname -m`
+OS=`uname -s | tr '[A-Z]' '[a-z]'`
+VENDOR=gnu
+PLATFORM=$ARCH-$VENDOR-$OS
+
+#CROSS_TARGET_PLATFORM=$ARCH-x-$TARGET_PLATFORM
+CROSS_TARGET_PLATFORM=$PLATFORM-x-$TARGET_PLATFORM
+cto=$OS-x-cygwin
+tp=i686-cygwin
+
 PREFIX=$ROOT/usr
 NATIVE_ROOT=/Cygnus
 NATIVE_PREFIX=$NATIVE_ROOT/usr
+CROSS_ROOT=$NATIVE_ROOT/$cto
+CROSS_PREFIX=$CROSS_ROOT/usr
 
 # urg
 DEVEL=/home/fred
 distdir=$DEVEL/WWW/lilypond/gnu-windows/lily-w32
 #distdir=/tmp
 
-SOURCE_PATH=$DEVEL/usr/src/releases:$DEVEL/usr/src/redhat/SRPMS
-
-ARCH=`uname -m`
-OS=`uname -s | tr '[A-Z]' '[a-z]'`
-HOST=$ARCH-gnu-$OS
-CROSS_TARGET_ARCH=$ARCH-x-$TARGET_ARCH
-cta=$ARCH-x-cygwin
-ta=i686-cygwin
+CYGWIN_SOURCE=$DEVEL/sourceware.cygnus.com/pub/cygwin/private/cygwin-net-485
+cygwin_dirs=`/bin/ls -d1 $CYGWIN_SOURCE/*`
+cygwin_source_path=`echo $CYGWIN_SOURCE $cygwin_dirs | sed s'/\$/:/g'`
+SOURCE_PATH=$DEVEL/usr/src/releases:$DEVEL/usr/src/redhat/SRPMS:$cygwin_source_path
 
 cygwin_binary=cygwin-20000301.tar.gz
 mingw_binary=bin-crtdll-2000-02-03.tar.gz
@@ -68,34 +80,28 @@ MINWG_DLL=mingwc10-net-485.dll
 
 cross_rpm="
 binutils-19990818
+gcc-2.95.2
 bison
 flex
-gcc-2.95.2
 "
 
+# binutils installs ok, but forgets these two
 binutils_after_rpm='
-cd $PREFIX/$TARGET_ARCH/bin \;
-ln -f ../../bin/$TARGET_ARCH-ar ar \;
-ln -f ../../bin/$TARGET_ARCH-as as \;
-ln -f ../../bin/$TARGET_ARCH-dlltool dlltool \;
-ln -f ../../bin/$TARGET_ARCH-ld ld \;
-ln -f ../../bin/$TARGET_ARCH-nm nm \;
-ln -f ../../bin/$TARGET_ARCH-objdump objdump \;
-ln -f ../../bin/$TARGET_ARCH-objcopy objcopy \;
-ln -f ../../bin/$TARGET_ARCH-ranlib ranlib \;
-ln -f ../../bin/$TARGET_ARCH-strip strip \;
-cd $PREFIX/bin \;
-rm -f ar as dlltool ld nm objdump objcopy ranlib strip \;
+cd $CROSS_PREFIX/$TARGET_PLATFORM/bin \;
+ln -f ../../bin/$TARGET_PLATFORM-objdump objdump \;
+ln -f ../../bin/$TARGET_PLATFORM-objcopy objcopy \;
+mv -f ld ld-in-path-breaks-libtool
 '
+# burp.  gcc doesn't install any of these
 gcc_after_rpm='
-cd $PREFIX/$TARGET_ARCH/bin \;
-ln -f ../../bin/$TARGET_ARCH-gcc cc \;
-ln -f ../../bin/$TARGET_ARCH-gcc gcc \;
-ln -f ../../bin/$TARGET_ARCH-c++ c++ \;
-ln -f ../../bin/$TARGET_ARCH-g++ g++
+cd $CROSS_PREFIX/$TARGET_PLATFORM/bin \;
+ln -f ../../bin/$TARGET_PLATFORM-gcc cc \;
+ln -f ../../bin/$TARGET_PLATFORM-gcc gcc \;
+ln -f ../../bin/$TARGET_PLATFORM-c++ c++ \;
+ln -f ../../bin/$TARGET_PLATFORM-g++ g++
 '
 
-#guile_after_rpm='ln -f $NATIVE_PREFIX/bin/i686-redhat-cygwin-guile-config $NATIVE_PREFIX/bin/i686-pc-cygwin-guile-config'
+guile_after_rpm='cp -f $NATIVE_PREFIX/bin/*guile-config $CROSS_PREFIX/$TARGET_PLATFORM/bin'
 
 lilypond_version=@TOPLEVEL_VERSION@
 
@@ -149,17 +155,18 @@ build ()
         name=`echo $package | sed 's/-.*//'`
 
        if [ $type = "cross" ]; then
-               target_arch=$CROSS_TARGET_ARCH
-               a=$cta
+               target_platform=$CROSS_TARGET_PLATFORM
+               a=$cto
        else
-               target_arch=$TARGET_ARCH
-               a=$ta
+               target_platform=$TARGET_PLATFORM
+               a=$tp
        fi
 
-       rpm_package=`find_path $name*.rpm "$topdir/RPMS/$cta:$topdir/RPMS/$ta"`
+       rpm_package=`find_path $name*.rpm "$topdir/RPMS/$cto:$topdir/RPMS/$tp"`
        if [ "$rpm_package" != "" ]; then
                echo "$rpm_package: package exists"
-               echo "$rpm_package: just updating db"
+               #echo "$rpm_package: refreshing installation only"
+               echo "$rpm_package: just updating rpm database"
                rpm -ivv --justdb --ignoreos --ignorearch --nodeps --force\
                        --dbpath $NATIVE_ROOT/var/lib/rpm \
                        $topdir/RPMS/$a/$name*.rpm
@@ -170,15 +177,15 @@ build ()
        found=`find_path $package*src.rpm`
        if [ "$found" != "" ]; then
                rpm --root $NATIVE_ROOT -ivv $found || exit 1
-               rpm --target=$target_arch -ba SPECS/$name*.spec || exit 1
+               rpm --target=$target_platform -ba SPECS/$name*.spec || exit 1
        else
                tarball=`/bin/ls -d1 SOURCES/$package*tar.gz 2>/dev/null | head -1`
-               if [ "SPECS/$name.spec" != "" ] && [ "$tarball" != "" ]; then
-                       rpm --target=$target_arch -ba SPECS/$name.spec || exit 1
+               if [ "$name.spec" != "" ] && [ "$tarball" != "" ]; then
+                       rpm --target=$target_platform -ba SPECS/$name.spec || exit 1
                else
                        found=`find_path $package*tar.gz`
                        if [ "$found" != "" ]; then
-                               rpm --target=$target_arch -ta $found || exit 1
+                               rpm --target=$target_platform -ta $found || exit 1
                        else
                                echo "$package: no such rpm or tarball"
                                exit 1
@@ -209,9 +216,19 @@ mkdir -p $ROOT
 if [ ! -d $PREFIX/bin ]; then
        mkdir -p $PREFIX
        cd $PREFIX
-       mkdir -p include
-       mkdir -p $TARGET_ARCH
-       cd $TARGET_ARCH && ln -s ../include .
+
+       ## is this still necessary?
+       mkdir -p include lib
+       mkdir -p $TARGET_PLATFORM
+       cd $TARGET_PLATFORM && ln -s ../include .
+
+       mkdir -p $CROSS_PREFIX/$TARGET_PLATFORM
+       cd $CROSS_PREFIX/$TARGET_PLATFORM
+       ln -s $NATIVE_PREFIX/{include,lib} .
+       #ln -s $NATIVE_PREFIX/{include,lib} .
+       #ln -s $NATIVE_PREFIX/include .
+       #ln -s $CROSS_PREFIX/bin .
+       
        cd $ROOT
        found=`find_path $cygwin_binary`
        if [ "$found" = "" ]; then
@@ -220,14 +237,15 @@ if [ ! -d $PREFIX/bin ]; then
        fi
        tar xzf $found
        # urg, bug in gcc's cross-make configuration
-       mkdir -p $PREFIX/lib/gcc-lib/$TARGET_ARCH/2.95.2
+       mkdir -p $PREFIX/lib/gcc-lib/$TARGET_PLATFORM/2.95.2
+       mkdir -p $CROSS_PREFIX/lib/gcc-lib/$TARGET_PLATFORM/2.95.2
 else
        echo "$PREFIX: already exists"
        echo "$cygwin_binary: skipping"
 fi
 
 # mingw
-if [ ! -d $PREFIX/$TARGET_ARCH ]; then
+if [ ! -d $PREFIX/$TARGET_PLATFORM ]; then
        cd $PREFIX
        found=`find_path $mingw_binary`
        if [ "$found" = "" ]; then
@@ -236,11 +254,11 @@ if [ ! -d $PREFIX/$TARGET_ARCH ]; then
        fi
        tar xzf $found
 
-       mkdir -p $PREFIX/lib/gcc-lib/$TARGET_ARCH/2.95.2
+       mkdir -p $PREFIX/lib/gcc-lib/$TARGET_PLATFORM/2.95.2
        rm -f include
        mkdir -p $PREFIX/i386-mingw32/include
-       ln -s $PREFIX/i386-mingw32 $TARGET_ARCH
-       ln -s $PREFIX/$TARGET_ARCH/include .
+       ln -s $PREFIX/i386-mingw32 $TARGET_PLATFORM
+       ln -s $PREFIX/$TARGET_PLATFORM/include .
 fi
 
 rm -f $NATIVE_ROOT
@@ -269,18 +287,19 @@ db_cv_sprintf_count=yes
 db_cv_spinlocks=no
 EOF
 
-mcta=$ARCH-cygwin
-cross_rpm_dir=$NATIVE_PREFIX/lib/rpm/$mcta
-cross_rpm_link=/usr/lib/rpm/$mcta
+#URG, stupid RPM
+rpm_ct=$ARCH-$TARGET_OS
+cross_rpm_dir=$CROSS_PREFIX/lib/rpm/$rpm_ct
+cross_rpm_link=/usr/lib/rpm/$rpm_ct
 mkdir -p $cross_rpm_dir
 rm -f $cross_rpm_link
-ln -s $NATIVE_PREFIX/lib/rpm/$mcta $cross_rpm_link
+ln -s $cross_rpm_dir $cross_rpm_link
 
-native_rpm_dir=$NATIVE_PREFIX/lib/rpm/$ta
-native_rpm_link=/usr/lib/rpm/$ta
+native_rpm_dir=$NATIVE_PREFIX/lib/rpm/$tp
+native_rpm_link=/usr/lib/rpm/$tp
 mkdir -p $native_rpm_dir
 rm -f $native_rpm_link
-ln -s $NATIVE_PREFIX/lib/rpm/$ta $native_rpm_link
+ln -s $native_rpm_dir $native_rpm_link
 
 cross_macros=$cross_rpm_dir/macros
 native_macros=$native_rpm_dir/macros
@@ -288,11 +307,6 @@ native_macros=$native_rpm_dir/macros
 base_macros=$NATIVE_PREFIX/lib/rpm/base-macros
 rm -f $base_macros
 cat > $base_macros <<EOF
-%root          /Cygnus
-%_rootbindir    /Cygnus/bin
-#_usr           /Cygnus/usr
-%_prefix       /Cygnus/usr
-%prefix                /Cygnus/usr
 %native_prefix /Cygnus/usr
 
 %_topdir       %{native_prefix}/src/redhat
@@ -308,30 +322,52 @@ cat > $base_macros <<EOF
 
 %cygwin_dll    %{native_prefix}/bin/cygwin1.dll
 
+%__install     /bin/install
+
 %cflags                %{optflags}
+%cppflags      %{nil}
 
 %sourcedir     .
 EOF
 
 cp -f $base_macros $cross_macros
 cat >> $cross_macros <<EOF
-%_rpmfilename  %%{ARCH}-x-cygwin/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}-x-cygwin.rpm
+
+%cross_prefix  /Cygnus/$cto/usr
+%root          /Cygnus/$cto
+%_rootbindir    /Cygnus/$cto/bin
+#_usr           /Cygnus/$cto/usr
+%_prefix       /Cygnus/$cto/usr
+%prefix                /Cygnus/$cto/usr
+
+%_rpmfilename  $cto/%%{NAME}-%%{VERSION}-%%{RELEASE}.$cto.rpm
 
 %config_site   %{nil}
+
+%cppflags      %{nil}
+%cflags                %{nil}
 %ldflags       %{nil}
-%_target_platform $TARGET_ARCH
-%program_prefix $TARGET_ARCH-
+%_target_platform $TARGET_PLATFORM
 
+#% configure   \
+#  %{?__libtoolize:[ -f configure.in ] \&\& %{__libtoolize} --copy --force}; \
 %configure     \
-  CFLAGS="%{cflags}" LDFLAGS="%{ldflags}" CONFIG_SITE=%{config_site} \
+  CPPFLAGS="%{cppflags}" CFLAGS="%{cflags}" LDFLAGS="%{ldflags}" CONFIG_SITE=%{config_site} \
   %{sourcedir}/configure \
-  --host=%{_host} --target=%{_target_platform} --prefix=%{native_prefix} \
-  --program-prefix=%{program_prefix}
+  --host=%{_host} --target=%{_target_platform} --prefix=%{cross_prefix} -v
 EOF
 
 cp -f $base_macros $native_macros
 cat >> $native_macros <<EOF
+
+%root          /Cygnus
+%_rootbindir    /Cygnus/bin
+#_usr           /Cygnus/usr
+%_prefix       /Cygnus/usr
+%prefix                /Cygnus/usr
+
 %config_site   %{_prefix}/share/native-config.site
+# won't work: scripts and stuff are .exe too
 #%program_suffix .exe
 %program_suffix %{nil}
 
@@ -339,47 +375,89 @@ cat >> $native_macros <<EOF
 #%_vendor      pc
 #%_os          cygwin
 
-%_rpmfilename  %%{ARCH}-cygwin/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}-cygwin.rpm
+%_rpmfilename  %%{ARCH}-$TARGET_OS/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}-$TARGET_OS.rpm
 
 %__find_provides       %{native_prefix}/lib/rpm/cygwin.prov
 %__find_requires       %{native_prefix}/lib/rpm/cygwin.req
+%__fix_suffixes                %{native_prefix}/bin/fix-suffixes
+%fix_suffixes  %{__fix_suffixes} \$RPM_BUILD_ROOT%{_rootbindir}/* \$RPM_BUILD_ROOT%{native_prefix}/bin/*
 
+%cppflags      -I%{native_prefix}/include
+%cflags                %{optflags} %{cppflags}
 %ldflags       -L%{native_prefix}/lib %{cygwin_dll}
+
+#%configure    \
+#  %{?__libtoolize:[ -f configure.in ] \&\& %{__libtoolize} --copy --force}; \
+
 %configure     \
-  CFLAGS="%{cflags}" LDFLAGS="%{ldflags}" CONFIG_SITE=%{config_site} \
+  CPPFLAGS="%{cppflags}" CFLAGS="%{cflags}" LDFLAGS="%{ldflags}" CONFIG_SITE=%{config_site} \
   %{sourcedir}/configure --host=%{_host} --target=%{_target_platform} \
-  --prefix=%{native_prefix} --program-suffix=%{program_suffix}
+  --prefix=%{native_prefix} --program-prefix=
+#  --prefix=%{native_prefix} --program-suffix=%{program_suffix}
 EOF
 
-rm -f $native_rpm_dir/cygwin.prov
-cat > $native_rpm_dir/cygwin.prov <<EOF
+rm -f $NATIVE_PREFIX/lib/rpm/cygwin.prov
+cat > $NATIVE_PREFIX/lib/rpm/cygwin.prov <<EOF
 #!/bin/sh
 while read f ; do
-       f=\`echo $f | tr '[:upper:]' '[:lower:]'\`
+       f=\`echo \$f | tr '[:upper:]' '[:lower:]'\`
        case \$f in
        *.dll)  basename \$f
                ;;
        esac
 done | sort -u
 EOF
-chmod 755 $native_rpm_dir/cygwin.prov
+chmod 755 $NATIVE_PREFIX/lib/rpm/cygwin.prov
 
-rm -f $native_rpm_dir/cygwin.req
-cat > $native_rpm_dir/cygwin.req <<EOF
+rm -f $NATIVE_PREFIX/lib/rpm/cygwin.req
+cat > $NATIVE_PREFIX/lib/rpm/cygwin.req <<EOF
 #!/bin/sh
 
 while read f ; do
        case \$f in
-       *.dll|*.exe)    objdump -p $f | grep "DLL Name:" | cut -f3 -d" " | tr '[
-upper:]' '[:lower:]'
+       *.dll|*.exe)    objdump -p \$f | grep "DLL Name:" | cut -f3 -d" " | tr '[:upper:]' '[:lower:]'
                        ;;
        esac
 done | sort -u
 
 EOF
-chmod 755 $native_rpm_dir/cygwin.req
+chmod 755 $NATIVE_PREFIX/lib/rpm/cygwin.req
 
+rm -f $NATIVE_PREFIX/bin/fix-suffixes
+cat > $NATIVE_PREFIX/bin/fix-suffixes <<EOF
+#!/bin/sh
+## 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
+
+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
+
+EOF
+chmod 755 $NATIVE_PREFIX/bin/fix-suffixes
 set -x
 type=rpm
 rm -rf $NATIVE_ROOT/var/lib/rpm
@@ -387,14 +465,16 @@ mkdir -p $NATIVE_ROOT/var/lib/rpm
 rpm --root $NATIVE_ROOT --initdb
 
 topdir=$NATIVE_PREFIX/src/redhat
-mkdir -p $topdir/{BUILD,RPMS/{$ta,$cta},SOURCES,SPECS,SRPMS}
+mkdir -p $topdir/{BUILD,RPMS/{$tp,$cto},SOURCES,SPECS,SRPMS}
 
 ##############
 # end of setup
 ##############
 
 OLDPATH=$PATH
-PATH=$PREFIX/bin:$PATH
+# building x-gcc requires to have x-ar in path
+# x-gcc will find $prefix/x/bin/as by itself
+PATH=$CROSS_PREFIX/bin:$PATH
 
 mkdir -p $PREFIX/src
 cd $PREFIX/src
@@ -408,7 +488,7 @@ for i in $cross_rpm; do
        fi
 done
 
-PATH=$PREFIX/$TARGET_ARCH/bin:$PATH
+PATH=$CROSS_PREFIX/$TARGET_PLATFORM/bin:$PATH
 
 cd $PREFIX/src
 type=native
@@ -432,7 +512,7 @@ rm -f $distdir/$CYGWIN_DLL.gz
 cd $distdir && cp -f $PREFIX/bin/$CYGWIN_DLL . && gzip -f $CYGWIN_DLL
 
 rm -f $distdir/rpm.gz
-cd $distdir && cp -f $ROOT/bin/rpm . && gzip -f rpm
+cd $distdir && cp -f `/bin/ls -d1 $ROOT/bin/rpm* |head -1` rpm && gzip -f rpm
 
 
 cat > $distdir/setup.sh <<EOF
@@ -452,25 +532,28 @@ gunzip rpm.gz || exit 1
 echo > rpmrc
 mkdir -p \$ROOT/var/lib
 mkdir -p \$ROOT/bin
-echo > \$ROOT/bin/rpm
+touch \$ROOT/bin/rpm \$ROOT/bin/rpm.exe
 ./rpm --root \$ROOT --rcfile rpmrc --initdb
 ./rpm --root \$ROOT --rcfile rpmrc --nodeps --ignorearch --ignoreos -Uhv \\
-       RPMS/$ta/rpm-*.$ta.rpm \\
-       RPMS/$ta/*.$ta.rpm
+       RPMS/$tp/rpm-*.$tp.rpm \\
+       RPMS/$tp/*.$tp.rpm
 done
 EOF
 
 cat > $distdir/setup.bat <<EOF
 del dll olddll
-#old_dll=\`which cygwin1.dll\`
-bash -c 'dll=\`which cygwin1.dll\`;
+rem # old_dll=\`which cygwin1.dll\`
+bash -c 'mkdir -p /bin;
+       cp -f \`which bash\` /bin;
+       cp -f /bin/bash /bin/sh.exe;
+       dll=\`which cygwin1.dll\`;
        wdll=\`cygpath -w \$dll\`;
        echo cygwin1.dll \$wdll > newdll; echo \$wdll \$wdll.orig\$\$ > olddll'
 if not errorlevel 0 goto nobash
-#mv -f \$old_dll \$old_dll.orig\$\$
-#gunzip cygwin1.dll.gz
+rem # mv -f \$old_dll \$old_dll.orig\$\$
+rem # gunzip cygwin1.dll.gz
 gunzip cygwin1.dll.gz
-#cp -f cygwin1.dll \$old_dll
+rem # cp -f cygwin1.dll \$old_dll
 copy < olddll 
 copy < newdll 
 bash setup.sh
@@ -513,7 +596,7 @@ ln -s ../redhat/RPMS .
 www=`dirname $distdir`
 cd $www
 for i in guile-1 rpm lilypond; do
-       rpm=`find_path $i*.rpm $distbase/RPMS/$ta`
+       rpm=`find_path $i*.rpm $distbase/RPMS/$tp`
        dist_rpms="$dist_rpms $rpm"
 done
 
@@ -530,12 +613,12 @@ rm -f $zipdir/$CYGWIN_DLL.zip
 cd $ROOT/bin && zip $zipdir/$CYGWIN_DLL.zip $CYGWIN_DLL
 
 for i in guile-1 rpm lilypond; do
-       found=`find_path $i*.rpm $distdir/RPMS/$ta`
+       found=`find_path $i*.rpm $distdir/RPMS/$tp`
        if [ "$found" = "" ]; then
                echo "$i: no such .rpm"
        else
                base=`basename $found`
-               package=`echo $base | sed "s/\.$ta.rpm//"`
+               package=`echo $base | sed "s/\.$tp.rpm//"`
                dir=/tmp/$i-rpm2zip
                rm -rf $dir
                mkdir -p $dir
index a0d9338300b89e7df845d5f18e14be2174f59630..8a72dfea93dcdebac7d0be4ac35568538cb976ae 100644 (file)
@@ -35,6 +35,8 @@ bindir = @bindir@
 includedir = @includedir@
 datadir = @datadir@
 localedir = @localedir@
+program_prefix = @program_prefix@
+program_suffix = @program_suffix@
 EXTRA_LIBES = @EXTRA_LIBES@ @LIBS@
 TEX_TFMDIR = @TEX_TFMDIR@
 RANLIB = @RANLIB@
index e188062f0e06870cc18a29a689af662443b4b93d..5c80c7c1752d78a966b9db0172e2b9ad2f4577ec 100644 (file)
@@ -193,7 +193,10 @@ to_chord (Array<Musical_pitch> pitch_arr, Tonic_req* tonic_req, Inversion_req* i
       assert (pitch_arr[0].notename_i_ == tonic_req->pitch_.notename_i_);
     }
 
-  return Chord (pitch_arr, inversion_p, bass_p);
+  Chord chord (pitch_arr, inversion_p, bass_p);
+  delete inversion_p;
+  delete bass_p;
+  return chord;
 }
 
 Chord::Chord ()
index 233f910ca6a0dbf097e520a0368449925a599d9c..65e3c69adc6c3ea1b11e35d7d4c506eacf6f0976 100644 (file)
@@ -116,24 +116,26 @@ My_lily_parser::get_chord (Musical_pitch tonic,
     ugh
    */
   Chord chord = to_chord (tonic, add_arr_p, sub_arr_p, inversion_p, bass_p);
+  inversion_p = 0;
+  bass_p = 0;
 
   Tonic_req* t = new Tonic_req;
   t->pitch_ = tonic;
   v->add_music (t);
 
   //urg
-  if (inversion_p
-      && Chord::find_notename_i (&chord.pitch_arr_, *inversion_p) > 0)
+  if (chord.inversion_b_
+      && Chord::find_notename_i (&chord.pitch_arr_, chord.inversion_pitch_) > 0)
     {
       Inversion_req* i = new Inversion_req;
-      i->pitch_ = *inversion_p;
+      i->pitch_ = chord.inversion_pitch_;
       v->add_music (i);
     }
 
-  if (bass_p)
+  if (chord.bass_b_)
     {
       Bass_req* b = new Bass_req;
-      b->pitch_ = *bass_p;
+      b->pitch_ = chord.bass_pitch_;
       v->add_music (b);
     }
 
index 1581a6e7687cc24a342b61a6f0f6dd934d29f716..95d6e82f74cdb37de4435987cb08c48a9f36fdb0 100644 (file)
@@ -43,8 +43,8 @@ INSTALL_DIST_FILES = \
   bin/convert-mudela\
   bin/mudela-book\
   bin/ly2dvi\
-  bin/lilypond$(DOTEXE)\
-  bin/mi2mu$(DOTEXE)\
+  bin/$(program_prefix)lilypond$(program_suffix)\
+  bin/$(program_prefix)mi2mu$(program-suffix)\
   info/lilypond.info\
   man/man1/mi2mu.1\
   man/man1/lilypond.1\
index f7bee128c43e70dc6bea87edfae41edfd42cc4f2..1c4f427152172dfbaba2134b497198b3094ad0e9 100644 (file)
@@ -28,10 +28,13 @@ The documentation of LilyPond, both in HTML and PostScript.
 
 %prep
 %setup
+
 %build
-#./configure --disable-checking --disable-debugging --enable-printing --prefix=/usr --disable-optimise --enable-shared
+
 %{configure} --disable-checking --disable-debugging --enable-printing --prefix=%{_prefix} --disable-optimise --enable-shared
+
 make all
+
 ln -s %{_prefix}/share/texmf/fonts/tfm/public/cm/ tfm
 
 # urg
@@ -63,6 +66,10 @@ tar -C htmldocs -xzf out/htmldoc.tar.gz || true
 mkdir -p out/examples/
 tar -cf - input/  | tar -C out/examples/ -xf- || true
 
+%ifos cygwin
+%{fix_suffixes}
+%endif
+
 %post
 
 touch /tmp/.lilypond-install
@@ -79,12 +86,17 @@ fi
 # hairy to hook it in (possibly non-existing) emacs
 %doc mudela-mode.el
 
+%ifnos cygwin
 %{_prefix}/bin/abc2ly
 %{_prefix}/bin/convert-mudela
 %{_prefix}/bin/mudela-book
 %{_prefix}/bin/ly2dvi
 %{_prefix}/bin/lilypond
 %{_prefix}/bin/midi2ly
+%else
+%{_prefix}/bin
+%endif
+
 %{_prefix}/man/man1/midi2ly.1
 %{_prefix}/man/man1/lilypond.1
 %{_prefix}/man/man1/mudela-book.1
index c4be0de6aeb17cee06d1b43537c08d7301ac765d..f35294a5547699bd16f66c5cadece0138f6a12b2 100644 (file)
@@ -14,10 +14,10 @@ ATVARIABLES = \
   package\
   PATHSEP\
   PERL\
+  program_prefix\
+  program_suffix\
   PYTHON\
   SHELL\
   TOPLEVEL_VERSION\
   step-bindir\
-  abs-step-bindir\
-
 
index 6b2886d4cb8daafed5fc25be9cbd2ad3e349fdf9..3e488a8f4f66b06d2b65bb93931053027c2d6bae 100644 (file)
@@ -208,6 +208,14 @@ AC_DEFUN(AC_STEPMAKE_INIT, [
     fi
     stepmake=`echo ${stepmake} | sed "s!\\\${prefix}!$presome!"`
 
+    # urg, how is this supposed to work?
+    if test "$program_prefix" = "NONE"; then
+         program_prefix=
+    fi
+    if test "$program_suffix" = "NONE"; then
+         program_suffix=
+    fi
+
     AC_MSG_CHECKING(Package)
     if test "x$PACKAGE" = "xSTEPMAKE"; then
        AC_MSG_RESULT(Stepmake package!)
@@ -336,7 +344,7 @@ dnl    fi
        LN=cp # hard link does not work under cygnus-nt
        LN_S='cp -r' # symbolic link does not work for native nt
        ZIP="zip -r -9" #
-       DOTEXE=.exe
+       program_suffix=.exe
        # urg
         # DIRSEP='\\'
        # PATHSEP=';'
@@ -371,7 +379,8 @@ dnl    fi
        ZIP="zip -r -9"
         INSTALL="\$(SHELL) \$(stepdir)/../bin/install-sh -c"
     fi
-    AC_SUBST(DOTEXE)
+    AC_SUBST(program_prefix)
+    AC_SUBST(program_suffix)
     AC_SUBST(ZIP)
     AC_SUBST(LN)
     AC_SUBST(LN_S)
index 66e33173a68a13071d4c45d48bf97d5b87126843..f0af1ac552521d3042abe4d9d243ead98f93b613 100644 (file)
@@ -20,13 +20,15 @@ localuninstall: uninstallexe
 installexe: all
        -$(INSTALL) -d $(bindir)
        $(foreach a, $(EXECUTABLES), \
-               $(INSTALL) -m 755 $(outdir)/$(a) $(bindir)/$(a)$(DOTEXE) && \
-               strip $(bindir)/$(a)$(DOTEXE) && ) true
+               $(INSTALL) -m 755 $(outdir)/$(a) \
+               $(bindir)/$(program_prefix)$(a)$(program_suffix) && \
+               strip $(bindir)/$(program_prefix)$(a)$(program_suffix) && ) true
        $(foreach a, $(SEXECUTABLES), \
                $(INSTALL) -m 755 $(outdir)/$(a) $(bindir) &&) true
 
 uninstallexe:
-       $(foreach a, $(EXECUTABLES), rm -f $(bindir)/$(a)$(DOTEXE) &&) true
+       $(foreach a, $(EXECUTABLES), rm -f \
+               $(bindir)/$(program_prefix)$(a)$(program_suffix) && ) true
        $(foreach a, $(SEXECUTABLES), rm -f $(bindir)/$(a) &&) true
 
 
index 3fe7ed8dfb7660bb03c78aa5c4f3fabae950a0ef..ebcbe573aaddd9d632cf3934a23b0fa091854de4 100644 (file)
@@ -110,7 +110,7 @@ DODEP=rm -f $(depfile); DEPENDENCIES_OUTPUT="$(depfile) $(outdir)/$(notdir $@)"
 # generic target names:
 #
 ifdef NAME
-EXECUTABLE = $(outdir)/$(NAME)$(EXE)
+EXECUTABLE = $(outdir)/$(NAME)
 else
 EXECUTABLE =
 endif