From aab40d2ccb8fe480eb5c85dcbbdcfbda2b304fd7 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Fri, 14 Mar 1997 15:51:12 +0100 Subject: [PATCH] release: 0.0.42 --- .version | 4 +- Documentation/CodingStyle.pod | 21 + Documentation/INSTALL.pod | 173 +++ Documentation/Makefile | 18 +- Documentation/index.pod | 11 +- Documentation/language.pod | 9 +- Documentation/lelie_logo.gif | Bin 0 -> 4430 bytes Documentation/lelie_logo.png | Bin 10285 -> 0 bytes Documentation/{README.pod => lilypond.pod} | 185 +-- INSTALL | 51 - INSTALL.text | 198 +++ Makefile | 24 +- NEWS | 19 + README | 10 +- TODO | 16 +- bin/Makefile | 4 +- bin/cpgento | 8 +- bin/make_fversion | 11 - bin/make_patch | 5 +- bin/make_version | 29 +- configure | 1447 +++++++++++++++++++- configure.in | 173 +++ flower/.version | 2 +- flower/Makefile | 15 +- flower/NEWS | 20 +- flower/TODO | 5 + flower/config.hh.in | 8 + flower/configure | 1116 +++++++++++++++ flower/configure.in | 15 + flower/lib/Makefile | 37 +- flower/lib/dstream.cc | 5 +- flower/lib/flower-version.cc | 16 + flower/lib/include/Makefile | 2 +- flower/lib/include/flower-config.hh | 0 flower/lib/include/fproto.hh | 14 +- flower/lib/include/libc-extension.hh | 1 + flower/lib/include/pqueue.hh | 36 +- flower/lib/include/string-convert.hh | 6 +- flower/lib/libc-extension.cc | 2 +- flower/lib/string-convert.cc | 37 +- flower/test/Makefile | 6 +- flower/test/stringtest.cc | 13 +- init/Makefile | 9 +- input/Makefile | 2 +- install-sh | 241 ++++ lib/Makefile | 2 +- lib/include/Makefile | 2 +- lily/.version | 4 + lily/Makefile | 16 +- lily/include/Makefile | 2 +- lily/include/lexer.hh | 20 +- lily/include/main.hh | 2 +- lily/include/notename.hh | 2 +- lily/include/parseconstruct.hh | 11 +- lily/include/text-item.hh | 1 + lily/lily-version.cc | 16 + lily/main.cc | 21 +- lily/midi-output.cc | 9 +- lily/note.cc | 77 +- lily/notename.cc | 50 - lily/parser.y | 23 +- lily/qlp.cc | 3 + lily/qlpsolve.cc | 3 + lily/tex-stream.cc | 2 +- lily/version.cc | 15 +- make/ACVariables.make.in | 16 - make/Configure_variables.make.in | 24 + make/Include.make | 2 +- make/Initial.make | 4 +- make/Makefile | 6 +- make/Rules.make | 49 +- make/Stuff.make | 1 - make/Targets.make | 107 +- make/Template.make | 2 +- make/User.make | 3 +- make/Variables.make | 62 +- make/configure.in | 85 -- make/lilypond.spec | 40 - make/lilypond.spec.in | 42 + mi2mu/.version | 2 +- mi2mu/Makefile | 21 +- mi2mu/include/Makefile | 2 +- mi2mu/include/midi-global.hh | 5 +- mi2mu/lily-stream.cc | 4 +- mi2mu/main.cc | 4 +- mi2mu/version.cc | 15 +- tex/Makefile | 9 +- 87 files changed, 4041 insertions(+), 769 deletions(-) create mode 100644 Documentation/INSTALL.pod create mode 100644 Documentation/lelie_logo.gif delete mode 100644 Documentation/lelie_logo.png rename Documentation/{README.pod => lilypond.pod} (76%) delete mode 100644 INSTALL create mode 100644 INSTALL.text delete mode 100755 bin/make_fversion create mode 100644 configure.in create mode 100644 flower/config.hh.in create mode 100644 flower/configure create mode 100644 flower/configure.in create mode 100644 flower/lib/flower-version.cc delete mode 100644 flower/lib/include/flower-config.hh create mode 100755 install-sh create mode 100644 lily/.version create mode 100644 lily/lily-version.cc delete mode 100644 lily/notename.cc delete mode 100644 make/ACVariables.make.in create mode 100644 make/Configure_variables.make.in delete mode 100644 make/configure.in delete mode 100644 make/lilypond.spec create mode 100644 make/lilypond.spec.in diff --git a/.version b/.version index 6bdeb26877..71f7750ff1 100644 --- 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 = # diff --git a/Documentation/CodingStyle.pod b/Documentation/CodingStyle.pod index a23cd5f46e..8df4c8fd42 100644 --- a/Documentation/CodingStyle.pod +++ b/Documentation/CodingStyle.pod @@ -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 index 0000000000..4a389171dd --- /dev/null +++ b/Documentation/INSTALL.pod @@ -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 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. + +=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. + + +=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 + + Jan Nieuwenhuizen + + +Have fun! diff --git a/Documentation/Makefile b/Documentation/Makefile index e95293e314..9f74fbb9a9 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -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/index.pod b/Documentation/index.pod index 4e12783de1..ce39a3e5b8 100644 --- a/Documentation/index.pod +++ b/Documentation/index.pod @@ -88,12 +88,13 @@ The DOC++ documentation of the C++ sources. + =item * - -Get it! - +Get it at ftp://pcnov095.win.tue.nl/pub/lilypond ! +=cut +niet veranderen in expliciete URL. pod2* doet dit automaties. +=pod + =head1 AUTHOR diff --git a/Documentation/language.pod b/Documentation/language.pod index 88a008ca23..4b74742642 100644 --- a/Documentation/language.pod +++ b/Documentation/language.pod @@ -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 index 0000000000000000000000000000000000000000..d6060994571a0a28a0f01b62f9c8b28a74cacf21 GIT binary patch literal 4430 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 Gi2nmo^Ll9j literal 0 HcmV?d00001 diff --git a/Documentation/lelie_logo.png b/Documentation/lelie_logo.png deleted file mode 100644 index deaaa9d45c27f0125078ccb396719eccca360e0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10285 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 S#7Q^|h)|Z-kgG*nKKmaqOD3iO diff --git a/Documentation/README.pod b/Documentation/lilypond.pod similarity index 76% rename from Documentation/README.pod rename to Documentation/lilypond.pod index 90376b754a..09ce63e36e 100644 --- a/Documentation/README.pod +++ b/Documentation/lilypond.pod @@ -8,12 +8,60 @@ LilyPond - a music typesetter =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: +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, + +add F 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!) + +=item B<-o,--output=>F, + +Set the default output file to F. + +=item B<-h,--help>, + +Show a summary of usage + +=item B<-i,--init=>F + +set init file to F (default: F) + +=item B<--include, -I>=F +add F to the search path for input files. + +=back + +=head1 FEATURES =over 5 @@ -24,6 +72,9 @@ 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. @@ -112,46 +163,6 @@ broken systems. =back -=head1 OPTIONS - -=over 5 - -=item B<-I,--include>=F, - -add F 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!) - -=item B<-o,--output=>F, - -Set the default output file to F. - -=item B<-h,--help>, - -Show a summary of usage - -=item B<-i,--init=>F - -set init file to F (default: F) - -=item B<--include, -I>=F -add F to the search path for input files. - -=back - =head1 DISCLAIMER & COPYING POLICY @@ -161,72 +172,6 @@ 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 -=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 @@ -236,7 +181,8 @@ Han-Wen Nienhuys , Main author =item * Jan Nieuwenhuizen , Context errors, Lyrics, -bits of FlowerLib, general comments. +mi2mu, MIDI stuff, make structure, bits of FlowerLib, general +comments. =item * Mats Bengtsson , bugfixes, testing, general comments. @@ -258,21 +204,14 @@ quality. If you're not discouraged; this is what I type in my xterm: 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] + 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 ... - 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... + 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) diff --git a/INSTALL b/INSTALL deleted file mode 100644 index c36823be78..0000000000 --- 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 index 0000000000..515c41da0f --- /dev/null +++ b/INSTALL.text @@ -0,0 +1,198 @@ + + + +INSTALL(1) LilyPond documentation INSTALL(1) + + +NNNNAAAAMMMMEEEE + INSTALL - installing LilyPond + +DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN + This page documents installation and compilation of + LilyPond + +IIIIMMMMPPPPOOOORRRRTTTTAAAANNNNTTTT + if you have downloaded a + + *.pre* + + version, then this is version is _n_o_t meant for producing + nice output, but to keep your patchsets up to date. It + might not even compile. + +PPPPRRRREEEERRRREEEEQQQQUUUUIIIISSSSIIIITTTTEEEESSSS + For compilation you need. + + +o 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. + + +o 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. + + +o Bash. Most scripts will continue to work with a stock + sh, but they will generate (harmless) syntax errors + + +o GNU make. + + +o Flex (2.5.1 or better). + + +o Bison. + +RRRREEEECCCCOOOOMMMMMMMMEEEENNNNDDDDEEEEDDDD + +o Perl. Some (mostly unimportant scripts) use Perl for + trivial operations. The documentation was created + with the perl's Plain Old Documentation. + + +o (GNU) find + +CCCCOOOONNNNFFFFIIIIGGGGUUUURRRRIIIINNNNGGGG aaaannnndddd CCCCOOOOMMMMPPPPIIIILLLLIIIINNNNGGGG + 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 --------eeeennnnaaaabbbblllleeee----tttteeeexxxxpppprrrreeeeffffiiiixxxx. 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 --------hhhheeeellllpppp. 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 --------eeeennnnaaaabbbblllleeee----ooooppppttttiiiimmmmiiiisssseeee 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 _b_i_n_/. + +RRRRUUUUNNNNNNNNIIIINNNNGGGG + LilyPond does use a lot of resources. For operation you + need the following: + + +o A fast computer (a full page of music typically takes 1 + minute on my 486/66, using the --------eeeennnnaaaabbbblllleeee----cccchhhheeeecccckkkkiiiinnnngggg + compile. It's lot slower than most MusiXTeX + preprocessors) + + +o TeX + + + + +14/Mar/97 LilyPond 0.0.41 2 + + + + + +INSTALL(1) LilyPond documentation INSTALL(1) + + + +o The MusixTeX fonts. (I use those found in MusixTeX T.59) + + Please refer to the man page for more information. + +RRRREEEEDDDDHHHHAAAATTTT LLLLIIIINNNNUUUUXXXX + RedHat Linux users should be able to get a RPM. A spec + file is in _m_a_k_e_/_l_i_l_y_p_o_n_d_._s_p_e_c. + +WWWWIIIINNNNDDDDOOOOZZZZEEEE + 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 + + +PPPPLLLLAAAATTTTFFFFOOOORRRRMMMMSSSS + 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] + + +AAAAUUUUTTTTHHHHOOOORRRRSSSS + Han-Wen Nienhuys + + Jan Nieuwenhuizen + + Have fun! + + + + + + + + + + + + + + + + + + + + + +14/Mar/97 LilyPond 0.0.41 3 + + diff --git a/Makefile b/Makefile index bbbf5763ce..9c9f9b7737 100644 --- 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 d62e32a4d2..c4e313d9b9 100644 --- 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 8a04265c35..9042e4f255 100644 --- 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 89b5570bf1..8f67365717 100644 --- 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? diff --git a/bin/Makefile b/bin/Makefile index e9f5521e5e..c1c0767811 100644 --- a/bin/Makefile +++ b/bin/Makefile @@ -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) # diff --git a/bin/cpgento b/bin/cpgento index 2bb4da29af..74f77787db 100755 --- a/bin/cpgento +++ b/bin/cpgento @@ -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 index 185eaae445..0000000000 --- a/bin/make_fversion +++ /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' diff --git a/bin/make_patch b/bin/make_patch index f74f1ea0cd..8ec7326f7b 100755 --- a/bin/make_patch +++ b/bin/make_patch @@ -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 diff --git a/bin/make_version b/bin/make_version index fe5cb05c89..29b768c1e8 100755 --- a/bin/make_version +++ b/bin/make_version @@ -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\" diff --git a/configure b/configure index bf45d57827..bd351d2ca4 100755 --- a/configure +++ b/configure @@ -1,51 +1,1424 @@ -#!/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 -# Jan Nieuwenhuizen -# +# 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 <&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 +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 +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 </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 < 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 <> $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 index 0000000000..4e48c76e27 --- /dev/null +++ b/configure.in @@ -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 diff --git a/flower/.version b/flower/.version index 6c589619a0..45d4ace492 100644 --- a/flower/.version +++ b/flower/.version @@ -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" # diff --git a/flower/Makefile b/flower/Makefile index abca493fbd..a4ee94bd5d 100644 --- a/flower/Makefile +++ b/flower/Makefile @@ -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 diff --git a/flower/NEWS b/flower/NEWS index 836eccbee0..e4d17c55f5 100644 --- a/flower/NEWS +++ b/flower/NEWS @@ -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. diff --git a/flower/TODO b/flower/TODO index 822cd0287f..a0188c47f8 100644 --- a/flower/TODO +++ b/flower/TODO @@ -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 index 0000000000..8747c8ffe4 --- /dev/null +++ b/flower/config.hh.in @@ -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 index 0000000000..0376cf7672 --- /dev/null +++ b/flower/configure @@ -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 <&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 <&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 <&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 < +/* 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 < +/* 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 < +/* 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 <&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 </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 < 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 <> $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 <> $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 index 0000000000..abfa94ca2e --- /dev/null +++ b/flower/configure.in @@ -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() diff --git a/flower/lib/Makefile b/flower/lib/Makefile index 893c30f922..0c1d299dca 100644 --- a/flower/lib/Makefile +++ b/flower/lib/Makefile @@ -13,42 +13,42 @@ 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) # diff --git a/flower/lib/dstream.cc b/flower/lib/dstream.cc index e6fdbc0e4d..1197dd79e7 100644 --- a/flower/lib/dstream.cc +++ b/flower/lib/dstream.cc @@ -1,3 +1,5 @@ + + #include #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 index 0000000000..83a69c0cef --- /dev/null +++ b/flower/lib/flower-version.cc @@ -0,0 +1,16 @@ +#include "../out/version.hh" // urg +#include + +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; +} diff --git a/flower/lib/include/Makefile b/flower/lib/include/Makefile index 36059a888f..1a7272a1d8 100644 --- a/flower/lib/include/Makefile +++ b/flower/lib/include/Makefile @@ -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 index e69de29bb2..0000000000 diff --git a/flower/lib/include/fproto.hh b/flower/lib/include/fproto.hh index 8c6fda680e..01ebe64b6f 100644 --- a/flower/lib/include/fproto.hh +++ b/flower/lib/include/fproto.hh @@ -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 struct Array; template struct sstack; @@ -19,7 +27,9 @@ template struct Cursor; template struct PCursor; template struct Link; template struct Handle; -templatestruct Interval_t; +template struct Interval_t; +template struct PQueue; + #include "real.hh" typedef Interval_t Interval; diff --git a/flower/lib/include/libc-extension.hh b/flower/lib/include/libc-extension.hh index e71037c41e..dec8f24bdc 100644 --- a/flower/lib/include/libc-extension.hh +++ b/flower/lib/include/libc-extension.hh @@ -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); diff --git a/flower/lib/include/pqueue.hh b/flower/lib/include/pqueue.hh index 195232317e..c8dfe1bea6 100644 --- a/flower/lib/include/pqueue.hh +++ b/flower/lib/include/pqueue.hh @@ -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 */ template @@ -22,23 +24,47 @@ struct PQueue { Array value_arr_; Array 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; } diff --git a/flower/lib/include/string-convert.hh b/flower/lib/include/string-convert.hh index bcf461f8f3..f6bcfa7fae 100644 --- a/flower/lib/include/string-convert.hh +++ b/flower/lib/include/string-convert.hh @@ -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 // diff --git a/flower/lib/libc-extension.cc b/flower/lib/libc-extension.cc index f9a255683e..3a89e81008 100644 --- a/flower/lib/libc-extension.cc +++ b/flower/lib/libc-extension.cc @@ -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; diff --git a/flower/lib/string-convert.cc b/flower/lib/string-convert.cc index 47649dcc88..0e2566f087 100644 --- a/flower/lib/string-convert.cc +++ b/flower/lib/string-convert.cc @@ -6,6 +6,7 @@ #include +#include #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"); } diff --git a/flower/test/Makefile b/flower/test/Makefile index 0ec87161b5..14bf4b9916 100644 --- a/flower/test/Makefile +++ b/flower/test/Makefile @@ -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: diff --git a/flower/test/stringtest.cc b/flower/test/stringtest.cc index 5b4ace1b2f..adf545b172 100644 --- a/flower/test/stringtest.cc +++ b/flower/test/stringtest.cc @@ -72,12 +72,12 @@ kutenpeer() } str = "blonde haren"; cout << str< include_stack_; Assoc *identifier_assoc_p_; Keyword_table * keytable_p_; diff --git a/lily/include/main.hh b/lily/include/main.hh index fe4f9ad8c2..203eac71ae 100644 --- a/lily/include/main.hh +++ b/lily/include/main.hh @@ -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; diff --git a/lily/include/notename.hh b/lily/include/notename.hh index b533f4d360..7aa8397af8 100644 --- a/lily/include/notename.hh +++ b/lily/include/notename.hh @@ -6,7 +6,7 @@ #ifndef NOTENAME_HH #define NOTENAME_HH - +#error OBSOLETE! #include "string.hh" struct Notename_tab { diff --git a/lily/include/parseconstruct.hh b/lily/include/parseconstruct.hh index ff47bdcbad..6a44167532 100644 --- a/lily/include/parseconstruct.hh +++ b/lily/include/parseconstruct.hh @@ -11,18 +11,15 @@ 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&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 ); diff --git a/lily/include/text-item.hh b/lily/include/text-item.hh index d5ff7405e1..ba81fce474 100644 --- a/lily/include/text-item.hh +++ b/lily/include/text-item.hh @@ -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 index 0000000000..fff9ec7f8a --- /dev/null +++ b/lily/lily-version.cc @@ -0,0 +1,16 @@ +#include "version.hh" +#include + +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; +} diff --git a/lily/main.cc b/lily/main.cc index 1073f940bf..43a44f3c52 100644 --- a/lily/main.cc +++ b/lily/main.cc @@ -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 \n" - "Contributors\n" " Jan Nieuwenhuizen \n" + "Contributors\n" " Mats Bengtsson \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()) { diff --git a/lily/midi-output.cc b/lily/midi-output.cc index 9d2407244c..72f71de64e 100644 --- a/lily/midi-output.cc +++ b/lily/midi-output.cc @@ -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; } diff --git a/lily/note.cc b/lily/note.cc index 475e3e08ba..267a0de696 100644 --- a/lily/note.cc +++ b/lily/note.cc @@ -16,22 +16,29 @@ #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 index 99abaf605f..0000000000 --- a/lily/notename.cc +++ /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 diff --git a/lily/parser.y b/lily/parser.y index bc8876b5e4..e30f2da400 100644 --- a/lily/parser.y +++ b/lily/parser.y @@ -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($$); } ; diff --git a/lily/qlp.cc b/lily/qlp.cc index e6696acf39..7eac50596c 100644 --- a/lily/qlp.cc +++ b/lily/qlp.cc @@ -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); diff --git a/lily/qlpsolve.cc b/lily/qlpsolve.cc index 5738be2f3b..ebf71b7242 100644 --- a/lily/qlpsolve.cc +++ b/lily/qlpsolve.cc @@ -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); diff --git a/lily/tex-stream.cc b/lily/tex-stream.cc index 06459a2d72..2125593ab6 100644 --- a/lily/tex-stream.cc +++ b/lily/tex-stream.cc @@ -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); diff --git a/lily/version.cc b/lily/version.cc index b2a57def4a..5b24591c5b 100644 --- a/lily/version.cc +++ b/lily/version.cc @@ -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 index 3a07df7b4d..0000000000 --- a/make/ACVariables.make.in +++ /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 index 0000000000..22d1becc05 --- /dev/null +++ b/make/Configure_variables.make.in @@ -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@ diff --git a/make/Include.make b/make/Include.make index 017694538f..b8f1255cf2 100644 --- a/make/Include.make +++ b/make/Include.make @@ -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: diff --git a/make/Initial.make b/make/Initial.make index 444eb661ca..f2f5f9aecb 100644 --- a/make/Initial.make +++ b/make/Initial.make @@ -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: diff --git a/make/Makefile b/make/Makefile index eef8cbf3bd..30fbad011d 100644 --- a/make/Makefile +++ b/make/Makefile @@ -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 diff --git a/make/Rules.make b/make/Rules.make index e574fb4ee1..1389ef4bd7 100644 --- a/make/Rules.make +++ b/make/Rules.make @@ -21,31 +21,34 @@ # 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 # diff --git a/make/Stuff.make b/make/Stuff.make index 69cf6d70d7..6a71b90848 100644 --- a/make/Stuff.make +++ b/make/Stuff.make @@ -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: diff --git a/make/Targets.make b/make/Targets.make index 1b894002bc..8173b9e079 100644 --- a/make/Targets.make +++ b/make/Targets.make @@ -12,7 +12,10 @@ # 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: diff --git a/make/Template.make b/make/Template.make index d40318e37e..2d6397f5e8 100644 --- a/make/Template.make +++ b/make/Template.make @@ -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: diff --git a/make/User.make b/make/User.make index 383f6d4777..05fac713f5 100644 --- a/make/User.make +++ b/make/User.make @@ -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. diff --git a/make/Variables.make b/make/Variables.make index fbfb76cfa4..3c74750c92 100644 --- a/make/Variables.make +++ b/make/Variables.make @@ -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 @@ -12,11 +13,17 @@ # 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 index 2e80c14fa8..0000000000 --- a/make/configure.in +++ /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 index f7b50561d4..0000000000 --- a/make/lilypond.spec +++ /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 index 0000000000..18d469b45e --- /dev/null +++ b/make/lilypond.spec.in @@ -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 +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 + diff --git a/mi2mu/.version b/mi2mu/.version index a1f2c4cba6..94361e906e 100644 --- a/mi2mu/.version +++ b/mi2mu/.version @@ -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" # diff --git a/mi2mu/Makefile b/mi2mu/Makefile index 372695f7bd..10a7f1ef53 100644 --- a/mi2mu/Makefile +++ b/mi2mu/Makefile @@ -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) # diff --git a/mi2mu/include/Makefile b/mi2mu/include/Makefile index cb4f4ea6d1..6860a29536 100644 --- a/mi2mu/include/Makefile +++ b/mi2mu/include/Makefile @@ -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 diff --git a/mi2mu/include/midi-global.hh b/mi2mu/include/midi-global.hh index 0e8644376d..0ab49a340d 100644 --- a/mi2mu/include/midi-global.hh +++ b/mi2mu/include/midi-global.hh @@ -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 diff --git a/mi2mu/lily-stream.cc b/mi2mu/lily-stream.cc index da6890aa97..2ac5bc778d 100644 --- a/mi2mu/lily-stream.cc +++ b/mi2mu/lily-stream.cc @@ -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 ); diff --git a/mi2mu/main.cc b/mi2mu/main.cc index 023a4fed26..e04cb02b09 100644 --- a/mi2mu/main.cc +++ b/mi2mu/main.cc @@ -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 diff --git a/mi2mu/version.cc b/mi2mu/version.cc index cb58c6b5b2..d9fe95dac7 100644 --- a/mi2mu/version.cc +++ b/mi2mu/version.cc @@ -1,18 +1,13 @@ -// -// version.cc -- implement inexpensive versioning -// -// copyright 1997 Jan Nieuwenhuizen - #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__; } diff --git a/tex/Makefile b/tex/Makefile index 7098987a94..35004f0f6d 100644 --- a/tex/Makefile +++ b/tex/Makefile @@ -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 -- 2.39.2