]> 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_PATCH_LEVEL = 41
+TOPLEVEL_PATCH_LEVEL = 42
 # 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. 
 
+               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:
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)
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 #
 
 # generic variables:
@@ -26,13 +26,13 @@ include ./$(depth)/make/Variables.make
 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:
 #
-DISTFILES = $(PODFILES) Makefile lelie_logo.png
+DISTFILES = $(PODFILES) Makefile lelie_logo.gif
 #
 
 default: do-doc
@@ -43,7 +43,8 @@ html: $(pod)
        pod2html
 
 htmldist: html
-       ./$(bindir)/make_website
+       ./$(lily_bindir)/make_website
+
 
 # generic targets and rules:
 #
@@ -51,3 +52,12 @@ include ./$(depth)/make/Targets.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
 >
 
+
 =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
 
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.
 
-=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
 
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)
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 #
 
 # generic variables:
@@ -40,14 +40,32 @@ SUBDIRS = flower lib lily mi2mu \
 # 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)
 #
 
+
 # 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
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
 
-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
@@ -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
 
-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
 
@@ -51,6 +52,8 @@ SEVERELY LACKING:
 
 INPUTLANGUAGE
 
+       * read ENV for include path 
+
        * lose the $ and @ ?
 
        * figured bass?
@@ -65,6 +68,9 @@ INPUTLANGUAGE
 
 SMALLISH PROJECTS
 
+
+       * midi esp.: use I32 iso int where 32 bits are needed (or assumed...)
+
        * fix Staff_elem::width() derivs to use offset_
 
        * parshape
@@ -144,7 +150,7 @@ FUTURE
        * eentje/tweetje
 
        * piano staff
-       
+
        * abbreviations a4*8
 
 IDEAS
@@ -163,7 +169,7 @@ IDEAS
 
        * 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?
 
index e9f5521e5eea6c2730c854c6e7c6a593bae6b80e..c1c076781183d73a953d2074a7690bf69b23e1b2 100644 (file)
@@ -5,7 +5,7 @@
 depth = ..
 #
 
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 
 # generic stuff/Makefile
 #
@@ -14,7 +14,7 @@ include ./$(depth)/make/Stuff.make
 
 # 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)
 #
 
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
 
-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
@@ -41,7 +41,7 @@ cpto() {
 }
 
 cpto lily "$genlily"
-cpto m2m "$genm2m"
+cpto mi2mu "$genmi2mu"
 
 # 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$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
index fe5cb05c89862885fcd673d48f371e52a5dc40ae..29b768c1e8925c6c964cb3868c221ea21cae44af 100755 (executable)
@@ -1,11 +1,20 @@
 #!/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
 
-#############
-#############
+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
-               touch $1/.GENERATE
-               mkdir $1/out
-               echo 0 > $1/.build
+               echo "configure: warning: Please install *GNU* make" 1>&2
        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
 
-$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
-PATCH_LEVEL = 6
+PATCH_LEVEL = 7
 # 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
-build = ./$(depth)/flower/lib/.build
+build = ./$(depth)/flower/$(outdir)/.build
 #
 
 # generic variables:
@@ -31,26 +31,23 @@ include ./$(depth)/make/Variables.make
 
 # descent order into subdirectories:
 #
-SUBDIRS = lib
+SUBDIRS = lib test
 #
 
 # list of distribution files:
 #
-SCRIPTS = # make_version make_patch genheader clearlily configure
+SCRIPTS = 
 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
-include ./$(depth)/make/Rules.make
+include ./$(depth)/make/Rules.make
 #
 
 # 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 
@@ -8,7 +24,9 @@ pl 1.1.5
        - 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.
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?
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 = ../..
 #
 
+# generic variables:
+#
+include ./$(depth)/make/Variables.make 
+#
+
 # 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:
 #
-SUBDIRS = include
+SUBDIRS = include 
 #
 
 # to be remade each build:
 #
-VERSION_DEPENDENCY = include/fversion.hh
+VERSION_DEPENDENCY =#
 #
 
 # list of c++ header files:
 # 
-HHFILES = # $(shell ls include/*.hh)
+HHFILES = $(shell ls *.hh $(ERROR_LOG))
 #
 
 # list of c++ source files:
 #
-CCFILES = $(shell ls *.cc)
+CCFILES = $(shell ls *.cc $(ERROR_LOG))
 #
 
 # 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:
@@ -75,18 +75,23 @@ MAINTARGET = $(libdir)/$(LIBRARY)# huh?
 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
 #
 
+# list of depend files:
+#
+DEPFILES = $(shell ls $(depdir)/*.dep $(ERROR_LOG))
+#
+
 # 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"
@@ -53,7 +55,8 @@ Dstream::identify_as(String name)
     local_silence = (*silent)[idx];
     if (classname != idx && !local_silence) {
        classname=idx;
-//     *os << "[" << classname << ":]"; // messy.
+       if (!(*silent)["Dstream"])
+           *os << "[" << classname << ":]"; // messy.
     }
     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
-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
 
-#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;
@@ -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 Interval_t;
+template<class T> struct Interval_t;
+template<class T,class Q> struct PQueue;
+
 #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"
+#include "config.hh"
 
 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.
+
+Actually, this sux. Should use a template struct PQuee_ent<V,I>
  */
 
 template<class V, class I>
@@ -22,23 +24,47 @@ struct PQueue
 {
     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;
 
-       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]; }
+    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();
-       value_arr_.del(0);
-       indices_arr_.del(0);
+       del(0);
        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 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 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 longlong_str(long long , char const * fmt = 0);
+    static String i64_str(I64, char const * fmt = 0);
 };
 
 #endif // __STRING_CONVERT_HH //
index f9a255683e717959f378da4001bc49a479cd823d..3a89e81008bf5fc5500899355f1bfdeccb2b2700 100644 (file)
@@ -101,7 +101,7 @@ strrev( Byte* byte_l, int length_i )
 }
 
 #ifndef HAVE_SNPRINTF
-int snprintf ( char *str, size_t n,
+int snprintf ( char *str, size_t,
               const char *format, ... )
 {
     va_list ap;
index 47649dcc8878e672250bc33b47e8cde2e2101c1c..0e2566f087f3938cecd1b1de9ad626830f1ebe7b 100644 (file)
@@ -6,6 +6,7 @@
 
 
 #include <assert.h>
+#include <limits.h>
 #include "libc-extension.hh"
 #include "string.hh"
 #include "string-convert.hh"
@@ -62,11 +63,11 @@ String_convert::dec2_i( String dec_str )
 }
 
 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,
-            (fmt ? fmt : "%Ld"), ll );     // assume radix 10
+            (fmt ? fmt : "%Ld"), i64 );     // assume radix 10
     return String(buffer);
 
 }
@@ -143,20 +144,34 @@ String_convert::i2dec_str( int i, int length_i, char ch )
 
 // 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;
-    if ( !i )
+    if ( !u )
        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;
 }
 
+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 )
 {
@@ -230,6 +245,6 @@ String_convert::rational_str(Rational r)
 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
-build = ./$(depth)/flower/lib/.build
+build = ./$(depth)/flower/test/$(outdir)/.build
 #
 
 # generic variables:
@@ -76,7 +76,7 @@ LOADLIBES +=
 #
 # MAINTARGET = $(EXECUTABLE)
 # MAINTARGET = $(LIBRARY)
-MAINTARGET = $(bindir)/$(EXECUTABLE)# huh?
+MAINTARGET = $(lily_bindir)/$(EXECUTABLE)# huh?
 # MAINTARGET = $(libdir)/$(LIBRARY)# huh?
 
 #default: $(MAINTARGET)
@@ -84,7 +84,7 @@ BUILDSTRINGTEST=$(MAINTARGET)
 EXECSTRINGTEST=$(EXECUTABLE)
 default:  $(BUILDSTRINGTEST) do-stringtest
 do-stringtest:
-       $(EXECSTRINGTEST)    # should return error value if test fails
+       $(EXECSTRINGTEST)    # should cmp with a 'standard result'
 
 dummy:
 
index 5b4ace1b2f515c7df89f5733348f0c8f27966078..adf545b172acd8bdb7ee6cc3090309016c159c47 100644 (file)
@@ -72,12 +72,12 @@ kutenpeer()
     }
     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
-test_empty_bo( String str )
+test_empty_b( String str )
 {
     cout << "`" << str << "' is ";
 
@@ -103,16 +103,17 @@ main()
     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;
     
-    if ( test_empty_bo( str ) )
+    if ( test_empty_b( str ) )
        return 1;
     
     String fn = "";
-    if ( !test_empty_bo( fn ) )
+    if ( !test_empty_b( fn ) )
        return 1;
     
     fn = "";
index ff8dd8efadf6f7699256c777f3b847a73beb668d..04fb51197d67f5c71b2c5656e30cfdc028ed7e75 100644 (file)
@@ -5,7 +5,7 @@
 depth = ..
 #
 
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 
 # generic stuff/Makefile
 #
@@ -18,3 +18,10 @@ INIFILES = $(shell ls *.ini)
 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 = ..
 #
 
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 
 # 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)
-build = $(lily-dir)/.build
+build = $(lily-dir)/$(outdir)/.build
 #
 
 # 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)
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 #
 
 # 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)
-build = $(lily-dir)/.build
+build = $(lily-dir)/$(outdir)/.build
 #
 
 # descent order into subdirectories:
@@ -41,12 +41,12 @@ VERSION_DEPENDENCY = $(lily-version)
 
 # list of c++ header files:
 # 
-HHFILES $(shell ls *.hh $(ERROR_LOG))
+HHFILES := $(wildcard *.hh) #$(shell ls *.hh $(ERROR_LOG))
 #
 
 # list of c++ source files:
 #
-CCFILES $(shell ls *.cc $(ERROR_LOG))
+CCFILES := $(wildcard *.cc) #$(shell ls *.cc $(ERROR_LOG))
 #
 
 # list of other source files:
@@ -56,7 +56,7 @@ EXTRA_SOURCE_FILES = $(shell ls *.y *.l $(ERROR_LOG))
 
 # list of distribution files:
 #
-DISTFILES = Makefile $(HHFILES) $(CCFILES) $(EXTRA_SOURCE_FILES)
+DISTFILES = .version Makefile $(HHFILES) $(CCFILES) $(EXTRA_SOURCE_FILES)
 #
 
 # list of custom libraries:
@@ -72,7 +72,7 @@ LOADLIBES +=
 #
 # MAINTARGET = $(EXECUTABLE)
 # MAINTARGET = $(LIBRARY)
-MAINTARGET = $(bindir)/$(EXECUTABLE)# huh?
+MAINTARGET = $(lily_bindir)/$(EXECUTABLE)# huh?
 # MAINTARGET = $(libdir)/$(LIBRARY)# huh?
 
 default: $(MAINTARGET)
@@ -87,7 +87,9 @@ include ./$(depth)/make/Rules.make
 # 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
 #
@@ -99,6 +101,6 @@ DEPFILES = $(shell ls $(depdir)/*.dep $(ERROR_LOG))
 
 # 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)
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 #
 
 # generic stuff/Makefile
index 8a55f1a585d3dc95afc00df68039f1de3304f75c..266ee22a56c385caa26c95952e37580add593d37 100644 (file)
@@ -20,9 +20,27 @@ bool busy_parsing();
 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_prefs prefs;
+    
     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);
-const char *get_version();
+String get_version_str();
 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
-
+#error OBSOLETE!
 #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;
-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);
-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 ); 
index d5ff7405e16d5a642ecf7ec52b98e5e0bdd32c7e..ba81fce47497de81ae4b8acd3cce6445f587c016 100644 (file)
@@ -30,6 +30,7 @@ public:
     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"
+       "\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 
@@ -54,8 +67,8 @@ notice()
        "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"
+       "Contributors\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() {
-       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() {
@@ -89,7 +102,7 @@ int
 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()) {
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;
 
+#ifdef UGR
     // 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;
+#endif
 
     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?
-    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 );
@@ -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 );
 
+#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' );
            
@@ -124,6 +130,7 @@ Midi_output::header()
        
     Midi_text authors( Midi_text::COPYRIGHT, str );
     midi_track.add( Moment( 0.0 ), &authors );
+#endif
     *midi_stream_l_  << midi_track;
 }
 
index 475e3e08ba0cbd251859c3c631e584a4da9bf3e3..267a0de696194a8f1d66e46700692d45cd180781 100644 (file)
 #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
-set_duration_mode(String s)
+Lexer_prefs::set_duration_mode(String s)
 {
     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;
@@ -39,7 +46,7 @@ last_duration(int n)
 
 /* 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;
@@ -51,32 +58,10 @@ get_text(String s) return t;
 {
     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;
 }
-
-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 )
 {
@@ -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);
-       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);
     }
@@ -98,7 +84,8 @@ get_note_element(Note_req *rq, int * duration )
 
     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);
@@ -121,7 +108,7 @@ get_word_element(Text_def* tdef_p, int* duration)
 
     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;
 
@@ -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;
-    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();
@@ -149,28 +136,19 @@ get_rest_element(String,  int * duration )
 }
 
 void
-get_default_duration(int *p)
+Lexer_prefs::get_default_duration(int *p)
 {
     *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++;
 }
 
-
-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 )
 {
@@ -194,8 +172,9 @@ get_request(char c)
     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;
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();
+               $$->octave_i_ += lexer->prefs.default_octave_i_;
        }
        | octave_quote steno_note_req   {  
                $2-> octave_i_ += $1;
@@ -661,20 +662,20 @@ pre_request:
 
 voice_command:
        PLET    '{' INT '/' INT '}'             {
-               set_plet($3,$5);
+               lexer->prefs.set_plet($3,$5);
        }
        | DURATIONCOMMAND '{' STRING '}'        {
-               set_duration_mode(*$3);
+               lexer->prefs.set_duration_mode(*$3);
                delete $3;
        }
        | DURATIONCOMMAND '{' notemode_duration '}'     {
-               set_default_duration($3);
+               lexer->prefs.set_default_duration($3);
        }
        | OCTAVECOMMAND '{' octave_quotes '}'   {
-               set_default_octave($3);
+               lexer->prefs.default_octave_i_ = $3;
        }
        | TEXTSTYLE STRING      {
-               set_text_style(*$2);
+               lexer->prefs.textstyle_str_ = *$2;
                delete $2;
        }
        ;
@@ -707,31 +708,31 @@ mudela_duration:
 
 explicit_duration:
        INT             {
-               last_duration($1);
+               lexer->prefs.set_last_duration($1);
                $$[0] = $1;
                $$[1] = 0;
        }
        | INT DOTS      {
-               last_duration($1);
+               lexer->prefs.set_last_duration($1);
                $$[0] = $1;
                $$[1] = $2;
        }
        | DOTS  {
-                get_default_duration($$);
+                lexer->prefs.get_default_duration($$);
                 $$[1] = $1;
        }
        | INT '*' INT '/' INT {
                // ugh, must use Duration
-               set_plet( $3, $5 );
+               lexer->prefs.set_plet( $3, $5 );
                $$[ 0 ] = $1;
                $$[ 1 ] = 0;
-               set_plet( 1, 1 );
+               lexer->prefs.set_plet( 1, 1 );
        }
        ;
 
 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 
 {
+    if (!dim())
+       return Vector(0);
+    
     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 
 {    
+    if (!dim())
+       return Vector(0);
+    
     Active_constraints act(this);
 
 
index 06459a2d72f772d5265b4734c59f040b38b1dbe6..2125593ab6b5747c75731213fc41e2cc902f25b8 100644 (file)
@@ -26,7 +26,7 @@ Tex_stream::Tex_stream(String filename)
 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);
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;
 }
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)
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 #
 
 # 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)
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 #
 
 # generic variables:
@@ -31,7 +31,7 @@ include ./$(depth)/make/Variables.make
 
 # 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:
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)
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 #
 
 # list of generic make files:
@@ -31,7 +31,7 @@ MAKEFILES = $(shell ls *.make)
 
 # 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:
@@ -45,3 +45,5 @@ include ./$(depth)/make/Targets.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:
 #
-$(outdir)/%.o: %.cc $(genout)
+$(outdir)/%.o: %.cc
        $(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 $@
 
-$(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
 
-$(outdir)/%.cc: %.l $(genout)
+$(outdir)/%.cc: %.l
        $(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"\
-               --release="LilyPond $(MAJVER).$(MINVER).$(PATCHLEVEL)" $< > $@
+               --release="LilyPond $(TOPLEVEL_MAJOR_VERSION).$(TOPLEVEL_MINOR_VERSION).$(TOPLEVEL_PATCH_LEVEL)" $< > $@
 #
 
 # outdirs:
@@ -53,37 +56,25 @@ $(outdir)/%.1: %.pod $(genout)
 # ?$(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:
-       @echo 0 >$@
-$(flower-config): $(flower-dir)/$(genout)
-       touch $@
-$(lily-config): $(lib-dir)/$(genout)
-       @echo "#define LIBDIR \"./\"" >$@
-%.hh:
-       touch $@
-#
+       echo 0 >$@
+
 
 # specific stuff:
 #
-$(LIBFLOWER): check-flower-version
+$(LIBFLOWER): check-flower-deps
        $(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
 #
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)
-# build = ./$(depth)/lily/.build
 #
 
 # generic variables:
index 1b894002bcef305ed109a1306ad385158b7f12be..8173b9e079f0187c12994ccefd95556e6825cd4a 100644 (file)
 # 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,
@@ -23,45 +26,40 @@ include ./$(depth)/make/out/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:
 #
-EXECUTABLE = $(bindir)/$(NAME)
-$(EXECUTABLE): $(OFILES) $(CUSTOMLIBES)
+EXECUTABLE = $(lily_bindir)/$(NAME)
+$(EXECUTABLE): $(build) $(OFILES) $(CUSTOMLIBES) 
+       $(INCREASE_BUILD)
+       $(MAKE) $(OFILES)  $(SILENT_LOG)
 #      $(STRIPDEBUG) $(STABLEOBS)
-#      $(LD_COMMAND) -o $@ $^ $(LOADLIBES)
        $(LD_COMMAND) $(OFILES) $(LOADLIBES)
-       -@touch $(VERSION_DEPENDENCY) $(ERROR_LOG)
-       $(INCREASE_BUILD)
-       touch $(build) #waai necessary?
-#
+
 exe: $(EXECUTABLE)
 #
 
+$(build):
+       echo 0 > $@
+
 # 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)
-       touch $(build) #waai necessary?
+       $(MAKE) $(OFILES)  $(SILENT_LOG)
+       $(AR_COMMAND) $(OFILES)
+       $(RANLIB_COMMAND)
+
+
 #
 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)
@@ -75,7 +73,7 @@ config:
 
 # 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 :-)
@@ -105,7 +103,7 @@ help:
 #
 
 doc:
-       $(MAKE) -C Documentation do-doc
+       $(MAKE) -C $(depth)/Documentation do-doc
 
 # 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
 
-localdist:
+localdist: $(DISTFILES)
+       if [ -d out ]; then mkdir $(distdir)/$(localdir)/out; fi
        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)
@@ -130,27 +131,45 @@ moduledist:
 
 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
-       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) 
 
-# to some outdir?
-autoconf:
-       autoconf -  < configure.in > ac_configure  
-
 
 # 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"
-build = $(lily-dir)/.build
+build = $(lily-dir)/$(outdir)/.build #????!
 #
 
 # descent order into subdirectories:
index 383f6d47777d2ba69fc4cc9ce5542725303c1334..05fac713f5d2518ec3d73864b8d9a88bcf1d0955 100644 (file)
@@ -26,8 +26,7 @@ DEBUGFLAG=-g
 
 # 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.
index fbfb76cfa4439fccbc86c1ed4c00e40c527ed108..3c74750c92573be8a0f448b0d4e0174305c4f475 100644 (file)
@@ -2,7 +2,8 @@
 # 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>
 #
 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
-bindir = ./$(depth)/bin
+lily_bindir = ./$(depth)/bin
 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
 #
-
-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:
-# build = ./$(depth)/lily/.build
+# build = ./$(depth)/lily/$(outdir)/.build ######## UGR!
 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:
@@ -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)
 #
 
-# compiler version:
-#
-CXXVER=`$(CXX) --version`
-#
 
 # module and top level dist:
 #
@@ -100,27 +90,17 @@ DUMMYDEPS=\
 # 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:
 #
-flower-version = $(flowerout)/fversion.hh
 lily-version = $(lilyout)/version.hh
+flower-version = $(flowerout)/version.hh
 mi2mu-version = $(mi2muout)/version.hh
 #
 
@@ -146,7 +126,7 @@ LOADLIBES = $(EXTRA_LIBES) $(CUSTOMLIBES) -lg++
 AR = ar
 AR_COMMAND = $(AR) $(ARFLAGS) $@
 #
-
+RANLIB_COMMAND=$(RANLIB) $@
 # compiler:
 #
 # "CC = $(CC)"
@@ -167,8 +147,8 @@ DODEP=rm -f $(depfile); DEPENDENCIES_OUTPUT="$(depfile) $(outdir)/$(notdir $@)"
 
 # utils:
 #
-FLEX = flex
-BISON = bison
+#FLEX = flex
+#BISON = bison
 #
 
 # 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:
-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
-build = $(mi2mu-dir)/.build
+build = $(mi2mu-dir)/$(outdir)/.build
 #
 
 # descent order into subdirectories:
@@ -38,17 +38,17 @@ VERSION_DEPENDENCY = $(mi2mu-version)
 
 # list of c++ header files:
 # 
-HHFILES = $(shell ls *.hh $(ERROR_LOG))
+HHFILES := $(wildcard *.hh )
 #
 
 # list of c++ source files:
 #
-CCFILES = $(shell ls *.cc $(ERROR_LOG))
+CCFILES := $(wildcard *.cc )
 #
 
 # list of other source files:
 #
-EXTRA_SOURCE_FILES = $(shell ls *.y *.l $(ERROR_LOG))
+EXTRA_SOURCE_FILES := $(wildcard *.y *.l )
 #
 
 # list of distribution files:
@@ -69,7 +69,7 @@ LOADLIBES +=
 #
 # MAINTARGET = $(EXECUTABLE)
 # MAINTARGET = $(LIBRARY)
-MAINTARGET = $(bindir)/$(EXECUTABLE)# huh?
+MAINTARGET = $(lily_bindir)/$(EXECUTABLE)# huh?
 # 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
-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:
 #
@@ -101,6 +92,6 @@ DEPFILES = $(shell ls $(depdir)/*.dep $(ERROR_LOG))
 
 # 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)
-build = ./$(depth)/lily/.build
+build = ./$(depth)/mi2mu/$(outdir)/.build
 #
 
 # 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
+#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
@@ -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 );
 
-String version_str();
+String mi2mu_version_str();
 
 #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 ] != '%' ) )
-                                               str = '%' + str;
+                                               str = "%" + str;
                                        continue;
                                }
                                else { // cannot break neatly...
@@ -100,7 +100,7 @@ Lily_stream::check_comment( String str )
 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 );
index 023a4fed2646c55170458e9f62dfe699934f50d7..e04cb02b0968d805e1115bbdb33da8fa7b667143 100644 (file)
@@ -60,7 +60,7 @@ error( String message_str, char const* context_ch_c_l )
 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"
@@ -76,7 +76,7 @@ help()
 void
 identify()
 {
-       mtor << version_str() << endl;
+       mtor << mi2mu_version_str() << endl;
 }
     
 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 "fversion.hh"
-#include "version.hh"
+
+const char * mi2mu_version_sz();
 
 // 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__;
 }
 
index 7098987a94d49107af798c95deaef54813ee56db..35004f0f6d98b947941675d8ab3b5646a3c642e4 100644 (file)
@@ -5,7 +5,7 @@
 depth = ..
 #
 
-build = ./$(depth)/lily/.build
+build = ./$(depth)/lily/$(outdir)/.build
 
 # generic stuff/Makefile
 #
@@ -18,3 +18,10 @@ TEXFILES = $(shell ls *.tex)
 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