]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 0.0.42 release/0.0.42
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 14 Mar 1997 14:51:12 +0000 (15:51 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 14 Mar 1997 14:51:12 +0000 (15:51 +0100)
88 files changed:
.version
Documentation/CodingStyle.pod
Documentation/INSTALL.pod [new file with mode: 0644]
Documentation/Makefile
Documentation/README.pod [deleted file]
Documentation/index.pod
Documentation/language.pod
Documentation/lelie_logo.gif [new file with mode: 0644]
Documentation/lelie_logo.png [deleted file]
Documentation/lilypond.pod [new file with mode: 0644]
INSTALL [deleted file]
INSTALL.text [new file with mode: 0644]
Makefile
NEWS
README
TODO
bin/Makefile
bin/cpgento
bin/make_fversion [deleted file]
bin/make_patch
bin/make_version
configure
configure.in [new file with mode: 0644]
flower/.version
flower/Makefile
flower/NEWS
flower/TODO
flower/config.hh.in [new file with mode: 0644]
flower/configure [new file with mode: 0644]
flower/configure.in [new file with mode: 0644]
flower/lib/Makefile
flower/lib/dstream.cc
flower/lib/flower-version.cc [new file with mode: 0644]
flower/lib/include/Makefile
flower/lib/include/flower-config.hh [deleted file]
flower/lib/include/fproto.hh
flower/lib/include/libc-extension.hh
flower/lib/include/pqueue.hh
flower/lib/include/string-convert.hh
flower/lib/libc-extension.cc
flower/lib/string-convert.cc
flower/test/Makefile
flower/test/stringtest.cc
init/Makefile
input/Makefile
install-sh [new file with mode: 0755]
lib/Makefile
lib/include/Makefile
lily/.version [new file with mode: 0644]
lily/Makefile
lily/include/Makefile
lily/include/lexer.hh
lily/include/main.hh
lily/include/notename.hh
lily/include/parseconstruct.hh
lily/include/text-item.hh
lily/lily-version.cc [new file with mode: 0644]
lily/main.cc
lily/midi-output.cc
lily/note.cc
lily/notename.cc [deleted file]
lily/parser.y
lily/qlp.cc
lily/qlpsolve.cc
lily/tex-stream.cc
lily/version.cc
make/ACVariables.make.in [deleted file]
make/Configure_variables.make.in [new file with mode: 0644]
make/Include.make
make/Initial.make
make/Makefile
make/Rules.make
make/Stuff.make
make/Targets.make
make/Template.make
make/User.make
make/Variables.make
make/configure.in [deleted file]
make/lilypond.spec [deleted file]
make/lilypond.spec.in [new file with mode: 0644]
mi2mu/.version
mi2mu/Makefile
mi2mu/include/Makefile
mi2mu/include/midi-global.hh
mi2mu/lily-stream.cc
mi2mu/main.cc
mi2mu/version.cc
tex/Makefile

index 6bdeb2687759dd2599e3e975da423c63aa35100a..71f7750ff1d9fd30008589c27793b8f506a35c1f 100644 (file)
--- a/.version
+++ b/.version
@@ -1,8 +1,8 @@
 TOPLEVEL_MAJOR_VERSION = 0
 TOPLEVEL_MINOR_VERSION = 0
 TOPLEVEL_MAJOR_VERSION = 0
 TOPLEVEL_MINOR_VERSION = 0
-TOPLEVEL_PATCH_LEVEL = 41
+TOPLEVEL_PATCH_LEVEL = 42
 # use to send patches, always empty for released version:
 # include separator: ".postfix", "-pl" makes rpm barf
 
 # use to send patches, always empty for released version:
 # include separator: ".postfix", "-pl" makes rpm barf
 
-TOPLEVEL_MY_PATCH_LEVEL = 
+TOPLEVEL_MY_PATCH_LEVEL =
 #
 #
index a23cd5f46e7d5c67e75e04eb77b70130bf84fa93..8df4c8fd420e279c2622f25d34ce7b59200662ac 100644 (file)
@@ -9,6 +9,27 @@ Please use these standards while doing programming for LilyPond
 Functions and methods do not return errorcodes, but use assert for
 checking status. 
 
 Functions and methods do not return errorcodes, but use assert for
 checking status. 
 
+               A program should be light and agile, its subroutines
+       connected like a strings of pearls.  The spirit and intent of
+       the program should be retained throughout.  There should be
+       neither too little nor too much, neither needless loops nor
+       useless variables, neither lack of structure nor overwhelming
+       rigidity.
+
+               A program should follow the 'Law of Least
+       Astonishment'.  What is this law?  It is simply that the
+       program should always respond to the user in the way that
+       astonishes him least.
+
+               A program, no matter how complex, should act as a
+       single unit.  The program should be directed by the logic
+       within rather than by outward appearances.
+
+               If the program fails in these requirements, it will be
+       in a state of disorder and confusion.  The only way to correct
+       this is to rewrite the program.
+               -- Geoffrey James, "The Tao of Programming"
+
 =head2 INDENTATION
 
 in emacs:
 =head2 INDENTATION
 
 in emacs:
diff --git a/Documentation/INSTALL.pod b/Documentation/INSTALL.pod
new file mode 100644 (file)
index 0000000..4a38917
--- /dev/null
@@ -0,0 +1,173 @@
+=head1 NAME
+
+INSTALL - installing LilyPond
+
+=head1 DESCRIPTION
+
+This page documents installation  and compilation of LilyPond
+
+=head1 IMPORTANT
+
+if you have downloaded a
+
+       *.pre*
+
+version, then this is version is I<not> meant for producing nice
+output, but to keep your patchsets up to date.  It might not even compile.
+
+=head1 PREREQUISITES
+
+For compilation you need.
+
+=over 5
+
+=item *
+Unix. LilyPond is known to run on Linux, AIX, Digital Unix and
+Solaris
+
+If you have the Cygnus WIN32 port of the GNU utils, it will
+even work in Lose NT/95, but don't promise to support it.
+
+=item *
+GNU C++ v2.7 or better, with libg++ installed.  Version 2.7.2
+or better recommended. I almost positive that it will not compile with
+AT&T CC.
+
+=item *
+Bash. Most scripts will continue to work with a stock sh, but they
+will generate (harmless) syntax errors
+
+=item *
+GNU make. 
+
+=item *
+Flex (2.5.1 or better). 
+
+=item *
+Bison.
+
+=back
+
+=head1 RECOMMENDED
+
+=over 5
+
+=item *
+Perl.  Some (mostly unimportant scripts) use Perl for trivial
+operations. The documentation was created with the perl's Plain Old
+Documentation.
+
+=item *
+(GNU) find
+
+=back
+
+
+
+=head1 CONFIGURING and COMPILING
+
+to install LilyPond, simply type:
+
+       configure
+       make install
+
+This will install the following files:
+
+       /usr/local/man/man1/lilypond.1
+       /usr/local/bin/lilypond
+       /usr/local/bin/mi2mu
+       /usr/local/share/lilypond/*
+       /usr/lib/texmf/texmf/tex/lilypond/* 
+
+The TeX include directory is detected dynamically, but it can be
+adjusted with B<--enable-texprefix>. The above assumes that you are root and 
+have the gnu
+development tools, and your make is gnu make.  If this is not the
+case, you can adjust your environment variables to your taste:
+
+       CXXFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR" configure
+
+the configure script is Cygnus configure, and it will accept
+B<--help>. If you are not root, you will probably have to make it with
+
+       configure --prefix=/home/me_myself_and_I/
+
+Since LilyPond currently is beta, You are advised to also use
+
+       --enable-debug
+       --enable-checking
+
+other options include:
+
+       --enable-printing
+       --enable-optimise
+       --enable-profiling
+
+The option B<--enable-optimise> is recommended for Real Life usage.
+
+If you do
+
+       make all
+
+everything will be compiled, but nothing will be installed.  The
+resulting binaries can be found in the subdirectory
+F<bin/>.
+
+=head1 RUNNING
+
+LilyPond does use a lot of resources. For operation you need the following:
+
+
+=over 5
+
+=item *
+A fast computer (a full page of music typically takes 1 minute
+on my 486/66, using the B<--enable-checking> compile. It's lot slower
+than most MusiXTeX preprocessors)
+
+=item *
+TeX
+
+=item *
+The MusixTeX fonts. (I use those found in MusixTeX
+T.59)
+
+=back
+
+Please refer to the man page for more information.
+
+=head1 REDHAT LINUX
+
+RedHat Linux users should be able to get a RPM. A spec file is in
+F<make/lilypond.spec>.
+
+
+=head1 WINDOZE
+
+Windows NT:
+
+you need the cygnus win32 gnu port development stuff; have a look
+at http://www.cygnus.com/gnu-win32.
+
+to make LilyPond under, brr, aargh, well, simply type:
+
+       bash configure
+       make win32
+
+=head1 PLATFORMS
+
+LilyPond (pl 0.0.39) is known to compile on the following platforms:
+
+       * linux 2.0.28, g++ 2.7.2[.1]
+       * aix 4.1, g++ 2.7.2
+       * windows-nt 4.0, cygnus gnu-win32 beta17.1 (~=g++ 2.7.2)
+       * linux 2.0.28 X to doze, gcc-go32 (~=g++ 2.7.2) [exec. untested]
+
+=head1 AUTHORS
+
+       Han-Wen Nienhuys <hanwen@stack.nl>
+
+       Jan Nieuwenhuizen <jan@digicash.com>
+
+
+Have fun!
index e95293e314d2206a27d98798a258c3e31792c041..9f74fbb9a91b4208f1d6aa74f49d07c40f5c5996 100644 (file)
@@ -13,7 +13,7 @@ MINOR_VERSION = $(TOPLEVEL_MINOR_VERSION)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 #
 
 # generic variables:
 #
 
 # generic variables:
@@ -26,13 +26,13 @@ include ./$(depth)/make/Variables.make
 PODFILES = $(shell ls *.pod)
 OUTPODFILES = $(patsubst %,$(outdir)/%,$(PODFILES))
 TEXTFILES = $(OUTPODFILES:.pod=.text)
 PODFILES = $(shell ls *.pod)
 OUTPODFILES = $(patsubst %,$(outdir)/%,$(PODFILES))
 TEXTFILES = $(OUTPODFILES:.pod=.text)
-MANFILES = $(OUTPODFILES:.pod=.1)
+GROFFFILES = $(OUTPODFILES:.pod=.1)
 HTMLFILES = $(OUTPODFILES:.pod=.html)
 #
 
 # list of distribution files:
 #
 HTMLFILES = $(OUTPODFILES:.pod=.html)
 #
 
 # list of distribution files:
 #
-DISTFILES = $(PODFILES) Makefile lelie_logo.png
+DISTFILES = $(PODFILES) Makefile lelie_logo.gif
 #
 
 default: do-doc
 #
 
 default: do-doc
@@ -43,7 +43,8 @@ html: $(pod)
        pod2html
 
 htmldist: html
        pod2html
 
 htmldist: html
-       ./$(bindir)/make_website
+       ./$(lily_bindir)/make_website
+
 
 # generic targets and rules:
 #
 
 # generic targets and rules:
 #
@@ -51,3 +52,12 @@ include ./$(depth)/make/Targets.make
 include ./$(depth)/make/Rules.make
 #
 
 include ./$(depth)/make/Rules.make
 #
 
+localclean:
+       rm -f $(TEXTFILES) $(HTMLFILES) $(GROFFFILES)
+
+localinstall: $(outdir)/lilypond.1
+       $(INSTALL) -d $(mandir)/man1
+       $(INSTALL) -m 755 $< $(mandir)/man1
+
+localuninstall:
+       rm -f $(mandir)/man1/lilypond.1
diff --git a/Documentation/README.pod b/Documentation/README.pod
deleted file mode 100644 (file)
index 90376b7..0000000
+++ /dev/null
@@ -1,359 +0,0 @@
-=head1 NAME
-
-LilyPond - a music typesetter
-
-=head1 SYNOPSIS
-
-       lilypond [options] [inputfiles]
-
-=head1 DESCRIPTION
-
-LilyPond typesets music. It translates script files (mudela files or
-F<*.ly>'s) into TeX input.  Typesetting music is a complex task,
-whereas the message that printed music conveys is usually a simple
-one. LilyPond is a try at providing a simple interface for setting
-music. LilyPond has these features:
-
-
-=over 5
-
-=item *
-ASCII script input, with identifiers (for music reuse),
-customizable notenames, customizable fontset
-
-=item *
-MIDI output lets you check if you have entered the correct notes.
-
-=item *
-Multiple staffs in one score. Each staff can have a different meters.
-
-=item *
-multiple stafftypes (melodic, rhythmic) [broken from  pl28 on]
-
-=item *
-beams, slurs, chords, super/subscripts (accents and text),
-triplets, general n-plet (triplet, quadruplets, etc.), lyrics
-
-=item *
-multiple voices within one staff; beams optionally shared
-between voices. (well, more than 2 voices won't look pretty --yet.)
-
-=item *
-multiple scores within one input file. Each score is output to
-a different file.
-
-=item *
-clef changes, meter changes, cadenza-mode, key changes, repeat bars
-
-=back
-
-=head1 DESIGN CONSIDERATIONS
-
-LilyPond was written with some considerations in mind:
-
-=over 5
-
-=item *
-Describing a well-defined language for defining music. We call
-this language (rather arrogantly) The Musical Definition Language
-(mudela for short). LilyPond reads a mudela sourcefile and outputs a
-TeX file.  This musical definition language should:
-
-=over 5
-
-=item 1.
-define the musical message of the writer as unambigiously as
-possible.
-
-=item 2.
-be easily readable. (as compared to, say, MusixTeX input)
-
-=item 3.
-be writable in ASCII (with a simple texteditor).
-
-=back
-
-At this time, the language isn't yet defined precisely. It is evolving as
-LilyPond is getting more complex.
-
-=item *
-We want to provide an easy-to-use interface for typesetting music in
-its broadest sense. This interface should be intuitive from a musical
-point of view. By broadest sense we mean: it is designed for music
-printed left to right in staffs, using notes to designate rythm and
-pitch.
-
-=item *
-LilyPond uses MusiXTeX fonts and TeX for its output. This is not a key
-issue: in a future version, LilyPond might bypass TeX, but at the moment
-TeX is very convenient for producing output.
-
-=item  *
-Generate high-quality output. Ideally it should be of a professional
-quality. We'd like to render Herbert Chlapiks words, "Fine music
-setting is not possible without a knowledgeable printer,"  untrue.
-
-=item *
-LilyPond does not display notes directly, nor will it be rehacked to be
-used interactively. LilyPond writes output to a file.  It will not be
-extended to play music, or to recognize music.
-
-=item *
-LilyPond is intended to run on Unix platforms, but it should
-be portable to any platform which can run TeX and the GNU tools
-
-=item *
-LilyPond is free. Commercial windows packages for setting music are
-abundant. Free musicprinting software is scarce.
-
-=item *
-LilyPond is written in GNU C++. It will not be downgraded/ported to fit
-broken systems.
-
-=back
-
-=head1 OPTIONS
-
-=over 5
-
-=item B<-I,--include>=F<FILE>,
-
-add F<FILE> to the search path for input files.
-
-
-=item B<-M,--midi>
-
-do midi output only
-
-=item B<-d,--debug>,
-
-Turn debugging info. LilyPond will read the file F<.dstreamrc>, which
-tells for what functions and classes may produce copious debugging
-output.
-
-=item B<-w,--warranty>,
-
-Show the warranty with which LilyPond comes. (It comes with B<NO WARRANTY>!)
-
-=item B<-o,--output=>F<FILE>,
-
-Set the default output file to F<FILE>.
-
-=item B<-h,--help>,
-
-Show a summary of usage
-
-=item B<-i,--init=>F<FILE>
-
-set init file to F<FILE> (default: F<symbol.ini>)
-
-=item B<--include, -I>=F<DIRECTORY>
-add F<DIRECTORY> to the search path for input files.
-
-=back
-
-=head1 
-DISCLAIMER & COPYING POLICY
-
-LilyPond is copyright 1996,97 by its authors. LilyPond is
-distributed under the terms of the GNU General Public
-License. LilyPond is provided without any warranty what so ever.
-LilyPond may be freely distributed.  For further information consult
-the GNU General Public License, which is in the file F<COPYING>
-
-=head1 PREREQUISITES
-
-For compilation you need.
-
-=over 5
-
-=item *
-Unix. LilyPond is known to run on Linux, AIX, Digital Unix and
-Solaris (if you have the Cygnus WIN32 port of the GNU utils, it will
-even work in Lose NT/95)
-
-=item *
-GNU C++ v2.7 or better, with libg++ installed.  Version 2.7.2
-or better recommended. I doubt if it will compile with AT&T CC.
-
-=item *
-Bash. Most scripts will continue to work with a stock sh, but they
-will generate (harmless) syntax errors
-
-=item *
-GNU make.
-
-=item *
-Flex (2.5.1 or better). 
-
-=item *
-Bison.
-
-=item *
-Perl.  The Makefile uses Perl for trivial operations, and you
-could tinker with it to use sed or awk.
-
-=back
-
-LilyPond does use a lot of resources. For operation you need the following:
-
-=over 5
-
-=item *
-a fast computer (a full page of music typically takes 1 minute
-on my 486/66, using the DEBUG compile. It's lot slower than most
-MusiXTeX preprocessors)
-
-=item *
-TeX
-
-=item *
-The MusixTeX fonts. (I use version those found in MusixTeX
-Taupin version T.59)
-
-=back
-
-=head1 COMPILING
-
-Do:
-
-       tar zxf flower-1.11.9.tar.gz
-       tar zxf lilypond-1.2.13.tar.gz
-       cd lilypond-1.2.13
-       configure
-       make
-
-You probably want to edit Variables.make to tailor the compilation
-flags. If you're not into debugging C++, then you should go for no
-debugging and C<-O2>
-
-=head1 AUTHORS
-
-=over 5
-
-=item *
-Han-Wen Nienhuys <hanwen@stack.nl>, Main author
-
-=item *
-Jan Nieuwenhuizen <jan@digicash.com>, Context errors, Lyrics,
-bits of FlowerLib, general comments.
-
-=item *
-Mats Bengtsson <matsb@s3.kth.se>, bugfixes, testing, general comments.
-
-=back
-
-Your name could be here! If you want to help, then take a look at the
-SMALLISH PROJECTS section of in the file F<TODO>. Some do not involve
-coding C++
-
-=head1 EXAMPLES
-
-At this time, LilyPond output looks nice, but is not of production
-quality. If you're not discouraged; this is what I type in my xterm:
-
-       lilypond someinput.ly
-       tex test
-       xdvi test&
-
-This is what the output looks like over here:
-
-       LilyPond 0.0.pre32-3/FlowerLib 1.0.27. Compile: Feb 18 1997, 11:21:57 (g++ 2.7.2)
-       Parsing ... [./init//symbol.ini[./init//dutch.ini][./init//script.ini][./init//table_sixteen.ini]][./input/wohltemperirt.ly]
-       Setting up music ...Processing music ............
-       Preprocessing ... 
-       Calculating column positions ... [3][6][9]
-       Postprocessing ...
-       warning: slope_index(): beam steeper than 0.5 (-0.555556)
-       warning: slope_index(): beam steeper than 0.5 (-0.588346)
-       warning: slope_index(): beam steeper than 0.5 (-0.523166)
-       warning: slope_index(): beam steeper than 0.5 (0.571915)
-       warning: slope_index(): beam steeper than 0.5 (-0.555556)
-       warning: slope_index(): beam steeper than 0.5 (-0.588346)
-       warning: slope_index(): beam steeper than 0.5 (-0.523166)
-       warning: slope_index(): beam steeper than 0.5 (0.571915)
-       output to lelie.out...
-
-       hw:~/musix/spacer$ tex test
-       This is TeX, Version 3.14159 (C version 6.1)
-       (test.tex
-       Hyphenation patterns for english, dutch, loaded.
-       (lilyponddefs.tex) (lelie.uit) [1] [2] )
-       Output written on test.dvi (2 pages, 8420 bytes).
-       Transcript written on test.log.
-
-       hw:~/musix/spacer$ xdvi test&
-       [1] 855
-
-Check out the input files, some of them have comments
-
-
-=head1 PROBLEMS
-
-If LilyPond bombs out, then please recompile using with debugging info
-turned on, and send a copy of the input which causes the error and a
-gdb stacktrace of the crash. It also helps if you can print the values
-of the objects. So if your trace is
-
-       (gdb) backtrace 12
-       #0  Interval::operator+= (this=0x11fffec60..)
-           at ../flower/interval.hh:50
-       #1  0x12005195c in Item::width (this=0x14008a680) at src/item.cc:39
-       #2  0x12008fdbc in itemlist_width (its=0x11fffed58 ..
-         :
-         :
-
-Than it would help if you send a dump of the Interval and the Item
-(use: C<print *this> or use LilyPond C<print()> methods).
-
-This is a beta version of LilyPond. Please send your helpful comments
-and patches to me (see AUTHORS section)
-
-LilyPond is updated very frequently, the latest version is always available at:
-ftp://pcnov095.win.tue.nl/pub/lilypond. 
-
-
-=head1 FILES
-
-=over 5
-
-=item F<symbol.ini>
-The initialisation file with symbol tables etc. It
-includes files from the directory F<init/>.
-
-=back
-
-=head1 SEE ALSO
-
-There are some documentation files  in the subdirectory F<Documentation/>,
-among others: lilygut, lilyinput, error, faq, 
-
-=head1  REMARKS
-
-LilyPond has no connection with the music package RoseGarden, other
-than the names being similar :-)
-
-=head1 HISTORY
-
-(for a  detailed changelog, see F<NEWS>)
-
-LilyPond's roots lie in MPP, a preprocessor to the rather arcane
-MusiXTeX macro package for TeX. A friend of mine, Jan Nieuwenhuizen
-wrote the first 44 versions (0.01 to 0.44), then his program caught my
-attention, and I was slowly sucked in to the interesting problem of
-easily producing beautifully printed music. I contributed some
-code. We soon realised that MPP's design was too fundamentally broken
-to be repaired. It was decided to rewrite MPP.  We debated a lot about
-the requirements to an inputformat (fall 1995). I sat down and started
-with a parser-first, bottom-up rewrite called mpp95 (which totally
-failed, obviously).
-
-After long and hard thinking, I came up with an algorithm for the
-horizontal spacing of multiple staffs (april 1996) I coded it (and did
-not test it). After starting with this fundamental piece, I slowly
-added the stages which come before spacing, and after.  A half year
-later later, I had a first working version, (october 1996).  I
-announced Patchlevel 0.0.7 (or 8) to the mutex list after asking some
-technical details on spacing; it was downloaded approximately 4 times.
-Then I got the hang of it, and in the subsequent two months, I coded
-until it had doubled in size (pl 23).
index 4e12783de1d0fd5861749721e0525af8df86ca2a..ce39a3e5b8ccd96a6cdcc66e7d71384a481445fb 100644 (file)
@@ -88,12 +88,13 @@ The DOC++ documentation of the C++ sources.
 </a
 >
 
 </a
 >
 
+
 =item *
 =item *
-<a href=ftp://pcnov095.win.tue.nl/pub/lilypond
->
-Get it!
-</a
->
+Get it at ftp://pcnov095.win.tue.nl/pub/lilypond !
+=cut
+niet veranderen in expliciete URL. pod2* doet dit automaties.
+=pod
+
 
 =head1 AUTHOR
 
 
 =head1 AUTHOR
 
index 88a008ca2351353bbdc688f2d6d34b3dd38f3396..4b747426426f798a305691be77db6b240ed6b6fd 100644 (file)
@@ -130,16 +130,9 @@ voices on one staff?
 We might be able to do without the staff{} construct, but I doubt if
 it will make things easier.
 
 We might be able to do without the staff{} construct, but I doubt if
 it will make things easier.
 
-=head1 CONCRETE PROPOSAL
+=head1 CONCRETE PROPOSALS
 
 
-Any optional request/modifier should follow the note/rest-name/lyric:
 
 
-       old             new
-       ''!a            a!''
-       [a()a]()a       a[( a)]( a) 
-
-the []() construct doesn't look nice. We might make an exception for
-spanning requests.
 
 =head1 THOUGHTS
 
 
 =head1 THOUGHTS
 
diff --git a/Documentation/lelie_logo.gif b/Documentation/lelie_logo.gif
new file mode 100644 (file)
index 0000000..d606099
Binary files /dev/null and b/Documentation/lelie_logo.gif differ
diff --git a/Documentation/lelie_logo.png b/Documentation/lelie_logo.png
deleted file mode 100644 (file)
index deaaa9d..0000000
Binary files a/Documentation/lelie_logo.png and /dev/null differ
diff --git a/Documentation/lilypond.pod b/Documentation/lilypond.pod
new file mode 100644 (file)
index 0000000..09ce63e
--- /dev/null
@@ -0,0 +1,298 @@
+=head1 NAME
+
+LilyPond - a music typesetter
+
+=head1 SYNOPSIS
+
+       lilypond [options] [inputfiles]
+
+=head1 DESCRIPTION
+
+Technically LilyPond is a preprocessor which generates TeX
+(or LaTeX) output which contains information to typeset a musical
+score. Practically it is a typesetter, which only uses TeX as an
+output medium. (this is handy because there exist music fonts for TeX)
+
+As a bonus, you can also output a MIDI file of what you typed.
+
+It translates script files (mudela files or F<*.ly>'s) into TeX input.
+Typesetting music is a complex task, whereas the message that printed
+music conveys is usually a simple one. LilyPond is a try at providing
+a simple interface for setting music.
+
+
+=head1 OPTIONS
+
+=over 5
+
+=item B<-I,--include>=F<FILE>,
+
+add F<FILE> to the search path for input files.
+
+
+=item B<-M,--midi>
+
+do midi output only
+
+=item B<-d,--debug>,
+
+Turn debugging info. LilyPond will read the file F<.dstreamrc>, which
+tells for what functions and classes may produce copious debugging
+output.
+
+=item B<-w,--warranty>,
+
+Show the warranty with which LilyPond comes. (It comes with B<NO WARRANTY>!)
+
+=item B<-o,--output=>F<FILE>,
+
+Set the default output file to F<FILE>.
+
+=item B<-h,--help>,
+
+Show a summary of usage
+
+=item B<-i,--init=>F<FILE>
+
+set init file to F<FILE> (default: F<symbol.ini>)
+
+=item B<--include, -I>=F<DIRECTORY>
+add F<DIRECTORY> to the search path for input files.
+
+=back
+
+=head1 FEATURES
+
+=over 5
+
+=item *
+ASCII script input, with identifiers (for music reuse),
+customizable notenames, customizable fontset
+
+=item *
+MIDI output lets you check if you have entered the correct notes.
+
+=item *
+MIDI to Mudela conversion through the mi2mu program.
+
+=item *
+Multiple staffs in one score. Each staff can have a different meters.
+
+=item *
+multiple stafftypes (melodic, rhythmic) [broken from  pl28 on]
+
+=item *
+beams, slurs, chords, super/subscripts (accents and text),
+triplets, general n-plet (triplet, quadruplets, etc.), lyrics
+
+=item *
+multiple voices within one staff; beams optionally shared
+between voices. (well, more than 2 voices won't look pretty --yet.)
+
+=item *
+multiple scores within one input file. Each score is output to
+a different file.
+
+=item *
+clef changes, meter changes, cadenza-mode, key changes, repeat bars
+
+=back
+
+=head1 DESIGN CONSIDERATIONS
+
+LilyPond was written with some considerations in mind:
+
+=over 5
+
+=item *
+Describing a well-defined language for defining music. We call
+this language (rather arrogantly) The Musical Definition Language
+(mudela for short). LilyPond reads a mudela sourcefile and outputs a
+TeX file.  This musical definition language should:
+
+=over 5
+
+=item 1.
+define the musical message of the writer as unambigiously as
+possible.
+
+=item 2.
+be easily readable. (as compared to, say, MusixTeX input)
+
+=item 3.
+be writable in ASCII (with a simple texteditor).
+
+=back
+
+At this time, the language isn't yet defined precisely. It is evolving as
+LilyPond is getting more complex.
+
+=item *
+We want to provide an easy-to-use interface for typesetting music in
+its broadest sense. This interface should be intuitive from a musical
+point of view. By broadest sense we mean: it is designed for music
+printed left to right in staffs, using notes to designate rythm and
+pitch.
+
+=item *
+LilyPond uses MusiXTeX fonts and TeX for its output. This is not a key
+issue: in a future version, LilyPond might bypass TeX, but at the moment
+TeX is very convenient for producing output.
+
+=item  *
+Generate high-quality output. Ideally it should be of a professional
+quality. We'd like to render Herbert Chlapiks words, "Fine music
+setting is not possible without a knowledgeable printer,"  untrue.
+
+=item *
+LilyPond does not display notes directly, nor will it be rehacked to be
+used interactively. LilyPond writes output to a file.  It will not be
+extended to play music, or to recognize music.
+
+=item *
+LilyPond is intended to run on Unix platforms, but it should
+be portable to any platform which can run TeX and the GNU tools
+
+=item *
+LilyPond is free. Commercial windows packages for setting music are
+abundant. Free musicprinting software is scarce.
+
+=item *
+LilyPond is written in GNU C++. It will not be downgraded/ported to fit
+broken systems.
+
+=back
+
+=head1 
+DISCLAIMER & COPYING POLICY
+
+LilyPond is copyright 1996,97 by its authors. LilyPond is
+distributed under the terms of the GNU General Public
+License. LilyPond is provided without any warranty what so ever.
+LilyPond may be freely distributed.  For further information consult
+the GNU General Public License, which is in the file F<COPYING>
+
+=head1 AUTHORS
+
+=over 5
+
+=item *
+Han-Wen Nienhuys <hanwen@stack.nl>, Main author
+
+=item *
+Jan Nieuwenhuizen <jan@digicash.com>, Context errors, Lyrics,
+mi2mu, MIDI stuff, make structure, bits of FlowerLib, general
+comments.
+
+=item *
+Mats Bengtsson <matsb@s3.kth.se>, bugfixes, testing, general comments.
+
+=back
+
+Your name could be here! If you want to help, then take a look at the
+SMALLISH PROJECTS section of in the file F<TODO>. Some do not involve
+coding C++
+
+=head1 EXAMPLES
+
+At this time, LilyPond output looks nice, but is not of production
+quality. If you're not discouraged; this is what I type in my xterm:
+
+       lilypond someinput.ly
+       tex test
+       xdvi test&
+
+This is what the output looks like over here:
+
+       LilyPond 0.0.40 #0/FlowerLib 1.1.7 #2. Compile: Mar 11 1997, 22:58:47 (g++ 2.7.2)
+       Parsing ... [./init//symbol.ini[./init//dynamic.ini][./init//dutch.ini][./init//script.ini][./init//table_sixteen.ini]][./input/wohltemperirt.ly]
+       Setting up music ...Processing music ............
+       Preprocessing ... 
+       Calculating column positions ... [3][6][9]
+       Postprocessing ...
+       TeX output to lelie.out ...
+       midi output to lelie.midi ...
+
+       hw:~/musix/spacer$ tex test
+       This is TeX, Version 3.14159 (C version 6.1)
+       (test.tex
+       Hyphenation patterns for english, dutch, loaded.
+       (lilyponddefs.tex) (lelie.uit) [1] [2] )
+       Output written on test.dvi (2 pages, 8420 bytes).
+       Transcript written on test.log.
+
+       hw:~/musix/spacer$ xdvi test&
+       [1] 855
+
+Check out the input files, some of them have comments
+
+
+=head1 PROBLEMS
+
+If LilyPond bombs out, then please recompile using with debugging info
+turned on, and send a copy of the input which causes the error and a
+gdb stacktrace of the crash. It also helps if you can print the values
+of the objects. So if your trace is
+
+       (gdb) backtrace 12
+       #0  Interval::operator+= (this=0x11fffec60..)
+           at ../flower/interval.hh:50
+       #1  0x12005195c in Item::width (this=0x14008a680) at src/item.cc:39
+       #2  0x12008fdbc in itemlist_width (its=0x11fffed58 ..
+         :
+         :
+
+Than it would help if you send a dump of the Interval and the Item
+(use: C<print *this> or use LilyPond C<print()> methods).
+
+This is a beta version of LilyPond. Please send your helpful comments
+and patches to me (see AUTHORS section)
+
+LilyPond is updated very frequently, the latest version is always available at:
+ftp://pcnov095.win.tue.nl/pub/lilypond. 
+
+
+=head1 FILES
+
+=over 5
+
+=item F<symbol.ini>
+The initialisation file with symbol tables etc. It
+includes files from the directory F<init/>.
+
+=back
+
+=head1 SEE ALSO
+
+There are some documentation files  in the subdirectory F<Documentation/>,
+among others: lilygut, lilyinput, error, faq, 
+
+=head1  REMARKS
+
+LilyPond has no connection with the music package RoseGarden, other
+than the names being similar :-)
+
+=head1 HISTORY
+
+(for a  detailed changelog, see F<NEWS>)
+
+LilyPond's roots lie in MPP, a preprocessor to the rather arcane
+MusiXTeX macro package for TeX. A friend of mine, Jan Nieuwenhuizen
+wrote the first 44 versions (0.01 to 0.44), then his program caught my
+attention, and I was slowly sucked in to the interesting problem of
+easily producing beautifully printed music. I contributed some
+code. We soon realised that MPP's design was too fundamentally broken
+to be repaired. It was decided to rewrite MPP.  We debated a lot about
+the requirements to an inputformat (fall 1995). I sat down and started
+with a parser-first, bottom-up rewrite called mpp95 (which totally
+failed, obviously).
+
+After long and hard thinking, I came up with an algorithm for the
+horizontal spacing of multiple staffs (april 1996) I coded it (and did
+not test it). After starting with this fundamental piece, I slowly
+added the stages which come before spacing, and after.  A half year
+later later, I had a first working version, (october 1996).  I
+announced Patchlevel 0.0.7 (or 8) to the mutex list after asking some
+technical details on spacing; it was downloaded approximately 4 times.
+Then I got the hang of it, and in the subsequent two months, I coded
+until it had doubled in size (pl 23).
diff --git a/INSTALL b/INSTALL
deleted file mode 100644 (file)
index c36823b..0000000
--- a/INSTALL
+++ /dev/null
@@ -1,51 +0,0 @@
-IMPORTANT:
-
-    if you have downloaded a
-
-           *.pre*
-
-    version, then this is version is *not* meant for producing nice output
-    (but to keep your patchsets up to date).  It might not even compile.
-
-
-INSTALL:
-
-    to make LilyPond, simply type:
-
-           sh configure
-           make           
-           
-    assuming you have the gnu development tools, and your make is gnu make, 
-    else try something like:
-    
-           MAKE=gmake configure
-           MAKE=gmake gmake
-
-    \begin{masochist}
-    Windows NT:
-
-    you need the cygnus win32 gnu port development stuff; have a look
-    at http://www.cygnus.com/gnu-win32.
-
-    to make LilyPond under, brr, aargh, well, simply type:
-
-           bash configure
-           make win32
-    \end{masochist}
-
-
-SUPPORT
-
-    LilyPond (pl 0.0.39) is known to compile on the following platforms:
-
-       * linux 2.0.28, g++ 2.7.2[.1]
-       * aix 4.1, g++ 2.7.2
-       * windows-nt 4.0, cygnus gnu-win32 beta17.1 (~=g++ 2.7.2)
-       * linux 2.0.28 X to doze, gcc-go32 (~=g++ 2.7.2), but segfaults 
-         in 16 bit subsystem %-/
-
-Have fun!
-
-    hanwen@stack.nl
-    jan@digicash.com
-
diff --git a/INSTALL.text b/INSTALL.text
new file mode 100644 (file)
index 0000000..515c41d
--- /dev/null
@@ -0,0 +1,198 @@
+
+
+
+INSTALL(1)            LilyPond documentation           INSTALL(1)
+
+
+N\bN\bN\bNA\bA\bA\bAM\bM\bM\bME\bE\bE\bE
+       INSTALL - installing LilyPond
+
+D\bD\bD\bDE\bE\bE\bES\bS\bS\bSC\bC\bC\bCR\bR\bR\bRI\bI\bI\bIP\bP\bP\bPT\bT\bT\bTI\bI\bI\bIO\bO\bO\bON\bN\bN\bN
+       This page documents installation  and compilation of
+       LilyPond
+
+I\bI\bI\bIM\bM\bM\bMP\bP\bP\bPO\bO\bO\bOR\bR\bR\bRT\bT\bT\bTA\bA\bA\bAN\bN\bN\bNT\bT\bT\bT
+       if you have downloaded a
+
+               *.pre*
+
+       version, then this is version is _\bn_\bo_\bt meant for producing
+       nice output, but to keep your patchsets up to date.  It
+       might not even compile.
+
+P\bP\bP\bPR\bR\bR\bRE\bE\bE\bER\bR\bR\bRE\bE\bE\bEQ\bQ\bQ\bQU\bU\bU\bUI\bI\bI\bIS\bS\bS\bSI\bI\bI\bIT\bT\bT\bTE\bE\bE\bES\bS\bS\bS
+       For compilation you need.
+
+       +\bo Unix. LilyPond is known to run on Linux, AIX, Digital
+            Unix and Solaris
+            If you have the Cygnus WIN32 port of the GNU utils,
+            it will even work in Lose NT/95, but don't promise to
+            support it.
+
+       +\bo GNU C++ v2.7 or better, with libg++ installed.  Version
+            2.7.2 or better recommended. I almost positive that
+            it will not compile with AT&T CC.
+
+       +\bo Bash. Most scripts will continue to work with a stock
+            sh, but they will generate (harmless) syntax errors
+
+       +\bo GNU make.
+
+       +\bo Flex (2.5.1 or better).
+
+       +\bo Bison.
+
+R\bR\bR\bRE\bE\bE\bEC\bC\bC\bCO\bO\bO\bOM\bM\bM\bMM\bM\bM\bME\bE\bE\bEN\bN\bN\bND\bD\bD\bDE\bE\bE\bED\bD\bD\bD
+       +\bo Perl.  Some (mostly unimportant scripts) use Perl for
+            trivial operations. The documentation was created
+            with the perl's Plain Old Documentation.
+
+       +\bo (GNU) find
+
+C\bC\bC\bCO\bO\bO\bON\bN\bN\bNF\bF\bF\bFI\bI\bI\bIG\bG\bG\bGU\bU\bU\bUR\bR\bR\bRI\bI\bI\bIN\bN\bN\bNG\bG\bG\bG a\ba\ba\ban\bn\bn\bnd\bd\bd\bd C\bC\bC\bCO\bO\bO\bOM\bM\bM\bMP\bP\bP\bPI\bI\bI\bIL\bL\bL\bLI\bI\bI\bIN\bN\bN\bNG\bG\bG\bG
+       to install LilyPond, simply type:
+
+               configure
+               make install
+
+       This will install the following files:
+
+
+
+
+
+14/Mar/97                LilyPond 0.0.41                        1
+
+
+
+
+
+INSTALL(1)            LilyPond documentation           INSTALL(1)
+
+
+               /usr/local/man/man1/lilypond.1
+               /usr/local/bin/lilypond
+               /usr/local/bin/mi2mu
+               /usr/local/share/lilypond/*
+               /usr/lib/texmf/texmf/tex/lilypond/*
+
+       The TeX include directory is detected dynamically, but it
+       can be adjusted with -\b-\b-\b--\b-\b-\b-e\be\be\ben\bn\bn\bna\ba\ba\bab\bb\bb\bbl\bl\bl\ble\be\be\be-\b-\b-\b-t\bt\bt\bte\be\be\bex\bx\bx\bxp\bp\bp\bpr\br\br\bre\be\be\bef\bf\bf\bfi\bi\bi\bix\bx\bx\bx. The above assumes
+       that you are root and have the gnu development tools, and
+       your make is gnu make.  If this is not the case, you can
+       adjust your environment variables to your taste:
+
+               CXXFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR" configure
+
+       the configure script is Cygnus configure, and it will
+       accept -\b-\b-\b--\b-\b-\b-h\bh\bh\bhe\be\be\bel\bl\bl\blp\bp\bp\bp. If you are not root, you will probably have
+       to make it with
+
+               configure --prefix=/home/me_myself_and_I/
+
+       Since LilyPond currently is beta, You are advised to also
+       use
+
+               --enable-debug
+               --enable-checking
+
+       other options include:
+
+               --enable-printing
+               --enable-optimise
+               --enable-profiling
+
+       The option -\b-\b-\b--\b-\b-\b-e\be\be\ben\bn\bn\bna\ba\ba\bab\bb\bb\bbl\bl\bl\ble\be\be\be-\b-\b-\b-o\bo\bo\bop\bp\bp\bpt\bt\bt\bti\bi\bi\bim\bm\bm\bmi\bi\bi\bis\bs\bs\bse\be\be\be is recommended for Real Life
+       usage.
+
+       If you do
+
+               make all
+
+       everything will be compiled, but nothing will be
+       installed.  The resulting binaries can be found in the
+       subdirectory _\bb_\bi_\bn_\b/.
+
+R\bR\bR\bRU\bU\bU\bUN\bN\bN\bNN\bN\bN\bNI\bI\bI\bIN\bN\bN\bNG\bG\bG\bG
+       LilyPond does use a lot of resources. For operation you
+       need the following:
+
+       +\bo A fast computer (a full page of music typically takes 1
+            minute on my 486/66, using the -\b-\b-\b--\b-\b-\b-e\be\be\ben\bn\bn\bna\ba\ba\bab\bb\bb\bbl\bl\bl\ble\be\be\be-\b-\b-\b-c\bc\bc\bch\bh\bh\bhe\be\be\bec\bc\bc\bck\bk\bk\bki\bi\bi\bin\bn\bn\bng\bg\bg\bg
+            compile. It's lot slower than most MusiXTeX
+            preprocessors)
+
+       +\bo TeX
+
+
+
+
+14/Mar/97                LilyPond 0.0.41                        2
+
+
+
+
+
+INSTALL(1)            LilyPond documentation           INSTALL(1)
+
+
+       +\bo The MusixTeX fonts. (I use those found in MusixTeX T.59)
+
+       Please refer to the man page for more information.
+
+R\bR\bR\bRE\bE\bE\bED\bD\bD\bDH\bH\bH\bHA\bA\bA\bAT\bT\bT\bT L\bL\bL\bLI\bI\bI\bIN\bN\bN\bNU\bU\bU\bUX\bX\bX\bX
+       RedHat Linux users should be able to get a RPM. A spec
+       file is in _\bm_\ba_\bk_\be_\b/_\bl_\bi_\bl_\by_\bp_\bo_\bn_\bd_\b._\bs_\bp_\be_\bc.
+
+W\bW\bW\bWI\bI\bI\bIN\bN\bN\bND\bD\bD\bDO\bO\bO\bOZ\bZ\bZ\bZE\bE\bE\bE
+       Windows NT:
+
+       you need the cygnus win32 gnu port development stuff; have
+       a look at http://www.cygnus.com/gnu-win32.
+
+       to make LilyPond under, brr, aargh, well, simply type:
+
+               bash configure
+               make win32
+
+
+P\bP\bP\bPL\bL\bL\bLA\bA\bA\bAT\bT\bT\bTF\bF\bF\bFO\bO\bO\bOR\bR\bR\bRM\bM\bM\bMS\bS\bS\bS
+       LilyPond (pl 0.0.39) is known to compile on the following
+       platforms:
+
+               * linux 2.0.28, g++ 2.7.2[.1]
+               * aix 4.1, g++ 2.7.2
+               * windows-nt 4.0, cygnus gnu-win32 beta17.1 (~=g++ 2.7.2)
+               * linux 2.0.28 X to doze, gcc-go32 (~=g++ 2.7.2) [exec. untested]
+
+
+A\bA\bA\bAU\bU\bU\bUT\bT\bT\bTH\bH\bH\bHO\bO\bO\bOR\bR\bR\bRS\bS\bS\bS
+               Han-Wen Nienhuys <hanwen@stack.nl>
+
+               Jan Nieuwenhuizen <jan@digicash.com>
+
+       Have fun!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+14/Mar/97                LilyPond 0.0.41                        3
+
+
index bbbf5763ce0782af59f53e0f53e6c37b8e5b2a5c..9c9f9b7737840bfcfc6b763183599a4dfc79319e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -23,7 +23,7 @@ MINOR_VERSION = $(TOPLEVEL_MINOR_VERSION)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 #
 
 # generic variables:
 #
 
 # generic variables:
@@ -40,14 +40,32 @@ SUBDIRS = flower lib lily mi2mu \
 # list of distribution files:
 #
 # SYMLINKS = # naah, configure
 # list of distribution files:
 #
 # SYMLINKS = # naah, configure
-SCRIPTS = configure
-README_FILES = ANNOUNCE COPYING INSTALL NEWS README TODO
+SCRIPTS = configure configure.in install-sh
+README_FILES = ANNOUNCE COPYING NEWS README TODO INSTALL.text
 DISTFILES= Makefile .dstreamrc .version $(README_FILES) $(SCRIPTS) $(SYMLINKS)
 #
 
 DISTFILES= Makefile .dstreamrc .version $(README_FILES) $(SCRIPTS) $(SYMLINKS)
 #
 
+
 # generic targets and rules:
 #
 include ./$(depth)/make/Targets.make
 include ./$(depth)/make/Rules.make
 #
 
 # generic targets and rules:
 #
 include ./$(depth)/make/Targets.make
 include ./$(depth)/make/Rules.make
 #
 
+localdist: configure
+
+# ugh. I know dep is not quite what is really needed.
+INSTALL.text: Documentation
+       rm -f INSTALL.text
+       $(MAKE) -C Documentation
+       ln `find -name INSTALL.text|head -1` .
+
+localclean:
+       rm -f $(allexe) core config.cache config.log config.status 
+
+localinstall: all
+       $(INSTALL) -d $(bindir)
+       $(INSTALL) -m 755 $(allexe) $(bindir)
+
+localuninstall:
+       for i in $(allexe); do rm -f $(bindir)/`basename $$i`; done
\ No newline at end of file
diff --git a/NEWS b/NEWS
index d62e32a4d2d2f900728de1020059ec3c1741430e..c4e313d9b958ad92731ce8ae1266e5078b495e5e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,22 @@
+pl 41.hwn3
+       - struct Lexer_prefs
+       - parser bug
+       - make uninstall
+
+pl 41.hwn2
+       - make file rehack
+       - spec update
+       - make install
+       - detect TeX directory
+
+pl 41.hwn1
+       - cygnus configure,
+       - updated versioning 
+       - install.pod
+  
+pl 41.jn1
+Bugfix
+       - doze compile
 pl 41
        - release
 pl 40.3
 pl 41
        - release
 pl 40.3
diff --git a/README b/README
index 8a04265c3566b99cfafa90a1b3fe160f157f3c14..9042e4f255c1553dae9372a182751a9c5775ab3c 100644 (file)
--- a/README
+++ b/README
@@ -9,13 +9,17 @@ version, then this is version is *not* meant for producing nice output
 
 ====================
 
 
 ====================
 
-Please refer to the directory Documentation/, Documentation/README.*. 
+Please refer to the directory Documentation/ for the real doco.
 
 
-To generate the pretty-printed docs, do this:
+To generate the pretty-printed docs, you have to run configure first,
+and then do this:
 
        make doc
 
 
        make doc
 
-You can also simply read the .pod source. It is ASCII text.
+You can also simply read the .pod sources. It is ASCII text. For your
+convenience, a copy of the formatted INSTALL instructions are in
+the toplevel directory, as INSTALL.text 
+
 
 ======================
 
 
 ======================
 
diff --git a/TODO b/TODO
index 89b5570bf1a421e4ca6488e35a60f2a25bb89b61..8f67365717629ad87e4a196d5fe1b1832b9ff54f 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,3 +1,5 @@
+       * remove notename.* README.pod LilyPond.pod
+
 before 0.1
 
        * remove spurious/outdated comments in .ly, debug .ly
 before 0.1
 
        * remove spurious/outdated comments in .ly, debug .ly
@@ -17,10 +19,9 @@ before 0.1
 This is an assorted collection of stuff that will be done, might be
 done, or is an idea that I want to think about
 
 This is an assorted collection of stuff that will be done, might be
 done, or is an idea that I want to think about
 
-STUFF
-       * midi esp.: use I32 iso int where 32 bits are needed (or assumed...)
+MAKE-STUFF
 
 
-       * generate all (.hh) files into out dirs
+       * fix increase build ( libflower rebuilt when making lilypond. )
 
        * sort out headers, see m2m
 
 
        * sort out headers, see m2m
 
@@ -51,6 +52,8 @@ SEVERELY LACKING:
 
 INPUTLANGUAGE
 
 
 INPUTLANGUAGE
 
+       * read ENV for include path 
+
        * lose the $ and @ ?
 
        * figured bass?
        * lose the $ and @ ?
 
        * figured bass?
@@ -65,6 +68,9 @@ INPUTLANGUAGE
 
 SMALLISH PROJECTS
 
 
 SMALLISH PROJECTS
 
+
+       * midi esp.: use I32 iso int where 32 bits are needed (or assumed...)
+
        * fix Staff_elem::width() derivs to use offset_
 
        * parshape
        * fix Staff_elem::width() derivs to use offset_
 
        * parshape
@@ -144,7 +150,7 @@ FUTURE
        * eentje/tweetje
 
        * piano staff
        * eentje/tweetje
 
        * piano staff
-       
+
        * abbreviations a4*8
 
 IDEAS
        * abbreviations a4*8
 
 IDEAS
@@ -163,7 +169,7 @@ IDEAS
 
        * itemcolumns: Use dummy items.
 
 
        * itemcolumns: Use dummy items.
 
-       * use an embedded language: scheme, lisp, S-lang, Perl, ?
+       * use an embedded language: scheme, lisp, S-lang, Perl, GUILE, ?
 
        * y -dims in internote?
 
 
        * y -dims in internote?
 
index e9f5521e5eea6c2730c854c6e7c6a593bae6b80e..c1c076781183d73a953d2074a7690bf69b23e1b2 100644 (file)
@@ -5,7 +5,7 @@
 depth = ..
 #
 
 depth = ..
 #
 
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 
 # generic stuff/Makefile
 #
 
 # generic stuff/Makefile
 #
@@ -14,7 +14,7 @@ include ./$(depth)/make/Stuff.make
 
 # list of distribution files:
 # 
 
 # list of distribution files:
 # 
-SCRIPTS = clearlily cpgento genheader make_patch make_fversion make_version make_website
+SCRIPTS = clearlily cpgento genheader make_patch make_version make_website
 DISTFILES = Makefile $(SCRIPTS)
 #
 
 DISTFILES = Makefile $(SCRIPTS)
 #
 
index 2bb4da29af4409aa94a3d5b707bd29bc8283326c..74f77787db2c3a6854075f1f95a327512bb34593 100755 (executable)
@@ -19,9 +19,9 @@ genlily="out/parser.hh out/parser.cc out/lexer.cc"
 echo generating $genlily ...
 $MAKE -C lily $genlily
 
 echo generating $genlily ...
 $MAKE -C lily $genlily
 
-genm2m="out/midi-parser.hh out/midi-parser.cc out/midi-lexer.cc"
-echo generating $genm2m ...
-$MAKE -C m2m $genm2m
+genmi2mu="out/midi-parser.hh out/midi-parser.cc out/midi-lexer.cc"
+echo generating $genmi2mu ...
+$MAKE -C mi2mu $genmi2mu
 
 lilydir=`pwd | sed "s/.*\///"`
 todir=$1/$lilydir
 
 lilydir=`pwd | sed "s/.*\///"`
 todir=$1/$lilydir
@@ -41,7 +41,7 @@ cpto() {
 }
 
 cpto lily "$genlily"
 }
 
 cpto lily "$genlily"
-cpto m2m "$genm2m"
+cpto mi2mu "$genmi2mu"
 
 # if you cannot gen the above, you-ll probably want:
 flexlexerh=/usr/include/FlexLexer.h
 
 # if you cannot gen the above, you-ll probably want:
 flexlexerh=/usr/include/FlexLexer.h
diff --git a/bin/make_fversion b/bin/make_fversion
deleted file mode 100755 (executable)
index 185eaae..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-echo '#ifndef FVERSION_HH'
-echo '#define FVERSION_HH'
-echo '#define FMAJOR_VERSION ' "$1"
-echo '#define FMINOR_VERSION ' "$2"
-echo '#define FPATCH_LEVEL ' "$3"
-echo '#define FMY_PATCH_LEVEL ' "$4"
-echo '#define FBUILD ' "$5"
-echo '#define FVERSIONSTR "'$1.$2.$3$4 \#$5'"'
-echo '#define FCOMPILER "'$6'"'
-echo '#endif'
index f74f1ea0cdbee74d2d9c75bb2cd128ccc5f0c2dd..8ec7326f7b9c786f88efb4caacd34eb5180f2402 100755 (executable)
@@ -37,5 +37,8 @@ fi
 
 #(cd $nm$old; touch depend; make clean)
 #(cd $nm$new; touch depend; make clean)
 
 #(cd $nm$old; touch depend; make clean)
 #(cd $nm$new; touch depend; make clean)
-(cd $nm$new; diff -urP  ../$nm$old . > ../patch-$new)
+
+echo 'use cd source-dir; patch -E -p0 < this_patch'> patch-$new
+
+(cd $nm$new; diff -urN  ../$nm$old . >> ../patch-$new)
 rm -rf $nm$old $nm$new
 rm -rf $nm$old $nm$new
index fe5cb05c89862885fcd673d48f371e52a5dc40ae..29b768c1e8925c6c964cb3868c221ea21cae44af 100755 (executable)
@@ -1,11 +1,20 @@
 #!/bin/sh
 #!/bin/sh
-echo '#ifndef VERSION_HH'
-echo '#define VERSION_HH'
-echo '#define MAJOR_VERSION ' "$1"
-echo '#define MINOR_VERSION ' "$2"
-echo '#define PATCH_LEVEL ' "$3"
-echo '#define MY_PATCH_LEVEL ' "$4"
-echo '#define BUILD ' "$5"
-echo '#define VERSIONSTR "'$1.$2.$3$4 \#$5'"'
-echo '#define COMPILER "'$6'"'
-echo '#endif'
+
+#shift;
+if test "x$1" = x;
+then
+    versionfile=".version"
+else
+    versionfile=$1;
+fi
+
+cat $versionfile| sed 's/#.*$//g'|sed 's/\([^ ]*\)[\t ]*=[ \t]*\([^ ]*\)$/#define \1 \"\2\"/g' 
+echo
+if [ -z $CXX ]
+then
+    COMPILER=unknown
+else
+    COMPILER="$CXX `$CXX --version`"
+fi
+
+echo "#define COMPILER "\"$COMPILER\"
index bf45d5782752ff4cf52d86fc4a2bd7f6b8427d52..bd351d2ca46ef8a85824ebbee977e8dadc5364d9 100755 (executable)
--- a/configure
+++ b/configure
-#!/bin/sh
-#
-# project  LilyPond -- the musical typesetter
-# title           (bash/sh/ksh) script to setup library and auto generated files
-# file    configure-broken-system
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.10 
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
 #
 #
-# Copyright (c) 1997 by    
-#      Han-Wen Nienhuys <hanwen@stack.nl>
-#      Jan Nieuwenhuizen <jan@digicash.com>
-# 
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
 
 
-MAKE=${MAKE:-make}
-PREFIX=${PREFIX:-.}
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+  printing       set debug printing"
+ac_help="$ac_help
+  checking       set runtime checks"
+ac_help="$ac_help
+  debug          set debug info"
+ac_help="$ac_help
+  optimise       use maximal speed optimisations"
+ac_help="$ac_help
+  profiling      compile with gprof support"
+ac_help="$ac_help
+  texprefix=DIR  set the tex-directory to put the lilypond subdir in."
 
 
-# this whole script sux, but here we go:
-opt="`echo $1 | cut -c 1-3`"
-if [ "$opt" = "-h" -o "$opt" = "--h" ]
-then
-       echo "Usage:"
-       echo "  [MAKE=make] configure [options]"
-       echo
-       echo "options:"
-       echo "  -h, --help      this text"
-       echo
-       echo "e.g.: MAKE=gmake configure"
-       exit
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+
+ac_prev=
+for ac_option
+do
+
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval "$ac_prev=\$ac_option"
+    ac_prev=
+    continue
+  fi
+
+  case "$ac_option" in
+  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) ac_optarg= ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case "$ac_option" in
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir="$ac_optarg" ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build="$ac_optarg" ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file="$ac_optarg" ;;
+
+  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+  | --da=*)
+    datadir="$ac_optarg" ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+    fi
+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+    eval "enable_${ac_feature}=no" ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+    fi
+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+    case "$ac_option" in
+      *=*) ;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix="$ac_optarg" ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he)
+    # Omit some internal or obsolete options to make the list less imposing.
+    # This message is too long to be a string in the A/UX 3.1 sh.
+    cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+  --cache-file=FILE       cache test results in FILE
+  --help                  print this message
+  --no-create             do not create output files
+  --quiet, --silent       do not print \`checking...' messages
+  --version               print the version of autoconf that created configure
+Directory and file names:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [same as prefix]
+  --bindir=DIR            user executables in DIR [EPREFIX/bin]
+  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
+  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
+  --datadir=DIR           read-only architecture-independent data in DIR
+                          [PREFIX/share]
+  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
+                          [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
+  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
+  --includedir=DIR        C header files in DIR [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
+  --infodir=DIR           info documentation in DIR [PREFIX/info]
+  --mandir=DIR            man documentation in DIR [PREFIX/man]
+  --srcdir=DIR            find the sources in DIR [configure dir or ..]
+  --program-prefix=PREFIX prepend PREFIX to installed program names
+  --program-suffix=SUFFIX append SUFFIX to installed program names
+  --program-transform-name=PROGRAM
+                          run sed PROGRAM on installed program names
+EOF
+    cat << EOF
+Host type:
+  --build=BUILD           configure for building on BUILD [BUILD=HOST]
+  --host=HOST             configure for HOST [guessed]
+  --target=TARGET         configure for TARGET [TARGET=HOST]
+Features and packages:
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --x-includes=DIR        X include files are in DIR
+  --x-libraries=DIR       X library files are in DIR
+EOF
+    if test -n "$ac_help"; then
+      echo "--enable and --with options recognized:$ac_help"
+    fi
+    exit 0 ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host="$ac_optarg" ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir="$ac_optarg" ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir="$ac_optarg" ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir="$ac_optarg" ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir="$ac_optarg" ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst \
+  | --locals | --local | --loca | --loc | --lo)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+    localstatedir="$ac_optarg" ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir="$ac_optarg" ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir="$ac_optarg" ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix="$ac_optarg" ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix="$ac_optarg" ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix="$ac_optarg" ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name="$ac_optarg" ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir="$ac_optarg" ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir="$ac_optarg" ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site="$ac_optarg" ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir="$ac_optarg" ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir="$ac_optarg" ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target="$ac_optarg" ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers)
+    echo "configure generated by autoconf version 2.10"
+    exit 0 ;;
+
+  -with-* | --with-*)
+    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+    fi
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    case "$ac_option" in
+      *=*) ;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "with_${ac_package}='$ac_optarg'" ;;
+
+  -without-* | --without-*)
+    ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+    fi
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    eval "with_${ac_package}=no" ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes="$ac_optarg" ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries="$ac_optarg" ;;
+
+  -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+    ;;
+
+  *)
+    if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+      echo "configure: warning: $ac_option: invalid host type" 1>&2
+    fi
+    if test "x$nonopt" != xNONE; then
+      { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+    fi
+    nonopt="$ac_option"
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+  exec 6>/dev/null
+else
+  exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+  case "$ac_arg" in
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c) ;;
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+  *" "*|*"     "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+  ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+  *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+  esac
+done
+
+# NLS nuisances.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=flower/lib/choleski.cc
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then its parent.
+  ac_prog=$0
+  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+  srcdir=$ac_confdir
+  if test ! -r $srcdir/$ac_unique_file; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+  if test "$ac_srcdir_defaulted" = yes; then
+    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+  else
+    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+  fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+  if test "x$prefix" != xNONE; then
+    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+  else
+    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+  fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+  if test -r "$ac_site_file"; then
+    echo "loading site script $ac_site_file"
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  echo "loading cache $cache_file"
+  . $cache_file
+else
+  echo "creating cache $cache_file"
+  > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+    ac_n= ac_c='
+' ac_t='       '
+  else
+    ac_n=-n ac_c= ac_t=
+  fi
+else
+  ac_n= ac_c='\c' ac_t=
+fi
+
+
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+# Check whether --enable-printing or --disable-printing was given.
+if test "${enable_printing+set}" = set; then
+  enableval="$enable_printing"
+  :
+else
+  DEFINES="$DEFINES -DNPRINT=1"
+fi
+
+# Check whether --enable-checking or --disable-checking was given.
+if test "${enable_checking+set}" = set; then
+  enableval="$enable_checking"
+  :
+else
+  DEFINES="$DEFINES -DNDEBUG=1"
+fi
+
+# Check whether --enable-debug or --disable-debug was given.
+if test "${enable_debug+set}" = set; then
+  enableval="$enable_debug"
+  DEFINES="$DEFINES -g"
+fi
+
+# Check whether --enable-optimise or --disable-optimise was given.
+if test "${enable_optimise+set}" = set; then
+  enableval="$enable_optimise"
+  DEFINES="$DEFINES -O2 -DSTRING_UTILS_INLINED"
+fi
+
+# Check whether --enable-profiling or --disable-profiling was given.
+if test "${enable_profiling+set}" = set; then
+  enableval="$enable_profiling"
+  DEFINES="$DEFINES -pg"
+fi
+
+# Check whether --enable-texprefix or --disable-texprefix was given.
+if test "${enable_texprefix+set}" = set; then
+  enableval="$enable_texprefix"
+  TEXPREFIX=$enableval
+else
+  TEXPREFIX=auto 
+fi
+
+
+AUTOHEADER="This file was automatically generated by configure"
+CXXFLAGS=${CXXFLAGS:-""}       # we don't want -g -O junk
+for ac_prog in $CCC c++ g++ gcc CC cxx
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CXX="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+CXX="$ac_cv_prog_CXX"
+if test -n "$CXX"; then
+  echo "$ac_t""$CXX" 1>&6
+else
+  echo "$ac_t""no" 1>&6
 fi
 
 fi
 
-#############
-#############
+test -n "$CXX" && break
+done
+test -n "$CXX" || CXX="gcc"
+
+
+echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.C <<EOF
+#ifdef __GNUC__
+  yes;
+#endif
+EOF
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:623: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+  ac_cv_prog_gxx=yes
+else
+  ac_cv_prog_gxx=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gxx" 1>&6
+if test $ac_cv_prog_gxx = yes; then
+  GXX=yes
+  if test "${CXXFLAGS+set}" != set; then
+    echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_gxx_g'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  echo 'void f(){}' > conftest.cc
+if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
+  ac_cv_prog_gxx_g=yes
+else
+  ac_cv_prog_gxx_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_gxx_g" 1>&6
+    if test $ac_cv_prog_gxx_g = yes; then
+      CXXFLAGS="-g -O"
+    else
+      CXXFLAGS="-O"
+    fi
+  fi
+else
+  GXX=
+  test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
+fi
+
+# Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_RANLIB="ranlib"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+  echo "$ac_t""$RANLIB" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+ac_aux_dir=
+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+  if test -f $ac_dir/install-sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f $ac_dir/install.sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+    IFS="${IFS=        }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    # Account for people who put trailing slashes in PATH elements.
+    case "$ac_dir/" in
+    /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+    *)
+      # OSF1 and SCO ODT 3.0 have their own names for install.
+      for ac_prog in ginstall installbsd scoinst install; do
+        if test -f $ac_dir/$ac_prog; then
+         if test $ac_prog = install &&
+            grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+           # AIX install.  It has an incompatible calling convention.
+           # OSF/1 installbsd also uses dspmsg, but is usable.
+           :
+         else
+           ac_cv_path_install="$ac_dir/$ac_prog -c"
+           break 2
+         fi
+       fi
+      done
+      ;;
+    esac
+  done
+  IFS="$ac_save_ifs"
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL="$ac_cv_path_install"
+  else
+    # As a last resort, use the slow shell script.  We don't cache a
+    # path for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the path is relative.
+    INSTALL="$ac_install_sh"
+  fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+for ac_prog in find
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_FIND'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$FIND"; then
+  ac_cv_prog_FIND="$FIND" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_FIND="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+FIND="$ac_cv_prog_FIND"
+if test -n "$FIND"; then
+  echo "$ac_t""$FIND" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$FIND" && break
+done
+test -n "$FIND" || FIND="error"
+
 
 
-do_outdir() {
-       if [ \! -d $1/out ]
+if test FIND = error; then
+   echo "configure: warning: Couldn't find \`find'.  Please use --enable-texprefix" 1>&2
+else 
+    
+
+
+
+
+
+
+
+
+
+for ac_prog in bison
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_BISON'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$BISON"; then
+  ac_cv_prog_BISON="$BISON" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_BISON="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+BISON="$ac_cv_prog_BISON"
+if test -n "$BISON"; then
+  echo "$ac_t""$BISON" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$BISON" && break
+done
+test -n "$BISON" || BISON="error"
+
+for ac_prog in flex
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_FLEX'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$FLEX"; then
+  ac_cv_prog_FLEX="$FLEX" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_FLEX="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+FLEX="$ac_cv_prog_FLEX"
+if test -n "$FLEX"; then
+  echo "$ac_t""$FLEX" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$FLEX" && break
+done
+test -n "$FLEX" || FLEX="error"
+
+for ac_prog in make
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_MAKE'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$MAKE"; then
+  ac_cv_prog_MAKE="$MAKE" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_MAKE="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+MAKE="$ac_cv_prog_MAKE"
+if test -n "$MAKE"; then
+  echo "$ac_t""$MAKE" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$MAKE" && break
+done
+test -n "$MAKE" || MAKE="error"
+
+for ac_prog in pod2man
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_PODMAN'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$PODMAN"; then
+  ac_cv_prog_PODMAN="$PODMAN" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_PODMAN="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+PODMAN="$ac_cv_prog_PODMAN"
+if test -n "$PODMAN"; then
+  echo "$ac_t""$PODMAN" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$PODMAN" && break
+done
+test -n "$PODMAN" || PODMAN="error"
+
+
+if test $TEXPREFIX = auto ; then
+    
+
+    # do something sensible if root hasn't specced dir yet attempts install
+
+    echo $ac_n "checking TeX installation directory""... $ac_c" 1>&6
+
+    ac_tmp_prefix=$prefix
+    test "x$ac_tmp_prefix" = xNONE && ac_tmp_prefix=$ac_default_prefix
+
+    for texdir in $ac_tmp_prefix $ac_tmp_prefix/lib; do
+       if test -d $texdir/texmf; then
+           TEXTOP=$texdir/texmf
+           break
+       else    
+       if test -d $texdir/tex; then 
+           TEXTOP=$texdir/tex
+           break
+       fi
+       fi
+    done
+    TEXPREFIX=$ac_tmp_prefix/lib/texmf/tex
+    if test x = "x$TEXTOP"; then
+       echo "configure: warning: Cannot determine a tex-directory. Please use --enable-texprefix" 1>&2
+    else
+       TEXPREFIX=`$FIND $TEXTOP -type d -a -name tex -print |sort|head -1`
+    fi
+    fi
+
+    echo "$ac_t""$TEXPREFIX" 1>&6
+
+fi
+
+if test $MAKE = "error" 
+then
+       { echo "configure: error: Please install GNU make" 1>&2; exit 1; }
+else
+       $MAKE -v| grep -q GNU
+       if test "$?" = 1
        then
        then
-               touch $1/.GENERATE
-               mkdir $1/out
-               echo 0 > $1/.build
+               echo "configure: warning: Please install *GNU* make" 1>&2
        fi
        fi
-}
+fi
 
 
-echo using PREFIX=$PREFIX
 
 
-do_outdir make
+if test $BISON = "error" 
+then
+       echo "configure: warning: can't find bison. Please install Bison (1.24 or better)" 1>&2
+fi
+
+if test $PODMAN = "error" 
+then
+       echo "configure: warning: can't find pod. You should install Perl (version 5 or better)" 1>&2
+fi
+
+if test $FLEX = "error" 
+then
+       echo "configure: warning: can't find flex. Please install Flex (2.5 or better)" 1>&2
+fi
+
+if $CXX --version | grep -q '2\.7'
+then
+       true
+else
+       echo "configure: warning: can't find g++ 2.7" 1>&2
+fi
+
+echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
+if test -z "$CXXCPP"; then
+if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+  CXXCPP="${CXX-g++} -E"
+  cat > conftest.$ac_ext <<EOF
+#line 1025 "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1030: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+  :
+else
+  echo "$ac_err" >&5
+  rm -rf conftest*
+  CXXCPP=/lib/cpp
+fi
+rm -f conftest*
+  ac_cv_prog_CXXCPP="$CXXCPP"
+fi
+fi
+CXXCPP="$ac_cv_prog_CXXCPP"
+echo "$ac_t""$CXXCPP" 1>&6
+
+ac_safe=`echo "FlexLexer.h" | tr './\055' '___'`
+echo $ac_n "checking for FlexLexer.h""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1052 "configure"
+#include "confdefs.h"
+#include <FlexLexer.h>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1057: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=yes"
+else
+  echo "$ac_err" >&5
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  true
+else
+  echo "$ac_t""no" 1>&6
+{ echo "configure: error: can't find flex header. Please install Flex headers correctly" 1>&2; exit 1; }
+fi
+
+subdirs="flower"
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs.  It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already.  You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+  sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=\${\1='\2'}/p" \
+  >> confcache
+if cmp -s $cache_file confcache; then
+  :
+else
+  if test -w $cache_file; then
+    echo "updating cache $cache_file"
+    cat confcache > $cache_file
+  else
+    echo "not updating unwritable cache $cache_file"
+  fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[        ]*VPATH[        ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[    `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+  case "\$ac_option" in
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+    exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+  -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+    echo "$CONFIG_STATUS generated by autoconf version 2.10"
+    exit 0 ;;
+  -help | --help | --hel | --he | --h)
+    echo "\$ac_cs_usage"; exit 0 ;;
+  *) echo "\$ac_cs_usage"; exit 1 ;;
+  esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "make/out/Configure_variables.make:make/Configure_variables.make.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@CXX@%$CXX%g
+s%@RANLIB@%$RANLIB%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@FIND@%$FIND%g
+s%@DEFINES@%$DEFINES%g
+s%@COMPILEINFO@%$COMPILEINFO%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@BISON@%$BISON%g
+s%@FLEX@%$FLEX%g
+s%@TEXPREFIX@%$TEXPREFIX%g
+s%@MAKE@%$MAKE%g
+s%@PODMAN@%$PODMAN%g
+s%@CXXCPP@%$CXXCPP%g
+s%@subdirs@%$subdirs%g
+
+CEOF
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"make/out/Configure_variables.make:make/Configure_variables.make.in"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+  # Support "outfile[:infile]", defaulting infile="outfile.in".
+  case "$ac_file" in
+  *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
+       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+  *) ac_file_in="${ac_file}.in" ;;
+  esac
+
+  # Adjust relative srcdir, etc. for subdirectories.
+
+  # Remove last slash and all that follows it.  Not all systems have dirname.
+  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+    # The file is in a subdirectory.
+    test ! -d "$ac_dir" && mkdir "$ac_dir"
+    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+    # A "../" for each directory in $ac_dir_suffix.
+    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+  else
+    ac_dir_suffix= ac_dots=
+  fi
+
+  case "$ac_given_srcdir" in
+  .)  srcdir=.
+      if test -z "$ac_dots"; then top_srcdir=.
+      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+  *) # Relative path.
+    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+    top_srcdir="$ac_dots$ac_given_srcdir" ;;
+  esac
+
+  case "$ac_given_INSTALL" in
+  [/$]*) INSTALL="$ac_given_INSTALL" ;;
+  *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+  esac
+  echo creating "$ac_file"
+  rm -f "$ac_file"
+  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+  case "$ac_file" in
+  *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+  *) ac_comsub= ;;
+  esac
+  sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file
+fi; done
+rm -f conftest.subs
+
+
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
+if test "$no_recursion" != yes; then
+
+  # Remove --cache-file and --srcdir arguments so they do not pile up.
+  ac_sub_configure_args=
+  ac_prev=
+  for ac_arg in $ac_configure_args; do
+    if test -n "$ac_prev"; then
+      ac_prev=
+      continue
+    fi
+    case "$ac_arg" in
+    -cache-file | --cache-file | --cache-fil | --cache-fi \
+    | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+      ac_prev=cache_file ;;
+    -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+    | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+      ;;
+    -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+      ac_prev=srcdir ;;
+    -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+      ;;
+    *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;;
+    esac
+  done
+
+  for ac_config_dir in flower; do
+
+    # Do not complain, so a configure script can configure whichever
+    # parts of a large source tree are present.
+    if test ! -d $srcdir/$ac_config_dir; then
+      continue
+    fi
+
+    echo configuring in $ac_config_dir
+
+    case "$srcdir" in
+    .) ;;
+    *)
+      if test -d ./$ac_config_dir || mkdir ./$ac_config_dir; then :;
+      else
+        { echo "configure: error: can not create `pwd`/$ac_config_dir" 1>&2; exit 1; }
+      fi
+      ;;
+    esac
+
+    ac_popdir=`pwd`
+    cd $ac_config_dir
+
+    case "$srcdir" in
+    .) # No --srcdir option.  We are building in place.
+      ac_sub_srcdir=$srcdir ;;
+    /*) # Absolute path.
+      ac_sub_srcdir=$srcdir/$ac_config_dir ;;
+    *) # Relative path.
+      ac_sub_srcdir=../$srcdir/$ac_config_dir ;;
+    esac
+
+    # Check for guested configure; otherwise get Cygnus style configure.
+    if test -f $ac_sub_srcdir/configure; then
+      ac_sub_configure=$ac_sub_srcdir/configure
+    elif test -f $ac_sub_srcdir/configure.in; then
+      ac_sub_configure=$ac_configure
+    else
+      echo "configure: warning: no configuration information is in $ac_config_dir" 1>&2
+      ac_sub_configure=
+    fi
+
+    # The recursion is here.
+    if test -n "$ac_sub_configure"; then
+
+      # Make the cache file name correct relative to the subdirectory.
+      # A "../" for each directory in /$ac_config_dir.
+      ac_dots=`echo $ac_config_dir|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'`
+      case "$cache_file" in
+      /*) ac_sub_cache_file=$cache_file ;;
+      *) # Relative path.
+        ac_sub_cache_file="$ac_dots$cache_file" ;;
+      esac
+  case "$ac_given_INSTALL" in
+        [/$]*) INSTALL="$ac_given_INSTALL" ;;
+        *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+        esac
+
+      echo "running ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir"
+      # The eval makes quoting arguments work.
+      if eval ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir
+      then :
+      else
+        { echo "configure: error: $ac_sub_configure failed for $ac_config_dir" 1>&2; exit 1; }
+      fi
+    fi
+
+    cd $ac_popdir
+  done
+fi
+
+
+
+
+eval "DIR_DATADIR=$datadir"
+DIR_DATADIR="$DIR_DATADIR/lilypond"
+echo $ac_n "checking ""... $ac_c" 1>&6
+
+cat << EOF > lib/out/config.hh
+
+/* automatically generated by configure */
+/* include this file only once! */
+
+#define  DIR_DATADIR "$DIR_DATADIR"
+
+EOF
+
+CXX="$ac_cv_prog_CXX" bin/make_version >> lib/out/config.hh
+
 touch make/out/Site.make
 
 touch make/out/Site.make
 
-$MAKE -C make -f Initial.make
+# ugr
+(cd mi2mu; CXX="$ac_cv_prog_CXX" ../bin/make_version > out/version.hh
+)
+(cd lily; CXX="$ac_cv_prog_CXX" ../bin/make_version > out/version.hh
+)
+ (cd flower;
+)
+cat << END
+
+Finished configuring. For making everything, do:
+
+       make all
+
+If you only want help on the make targets, do a
 
 
-echo "The sources are ready for compiling. "
-echo "To make sure that you don't have any stale dependencies: do"
-echo "         make clean"
+       make help
 
 
+END
diff --git a/configure.in b/configure.in
new file mode 100644 (file)
index 0000000..4e48c76
--- /dev/null
@@ -0,0 +1,173 @@
+dnl Process this file with autoconf to produce a configure script. -*-shell-script-*-
+
+dnl should cache result.
+dnl should  look in $prefix first.
+
+AC_DEFUN(AC_TEX_SUBDIR, [
+
+    # do something sensible if root hasn't specced dir yet attempts install
+
+    AC_MSG_CHECKING(TeX installation directory)
+
+    ac_tmp_prefix=$prefix
+    test "x$ac_tmp_prefix" = xNONE && ac_tmp_prefix=$ac_default_prefix
+
+    for texdir in $ac_tmp_prefix $ac_tmp_prefix/lib; do
+       if test -d $texdir/texmf; then
+           TEXTOP=$texdir/texmf
+           break
+       else    
+       if test -d $texdir/tex; then 
+           TEXTOP=$texdir/tex
+           break
+       fi
+       fi
+    done
+    $1=$ac_tmp_prefix/lib/texmf/tex
+    if test x = "x$TEXTOP"; then
+       AC_MSG_WARN(Cannot determine a tex-directory. Please use --enable-texprefix)
+    else
+       $1=`$FIND $TEXTOP -type d -a -name tex -print |sort|head -1`
+    fi
+    fi
+
+    AC_MSG_RESULT($$1)
+])
+
+
+AC_INIT(flower/lib/choleski.cc)
+AC_LANG_CPLUSPLUS
+
+AC_ARG_ENABLE(printing,
+       [  printing       set debug printing],
+       [],
+       [DEFINES="$DEFINES -DNPRINT=1"])
+AC_ARG_ENABLE(checking,
+       [  checking       set runtime checks],
+       [],
+       [DEFINES="$DEFINES -DNDEBUG=1"])
+AC_ARG_ENABLE(debug,
+       [  debug          set debug info],
+       [DEFINES="$DEFINES -g"])
+AC_ARG_ENABLE(optimise,
+       [  optimise       use maximal speed optimisations],
+       [DEFINES="$DEFINES -O2 -DSTRING_UTILS_INLINED"])
+AC_ARG_ENABLE(profiling,
+       [  profiling      compile with gprof support],
+       [DEFINES="$DEFINES -pg"])
+AC_ARG_ENABLE(texprefix,
+       [  texprefix=DIR  set the tex-directory to put the lilypond subdir in.],
+       [TEXPREFIX=$enableval],
+       [TEXPREFIX=auto] )
+
+dnl COMPILEINFO="$HOST $host $TARGET $target"
+AUTOHEADER="This file was automatically generated by configure"
+CXXFLAGS=${CXXFLAGS:-""}       # we don't want -g -O junk
+AC_PROG_CXX
+AC_PROG_RANLIB
+AC_PROG_INSTALL
+AC_CHECK_PROGS(FIND, find, error)
+
+dnl should check out -print
+if test FIND = error; then
+   AC_MSG_WARN(Couldn't find \`find'.  Please use --enable-texprefix)
+else 
+    
+
+AC_SUBST(DEFINES)
+AC_SUBST(COMPILEINFO)
+AC_SUBST(AUTOHEADER)
+AC_SUBST(BISON)
+AC_SUBST(FLEX)
+AC_SUBST(TEXPREFIX)
+
+
+AC_CHECK_PROGS(BISON, bison, error)
+AC_CHECK_PROGS(FLEX, flex, error)
+AC_CHECK_PROGS(MAKE, make, error)
+AC_CHECK_PROGS(PODMAN, pod2man, error)
+
+if test $TEXPREFIX = auto ; then
+    AC_TEX_SUBDIR(TEXPREFIX)
+fi
+
+if test $MAKE = "error" 
+then
+       AC_MSG_ERROR(Please install GNU make)
+else
+       $MAKE -v| grep -q GNU
+       if test "$?" = 1
+       then
+               AC_MSG_WARN(Please install *GNU* make)
+       fi
+fi
+
+
+if test $BISON = "error" 
+then
+       AC_MSG_WARN(can't find bison. Please install Bison (1.24 or better))
+fi
+
+if test $PODMAN = "error" 
+then
+       AC_MSG_WARN(can't find pod. You should install Perl (version 5 or better))
+fi
+
+if test $FLEX = "error" 
+then
+       AC_MSG_WARN(can't find flex. Please install Flex (2.5 or better))
+fi
+
+if $CXX --version | grep -q '2\.7'
+then
+       true
+else
+       AC_MSG_WARN(can't find g++ 2.7)
+fi
+
+AC_CHECK_HEADER(FlexLexer.h, true,
+       AC_MSG_ERROR(can't find flex header. Please install Flex headers correctly))
+AC_CONFIG_SUBDIRS(flower)
+AC_OUTPUT(make/out/Configure_variables.make:make/Configure_variables.make.in)
+
+
+
+dnl URG!!!!!!
+eval "DIR_DATADIR=$datadir"
+DIR_DATADIR="$DIR_DATADIR/lilypond"
+AC_MSG_CHECKING
+
+cat << EOF > lib/out/config.hh
+
+/* automatically generated by configure */
+/* include this file only once! */
+
+#define  DIR_DATADIR "$DIR_DATADIR"
+
+EOF
+
+CXX="$ac_cv_prog_CXX" bin/make_version >> lib/out/config.hh
+
+touch make/out/Site.make
+
+# ugr
+(cd mi2mu; CXX="$ac_cv_prog_CXX" ../bin/make_version > out/version.hh
+dnl    echo 0 > out/.build
+)
+(cd lily; CXX="$ac_cv_prog_CXX" ../bin/make_version > out/version.hh
+dnl    echo 0 > out/.build
+)
+ (cd flower;
+dnl    echo 0 > out/.build
+)
+cat << END
+
+Finished configuring. For making everything, do:
+
+       make all
+
+If you only want help on the make targets, do a
+
+       make help
+
+END
index 6c589619a0487fba38fd7f495045d4757538e909..45d4ace49282eada95c2aff9d7f143aca304f50e 100644 (file)
@@ -1,6 +1,6 @@
 MAJOR_VERSION = 1
 MINOR_VERSION = 1
 MAJOR_VERSION = 1
 MINOR_VERSION = 1
-PATCH_LEVEL = 6
+PATCH_LEVEL = 7
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = # include separator: "-1" or ".a"
 #
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = # include separator: "-1" or ".a"
 #
index abca493fbd94cc344ed62807f314fc69aa35cd4c..a4ee94bd5ddbc4f66414c62754f70d04b1fe53a1 100644 (file)
@@ -21,7 +21,7 @@ MODULE_NAME = flower
 # edit .version only
 include ./$(depth)/flower/.version
 include ./$(depth)/.version
 # edit .version only
 include ./$(depth)/flower/.version
 include ./$(depth)/.version
-build = ./$(depth)/flower/lib/.build
+build = ./$(depth)/flower/$(outdir)/.build
 #
 
 # generic variables:
 #
 
 # generic variables:
@@ -31,26 +31,23 @@ include ./$(depth)/make/Variables.make
 
 # descent order into subdirectories:
 #
 
 # descent order into subdirectories:
 #
-SUBDIRS = lib
+SUBDIRS = lib test
 #
 
 # list of distribution files:
 #
 #
 
 # list of distribution files:
 #
-SCRIPTS = # make_version make_patch genheader clearlily configure
+SCRIPTS = 
 README_FILES = NEWS README TODO
 README_FILES = NEWS README TODO
-DISTFILES= Makefile .version $(README_FILES) $(SCRIPTS)
+DISTFILES= configure config.hh.in configure.in Makefile .version $(README_FILES) $(SCRIPTS)
 #
 
 # generic targets and rules:
 #
 include ./$(depth)/make/Targets.make
 #
 
 # generic targets and rules:
 #
 include ./$(depth)/make/Targets.make
-include ./$(depth)/make/Rules.make
+include ./$(depth)/make/Rules.make
 #
 
 # version:
 #
 #
 
 # version:
 #
-flower-version: $(flower-version)
-$(flower-version): ./$(depth)/flower/.version ./$(bindir)/make_fversion $(build)
-       ./$(bindir)/make_fversion "$(MAJOR_VERSION)" "$(MINOR_VERSION)" "$(PATCH_LEVEL)" "$(MY_PATCH_LEVEL)" "$(BUILD)" "$(CXX) $(CXXVER)" > $@
-#
 
 
+localdist: configure
index 836eccbee0e80a518f3b3fd0682293c03a5edd58..e4d17c55f5640778b962a74963f07e08a08ceba1 100644 (file)
@@ -1,3 +1,19 @@
+pl 1.1.7
+       - PQueue blondification.
+       - String_convert::i2hex_str fix, unsigned eqvs introduced
+       - long long deprecioated, now named I64
+       - type I32 introduced. should be used iso int where 32 bits are 
+         needed(or, brr, assumed...)
+
+pl 1.1.6-2
+Bugfix
+       - silly String( int... ) -> String( (char)... ) fix
+         really should junk ambiguous constructor overload
+pl 1.1.6-1     
+
+Bugfix
+       - small but nasty include/fversion.hh fixed
+
 pl 1.1.6
        - all of 1.1.4-1 and 1.1.5
 Bugfix 
 pl 1.1.6
        - all of 1.1.4-1 and 1.1.5
 Bugfix 
@@ -8,7 +24,9 @@ pl 1.1.5
        - snprintf
 
 pl 1.1.4-1
        - snprintf
 
 pl 1.1.4-1
-       - included in new make structure
+       - included in new make structure, as a library of lilypond; 
+         for compiling you-ll need ../make and ../bin dirs from 
+         lilypond...
        
 pl 1.1.4
        - great file-renaming.
        
 pl 1.1.4
        - great file-renaming.
index 822cd0287f52babac46867485ec95c58b99a2687..a0188c47f8fa59a777db5f666655c6a7ceed4d2f 100644 (file)
@@ -1,3 +1,8 @@
+       * Autoconf configure script.
+
+       * fix/junk ambiguous String constructor overloads, e.g.:
+         String( int ) and String( char )
+
        * shared lib.
 
        * LGPL?
        * shared lib.
 
        * LGPL?
diff --git a/flower/config.hh.in b/flower/config.hh.in
new file mode 100644 (file)
index 0000000..8747c8f
--- /dev/null
@@ -0,0 +1,8 @@
+/* define if you have memmem */
+#define HAVE_MEMMEM 0
+
+/* define if you have snprintf */
+#define HAVE_SNPRINTF 0
+
+/* just testing */
+#define HAVE_FOOBAR 0
diff --git a/flower/configure b/flower/configure
new file mode 100644 (file)
index 0000000..0376cf7
--- /dev/null
@@ -0,0 +1,1116 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.10 
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+
+ac_prev=
+for ac_option
+do
+
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval "$ac_prev=\$ac_option"
+    ac_prev=
+    continue
+  fi
+
+  case "$ac_option" in
+  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) ac_optarg= ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case "$ac_option" in
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir="$ac_optarg" ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build="$ac_optarg" ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file="$ac_optarg" ;;
+
+  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+  | --da=*)
+    datadir="$ac_optarg" ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+    fi
+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+    eval "enable_${ac_feature}=no" ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+    fi
+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+    case "$ac_option" in
+      *=*) ;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix="$ac_optarg" ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he)
+    # Omit some internal or obsolete options to make the list less imposing.
+    # This message is too long to be a string in the A/UX 3.1 sh.
+    cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+  --cache-file=FILE       cache test results in FILE
+  --help                  print this message
+  --no-create             do not create output files
+  --quiet, --silent       do not print \`checking...' messages
+  --version               print the version of autoconf that created configure
+Directory and file names:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [same as prefix]
+  --bindir=DIR            user executables in DIR [EPREFIX/bin]
+  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
+  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
+  --datadir=DIR           read-only architecture-independent data in DIR
+                          [PREFIX/share]
+  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
+                          [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
+  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
+  --includedir=DIR        C header files in DIR [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
+  --infodir=DIR           info documentation in DIR [PREFIX/info]
+  --mandir=DIR            man documentation in DIR [PREFIX/man]
+  --srcdir=DIR            find the sources in DIR [configure dir or ..]
+  --program-prefix=PREFIX prepend PREFIX to installed program names
+  --program-suffix=SUFFIX append SUFFIX to installed program names
+  --program-transform-name=PROGRAM
+                          run sed PROGRAM on installed program names
+EOF
+    cat << EOF
+Host type:
+  --build=BUILD           configure for building on BUILD [BUILD=HOST]
+  --host=HOST             configure for HOST [guessed]
+  --target=TARGET         configure for TARGET [TARGET=HOST]
+Features and packages:
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --x-includes=DIR        X include files are in DIR
+  --x-libraries=DIR       X library files are in DIR
+EOF
+    if test -n "$ac_help"; then
+      echo "--enable and --with options recognized:$ac_help"
+    fi
+    exit 0 ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host="$ac_optarg" ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir="$ac_optarg" ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir="$ac_optarg" ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir="$ac_optarg" ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir="$ac_optarg" ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst \
+  | --locals | --local | --loca | --loc | --lo)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+    localstatedir="$ac_optarg" ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir="$ac_optarg" ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir="$ac_optarg" ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix="$ac_optarg" ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix="$ac_optarg" ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix="$ac_optarg" ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name="$ac_optarg" ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir="$ac_optarg" ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir="$ac_optarg" ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site="$ac_optarg" ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir="$ac_optarg" ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir="$ac_optarg" ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target="$ac_optarg" ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers)
+    echo "configure generated by autoconf version 2.10"
+    exit 0 ;;
+
+  -with-* | --with-*)
+    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+    fi
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    case "$ac_option" in
+      *=*) ;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "with_${ac_package}='$ac_optarg'" ;;
+
+  -without-* | --without-*)
+    ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+    fi
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    eval "with_${ac_package}=no" ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes="$ac_optarg" ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries="$ac_optarg" ;;
+
+  -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+    ;;
+
+  *)
+    if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+      echo "configure: warning: $ac_option: invalid host type" 1>&2
+    fi
+    if test "x$nonopt" != xNONE; then
+      { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+    fi
+    nonopt="$ac_option"
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+  exec 6>/dev/null
+else
+  exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+  case "$ac_arg" in
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c) ;;
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+  *" "*|*"     "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+  ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+  *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+  esac
+done
+
+# NLS nuisances.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=lib/choleski.cc
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then its parent.
+  ac_prog=$0
+  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+  srcdir=$ac_confdir
+  if test ! -r $srcdir/$ac_unique_file; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+  if test "$ac_srcdir_defaulted" = yes; then
+    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+  else
+    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+  fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+  if test "x$prefix" != xNONE; then
+    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+  else
+    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+  fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+  if test -r "$ac_site_file"; then
+    echo "loading site script $ac_site_file"
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  echo "loading cache $cache_file"
+  . $cache_file
+else
+  echo "creating cache $cache_file"
+  > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+    ac_n= ac_c='
+' ac_t='       '
+  else
+    ac_n=-n ac_c= ac_t=
+  fi
+else
+  ac_n= ac_c='\c' ac_t=
+fi
+
+
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+
+for ac_prog in $CCC c++ g++ gcc CC cxx
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CXX="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+CXX="$ac_cv_prog_CXX"
+if test -n "$CXX"; then
+  echo "$ac_t""$CXX" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$CXX" && break
+done
+test -n "$CXX" || CXX="gcc"
+
+
+echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.C <<EOF
+#ifdef __GNUC__
+  yes;
+#endif
+EOF
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:567: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+  ac_cv_prog_gxx=yes
+else
+  ac_cv_prog_gxx=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gxx" 1>&6
+if test $ac_cv_prog_gxx = yes; then
+  GXX=yes
+  if test "${CXXFLAGS+set}" != set; then
+    echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_gxx_g'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  echo 'void f(){}' > conftest.cc
+if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
+  ac_cv_prog_gxx_g=yes
+else
+  ac_cv_prog_gxx_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_gxx_g" 1>&6
+    if test $ac_cv_prog_gxx_g = yes; then
+      CXXFLAGS="-g -O"
+    else
+      CXXFLAGS="-O"
+    fi
+  fi
+else
+  GXX=
+  test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
+fi
+
+# If we cannot run a trivial program, we must be cross compiling.
+echo $ac_n "checking whether cross-compiling""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_c_cross'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test "$cross_compiling" = yes; then
+  ac_cv_c_cross=yes
+else
+cat > conftest.$ac_ext <<EOF
+#line 613 "configure"
+#include "confdefs.h"
+#ifdef __cplusplus
+extern "C" void exit(int);
+#endif
+main(){return(0);}
+EOF
+{ (eval echo configure:620: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
+if test -s conftest && (./conftest; exit) 2>/dev/null; then
+  ac_cv_c_cross=no
+else
+  ac_cv_c_cross=yes
+fi
+fi
+rm -fr conftest*
+fi
+
+echo "$ac_t""$ac_cv_c_cross" 1>&6
+cross_compiling=$ac_cv_c_cross
+
+echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_func_memcmp'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test "$cross_compiling" = yes; then
+  ac_cv_func_memcmp=no
+else
+cat > conftest.$ac_ext <<EOF
+#line 641 "configure"
+#include "confdefs.h"
+#ifdef __cplusplus
+extern "C" void exit(int);
+#endif
+
+main()
+{
+  char c0 = 0x40, c1 = 0x80, c2 = 0x81;
+  exit(memcmp(&c0, &c2, 1) < 0 && memcmp(&c1, &c2, 1) < 0 ? 0 : 1);
+}
+
+EOF
+{ (eval echo configure:654: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
+if test -s conftest && (./conftest; exit) 2>/dev/null; then
+  ac_cv_func_memcmp=yes
+else
+  ac_cv_func_memcmp=no
+fi
+fi
+rm -fr conftest*
+fi
+
+echo "$ac_t""$ac_cv_func_memcmp" 1>&6
+test $ac_cv_func_memcmp = no && LIBOBJS="$LIBOBJS memcmp.o"
+
+echo $ac_n "checking for vprintf""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 672 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char vprintf(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char vprintf();
+
+int main() { return 0; }
+int t() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_vprintf) || defined (__stub___vprintf)
+choke me
+#else
+vprintf();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+  rm -rf conftest*
+  eval "ac_cv_func_vprintf=yes"
+else
+  rm -rf conftest*
+  eval "ac_cv_func_vprintf=no"
+fi
+rm -f conftest*
+
+fi
+if eval "test \"`echo '$ac_cv_func_'vprintf`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  cat >> confdefs.h <<\EOF
+#define HAVE_VPRINTF 1
+EOF
+
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+if test "$ac_cv_func_vprintf" != yes; then
+echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 725 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char _doprnt(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char _doprnt();
+
+int main() { return 0; }
+int t() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub__doprnt) || defined (__stub____doprnt)
+choke me
+#else
+_doprnt();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:752: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+  rm -rf conftest*
+  eval "ac_cv_func__doprnt=yes"
+else
+  rm -rf conftest*
+  eval "ac_cv_func__doprnt=no"
+fi
+rm -f conftest*
+
+fi
+if eval "test \"`echo '$ac_cv_func_'_doprnt`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  cat >> confdefs.h <<\EOF
+#define HAVE_DOPRNT 1
+EOF
+
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+fi
+
+for ac_func in memmem snprintf foobar
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 781 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char $ac_func();
+
+int main() { return 0; }
+int t() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+  rm -rf conftest*
+  eval "ac_cv_func_$ac_func=yes"
+else
+  rm -rf conftest*
+  eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+
+fi
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+  cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+else
+  echo "$ac_t""no" 1>&6
+fi
+done
+
+
+
+CXX="$ac_cv_prog_CXX" ../bin/make_version > out/version.hh
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs.  It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already.  You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+  sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=\${\1='\2'}/p" \
+  >> confcache
+if cmp -s $cache_file confcache; then
+  :
+else
+  if test -w $cache_file; then
+    echo "updating cache $cache_file"
+    cat confcache > $cache_file
+  else
+    echo "not updating unwritable cache $cache_file"
+  fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[        ]*VPATH[        ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+DEFS=-DHAVE_CONFIG_H
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+  case "\$ac_option" in
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+    exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+  -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+    echo "$CONFIG_STATUS generated by autoconf version 2.10"
+    exit 0 ;;
+  -help | --help | --hel | --he | --h)
+    echo "\$ac_cs_usage"; exit 0 ;;
+  *) echo "\$ac_cs_usage"; exit 1 ;;
+  esac
+done
+
+ac_given_srcdir=$srcdir
+
+trap 'rm -fr `echo " lib/out/config.hh:config.hh.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@CXX@%$CXX%g
+s%@LIBOBJS@%$LIBOBJS%g
+
+CEOF
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-""}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+  # Support "outfile[:infile]", defaulting infile="outfile.in".
+  case "$ac_file" in
+  *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
+       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+  *) ac_file_in="${ac_file}.in" ;;
+  esac
+
+  # Adjust relative srcdir, etc. for subdirectories.
+
+  # Remove last slash and all that follows it.  Not all systems have dirname.
+  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+    # The file is in a subdirectory.
+    test ! -d "$ac_dir" && mkdir "$ac_dir"
+    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+    # A "../" for each directory in $ac_dir_suffix.
+    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+  else
+    ac_dir_suffix= ac_dots=
+  fi
+
+  case "$ac_given_srcdir" in
+  .)  srcdir=.
+      if test -z "$ac_dots"; then top_srcdir=.
+      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+  *) # Relative path.
+    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+    top_srcdir="$ac_dots$ac_given_srcdir" ;;
+  esac
+
+  echo creating "$ac_file"
+  rm -f "$ac_file"
+  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+  case "$ac_file" in
+  *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+  *) ac_comsub= ;;
+  esac
+  sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file
+fi; done
+rm -f conftest.subs
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s%^\([  ]*\)#\([        ]*define[       ][      ]*\)'
+ac_dB='\([     ][      ]*\)[^  ]*%\1#\2'
+ac_dC='\3'
+ac_dD='%g'
+# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
+ac_uA='s%^\([  ]*\)#\([        ]*\)undef\([    ][      ]*\)'
+ac_uB='\([     ]\)%\1#\2define\3'
+ac_uC=' '
+ac_uD='\4%g'
+# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_eA='s%^\([  ]*\)#\([        ]*\)undef\([    ][      ]*\)'
+ac_eB='$%\1#\2define\3'
+ac_eC=' '
+ac_eD='%g'
+
+CONFIG_HEADERS=${CONFIG_HEADERS-"lib/out/config.hh:config.hh.in"}
+for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
+  # Support "outfile[:infile]", defaulting infile="outfile.in".
+  case "$ac_file" in
+  *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
+       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+  *) ac_file_in="${ac_file}.in" ;;
+  esac
+
+  echo creating $ac_file
+
+  rm -f conftest.frag conftest.in conftest.out
+  cp $ac_given_srcdir/$ac_file_in conftest.in
+
+EOF
+
+# Transform confdefs.h into a sed script conftest.vals that substitutes
+# the proper values into config.h.in to produce config.h.  And first:
+# Protect against being on the right side of a sed subst in config.status.
+# Protect against being in an unquoted here document in config.status.
+rm -f conftest.vals
+cat > conftest.hdr <<\EOF
+s/[\\&%]/\\&/g
+s%[\\$`]%\\&%g
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
+s%ac_d%ac_u%gp
+s%ac_u%ac_e%gp
+EOF
+sed -n -f conftest.hdr confdefs.h > conftest.vals
+rm -f conftest.hdr
+
+# This sed command replaces #undef with comments.  This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >> conftest.vals <<\EOF
+s%^[   ]*#[    ]*undef[        ][      ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
+EOF
+
+# Break up conftest.vals because some shells have a limit on
+# the size of here documents, and old seds have small limits too.
+# Maximum number of lines to put in a single here document.
+ac_max_here_lines=12
+
+rm -f conftest.tail
+while :
+do
+  ac_lines=`grep -c . conftest.vals`
+  # grep -c gives empty output for an empty file on some AIX systems.
+  if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
+  # Write a limited-size here document to conftest.frag.
+  echo '  cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
+  sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
+  echo 'CEOF
+  sed -f conftest.frag conftest.in > conftest.out
+  rm -f conftest.in
+  mv conftest.out conftest.in
+' >> $CONFIG_STATUS
+  sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
+  rm -f conftest.vals
+  mv conftest.tail conftest.vals
+done
+rm -f conftest.vals
+
+cat >> $CONFIG_STATUS <<\EOF
+  rm -f conftest.frag conftest.h
+  echo "/* $ac_file.  Generated automatically by configure.  */" > conftest.h
+  cat conftest.in >> conftest.h
+  rm -f conftest.in
+  if cmp -s $ac_file conftest.h 2>/dev/null; then
+    echo "$ac_file is unchanged"
+    rm -f conftest.h
+  else
+    # Remove last slash and all that follows it.  Not all systems have dirname.
+      ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+      if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+      # The file is in a subdirectory.
+      test ! -d "$ac_dir" && mkdir "$ac_dir"
+    fi
+    rm -f $ac_file
+    mv conftest.h $ac_file
+  fi
+fi; done
+
+
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/flower/configure.in b/flower/configure.in
new file mode 100644 (file)
index 0000000..abfa94c
--- /dev/null
@@ -0,0 +1,15 @@
+dnl Process this file with autoconf to produce a configure script.
+AC_INIT(lib/choleski.cc)
+AC_LANG_CPLUSPLUS
+
+dnl should enable flower specific compile flags.
+
+AC_PROG_CXX
+AC_FUNC_MEMCMP
+AC_FUNC_VPRINTF
+AC_CHECK_FUNCS(memmem snprintf foobar)
+AC_CONFIG_HEADER(lib/out/config.hh:config.hh.in)
+
+CXX="$ac_cv_prog_CXX" ../bin/make_version > out/version.hh
+
+AC_OUTPUT()
index 893c30f922f46be1265f59cbf7ccbe5d5ca789e1..0c1d299dca9f0ab605c6abbe2113f4b6413afb41 100644 (file)
 depth = ../..
 #
 
 depth = ../..
 #
 
+# generic variables:
+#
+include ./$(depth)/make/Variables.make 
+#
+
 # identify module:
 #
 NAME = flower
 MODULE_NAME = flower
 include ./$(depth)/flower/.version
 # identify module:
 #
 NAME = flower
 MODULE_NAME = flower
 include ./$(depth)/flower/.version
-build = ./$(depth)/flower/lib/.build
-#
-
-# generic variables:
-#
-include ./$(depth)/make/Variables.make 
+build = ./$(depth)/flower/$(outdir)/.build
 #
 
 # descent order into subdirectories:
 #
 #
 
 # descent order into subdirectories:
 #
-SUBDIRS = include
+SUBDIRS = include 
 #
 
 # to be remade each build:
 #
 #
 
 # to be remade each build:
 #
-VERSION_DEPENDENCY = include/fversion.hh
+VERSION_DEPENDENCY =#
 #
 
 # list of c++ header files:
 # 
 #
 
 # list of c++ header files:
 # 
-HHFILES = # $(shell ls include/*.hh)
+HHFILES = $(shell ls *.hh $(ERROR_LOG))
 #
 
 # list of c++ source files:
 #
 #
 
 # list of c++ source files:
 #
-CCFILES = $(shell ls *.cc)
+CCFILES = $(shell ls *.cc $(ERROR_LOG))
 #
 
 # list of other source files:
 #
 #
 
 # list of other source files:
 #
-EXTRA_SOURCE_FILES =# $(shell ls *.y *.l)
+EXTRA_SOURCE_FILES = $(shell ls *.y *.l $(ERROR_LOG))
 #
 
 # list of distribution files:
 #
 
 # list of distribution files:
@@ -75,18 +75,23 @@ MAINTARGET = $(libdir)/$(LIBRARY)# huh?
 default: $(MAINTARGET)
 #
 
 default: $(MAINTARGET)
 #
 
-# sic.
-$(include-flower)/flower-config.hh:
-       touch $@
+# sic.
+$(include-flower)/flower-config.hh:
+#      touch $@
+
 # generic targets and rules:
 #
 include ./$(depth)/make/Targets.make
 include ./$(depth)/make/Rules.make
 #
 
 # generic targets and rules:
 #
 include ./$(depth)/make/Targets.make
 include ./$(depth)/make/Rules.make
 #
 
+# list of depend files:
+#
+DEPFILES = $(shell ls $(depdir)/*.dep $(ERROR_LOG))
+#
+
 # auto dependencies:
 #
 # auto dependencies:
 #
--include ./$(outdir)/*.dep
+-include /dev/null $(DEPFILES)
 #
 
 #
 
index e6fdbc0e4dbf2d9a9a827a569559bd038893040a..1197dd79e71c20e13dd4d24bec14e7f52efc14be 100644 (file)
@@ -1,3 +1,5 @@
+
+
 #include <fstream.h>
 #include "assoc.hh"
 #include "dstream.hh"
 #include <fstream.h>
 #include "assoc.hh"
 #include "dstream.hh"
@@ -53,7 +55,8 @@ Dstream::identify_as(String name)
     local_silence = (*silent)[idx];
     if (classname != idx && !local_silence) {
        classname=idx;
     local_silence = (*silent)[idx];
     if (classname != idx && !local_silence) {
        classname=idx;
-//     *os << "[" << classname << ":]"; // messy.
+       if (!(*silent)["Dstream"])
+           *os << "[" << classname << ":]"; // messy.
     }
     return *this;
 }
     }
     return *this;
 }
diff --git a/flower/lib/flower-version.cc b/flower/lib/flower-version.cc
new file mode 100644 (file)
index 0000000..83a69c0
--- /dev/null
@@ -0,0 +1,16 @@
+#include "../out/version.hh"   // urg
+#include <stdio.h>
+
+static char *s = "FlowerLib " MAJOR_VERSION "." MINOR_VERSION "."  PATCH_LEVEL MY_PATCH_LEVEL " #%d";
+
+static const int build=
+#include "../out/.build"
+;
+
+const char * 
+flower_version_sz()
+{
+    static char v[1024];
+    sprintf(v, s, build);
+    return v;
+}
index 36059a888fce25b69f9d3a0447b1862cf6981155..1a7272a1d8ad2cfacdfcbb45642840efaa9a4344 100644 (file)
@@ -14,6 +14,6 @@ include ./$(depth)/make/Include.make
 #
 MODULE_NAME = flower
 include ./$(depth)/flower/.version
 #
 MODULE_NAME = flower
 include ./$(depth)/flower/.version
-build = ./$(depth)/flower/lib/.build
+build = ./$(depth)/flower/$(outdir)/.build
 #
 
 #
 
diff --git a/flower/lib/include/flower-config.hh b/flower/lib/include/flower-config.hh
deleted file mode 100644 (file)
index e69de29..0000000
index 8c6fda680ef111acb3db33771fb9e546fcb70f76..01ebe64b6f7b2b2e2b3c0781e22e96a3c6a0a409 100644 (file)
@@ -7,7 +7,15 @@
 #ifndef FPROTO_HH
 #define FPROTO_HH
 
 #ifndef FPROTO_HH
 #define FPROTO_HH
 
-#include "flower-config.hh"
+
+const char * flower_version_sz();
+
+// what the F*** is "int" ?
+// depreciate int, long, etc., use i32, i64, remember: linux-16/linux-64 ?
+/// (i32)
+typedef int i32;
+/// (i64)
+typedef long long I64;
 
 template<class T> struct Array;
 template<class T> struct sstack;
 
 template<class T> struct Array;
 template<class T> struct sstack;
@@ -19,7 +27,9 @@ template<class T> struct Cursor;
 template<class T> struct PCursor;
 template<class T> struct Link;
 template<class T> struct Handle;
 template<class T> struct PCursor;
 template<class T> struct Link;
 template<class T> struct Handle;
-template<class T>struct Interval_t;
+template<class T> struct Interval_t;
+template<class T,class Q> struct PQueue;
+
 #include "real.hh"
 
 typedef Interval_t<Real> Interval;
 #include "real.hh"
 
 typedef Interval_t<Real> Interval;
index e71037c41ee817c95f2f108bb143284a2947f58a..dec8f24bdc5dec3f176a76f96353def3c8be0916 100644 (file)
@@ -10,6 +10,7 @@
 #ifndef LIBC_EXTENSION_HH
 #define LIBC_EXTENSION_HH
 #include "fproto.hh"
 #ifndef LIBC_EXTENSION_HH
 #define LIBC_EXTENSION_HH
 #include "fproto.hh"
+#include "config.hh"
 
 char* strnlwr( char* start_l ,int n);
 char* strnupr( char* start_l, int n);
 
 char* strnlwr( char* start_l ,int n);
 char* strnupr( char* start_l, int n);
index 195232317e17f58e268833afe3bbb9db1817e02f..c8dfe1bea6754f8786e8460e9b91231c02733b01 100644 (file)
@@ -15,6 +15,8 @@
 /**
   Stupid Prioq. Should use Lists and STL.
   Smallest is put at the front.
 /**
   Stupid Prioq. Should use Lists and STL.
   Smallest is put at the front.
+
+Actually, this sux. Should use a template struct PQuee_ent<V,I>
  */
 
 template<class V, class I>
  */
 
 template<class V, class I>
@@ -22,23 +24,47 @@ struct PQueue
 {
     Array<V> value_arr_;
     Array<I> indices_arr_;
 {
     Array<V> value_arr_;
     Array<I> indices_arr_;
-
+    void OK() const 
+    {
+       
+       assert(value_arr_.size() == indices_arr_.size());
+    }
+    
     void enter(V v, I idx) {
        int j=0;
        for (; j < value_arr_.size(); j++)
            if (indices_arr_[j] > idx) 
                break;
 
     void enter(V v, I idx) {
        int j=0;
        for (; j < value_arr_.size(); j++)
            if (indices_arr_[j] > idx) 
                break;
 
-       value_arr_.insert(v, j);
-       indices_arr_.insert(idx, j);
+       insert(j,v,idx);
+       
     }
     int size() { return value_arr_.size(); }
     V front_val() { return value_arr_[0]; }
     I front_idx() { return indices_arr_[0]; }
     }
     int size() { return value_arr_.size(); }
     V front_val() { return value_arr_[0]; }
     I front_idx() { return indices_arr_[0]; }
+    void del(int i) 
+    {
+       value_arr_.del(i);
+       indices_arr_.del(i);
+    }
+    int size() const
+    {
+       OK();
+       return value_arr_.size();
+    }
+    
+
+    void insert(int j, V v, I idx)
+    {
+       value_arr_.insert(v, j);
+       indices_arr_.insert(idx, j);
+    }
+    
+
+
     V get() {
        V retval = front_val();
     V get() {
        V retval = front_val();
-       value_arr_.del(0);
-       indices_arr_.del(0);
+       del(0);
        return retval;
     }
     
        return retval;
     }
     
index bcf461f8f3f6a32c734f49716d6bef0ecbfd0666..f6bcfa7faeea590baf744a7e3256be16f59d8879 100644 (file)
@@ -30,14 +30,16 @@ public:
     static int dec2_i( String dec_str );
     static double dec2_f( String dec_str );
     static String double_str(double f, char const* fmt=0);
     static int dec2_i( String dec_str );
     static double dec2_f( String dec_str );
     static String double_str(double f, char const* fmt=0);
-    static int hex2int_i( String str );
+    static int hex2_i( String str );
+    static unsigned hex2_u( String str );
     static String hex2bin_str( String str );
     static String int_str(int i, char const *fmt=0  );
     static String i2hex_str( int i, int length_i, char ch );
     static String hex2bin_str( String str );
     static String int_str(int i, char const *fmt=0  );
     static String i2hex_str( int i, int length_i, char ch );
+    static String u2hex_str( unsigned u, int length_i, char ch );
     static String i2dec_str( int i, int length_i, char ch );
     static String rational_str(Rational);
     static String pointer_str(const void *);
     static String i2dec_str( int i, int length_i, char ch );
     static String rational_str(Rational);
     static String pointer_str(const void *);
-    static String longlong_str(long long , char const * fmt = 0);
+    static String i64_str(I64, char const * fmt = 0);
 };
 
 #endif // __STRING_CONVERT_HH //
 };
 
 #endif // __STRING_CONVERT_HH //
index f9a255683e717959f378da4001bc49a479cd823d..3a89e81008bf5fc5500899355f1bfdeccb2b2700 100644 (file)
@@ -101,7 +101,7 @@ strrev( Byte* byte_l, int length_i )
 }
 
 #ifndef HAVE_SNPRINTF
 }
 
 #ifndef HAVE_SNPRINTF
-int snprintf ( char *str, size_t n,
+int snprintf ( char *str, size_t,
               const char *format, ... )
 {
     va_list ap;
               const char *format, ... )
 {
     va_list ap;
index 47649dcc8878e672250bc33b47e8cde2e2101c1c..0e2566f087f3938cecd1b1de9ad626830f1ebe7b 100644 (file)
@@ -6,6 +6,7 @@
 
 
 #include <assert.h>
 
 
 #include <assert.h>
+#include <limits.h>
 #include "libc-extension.hh"
 #include "string.hh"
 #include "string-convert.hh"
 #include "libc-extension.hh"
 #include "string.hh"
 #include "string-convert.hh"
@@ -62,11 +63,11 @@ String_convert::dec2_i( String dec_str )
 }
 
 String
 }
 
 String
-String_convert::longlong_str(long long ll, char const* fmt)
+String_convert::i64_str( I64 i64, char const* fmt)
 {
     char buffer[STRING_BUFFER_LEN];
     snprintf(buffer, STRING_BUFFER_LEN,
 {
     char buffer[STRING_BUFFER_LEN];
     snprintf(buffer, STRING_BUFFER_LEN,
-            (fmt ? fmt : "%Ld"), ll );     // assume radix 10
+            (fmt ? fmt : "%Ld"), i64 );     // assume radix 10
     return String(buffer);
 
 }
     return String(buffer);
 
 }
@@ -143,20 +144,34 @@ String_convert::i2dec_str( int i, int length_i, char ch )
 
 // stupido.  Should use int_str()
 String 
 
 // stupido.  Should use int_str()
 String 
-String_convert::i2hex_str( int i, int length_i, char ch )
+String_convert::u2hex_str( unsigned u, int length_i, char fill_ch )
 {
     String str;
 {
     String str;
-    if ( !i )
+    if ( !u )
        str = "0";
        str = "0";
-    while ( i ) {
-       str = String( ( i % 16 )["0123456789abcdef"] ) + str;
-       i /= 16;
+
+#if 1 // both go...
+    while ( u ) {
+       str = String( (char)( ( u % 16 )["0123456789abcdef"] ) ) + str;
+       u /= 16;
     }
     }
-    if ( str.length_i() < length_i )
-       str = String( ch, length_i - str.length_i() ) + str;
+#else
+    str += int_str( u, "%x" );
+#endif
+
+    str = String( fill_ch, length_i - str.length_i() ) + str;
+    while ( ( str.length_i() > length_i ) &&  ( str[ 0 ] == 'f' ) )
+       str = str.mid_str( 2, INT_MAX );
+
     return str;
 }
 
     return str;
 }
 
+String 
+String_convert::i2hex_str( int i, int length_i, char fill_ch )
+{
+    return u2hex_str( (unsigned)i, length_i, fill_ch );
+}
+
 Byte
 String_convert::nibble2hex_byte( Byte byte )
 {
 Byte
 String_convert::nibble2hex_byte( Byte byte )
 {
@@ -230,6 +245,6 @@ String_convert::rational_str(Rational r)
 String
 String_convert::pointer_str(const void *l)
 {
 String
 String_convert::pointer_str(const void *l)
 {
-    long long int ill = (long long int )l;
-    return String_convert::longlong_str(ill,  "0x%0Lx");
+    I64 i64 = (I64)l;
+    return String_convert::i64_str(i64,  "0x%0Lx");
 }
 }
index 0ec87161b558d5ab22c2aa38b0bd5eb8a566cead..14bf4b99165454173723d271b88feb4e110074a1 100644 (file)
@@ -19,7 +19,7 @@ NAME =stringtest
 # include ./$(depth)/$(NAME)/.version
 MODULE_NAME = flower
 include ./$(depth)/flower/.version
 # include ./$(depth)/$(NAME)/.version
 MODULE_NAME = flower
 include ./$(depth)/flower/.version
-build = ./$(depth)/flower/lib/.build
+build = ./$(depth)/flower/test/$(outdir)/.build
 #
 
 # generic variables:
 #
 
 # generic variables:
@@ -76,7 +76,7 @@ LOADLIBES +=
 #
 # MAINTARGET = $(EXECUTABLE)
 # MAINTARGET = $(LIBRARY)
 #
 # MAINTARGET = $(EXECUTABLE)
 # MAINTARGET = $(LIBRARY)
-MAINTARGET = $(bindir)/$(EXECUTABLE)# huh?
+MAINTARGET = $(lily_bindir)/$(EXECUTABLE)# huh?
 # MAINTARGET = $(libdir)/$(LIBRARY)# huh?
 
 #default: $(MAINTARGET)
 # MAINTARGET = $(libdir)/$(LIBRARY)# huh?
 
 #default: $(MAINTARGET)
@@ -84,7 +84,7 @@ BUILDSTRINGTEST=$(MAINTARGET)
 EXECSTRINGTEST=$(EXECUTABLE)
 default:  $(BUILDSTRINGTEST) do-stringtest
 do-stringtest:
 EXECSTRINGTEST=$(EXECUTABLE)
 default:  $(BUILDSTRINGTEST) do-stringtest
 do-stringtest:
-       $(EXECSTRINGTEST)    # should return error value if test fails
+       $(EXECSTRINGTEST)    # should cmp with a 'standard result'
 
 dummy:
 
 
 dummy:
 
index 5b4ace1b2f515c7df89f5733348f0c8f27966078..adf545b172acd8bdb7ee6cc3090309016c159c47 100644 (file)
@@ -72,12 +72,12 @@ kutenpeer()
     }
     str = "blonde haren";
     cout << str<<endl;
     }
     str = "blonde haren";
     cout << str<<endl;
-    cout << "mid(2,6)="<<str.mid_str(2,3)<<endl;
-    cout << "nomid(2,6)="<<str.nomid_str(2,3)<<endl;
+    cout << "mid(2,6)="<<str.mid_str(2,6)<<endl;
+    cout << "nomid(2,6)="<<str.nomid_str(2,6)<<endl;
 }
 
 bool
 }
 
 bool
-test_empty_bo( String str )
+test_empty_b( String str )
 {
     cout << "`" << str << "' is ";
 
 {
     cout << "`" << str << "' is ";
 
@@ -103,16 +103,17 @@ main()
     str += " daar";
     cout << str << endl;
 
     str += " daar";
     cout << str << endl;
 
-    str = String( "Hallo" ) + " daaR" + '!';
+//    str = String( "Hallo" ) + " daaR" + '!'; // no go on doze-s gcc2.7.2?
+    str = String( "Hallo" ) + " daaR" + "!";
     cout << str << endl;
 
     cout << "up: " << str.upper_str() << " down: " << str.lower_str()<<endl;
     
     cout << str << endl;
 
     cout << "up: " << str.upper_str() << " down: " << str.lower_str()<<endl;
     
-    if ( test_empty_bo( str ) )
+    if ( test_empty_b( str ) )
        return 1;
     
     String fn = "";
        return 1;
     
     String fn = "";
-    if ( !test_empty_bo( fn ) )
+    if ( !test_empty_b( fn ) )
        return 1;
     
     fn = "";
        return 1;
     
     fn = "";
index ff8dd8efadf6f7699256c777f3b847a73beb668d..04fb51197d67f5c71b2c5656e30cfdc028ed7e75 100644 (file)
@@ -5,7 +5,7 @@
 depth = ..
 #
 
 depth = ..
 #
 
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 
 # generic stuff/Makefile
 #
 
 # generic stuff/Makefile
 #
@@ -18,3 +18,10 @@ INIFILES = $(shell ls *.ini)
 DISTFILES = Makefile $(INIFILES)
 #
 
 DISTFILES = Makefile $(INIFILES)
 #
 
+localinstall:
+       $(INSTALL) -d $(datadir)/lilypond/init
+       $(INSTALL) -m 755 $(INIFILES) $(datadir)/lilypond/init
+
+localuninstall:
+       for i in $(INIFILES) ; do rm -f $(datadir)/lilypond/init/$$i; done
+       -rmdir $(datadir)/lilypond/init $(datadir)/lilypond/
index 618e1ec24ad3202e74b6d7395b14f844f7f423ed..94970aa5c0d348288246a7284271b4990e6f3b1b 100644 (file)
@@ -5,7 +5,7 @@
 depth = ..
 #
 
 depth = ..
 #
 
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 
 # generic stuff/Makefile
 #
 
 # generic stuff/Makefile
 #
diff --git a/install-sh b/install-sh
new file mode 100755 (executable)
index 0000000..398f7f8
--- /dev/null
@@ -0,0 +1,241 @@
+#! /bin/sh
+
+# ugr. Why $#^&@ does configure need this?
+
+#
+# install - install a program, script, or datafile
+# This comes from X11R5.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+#
+
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+transformbasename=""
+transform_arg=""
+instcmd="$mvprog"
+chmodcmd="$chmodprog 0755"
+chowncmd=""
+chgrpcmd=""
+stripcmd=""
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=""
+dst=""
+dir_arg=""
+
+while [ x"$1" != x ]; do
+    case $1 in
+       -c) instcmd="$cpprog"
+           shift
+           continue;;
+
+       -d) dir_arg=true
+           shift
+           continue;;
+
+       -m) chmodcmd="$chmodprog $2"
+           shift
+           shift
+           continue;;
+
+       -o) chowncmd="$chownprog $2"
+           shift
+           shift
+           continue;;
+
+       -g) chgrpcmd="$chgrpprog $2"
+           shift
+           shift
+           continue;;
+
+       -s) stripcmd="$stripprog"
+           shift
+           continue;;
+
+       -t=*) transformarg=`echo $1 | sed 's/-t=//'`
+           shift
+           continue;;
+
+       -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
+           shift
+           continue;;
+
+       *)  if [ x"$src" = x ]
+           then
+               src=$1
+           else
+               # this colon is to work around a 386BSD /bin/sh bug
+               :
+               dst=$1
+           fi
+           shift
+           continue;;
+    esac
+done
+
+if [ x"$src" = x ]
+then
+       echo "install:  no input file specified"
+       exit 1
+else
+       true
+fi
+
+if [ x"$dir_arg" != x ]; then
+       dst=$src
+       src=""
+       
+       if [ -d $dst ]; then
+               instcmd=:
+       else
+               instcmd=mkdir
+       fi
+else
+
+# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
+# might cause directories to be created, which would be especially bad 
+# if $src (and thus $dsttmp) contains '*'.
+
+       if [ -f $src -o -d $src ]
+       then
+               true
+       else
+               echo "install:  $src does not exist"
+               exit 1
+       fi
+       
+       if [ x"$dst" = x ]
+       then
+               echo "install:  no destination specified"
+               exit 1
+       else
+               true
+       fi
+
+# If destination is a directory, append the input filename; if your system
+# does not like double slashes in filenames, you may need to add some logic
+
+       if [ -d $dst ]
+       then
+               dst="$dst"/`basename $src`
+       else
+               true
+       fi
+fi
+
+## this sed command emulates the dirname command
+dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+
+# Make sure that the destination directory exists.
+#  this part is taken from Noah Friedman's mkinstalldirs script
+
+# Skip lots of stat calls in the usual case.
+if [ ! -d "$dstdir" ]; then
+defaultIFS='   
+'
+IFS="${IFS-${defaultIFS}}"
+
+oIFS="${IFS}"
+# Some sh's can't handle IFS=/ for some reason.
+IFS='%'
+set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
+IFS="${oIFS}"
+
+pathcomp=''
+
+while [ $# -ne 0 ] ; do
+       pathcomp="${pathcomp}${1}"
+       shift
+
+       if [ ! -d "${pathcomp}" ] ;
+        then
+               $mkdirprog "${pathcomp}"
+       else
+               true
+       fi
+
+       pathcomp="${pathcomp}/"
+done
+fi
+
+if [ x"$dir_arg" != x ]
+then
+       $doit $instcmd $dst &&
+
+       if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
+       if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
+       if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
+       if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
+else
+
+# If we're going to rename the final executable, determine the name now.
+
+       if [ x"$transformarg" = x ] 
+       then
+               dstfile=`basename $dst`
+       else
+               dstfile=`basename $dst $transformbasename | 
+                       sed $transformarg`$transformbasename
+       fi
+
+# don't allow the sed command to completely eliminate the filename
+
+       if [ x"$dstfile" = x ] 
+       then
+               dstfile=`basename $dst`
+       else
+               true
+       fi
+
+# Make a temp file name in the proper directory.
+
+       dsttmp=$dstdir/#inst.$$#
+
+# Move or copy the file name to the temp name
+
+       $doit $instcmd $src $dsttmp &&
+
+       trap "rm -f ${dsttmp}" 0 &&
+
+# and set any options; do chmod last to preserve setuid bits
+
+# If any of these fail, we abort the whole thing.  If we want to
+# ignore errors from any of these, just make sure not to ignore
+# errors from the above "$doit $instcmd $src $dsttmp" command.
+
+       if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
+       if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
+       if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
+       if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
+
+# Now rename the file to the real destination.
+
+       $doit $rmcmd -f $dstdir/$dstfile &&
+       $doit $mvcmd $dsttmp $dstdir/$dstfile 
+
+fi &&
+
+
+exit 0
index 7609ecaa8b567f0a9fa439fe2d709b60d003f30d..8676c37760db960a4e65ff720875613ac9c673d6 100644 (file)
@@ -26,7 +26,7 @@ MINOR_VERSION = $(TOPLEVEL_MINOR_VERSION)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
-build = $(lily-dir)/.build
+build = $(lily-dir)/$(outdir)/.build
 #
 
 # descent order into subdirectories:
 #
 
 # descent order into subdirectories:
index cb4f4ea6d17bd88c5b0ee24fafa85d3f6cdabf5d..7477d7a316d901f978833edac92eaf9a631e06f0 100644 (file)
@@ -13,7 +13,7 @@ MINOR_VERSION = $(TOPLEVEL_MINOR_VERSION)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 #
 
 # generic stuff/Makefile
 #
 
 # generic stuff/Makefile
diff --git a/lily/.version b/lily/.version
new file mode 100644 (file)
index 0000000..10eeb0d
--- /dev/null
@@ -0,0 +1,4 @@
+MAJOR_VERSION = 0
+MINOR_VERSION = 0
+PATCH_LEVEL = 41
+MY_PATCH_LEVEL=
\ No newline at end of file
index 2302cf627c92c612448253ac98d9818b7f63bef0..96a523cb95320ea83a70a7a25224d66e091c7adc 100644 (file)
@@ -26,7 +26,7 @@ MINOR_VERSION = $(TOPLEVEL_MINOR_VERSION)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
-build = $(lily-dir)/.build
+build = $(lily-dir)/$(outdir)/.build
 #
 
 # descent order into subdirectories:
 #
 
 # descent order into subdirectories:
@@ -41,12 +41,12 @@ VERSION_DEPENDENCY = $(lily-version)
 
 # list of c++ header files:
 # 
 
 # list of c++ header files:
 # 
-HHFILES $(shell ls *.hh $(ERROR_LOG))
+HHFILES := $(wildcard *.hh) #$(shell ls *.hh $(ERROR_LOG))
 #
 
 # list of c++ source files:
 #
 #
 
 # list of c++ source files:
 #
-CCFILES $(shell ls *.cc $(ERROR_LOG))
+CCFILES := $(wildcard *.cc) #$(shell ls *.cc $(ERROR_LOG))
 #
 
 # list of other source files:
 #
 
 # list of other source files:
@@ -56,7 +56,7 @@ EXTRA_SOURCE_FILES = $(shell ls *.y *.l $(ERROR_LOG))
 
 # list of distribution files:
 #
 
 # list of distribution files:
 #
-DISTFILES = Makefile $(HHFILES) $(CCFILES) $(EXTRA_SOURCE_FILES)
+DISTFILES = .version Makefile $(HHFILES) $(CCFILES) $(EXTRA_SOURCE_FILES)
 #
 
 # list of custom libraries:
 #
 
 # list of custom libraries:
@@ -72,7 +72,7 @@ LOADLIBES +=
 #
 # MAINTARGET = $(EXECUTABLE)
 # MAINTARGET = $(LIBRARY)
 #
 # MAINTARGET = $(EXECUTABLE)
 # MAINTARGET = $(LIBRARY)
-MAINTARGET = $(bindir)/$(EXECUTABLE)# huh?
+MAINTARGET = $(lily_bindir)/$(EXECUTABLE)# huh?
 # MAINTARGET = $(libdir)/$(LIBRARY)# huh?
 
 default: $(MAINTARGET)
 # MAINTARGET = $(libdir)/$(LIBRARY)# huh?
 
 default: $(MAINTARGET)
@@ -87,7 +87,9 @@ include ./$(depth)/make/Rules.make
 # explicit dependencies: (how to do auto?)
 #
 # ugh
 # explicit dependencies: (how to do auto?)
 #
 # ugh
-$(outdir)/version.cc: check-flower-version $(lily-version)
+#$(outdir)/version.cc: check-flower-version $(lily-version)
+
+
 mylexer.cc: $(outdir)/parser.hh # sic
 lexer.l: $(outdir)/parser.hh
 #
 mylexer.cc: $(outdir)/parser.hh # sic
 lexer.l: $(outdir)/parser.hh
 #
@@ -99,6 +101,6 @@ DEPFILES = $(shell ls $(depdir)/*.dep $(ERROR_LOG))
 
 # auto dependencies:
 #
 
 # auto dependencies:
 #
--include $(DEPFILES)
+-include /dev/null $(DEPFILES)
 #
 
 #
 
index fa2827b30ad2f1df684ba2ed0401b11a60630371..89f5b189e556eeffc45543cc1ca612fe6d33ad0f 100644 (file)
@@ -13,7 +13,7 @@ MINOR_VERSION = $(TOPLEVEL_MINOR_VERSION)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 #
 
 # generic stuff/Makefile
 #
 
 # generic stuff/Makefile
index 8a55f1a585d3dc95afc00df68039f1de3304f75c..266ee22a56c385caa26c95952e37580add593d37 100644 (file)
@@ -20,9 +20,27 @@ bool busy_parsing();
 void kill_lexer();
 void set_lexer();
 
 void kill_lexer();
 void set_lexer();
 
+
+struct Lexer_prefs {
+    int default_duration, default_dots, default_octave_i_;
+    int default_plet_type, default_plet_dur;
+    String textstyle_str_;
+    
+    bool last_duration_mode ;
+    
+    Lexer_prefs();
+    Moment plet_mom();
+    void set_default_duration(int *);
+    void set_last_duration(int n);
+    void set_duration_mode(String s);
+    void get_default_duration(int *);
+    void set_plet(int,int);
+};
+
 /// lexer with provisions for include files.
 struct My_flex_lexer : yyFlexLexer {
 /// lexer with provisions for include files.
 struct My_flex_lexer : yyFlexLexer {
-
+    Lexer_prefs prefs;
+    
     Array<Input_file*> include_stack_;
     Assoc<String, Identifier*> *identifier_assoc_p_;
     Keyword_table * keytable_p_;
     Array<Input_file*> include_stack_;
     Assoc<String, Identifier*> *identifier_assoc_p_;
     Keyword_table * keytable_p_;
index fe4f9ad8c2d1be6a367821a44cfd0a6f9485ded6..203eac71aed1b175269fabdecacc4d211fd03480 100644 (file)
@@ -9,7 +9,7 @@ void add_score(Input_score * s);
 void set_default_output(String s);
 Input_score* current_iscore_l();
 String find_file(String);
 void set_default_output(String s);
 Input_score* current_iscore_l();
 String find_file(String);
-const char *get_version();
+String get_version_str();
 extern String infile_str_g;
 extern Source* source_l_g;
 extern bool only_midi;
 extern String infile_str_g;
 extern Source* source_l_g;
 extern bool only_midi;
index b533f4d3604b86829bfdfede8f37c7061eee466b..7aa8397af82c2157e377875525e249f2b14e2ce8 100644 (file)
@@ -6,7 +6,7 @@
 
 #ifndef NOTENAME_HH
 #define NOTENAME_HH
 
 #ifndef NOTENAME_HH
 #define NOTENAME_HH
-
+#error OBSOLETE!
 #include "string.hh"
 
 struct Notename_tab {
 #include "string.hh"
 
 struct Notename_tab {
index ff47bdcbadf9563a0631a0af621b5e2ea6e6b50f..6a44167532c8e8a672bc0dc798e3adf324b42158 100644 (file)
 
 extern char const* defined_ch_c_l;
 extern char const* req_defined_ch_c_l;
 
 extern char const* defined_ch_c_l;
 extern char const* req_defined_ch_c_l;
-void set_default_duration(int *);
-void last_duration(int n);
-void set_duration_mode(String s);
-void get_default_duration(int *);
-void set_default_octave(String);
-void set_plet(int,int);
+
+
+
+
 Voice_element * get_note_element(Note_req * ,int *);
 Voice_element* get_rest_element(String,int *);
 Voice_element* get_word_element(Text_def*, int*);
 void add_requests( Voice_element*v, Array<Request*>&req);
 Request* get_request(char);
 Voice_element * get_note_element(Note_req * ,int *);
 Voice_element* get_rest_element(String,int *);
 Voice_element* get_word_element(Text_def*, int*);
 void add_requests( Voice_element*v, Array<Request*>&req);
 Request* get_request(char);
-void set_text_style(String);
 Script_def* get_scriptdef(char);
 Text_def*get_text(String s);
 Request* get_plet_request( char c, int dur_i, int type_i ); 
 Script_def* get_scriptdef(char);
 Text_def*get_text(String s);
 Request* get_plet_request( char c, int dur_i, int type_i ); 
index d5ff7405e16d5a642ecf7ec52b98e5e0bdd32c7e..ba81fce47497de81ae4b8acd3cce6445f587c016 100644 (file)
@@ -30,6 +30,7 @@ public:
     void do_pre_processing();
     Text_item(Text_def*,int);
     Text_item(Text_req*,int);
     void do_pre_processing();
     Text_item(Text_def*,int);
     Text_item(Text_req*,int);
+    ~Text_item();
 };
 
 
 };
 
 
diff --git a/lily/lily-version.cc b/lily/lily-version.cc
new file mode 100644 (file)
index 0000000..fff9ec7
--- /dev/null
@@ -0,0 +1,16 @@
+#include "version.hh"
+#include <stdio.h>
+
+static char *s = "LilyPond " MAJOR_VERSION "." MINOR_VERSION "."  PATCH_LEVEL MY_PATCH_LEVEL " #%d";
+
+static const int build=
+#include ".build"
+;
+
+const char * 
+lily_version_sz()
+{
+    static char v[1024];
+    sprintf(v, s, build);
+    return v;
+}
index 1073f940bf60f2293d06901a57033b1cecad5a23..43a44f3c5219aaba106d8b6080977c42d6c41caa 100644 (file)
@@ -42,8 +42,21 @@ help()
        "--init, -i             set init file\n"
         "--include, -I         add to file search path.\n"
        "--midi, -M             midi output only\n"
        "--init, -i             set init file\n"
         "--include, -I         add to file search path.\n"
        "--midi, -M             midi output only\n"
+       "\n"
+       "LilyPond was compiled with the following settings:\n"
+#ifdef NDEBUG
+       "NDEBUG "       
+#endif
+#ifdef NPRINT
+       "NPRINT "
+#endif
+#ifdef STRING_UTILS_INLINED
+       "STRING_UTILS_INLINED "
+#endif
+       "datadir= " DIR_DATADIR "\n" 
        ;
     
        ;
     
+    
 }
 
 void 
 }
 
 void 
@@ -54,8 +67,8 @@ notice()
        "LilyPond, a music typesetter.\n"
        "Copyright (C) 1996,97 by\n"
        "  Han-Wen Nienhuys <hanwen@stack.nl>\n"
        "LilyPond, a music typesetter.\n"
        "Copyright (C) 1996,97 by\n"
        "  Han-Wen Nienhuys <hanwen@stack.nl>\n"
-       "Contributors\n"
        "  Jan Nieuwenhuizen <jan@digicash.com>\n"
        "  Jan Nieuwenhuizen <jan@digicash.com>\n"
+       "Contributors\n"
        "  Mats Bengtsson <matsb@s3.kth.se>\n"
        "\n"
        "    This program is free software; you can redistribute it and/or\n"
        "  Mats Bengtsson <matsb@s3.kth.se>\n"
        "\n"
        "    This program is free software; you can redistribute it and/or\n"
@@ -76,8 +89,8 @@ notice()
 static File_path * path =0;
 struct Main_init {
     Main_init() {
 static File_path * path =0;
 struct Main_init {
     Main_init() {
-       path = new File_path(LIBDIR);
-       path->push(String(LIBDIR)+"init/");
+       path = new File_path(String(DIR_DATADIR)+"/init/");
+       path->push(DIR_DATADIR );
        debug_init();
     }
     ~Main_init() {
        debug_init();
     }
     ~Main_init() {
@@ -89,7 +102,7 @@ int
 main (int argc, char **argv)
 {    
     Getopt_long oparser(argc, argv,theopts);
 main (int argc, char **argv)
 {    
     Getopt_long oparser(argc, argv,theopts);
-    cout << get_version();
+    cout << get_version_str() << endl;
     String init_str("symbol.ini");
     
     while (Long_option_init * opt = oparser()) {
     String init_str("symbol.ini");
     
     while (Long_option_init * opt = oparser()) {
index 9d2407244c48ab1e95b98062492d822df3207c94..72f71de64eb27705a4542fb3d04969dac7c33bb0 100644 (file)
@@ -58,6 +58,7 @@ Midi_output::do_staff(Staff*st_l,int track_i)
     int accidentals_i = 0;
     int minor_i = 0;
 
     int accidentals_i = 0;
     int minor_i = 0;
 
+#ifdef UGR
     // uph, sorry, wanna test this...
     // menuetto in F
     if ( ( infile_str_g.index_i( "scsii-menuetto" ) >= 0 )
     // uph, sorry, wanna test this...
     // menuetto in F
     if ( ( infile_str_g.index_i( "scsii-menuetto" ) >= 0 )
@@ -67,6 +68,7 @@ Midi_output::do_staff(Staff*st_l,int track_i)
     // standchen in d  
     if ( ( infile_str_g.index_i( "standchen" ) >= 0 ) )
        minor_i = 1;
     // standchen in d  
     if ( ( infile_str_g.index_i( "standchen" ) >= 0 ) )
        minor_i = 1;
+#endif
 
     Midi_key midi_key( accidentals_i, minor_i ); 
     midi_track.add( Moment( 0.0 ), &midi_key );
 
     Midi_key midi_key( accidentals_i, minor_i ); 
     midi_track.add( Moment( 0.0 ), &midi_key );
@@ -91,7 +93,7 @@ Midi_output::header()
     time_t t = time( 0 );
 
     // perhaps multiple text events?
     time_t t = time( 0 );
 
     // perhaps multiple text events?
-    String str = String( "Creator: " ) + get_version() + "\n";
+    String str = String( "Creator: " ) + get_version_str() + "\n";
 
     Midi_text creator( Midi_text::TEXT, str );
     midi_track.add( Moment( 0.0 ), &creator );
 
     Midi_text creator( Midi_text::TEXT, str );
     midi_track.add( Moment( 0.0 ), &creator );
@@ -111,6 +113,10 @@ Midi_output::header()
     Midi_text track_name( Midi_text::TRACK_NAME, "Track " + String_convert::i2dec_str( 0, 0, '0' ) );
     midi_track.add( Moment( 0.0 ), &track_name );
 
     Midi_text track_name( Midi_text::TRACK_NAME, "Track " + String_convert::i2dec_str( 0, 0, '0' ) );
     midi_track.add( Moment( 0.0 ), &track_name );
 
+#if 0
+    /*
+       shouldn't impose copyright on output.
+       */
     struct tm* tm_l = gmtime( &t );
     String year_str = String_convert::i2dec_str( 1900 + tm_l->tm_year, 4, '0' );
            
     struct tm* tm_l = gmtime( &t );
     String year_str = String_convert::i2dec_str( 1900 + tm_l->tm_year, 4, '0' );
            
@@ -124,6 +130,7 @@ Midi_output::header()
        
     Midi_text authors( Midi_text::COPYRIGHT, str );
     midi_track.add( Moment( 0.0 ), &authors );
        
     Midi_text authors( Midi_text::COPYRIGHT, str );
     midi_track.add( Moment( 0.0 ), &authors );
+#endif
     *midi_stream_l_  << midi_track;
 }
 
     *midi_stream_l_  << midi_track;
 }
 
index 475e3e08ba0cbd251859c3c631e584a4da9bf3e3..267a0de696194a8f1d66e46700692d45cd180781 100644 (file)
 #include "parseconstruct.hh"
 #include "input-music.hh"
 #include "voice-element.hh"
 #include "parseconstruct.hh"
 #include "input-music.hh"
 #include "voice-element.hh"
-
-int default_duration = 4, default_dots=0, default_octave=0;
-int default_plet_type = 1, default_plet_dur = 1;
-String textstyle="roman";              // in lexer?
-
-bool last_duration_mode = false;
+Moment
+Lexer_prefs::plet_mom()
+{
+    return Moment(default_plet_dur, default_plet_type);
+}
+Lexer_prefs::Lexer_prefs()
+{
+    default_duration = 4, default_dots=0, default_octave_i_=0;
+    default_plet_type = 1, default_plet_dur = 1;
+    textstyle_str_="roman";            // in lexer?
+    
+    last_duration_mode = false;
+}
 
 void
 
 void
-set_duration_mode(String s)
+Lexer_prefs::set_duration_mode(String s)
 {
     s = s.upper_str();
     last_duration_mode = (s== "LAST");
 }
 
 void
 {
     s = s.upper_str();
     last_duration_mode = (s== "LAST");
 }
 
 void
-last_duration(int n)
+Lexer_prefs::set_last_duration(int n)
 {
     if (last_duration_mode)
        default_duration = n;
 {
     if (last_duration_mode)
        default_duration = n;
@@ -39,7 +46,7 @@ last_duration(int n)
 
 /* triplet is '2/3' */
 void 
 
 /* triplet is '2/3' */
 void 
-set_plet(int num,int den)
+Lexer_prefs::set_plet(int num,int den)
 {
     assert(num >0&& den>0);
     default_plet_dur = num;
 {
     assert(num >0&& den>0);
     default_plet_dur = num;
@@ -51,32 +58,10 @@ get_text(String s) return t;
 {
     t= new Text_def;
     t->text_str_= s;
 {
     t= new Text_def;
     t->text_str_= s;
-    t->style_str_ = textstyle;
+    t->style_str_ = lexer->prefs.textstyle_str_;
     t->defined_ch_c_l_ = defined_ch_c_l;
     return t;
 }
     t->defined_ch_c_l_ = defined_ch_c_l;
     return t;
 }
-
-void
-set_text_style(String s)
-{
-    textstyle = s;
-}
-
-void
-parse_octave (const char *a, int &j, int &oct)
-{    
-    while (1) 
-    {  
-       if (a[j] == '\'')
-           oct ++;
-       else if (a[j] == '`')
-           oct --;
-       else
-           break;
-       j++;
-    }
-}
-
 Voice_element *
 get_note_element(Note_req *rq, int * duration )
 {
 Voice_element *
 get_note_element(Note_req *rq, int * duration )
 {
@@ -88,7 +73,8 @@ get_note_element(Note_req *rq, int * duration )
 
     if (dur >= 2) {
        Stem_req * stem_req_p = new Stem_req(dur,dots);
 
     if (dur >= 2) {
        Stem_req * stem_req_p = new Stem_req(dur,dots);
-       stem_req_p->plet_factor = Moment(default_plet_dur, default_plet_type);
+       stem_req_p->plet_factor = lexer->prefs.plet_mom();
+       
        stem_req_p->defined_ch_c_l_ = defined_ch_c_l;
        v->add(stem_req_p);
     }
        stem_req_p->defined_ch_c_l_ = defined_ch_c_l;
        v->add(stem_req_p);
     }
@@ -98,7 +84,8 @@ get_note_element(Note_req *rq, int * duration )
 
     rq->balltype = dur;
     rq->dots = dots;
 
     rq->balltype = dur;
     rq->dots = dots;
-    rq->plet_factor = Moment(default_plet_dur, default_plet_type);
+    rq->plet_factor = lexer->prefs.plet_mom();
+
     rq->defined_ch_c_l_ = defined_ch_c_l;
 
     v->add(rq);
     rq->defined_ch_c_l_ = defined_ch_c_l;
 
     v->add(rq);
@@ -121,7 +108,7 @@ get_word_element(Text_def* tdef_p, int* duration)
 
     lreq_p->balltype = dur;
     lreq_p->dots = dots;
 
     lreq_p->balltype = dur;
     lreq_p->dots = dots;
-    lreq_p->plet_factor = Moment(default_plet_dur, default_plet_type);
+    lreq_p->plet_factor = lexer->prefs.plet_mom();
     lreq_p->print();
     lreq_p->defined_ch_c_l_ = defined_ch_c_l;
 
     lreq_p->print();
     lreq_p->defined_ch_c_l_ = defined_ch_c_l;
 
@@ -137,7 +124,7 @@ get_rest_element(String,  int * duration )
     velt_p->defined_ch_c_l_ = defined_ch_c_l;
 
     Rest_req * rest_req_p = new Rest_req;
     velt_p->defined_ch_c_l_ = defined_ch_c_l;
 
     Rest_req * rest_req_p = new Rest_req;
-    rest_req_p->plet_factor = Moment(default_plet_dur, default_plet_type);
+    rest_req_p->plet_factor = lexer->prefs.plet_mom();
     rest_req_p->balltype = duration[0];
     rest_req_p->dots = duration[1];    
     rest_req_p->print();
     rest_req_p->balltype = duration[0];
     rest_req_p->dots = duration[1];    
     rest_req_p->print();
@@ -149,28 +136,19 @@ get_rest_element(String,  int * duration )
 }
 
 void
 }
 
 void
-get_default_duration(int *p)
+Lexer_prefs::get_default_duration(int *p)
 {
     *p++ = default_duration;
     *p = default_dots;
 }
 
 void
 {
     *p++ = default_duration;
     *p = default_dots;
 }
 
 void
-set_default_duration(int *p)
+Lexer_prefs::set_default_duration(int *p)
 {
      default_duration = *p++;
      default_dots = *p++;
 }
 
 {
      default_duration = *p++;
      default_dots = *p++;
 }
 
-
-void
-set_default_octave(String d)
-{
-    int i=0;
-    default_octave=0;
-    parse_octave(d, i, default_octave);
-}
-
 Request*
 get_plet_request( char c, int dur_i, int type_i )
 {
 Request*
 get_plet_request( char c, int dur_i, int type_i )
 {
@@ -194,8 +172,9 @@ get_request(char c)
     case ']':
     {
        Beam_req*b = new Beam_req;
     case ']':
     {
        Beam_req*b = new Beam_req;
-       if (default_plet_type != 1)
-           b->nplet = default_plet_type;
+       int p_i=lexer->prefs.default_plet_type ;
+       if (p_i!= 1)
+           b->nplet = p_i;
        req_p = b;
     }
        break;
        req_p = b;
     }
        break;
diff --git a/lily/notename.cc b/lily/notename.cc
deleted file mode 100644 (file)
index 99abaf6..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#include "glob.hh"
-#include "string.hh"
-#include "notename.hh"
-#include "lexer.hh"
-#include "identifier.hh"
-
-    
-
-void
-Notename_tab::lookup(int &large, int &small, String s)
-{    
-    large = -1;
-    small = 0;
-
-    for (int i =0; i < 7*5; i++)
-       if (s == notetab[i]) 
-           {
-           large = i /5;
-           small = i %5 - 2;
-           return;         
-           }
-}
-
-
-void
-Notename_tab::set(int l, int s, String n)
-{
-    assert(l < 8 && s <= 2 && s >= -2 && l >=0);
-    notetab[l * 5 + s +2] = n;
-}
-/* *************** */
-
-#if 0
-void
-My_flex_lexer::set(Notename_tab *n)
-{
-    delete defaulttab;
-    defaulttab = n;
-}
-
-void
-My_flex_lexer::lookup_notename(int &large, int &small, String s)
-{
-    if (!defaulttab)
-       set(lookup_identifier("default_table")->
-           notename_tab(true));
-    
-    defaulttab->lookup(large, small, s);
-}
-#endif
index bc8876b5e4baea49dffa2119309e314708b9dbd9..e30f2da40014ab853344ad054d36b2acdf3d318d 100644 (file)
@@ -535,6 +535,7 @@ steno_note_req:
        MELODIC_REQUEST_IDENTIFIER      {
                $$ = new Note_req;
                * (Melodic_req *) $$ = *$1->request(false)->melodic();
        MELODIC_REQUEST_IDENTIFIER      {
                $$ = new Note_req;
                * (Melodic_req *) $$ = *$1->request(false)->melodic();
+               $$->octave_i_ += lexer->prefs.default_octave_i_;
        }
        | octave_quote steno_note_req   {  
                $2-> octave_i_ += $1;
        }
        | octave_quote steno_note_req   {  
                $2-> octave_i_ += $1;
@@ -661,20 +662,20 @@ pre_request:
 
 voice_command:
        PLET    '{' INT '/' INT '}'             {
 
 voice_command:
        PLET    '{' INT '/' INT '}'             {
-               set_plet($3,$5);
+               lexer->prefs.set_plet($3,$5);
        }
        | DURATIONCOMMAND '{' STRING '}'        {
        }
        | DURATIONCOMMAND '{' STRING '}'        {
-               set_duration_mode(*$3);
+               lexer->prefs.set_duration_mode(*$3);
                delete $3;
        }
        | DURATIONCOMMAND '{' notemode_duration '}'     {
                delete $3;
        }
        | DURATIONCOMMAND '{' notemode_duration '}'     {
-               set_default_duration($3);
+               lexer->prefs.set_default_duration($3);
        }
        | OCTAVECOMMAND '{' octave_quotes '}'   {
        }
        | OCTAVECOMMAND '{' octave_quotes '}'   {
-               set_default_octave($3);
+               lexer->prefs.default_octave_i_ = $3;
        }
        | TEXTSTYLE STRING      {
        }
        | TEXTSTYLE STRING      {
-               set_text_style(*$2);
+               lexer->prefs.textstyle_str_ = *$2;
                delete $2;
        }
        ;
                delete $2;
        }
        ;
@@ -707,31 +708,31 @@ mudela_duration:
 
 explicit_duration:
        INT             {
 
 explicit_duration:
        INT             {
-               last_duration($1);
+               lexer->prefs.set_last_duration($1);
                $$[0] = $1;
                $$[1] = 0;
        }
        | INT DOTS      {
                $$[0] = $1;
                $$[1] = 0;
        }
        | INT DOTS      {
-               last_duration($1);
+               lexer->prefs.set_last_duration($1);
                $$[0] = $1;
                $$[1] = $2;
        }
        | DOTS  {
                $$[0] = $1;
                $$[1] = $2;
        }
        | DOTS  {
-                get_default_duration($$);
+                lexer->prefs.get_default_duration($$);
                 $$[1] = $1;
        }
        | INT '*' INT '/' INT {
                // ugh, must use Duration
                 $$[1] = $1;
        }
        | INT '*' INT '/' INT {
                // ugh, must use Duration
-               set_plet( $3, $5 );
+               lexer->prefs.set_plet( $3, $5 );
                $$[ 0 ] = $1;
                $$[ 1 ] = 0;
                $$[ 0 ] = $1;
                $$[ 1 ] = 0;
-               set_plet( 1, 1 );
+               lexer->prefs.set_plet( 1, 1 );
        }
        ;
 
 default_duration:
        /* empty */     {
        }
        ;
 
 default_duration:
        /* empty */     {
-               get_default_duration($$);
+               lexer->prefs.get_default_duration($$);
        }
        ;
 
        }
        ;
 
index e6696acf39966b4a25c72a77f70d89f67d898370..7eac50596c3ef030d3f1332886d7778f994c014e 100644 (file)
@@ -57,6 +57,9 @@ Ineq_constrained_qp::eval (Vector v)
 Vector
 Mixed_qp::solve(Vector start) const 
 {
 Vector
 Mixed_qp::solve(Vector start) const 
 {
+    if (!dim())
+       return Vector(0);
+    
     print();
     Ineq_constrained_qp pure(*this);
     
     print();
     Ineq_constrained_qp pure(*this);
     
index 5738be2f3b0223c9236af8e481e72685f2f0bc17..ebf71b724220796275a5d906301bbd3d4098ce57 100644 (file)
@@ -175,6 +175,9 @@ min_elt_index(Vector v)
 Vector
 Ineq_constrained_qp::solve(Vector start) const 
 {    
 Vector
 Ineq_constrained_qp::solve(Vector start) const 
 {    
+    if (!dim())
+       return Vector(0);
+    
     Active_constraints act(this);
 
 
     Active_constraints act(this);
 
 
index 06459a2d72f772d5265b4734c59f040b38b1dbe6..2125593ab6b5747c75731213fc41e2cc902f25b8 100644 (file)
@@ -26,7 +26,7 @@ Tex_stream::Tex_stream(String filename)
 void
 Tex_stream::header()
 {
 void
 Tex_stream::header()
 {
-    *os << "% Creator: " << get_version();
+    *os << "% Creator: " << get_version_str();
     *os << "% Automatically generated, at ";
     time_t t(time(0));
     *os << ctime(&t);
     *os << "% Automatically generated, at ";
     time_t t(time(0));
     *os << ctime(&t);
index b2a57def4ae1d04f2ca871ae32d1265eb1a6c060..5b24591c5bc6ecfceb04421d0a61934106b54643 100644 (file)
@@ -1,11 +1,14 @@
-#include "version.hh"
-#include "fversion.hh"
+#include "main.hh"
 
 
-static char *s = "LilyPond " VERSIONSTR    "/FlowerLib " FVERSIONSTR
-". Compile: "   __DATE__ ", " __TIME__ " (" COMPILER ")\n";
+#include "string.hh"
 
 
-const char *
-get_version()
+extern const char* lily_version_sz();
+
+String 
+get_version_str()
 {
 {
+    String s = lily_version_sz();
+    s+="/";
+    s+=flower_version_sz();
    return s;
 }
    return s;
 }
diff --git a/make/ACVariables.make.in b/make/ACVariables.make.in
deleted file mode 100644 (file)
index 3a07df7..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-# -*-Makefile-*-
-
-# @AUTOHEADER@
-
-#CXXFLAGS=@CXXFLAGS@
-#CXX=@CXX@
-bindir=@bindir@
-includedir=@includedir@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-DEFS=@DEFS@
-#SET_MAKE=@SET_MAKE@
-DEFINES=@DEFINES@
-COMPILEINFO=@COMPILEINFO@
-BISON=@BISON@
-FLEX=@FLEX@
diff --git a/make/Configure_variables.make.in b/make/Configure_variables.make.in
new file mode 100644 (file)
index 0000000..22d1bec
--- /dev/null
@@ -0,0 +1,24 @@
+# -*-Makefile-*-
+
+# @configure_input@
+
+INSTALL = @INSTALL@
+CXXFLAGS = @CXXFLAGS@
+#CXX = @CXX@
+
+prefix = @prefix@
+TEXPREFIX = @TEXPREFIX@
+mandir  =  @mandir@
+exec_prefix = @exec_prefix@
+bindir = @bindir@
+includedir = @includedir@
+datadir = @datadir@
+
+RANLIB = @RANLIB@
+DEFS = @DEFS@
+#SET_MAKE = @SET_MAKE@
+DEFINES = @DEFINES@
+FIND = @FIND@
+COMPILEINFO = @COMPILEINFO@
+BISON = @BISON@
+FLEX = @FLEX@
index 017694538f72bc292b4176b27781c3ddc3cffa25..b8f1255cf2f84f97acfefa1b2fdb7e630054597c 100644 (file)
@@ -15,7 +15,7 @@ MINOR_VERSION = $(TOPLEVEL_MINOR_VERSION)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 #
 
 # generic variables:
 #
 
 # generic variables:
index 444eb661ca62f431974640232542eb7a40913c4d..f2f5f9aecbab6a6933eba5a6e754e0eda734ef63 100644 (file)
@@ -20,7 +20,7 @@ MINOR_VERSION = $(TOPLEVEL_MINOR_VERSION)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 #
 
 # generic variables:
 #
 
 # generic variables:
@@ -31,7 +31,7 @@ include ./$(depth)/make/Variables.make
 
 # ugh
 # initdefault: $(CCDIR)/parser.cc $(CCDIR)/lexer.cc hdr/version.hh alldeps
 
 # ugh
 # initdefault: $(CCDIR)/parser.cc $(CCDIR)/lexer.cc hdr/version.hh alldeps
-initdefault: check-flower-version $(lily-version) check-mi2mu-version dummydep
+initdefault: dummydep
 #      $(MAKE) -C ./$(depth)/lily $(outdir)/parser.cc
 
 # generic targets and rules:
 #      $(MAKE) -C ./$(depth)/lily $(outdir)/parser.cc
 
 # generic targets and rules:
index eef8cbf3bde4d894cbb22329b7449b2d32e089a3..30fbad011d02251cdf093ec03285d570a4f8802a 100644 (file)
@@ -21,7 +21,7 @@ MINOR_VERSION = $(TOPLEVEL_MINOR_VERSION)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 #
 
 # list of generic make files:
 #
 
 # list of generic make files:
@@ -31,7 +31,7 @@ MAKEFILES = $(shell ls *.make)
 
 # list of distribution files:
 #
 
 # list of distribution files:
 #
-DISTFILES = configure.in ACVariables.make.in Makefile lilypond.spec $(MAKEFILES)
+DISTFILES = Configure_variables.make.in Makefile lilypond.spec.in $(MAKEFILES)
 #
 
 # generic variables:
 #
 
 # generic variables:
@@ -45,3 +45,5 @@ include ./$(depth)/make/Targets.make
 include ./$(depth)/make/Rules.make
 #
 
 include ./$(depth)/make/Rules.make
 #
 
+lilypond.spec: lilypond.spec.in
+       sed 's/@TOPLEVEL_VERSION@/${TOPLEVEL_VERSION}/g'< $< > $@
\ No newline at end of file
index e574fb4ee15786790310290df17cf43a01a07e28..1389ef4bd7253118d01f5c4c19607fb65b19b2ce 100644 (file)
 
 # compile rules:
 #
 
 # compile rules:
 #
-$(outdir)/%.o: %.cc $(genout)
+$(outdir)/%.o: %.cc
        $(DODEP)\
        $(CXX) -c $(CXXFLAGS) $(CXX_OUTPUT_OPTION) 
 
        $(DODEP)\
        $(CXX) -c $(CXXFLAGS) $(CXX_OUTPUT_OPTION) 
 
-$(outdir)/%.cc: %.y $(genout)
+$(outdir)/%.cc: %.y
 #      $(BISON) -d $<
        $(BISON) $<
 #      mv $(shell basename $@ .cc ).tab.h $(include-lib)/$(shell basename $@ .cc).hh
 #      mv $(shell basename $@ .cc ).tab.h $(outdir)/$(shell basename $@ .cc).hh
        mv $(shell basename $@ .cc ).tab.c $@
 
 #      $(BISON) -d $<
        $(BISON) $<
 #      mv $(shell basename $@ .cc ).tab.h $(include-lib)/$(shell basename $@ .cc).hh
 #      mv $(shell basename $@ .cc ).tab.h $(outdir)/$(shell basename $@ .cc).hh
        mv $(shell basename $@ .cc ).tab.c $@
 
-$(outdir)/%.hh: %.y $(genout)
+$(outdir)/%.hh: %.y
        $(BISON) -d $<
        mv $(shell basename $@ .hh ).tab.h $@
        mv $(shell basename $@ .hh ).tab.c $(outdir)/$(shell basename $@ .hh).cc
 
        $(BISON) -d $<
        mv $(shell basename $@ .hh ).tab.h $@
        mv $(shell basename $@ .hh ).tab.c $(outdir)/$(shell basename $@ .hh).cc
 
-$(outdir)/%.cc: %.l $(genout)
+$(outdir)/%.cc: %.l
        $(FLEX)  -t $< > $@
 
 $(outdir)/%.text: $(outdir)/%.1
        groff -man -Tascii $< > $@
 
        $(FLEX)  -t $< > $@
 
 $(outdir)/%.text: $(outdir)/%.1
        groff -man -Tascii $< > $@
 
-$(outdir)/%.1: %.pod $(genout)
+$(depth)/%.text: $(outdir)/%.text
+       cp $< $@
+
+$(outdir)/%.1: %.pod
        pod2man --center="LilyPond documentation" --section="0"\
        pod2man --center="LilyPond documentation" --section="0"\
-               --release="LilyPond $(MAJVER).$(MINVER).$(PATCHLEVEL)" $< > $@
+               --release="LilyPond $(TOPLEVEL_MAJOR_VERSION).$(TOPLEVEL_MINOR_VERSION).$(TOPLEVEL_PATCH_LEVEL)" $< > $@
 #
 
 # outdirs:
 #
 
 # outdirs:
@@ -53,37 +56,25 @@ $(outdir)/%.1: %.pod $(genout)
 # ?$(outdir)/%.dep:
 %.dep:
        touch $@
 # ?$(outdir)/%.dep:
 %.dep:
        touch $@
-$(outdir):
-       mkdir $(outdir)
-       @touch $(genout)
-%/$(outdir):y
-       mkdir $@
-       @touch $(@D)/$(genout)
-$(genout):
-       mkdir $(outdir)
-       @touch $@
-%/$(genout):
-       mkdir $(@D)/$(outdir)
-       @touch $@
-#
+
 
 # build and config stuff: (could make this generic default rule...)
 #
 %/.build:
 
 # build and config stuff: (could make this generic default rule...)
 #
 %/.build:
-       @echo 0 >$@
-$(flower-config): $(flower-dir)/$(genout)
-       touch $@
-$(lily-config): $(lib-dir)/$(genout)
-       @echo "#define LIBDIR \"./\"" >$@
-%.hh:
-       touch $@
-#
+       echo 0 >$@
+
 
 # specific stuff:
 #
 
 # specific stuff:
 #
-$(LIBFLOWER): check-flower-version
+$(LIBFLOWER): check-flower-deps
        $(MAKE) ./$(outdir)/$(@F) -C $(depth)/flower/lib
        $(MAKE) ./$(outdir)/$(@F) -C $(depth)/flower/lib
-#
+
+check-flower-deps:
+       $(MAKE)  -C $(depth)/flower/lib
+
+check-lily-deps: check-flower-deps
+       $(MAKE)  -C $(depth)/lib
+
 $(LIBLILY): dummy
        $(MAKE) ./$(outdir)/$(@F) -C $(depth)/lib
 #
 $(LIBLILY): dummy
        $(MAKE) ./$(outdir)/$(@F) -C $(depth)/lib
 #
index 69cf6d70d7dd6868125bd306b95de9e60cc2a4d6..6a71b90848c1a12776e243bbd569d62017ddb653 100644 (file)
@@ -15,7 +15,6 @@ MINOR_VERSION = $(TOPLEVEL_MINOR_VERSION)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
-# build = ./$(depth)/lily/.build
 #
 
 # generic variables:
 #
 
 # generic variables:
index 1b894002bcef305ed109a1306ad385158b7f12be..8173b9e079f0187c12994ccefd95556e6825cd4a 100644 (file)
 # target all:
 #
 all:    default
 # target all:
 #
 all:    default
-       for i in $(SUBDIRS); do $(MAKE) -C $$i all; done
+ifdef SUBDIRS
+       set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i all; done
+endif
+
 #
 
 # platform specific variables,
 #
 
 # platform specific variables,
@@ -23,45 +26,40 @@ include ./$(depth)/make/out/Site.make
 # where to do this ?
 .PRECIOUS:  $(makeout)/Site.make
 
 # where to do this ?
 .PRECIOUS:  $(makeout)/Site.make
 
-# ... and configure bootstrap :-)
-#
-$(makeout)/Site.make: $(make-dir)/$(genout) $(flower-config) $(lily-config)
-# this is handy, but runs on second "make distclean" too. ah well...
-#      if [ \! -d $(makeout) ]; then mkdir $(makeout); fi
-       touch $@
-       @echo "oeps, sources were not configured!"
-       (cd $(depth); ./configure)
-#
-
 # dependency list of executable:
 #
 # dependency list of executable:
 #
-EXECUTABLE = $(bindir)/$(NAME)
-$(EXECUTABLE): $(OFILES) $(CUSTOMLIBES)
+EXECUTABLE = $(lily_bindir)/$(NAME)
+$(EXECUTABLE): $(build) $(OFILES) $(CUSTOMLIBES) 
+       $(INCREASE_BUILD)
+       $(MAKE) $(OFILES)  $(SILENT_LOG)
 #      $(STRIPDEBUG) $(STABLEOBS)
 #      $(STRIPDEBUG) $(STABLEOBS)
-#      $(LD_COMMAND) -o $@ $^ $(LOADLIBES)
        $(LD_COMMAND) $(OFILES) $(LOADLIBES)
        $(LD_COMMAND) $(OFILES) $(LOADLIBES)
-       -@touch $(VERSION_DEPENDENCY) $(ERROR_LOG)
-       $(INCREASE_BUILD)
-       touch $(build) #waai necessary?
-#
+
 exe: $(EXECUTABLE)
 #
 
 exe: $(EXECUTABLE)
 #
 
+$(build):
+       echo 0 > $@
+
 # dependency list of library:
 #
 LIBRARY = $(libdir)/$(LIB_PREFIX)$(NAME)$(LIB_SUFFIX)
 # dependency list of library:
 #
 LIBRARY = $(libdir)/$(LIB_PREFIX)$(NAME)$(LIB_SUFFIX)
-$(LIBRARY): $(OFILES) $(CUSTOMLIBES)
-       $(AR_COMMAND) $(OFILES)
-       -@touch $(VERSION_DEPENDENCY) $(ERROR_LOG)
+$(LIBRARY): $(build) $(OFILES) $(CUSTOMLIBES)
        $(INCREASE_BUILD)
        $(INCREASE_BUILD)
-       touch $(build) #waai necessary?
+       $(MAKE) $(OFILES)  $(SILENT_LOG)
+       $(AR_COMMAND) $(OFILES)
+       $(RANLIB_COMMAND)
+
+
 #
 lib: $(LIBRARY)
 #
 
 #
 lib: $(LIBRARY)
 #
 
-clean:
-       rm -f $(allexe) core $(allobs) $(alldeps)
-       for i in $(SUBDIRS); do $(MAKE) -C $$i clean; done
+clean: localclean
+       rm -f $(allobs) $(alldeps)
+ifdef SUBDIRS
+       set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i clean; done
+endif
 
 distclean: clean
        rm -rf  $(lily-version) $(flower-version) $(mi2mu-version) .b $(build) *~ $(allout) $(allgen)
 
 distclean: clean
        rm -rf  $(lily-version) $(flower-version) $(mi2mu-version) .b $(build) *~ $(allout) $(allgen)
@@ -75,7 +73,7 @@ config:
 
 # dummydeps:
 #
 
 # dummydeps:
 #
-dummydep: $(flower-dir)/$(genout) $(lib-dir)/$(genout) $(lily-dir)/$(genout) $(mi2mu-dir)/$(genout) $(DUMMYDEPS)
+dummydep: $(DUMMYDEPS)
 #
 
 # value of $(OSTYPE) on windhoos; "make $OSTYPE" if you use bash :-)
 #
 
 # value of $(OSTYPE) on windhoos; "make $OSTYPE" if you use bash :-)
@@ -105,7 +103,7 @@ help:
 #
 
 doc:
 #
 
 doc:
-       $(MAKE) -C Documentation do-doc
+       $(MAKE) -C $(depth)/Documentation do-doc
 
 # doc++ documentation of classes
 doc++: $(progdocs)     
 
 # doc++ documentation of classes
 doc++: $(progdocs)     
@@ -117,10 +115,13 @@ dist:
        (cd ./$(depth); tar cfz $(DIST_NAME).tar.gz $(DIST_NAME))
        rm -rf $(distdir)/  # should be trapped
 
        (cd ./$(depth); tar cfz $(DIST_NAME).tar.gz $(DIST_NAME))
        rm -rf $(distdir)/  # should be trapped
 
-localdist:
+localdist: $(DISTFILES)
+       if [ -d out ]; then mkdir $(distdir)/$(localdir)/out; fi
        ln $(DISTFILES) $(distdir)/$(localdir)
        ln $(DISTFILES) $(distdir)/$(localdir)
-       for i in $(SUBDIRS); do mkdir $(distdir)/$(localdir)/$$i; done
-       for i in $(SUBDIRS); do $(MAKE) localdir=$(localdir)/$$i -C $$i localdist; done
+ifdef SUBDIRS
+       set -e; for i in $(SUBDIRS); do mkdir $(distdir)/$(localdir)/$$i; done
+       set -e; for i in $(SUBDIRS); do $(MAKE) localdir=$(localdir)/$$i -C $$i localdist; done
+endif
 
 moduledist:
        -mkdir $(module-distdir)
 
 moduledist:
        -mkdir $(module-distdir)
@@ -130,27 +131,45 @@ moduledist:
 
 localmoduledist:
        ln $(DISTFILES) $(module-distdir)/$(localdir)
 
 localmoduledist:
        ln $(DISTFILES) $(module-distdir)/$(localdir)
-       for i in $(SUBDIRS); do mkdir $(module-distdir)/$(localdir)/$$i; done
-       for i in $(SUBDIRS); do $(MAKE) localdir=$(localdir)/$$i -C $$i localmoduledist; done
+ifdef SUBDIRS
+       set -e; for i in $(SUBDIRS); do mkdir $(module-distdir)/$(localdir)/$$i; done
+       set -e; for i in $(SUBDIRS); do $(MAKE) localdir=$(localdir)/$$i -C $$i localmoduledist; done
+endif
 
 all-tags: TAGS
 
 all-tags: TAGS
-       for i in $(SUBDIRS); do $(MAKE) -C $$i all-tags; done
+ifdef SUBDIRS
+       set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i all-tags; done
+endif
 
 TAGS: $(allcc)
        etags -CT $(allcc) 
 
 
 TAGS: $(allcc)
        etags -CT $(allcc) 
 
-# to some outdir?
-autoconf:
-       autoconf -  < configure.in > ac_configure  
-
 
 # version stuff:
 #
 
 # version stuff:
 #
-check-flower-version:
-       $(MAKE) flower-version -C ./$(depth)/flower
-$(lily-version): $(lily-dir)/$(genout) ./$(depth)/.version ./$(bindir)/make_version $(build)
-       ./$(bindir)/make_version "$(MAJOR_VERSION)" "$(MINOR_VERSION)" "$(PATCH_LEVEL)" "$(MY_PATCH_LEVEL)" "$(BUILD)" "$(CXX) $(CXXVER)" > $@
-check-mi2mu-version:
-       $(MAKE) mi2mu-version -C ./$(depth)/mi2mu
-#
 
 
+out/version.hh: .version
+       ./$(lily_bindir)/make_version > $@
+
+
+# should this be in Rules?
+configure: configure.in
+       autoconf - < $<> $@
+       chmod +x configure
+
+localclean:
+
+
+install: localinstall
+ifdef SUBDIRS
+       set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i install; done
+endif
+
+localinstall:
+
+uninstall: localuninstall
+ifdef SUBDIRS
+       set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i uninstall; done
+endif
+
+localuninstall:
index d40318e37e72a729b8e013470bafb73265160f88..2d6397f5e83f63e866346fada598a078688861bf 100644 (file)
@@ -30,7 +30,7 @@ MINOR_VERSION = 0
 PATCH_LEVEL = 0
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = # include separator: "-1" or ".a"
 PATCH_LEVEL = 0
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = # include separator: "-1" or ".a"
-build = $(lily-dir)/.build
+build = $(lily-dir)/$(outdir)/.build #????!
 #
 
 # descent order into subdirectories:
 #
 
 # descent order into subdirectories:
index 383f6d47777d2ba69fc4cc9ce5542725303c1334..05fac713f5d2518ec3d73864b8d9a88bcf1d0955 100644 (file)
@@ -26,8 +26,7 @@ DEBUGFLAG=-g
 
 # turn off -pipe if linker doesn't support it
 # 
 
 # turn off -pipe if linker doesn't support it
 # 
-USER_CXXFLAGS=-pipe -Wall -W   -Wmissing-prototypes -DSTRING_UTILS_INLINED
-#
+USER_CXXFLAGS=-pipe -Wall -W   -Wmissing-prototypes
 
 #
 # -lefence = ElectricFence.
 
 #
 # -lefence = ElectricFence.
index fbfb76cfa4439fccbc86c1ed4c00e40c527ed108..3c74750c92573be8a0f448b0d4e0174305c4f475 100644 (file)
@@ -2,7 +2,8 @@
 # project  LilyPond -- the musical typesetter
 # title           generic variables
 # file    make/Variables.make
 # project  LilyPond -- the musical typesetter
 # title           generic variables
 # file    make/Variables.make
-# abstract do not change this file; edit settings in User.make
+# abstract do not change this file for site-wide extensions;
+# please edit settings in User.make 
 #
 # Copyright (c) 1997 by    
 #      Jan Nieuwenhuizen <jan@digicash.com>
 #
 # Copyright (c) 1997 by    
 #      Jan Nieuwenhuizen <jan@digicash.com>
 #
 include ./$(depth)/.version
 #
 #
 include ./$(depth)/.version
 #
+include ./$(depth)/make/out/Configure_variables.make
+
+ifeq (0,${MAKELEVEL})
+MAKE:=$(MAKE) --no-builtin-rules
+endif
+
 
 # directory names:
 #
 outdir = out# "objects" won-t do, used for libs and deps as well
 
 # directory names:
 #
 outdir = out# "objects" won-t do, used for libs and deps as well
-bindir = ./$(depth)/bin
+lily_bindir = ./$(depth)/bin
 distdir = ./$(depth)/$(DIST_NAME)
 module-distdir = ./$(depth)/$(MODULE_DIST_NAME)
 depdir = $(outdir)
 distdir = ./$(depth)/$(DIST_NAME)
 module-distdir = ./$(depth)/$(MODULE_DIST_NAME)
 depdir = $(outdir)
@@ -39,24 +46,11 @@ include-flower = ./$(depth)/flower/lib/include
 #
 include ./$(depth)/make/User.make
 #
 #
 include ./$(depth)/make/User.make
 #
-
-ifdef PROFILEFLAG
-       DEFINES+=$(OPTIFLAG) $(PROFILEFLAG)
-       EXTRA_LIBES+=-pg
-endif
-
-ifndef DEBUGFLAG
-       DEFINES+=$(OPTIFLAG)
-else
-       DEFINES+=$(DEBUGFLAG)
-endif
-
-# build no:
 #
 # need to be defined in local Makefiles:
 #
 # need to be defined in local Makefiles:
-# build = ./$(depth)/lily/.build
+# build = ./$(depth)/lily/$(outdir)/.build ######## UGR!
 BUILD = $(shell cat $(build))
 BUILD = $(shell cat $(build))
-INCREASE_BUILD = @echo `expr \`cat $(build)\` + 1` > .b; mv .b $(build)
+INCREASE_BUILD = echo `expr \`cat $(build)\` + 1` > .b; mv .b $(build)
 #
 
 # the version:
 #
 
 # the version:
@@ -65,10 +59,6 @@ VERSION=$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_LEVEL)$(MY_PATCH_LEVEL)
 TOPLEVEL_VERSION=$(TOPLEVEL_MAJOR_VERSION).$(TOPLEVEL_MINOR_VERSION).$(TOPLEVEL_PATCH_LEVEL)$(TOPLEVEL_MY_PATCH_LEVEL)
 #
 
 TOPLEVEL_VERSION=$(TOPLEVEL_MAJOR_VERSION).$(TOPLEVEL_MINOR_VERSION).$(TOPLEVEL_PATCH_LEVEL)$(TOPLEVEL_MY_PATCH_LEVEL)
 #
 
-# compiler version:
-#
-CXXVER=`$(CXX) --version`
-#
 
 # module and top level dist:
 #
 
 # module and top level dist:
 #
@@ -100,27 +90,17 @@ DUMMYDEPS=\
 # clean file lists:
 #
 ERROR_LOG = 2> /dev/null
 # clean file lists:
 #
 ERROR_LOG = 2> /dev/null
-allexe = $(bindir)/lilypond $(bindir)/mi2mu
-allcc = $(shell find -name "*.cc" $(ERROR_LOG))
-allobs = $(shell find $(outdir) -name "*.o" $(ERROR_LOG))
-allibs = $(shell find $(libdir) -name "*.lib" $(ERROR_LOG))
-alldeps = $(shell find $(outdir) -name "*.dep" $(ERROR_LOG))
-allout = $(shell find . -name "$(outdir)" $(ERROR_LOG))
-allgen = $(shell find . -name $(genout) -o -name .build $(ERROR_LOG))
-#
-
-# config stuff:
-#
-# cannot let targets depend upon (out)directory -> will always be out of date!
-genout = .GENERATE
-flower-config = $(flowerout)/flower-config.hh
-lily-config = $(libout)/config.hh
-#
+SILENT_LOG = >& /dev/null
+allexe = $(lily_bindir)/lilypond $(lily_bindir)/mi2mu
+allcc := $(shell $(FIND) -name "*.cc" $(ERROR_LOG))
+allobs := $(shell $(FIND) $(outdir) -name "*.o" $(ERROR_LOG))
+allibs := $(shell $(FIND) $(libdir) -name "*.lib" $(ERROR_LOG))
+alldeps := $(shell $(FIND) $(outdir) -name "*.dep" $(ERROR_LOG))
 
 # version stuff:
 #
 
 # version stuff:
 #
-flower-version = $(flowerout)/fversion.hh
 lily-version = $(lilyout)/version.hh
 lily-version = $(lilyout)/version.hh
+flower-version = $(flowerout)/version.hh
 mi2mu-version = $(mi2muout)/version.hh
 #
 
 mi2mu-version = $(mi2muout)/version.hh
 #
 
@@ -146,7 +126,7 @@ LOADLIBES = $(EXTRA_LIBES) $(CUSTOMLIBES) -lg++
 AR = ar
 AR_COMMAND = $(AR) $(ARFLAGS) $@
 #
 AR = ar
 AR_COMMAND = $(AR) $(ARFLAGS) $@
 #
-
+RANLIB_COMMAND=$(RANLIB) $@
 # compiler:
 #
 # "CC = $(CC)"
 # compiler:
 #
 # "CC = $(CC)"
@@ -167,8 +147,8 @@ DODEP=rm -f $(depfile); DEPENDENCIES_OUTPUT="$(depfile) $(outdir)/$(notdir $@)"
 
 # utils:
 #
 
 # utils:
 #
-FLEX = flex
-BISON = bison
+#FLEX = flex
+#BISON = bison
 #
 
 # generic target names:
 #
 
 # generic target names:
diff --git a/make/configure.in b/make/configure.in
deleted file mode 100644 (file)
index 2e80c14..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-AC_INIT(flower/lib/choleski.cc)
-AC_LANG_CPLUSPLUS
-
-AC_ARG_ENABLE(printing,
-       [  --enable-printing    set debug printing],
-       [DEFINES="$DEFINES -DNPRINT"])
-AC_ARG_ENABLE(checking,
-       [  --enable-checking    set debug checks],
-       [DEFINES="$DEFINES -DNDEBUG"])
-AC_ARG_ENABLE(debug,
-       [  --enable-debug       set debug info],
-       [DEFINES="$DEFINES -g"], [DEFINES="$DEFINES -O2"])
-
-dnl COMPILEINFO="$HOST $host $TARGET $target"
-AUTOHEADER="This file was automatically generated by configure"
-CXXFLAGS=${CXXFLAGS:-""}       # don't want -g -O junk
-AC_PROG_CXX
-
-AC_SUBST(DEFINES)
-AC_SUBST(COMPILEINFO)
-AC_SUBST(AUTOHEADER)
-AC_SUBST(BISON)
-AC_SUBST(FLEX)
-
-AC_CHECK_PROGS(BISON, bison, error)
-AC_CHECK_PROGS(FLEX, flex, error)
-AC_CHECK_PROGS(MAKE, make, error)
-AC_CHECK_PROGS(PODMAN, pod2man, error)
-
-if test $MAKE = "error" 
-then
-       echo Please install GNU make
-else
-       $MAKE -v| grep -q GNU
-       if test "$?" = 1
-       then
-               AC_MSG_ERROR(Please install *GNU* make)
-       fi
-fi
-
-if test $BISON = "error" 
-then
-       AC_MSG_ERROR(can't find bison. Please install Bison (1.24 or better))
-fi
-
-if test $PODMAN = "error" 
-then
-       AC_MSG_WARN(can't find pod. You should install Perl (version 5 or better))
-fi
-
-if test $FLEX = "error" 
-then
-       AC_MSG_ERROR(can't find flex. Please install Flex (2.5 or better))
-fi
-
-if $CXX --version | grep -q '2\.7'
-then
-       true
-else
-       AC_MSG_ERROR(can't find g++ 2.7)
-fi
-
-AC_CHECK_HEADER(FlexLexer.h, true,
-       AC_MSG_ERROR(can't find flex header. Please install Flex headers correctly))
-
-
-
-
-AC_OUTPUT(make/out/ACVariables.make:make/ACVariables.make.in)  
-
-
-dnl AC_OUTPUT(config.hh)
-
-
-cat << END
-
-Finished configuring. Please do the following command before
-attempting to build anything:
-
-       make -C make/ -f Initial.make   #make is GNU make, of course.
-
-
-END
-
diff --git a/make/lilypond.spec b/make/lilypond.spec
deleted file mode 100644 (file)
index f7b5056..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-Description: LilyPond is a program which converts a music-script (mudela) into\
-TeX output, or MIDI to produce multi-staff scores. Feature include multiple\
-meters, clefs, keys, lyrics, versatile input-language, cadenzas\
-beams, slurs, triplets\
-multiple voices within one staff.
-Name: lilypond
-Version: 0.0.39.hwn2
-Release: 1
-Copyright: GPL
-Group: Applications/Publishing
-Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-0.0.39.hwn2.tar.gz
-Summary: A preprocessor to make TeX typeset music.
-
-%prep
-%setup
-%build
-PREFIX=/usr/lib ./configure
-make all OPTIFLAG="-O2" 
-%install
-make install
-%files
-%doc Documentation/README.txt Documentation/CodingStyle.txt
-%doc Documentation/lilygut.txt Documentation/lilyinput.txt
-%doc Documentation/error.txt Documentation/faq.txt Documentation/index.txt
-%doc Documentation/language.txt Documentation/lelie_logo.png
-/usr/bin/lilypond
-/usr/bin/mi2mu
-/usr/lib/lilypond/init/bare.ini
-/usr/lib/lilypond/init/dutch.ini
-/usr/lib/lilypond/init/english.ini
-/usr/lib/lilypond/init/script.ini
-/usr/lib/lilypond/init/swedish.ini
-/usr/lib/lilypond/init/symbol.ini
-/usr/lib/lilypond/init/table_sixteen.ini
-/usr/lib/lilypond/init/table_twenty.ini
-/usr/lib/lilypond/titledefs.tex
-/usr/lib/lilypond/lilyponddefs.tex
-
-
-
diff --git a/make/lilypond.spec.in b/make/lilypond.spec.in
new file mode 100644 (file)
index 0000000..18d469b
--- /dev/null
@@ -0,0 +1,42 @@
+Name: lilypond
+Version: @TOPLEVEL_VERSION@
+Release: 1
+Copyright: GPL
+Group: Applications/Publishing
+Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-@TOPLEVEL_VERSION@.tar.gz
+Summary: A preprocessor to make TeX typeset music.
+URL: http://www.stack.nl/~hanwen/lilypond
+Packager: Han-Wen Nienhuys <hanwen@stack.nl>
+Icon: lelie_logo.gif
+
+%description
+LilyPond is a program which converts a music-script (mudela) into
+TeX output, or MIDI to produce multi-staff scores. Feature include multiple
+meters, clefs, keys, lyrics, versatile input-language, cadenzas
+beams, slurs, triplets
+
+%prep
+%setup
+%build
+configure --enable-checking --enable-optimise --enable-printing --prefix=/usr
+make all
+%install
+make install
+
+%files
+%doc Documentation/out/index.text Documentation/out/CodingStyle.text
+%doc Documentation/out/lilygut.text Documentation/out/lilyinput.text
+%doc Documentation/out/error.text Documentation/out/faq.text
+%doc Documentation/out/INSTALL.text
+%doc Documentation/out/language.text Documentation/out/lelie_logo.png
+/usr/bin/lilypond
+/usr/bin/mi2mu
+/usr/man/man1/lilypond.1
+/usr/lib/texmf/texmf/tex/lilypond/*
+/usr/share/lilypond/*
+
+%post
+texhash
+%post
+texhash
+
index a1f2c4cba620aecd198b67a6578d94a13a57a968..94361e906ec64ab26c34a076b0a53ffee70ba9a4 100644 (file)
@@ -2,5 +2,5 @@ MAJOR_VERSION = 0
 MINOR_VERSION = 0
 PATCH_LEVEL = 12
 # use to send patches, always empty for released version:
 MINOR_VERSION = 0
 PATCH_LEVEL = 12
 # use to send patches, always empty for released version:
-MY_PATCH_LEVEL = # include separator: "-1" or ".a"
+MY_PATCH_LEVEL = .1# include separator: "-1" or ".a"
 #
 #
index 372695f7bd6fe3df96dd19be091431ab09e3fe75..10a7f1ef53e10f82a1d5e1dcc1b9c6f3655ae9f5 100644 (file)
@@ -23,7 +23,7 @@ include ./$(depth)/make/Variables.make
 NAME = mi2mu
 MODULE_NAME = mi2mu
 include $(mi2mu-dir)/.version
 NAME = mi2mu
 MODULE_NAME = mi2mu
 include $(mi2mu-dir)/.version
-build = $(mi2mu-dir)/.build
+build = $(mi2mu-dir)/$(outdir)/.build
 #
 
 # descent order into subdirectories:
 #
 
 # descent order into subdirectories:
@@ -38,17 +38,17 @@ VERSION_DEPENDENCY = $(mi2mu-version)
 
 # list of c++ header files:
 # 
 
 # list of c++ header files:
 # 
-HHFILES = $(shell ls *.hh $(ERROR_LOG))
+HHFILES := $(wildcard *.hh )
 #
 
 # list of c++ source files:
 #
 #
 
 # list of c++ source files:
 #
-CCFILES = $(shell ls *.cc $(ERROR_LOG))
+CCFILES := $(wildcard *.cc )
 #
 
 # list of other source files:
 #
 #
 
 # list of other source files:
 #
-EXTRA_SOURCE_FILES = $(shell ls *.y *.l $(ERROR_LOG))
+EXTRA_SOURCE_FILES := $(wildcard *.y *.l )
 #
 
 # list of distribution files:
 #
 
 # list of distribution files:
@@ -69,7 +69,7 @@ LOADLIBES +=
 #
 # MAINTARGET = $(EXECUTABLE)
 # MAINTARGET = $(LIBRARY)
 #
 # MAINTARGET = $(EXECUTABLE)
 # MAINTARGET = $(LIBRARY)
-MAINTARGET = $(bindir)/$(EXECUTABLE)# huh?
+MAINTARGET = $(lily_bindir)/$(EXECUTABLE)# huh?
 # MAINTARGET = $(libdir)/$(LIBRARY)# huh?
 
 default: $(MAINTARGET)
 # MAINTARGET = $(libdir)/$(LIBRARY)# huh?
 
 default: $(MAINTARGET)
@@ -84,15 +84,6 @@ include ./$(depth)/make/Rules.make
 # explicit dependencies: (how to do auto?)
 #
 midi-lexer.l:  $(outdir)/midi-parser.hh
 # explicit dependencies: (how to do auto?)
 #
 midi-lexer.l:  $(outdir)/midi-parser.hh
-version.cc:    check-flower-version $(mi2mu-version)
-#
-
-# version:
-#
-mi2mu-version: $(mi2mu-dir)/$(genout) $(mi2mu-version)
-$(mi2mu-version): $(mi2mu-dir)/$(genout) $(mi2mu-dir)/.version ./$(bindir)/make_version $(build)
-       ./$(bindir)/make_version "$(MAJOR_VERSION)" "$(MINOR_VERSION)" "$(PATCH_LEVEL)" "$(MY_PATCH_LEVEL)" "$(BUILD)" "$(CXX) $(CXXVER)" > $@
-#
 
 # list of depend files:
 #
 
 # list of depend files:
 #
@@ -101,6 +92,6 @@ DEPFILES = $(shell ls $(depdir)/*.dep $(ERROR_LOG))
 
 # auto dependencies:
 #
 
 # auto dependencies:
 #
--include $(DEPFILES)
+-include /dev/null $(DEPFILES)
 #
 
 #
 
index cb4f4ea6d17bd88c5b0ee24fafa85d3f6cdabf5d..6860a29536f8e5ef4201924f05ec2efa1a4475c8 100644 (file)
@@ -13,7 +13,7 @@ MINOR_VERSION = $(TOPLEVEL_MINOR_VERSION)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
 PATCH_LEVEL = $(TOPLEVEL_PATCH_LEVEL)
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = $(TOPLEVEL_MY_PATCH_LEVEL)
-build = ./$(depth)/lily/.build
+build = ./$(depth)/mi2mu/$(outdir)/.build
 #
 
 # generic stuff/Makefile
 #
 
 # generic stuff/Makefile
index 0e8644376dac424ec2228e54f0b14289d3b34223..0ab49a340db85af3d43fad6e29c3e6c6db2aeb09 100644 (file)
@@ -14,6 +14,9 @@ extern Verbose level_ver;
 #ifdef NPRINT
 #define dtor if ( 0 ) *monitor_p_g
 #define mtor if ( 0 ) *monitor_p_g
 #ifdef NPRINT
 #define dtor if ( 0 ) *monitor_p_g
 #define mtor if ( 0 ) *monitor_p_g
+#define vtor if ( level_ver >= VERBOSE_ver ) *monitor_p_g
+#define btor if ( level_ver >= BRIEF_ver ) *monitor_p_g
+#define qtor if ( level_ver >= QUIET_ver ) *monitor_p_g
 #else
 #define dtor if ( level_ver >= DEBUG_ver ) *monitor_p_g
 #define vtor if ( level_ver >= VERBOSE_ver ) *monitor_p_g
 #else
 #define dtor if ( level_ver >= DEBUG_ver ) *monitor_p_g
 #define vtor if ( level_ver >= VERBOSE_ver ) *monitor_p_g
@@ -27,7 +30,7 @@ void message( String message_str, char const* context_ch_c_l );
 void warning( String message_str, char const* context_ch_c_l );
 void error( String message_str, char const* context_ch_c_l );
 
 void warning( String message_str, char const* context_ch_c_l );
 void error( String message_str, char const* context_ch_c_l );
 
-String version_str();
+String mi2mu_version_str();
 
 #endif // MIDI_GLOBAL_HH
 
 
 #endif // MIDI_GLOBAL_HH
 
index da6890aa9756bdbd6ab7aeaa37653ff880dddc23..2ac5bc778d7989a521de10c9364ba44b79380aa0 100644 (file)
@@ -50,7 +50,7 @@ Lily_stream::operator <<( String str )
                                if ( column_i_ > 8 * indent_i_ ) {
                                        newline();
                                        if ( comment_mode_bo_ && ( str[ 0 ] != '%' ) )
                                if ( column_i_ > 8 * indent_i_ ) {
                                        newline();
                                        if ( comment_mode_bo_ && ( str[ 0 ] != '%' ) )
-                                               str = '%' + str;
+                                               str = "%" + str;
                                        continue;
                                }
                                else { // cannot break neatly...
                                        continue;
                                }
                                else { // cannot break neatly...
@@ -100,7 +100,7 @@ Lily_stream::check_comment( String str )
 void
 Lily_stream::header()
 {
 void
 Lily_stream::header()
 {
-       *os_p_ << "% Creator: " << version_str() << "\n";
+       *os_p_ << "% Creator: " << mi2mu_version_str() << "\n";
        *os_p_ << "% Automatically generated, at ";
        time_t t( time( 0 ) );
        *os_p_ << ctime( &t );
        *os_p_ << "% Automatically generated, at ";
        time_t t( time( 0 ) );
        *os_p_ << ctime( &t );
index 023a4fed2646c55170458e9f62dfe699934f50d7..e04cb02b0968d805e1115bbdb33da8fa7b667143 100644 (file)
@@ -60,7 +60,7 @@ error( String message_str, char const* context_ch_c_l )
 void
 help()
 {
 void
 help()
 {
-    btor <<
+    mtor <<
        "--be-blonde, -b                use exact, blonde durations, e.g.: a[385]\n"
        "--debug, -d            be really verbose\n"
        "--help, -h             this help\n"
        "--be-blonde, -b                use exact, blonde durations, e.g.: a[385]\n"
        "--debug, -d            be really verbose\n"
        "--help, -h             this help\n"
@@ -76,7 +76,7 @@ help()
 void
 identify()
 {
 void
 identify()
 {
-       mtor << version_str() << endl;
+       mtor << mi2mu_version_str() << endl;
 }
     
 void 
 }
     
 void 
index cb58c6b5b2874cd8a8c1e89536cba5d1c63d70d3..d9fe95dac7cb88134f6c2b1ff1e1d2758058b260 100644 (file)
@@ -1,18 +1,13 @@
-//
-// version.cc -- implement inexpensive versioning
-//
-// copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
-
 #include "mi2mu.hh"
 #include "mi2mu.hh"
-#include "fversion.hh"
-#include "version.hh"
+
+const char * mi2mu_version_sz();
 
 // should simply have Root class...
 String
 
 // should simply have Root class...
 String
-version_str()
+mi2mu_version_str()
 {
 {
-       return String ( "This is mi2mu " ) + VERSIONSTR 
-               + "/FlowerLib " + FVERSIONSTR
+       return String ( "This is " ) + mi2mu_version_sz()
+               + flower_version_sz()
                + " of " +  __DATE__ + " " + __TIME__;
 }
 
                + " of " +  __DATE__ + " " + __TIME__;
 }
 
index 7098987a94d49107af798c95deaef54813ee56db..35004f0f6d98b947941675d8ab3b5646a3c642e4 100644 (file)
@@ -5,7 +5,7 @@
 depth = ..
 #
 
 depth = ..
 #
 
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 
 # generic stuff/Makefile
 #
 
 # generic stuff/Makefile
 #
@@ -18,3 +18,10 @@ TEXFILES = $(shell ls *.tex)
 DISTFILES = Makefile $(TEXFILES)
 #
 
 DISTFILES = Makefile $(TEXFILES)
 #
 
+localinstall:
+       $(INSTALL) -d $(TEXPREFIX)/lilypond
+       $(INSTALL) -m 755 $(TEXFILES) $(TEXPREFIX)/lilypond/
+
+localuninstall:
+       for i in $(TEXFILES) ; do rm -f $(TEXPREFIX)/lilypond/$$i; done
+       -rmdir $(TEXPREFIX)/lilypond/
\ No newline at end of file