\vskip5mm
-\listfont{\fetatwenty}{0}{78}
+\listfont{\fetatwenty}{0}{123}
% urg
\vskip-\charheight
-\vskip-\charheight
\listfont{\fetanumber}{48}{58}
\vskip-\charheight
\listfont{\fetafinger}{48}{58}
+
+
+pl5.szmulewicz1
+ - rtti stuff
+ - bf's: lily.scm
+
+pl5.mb1
+ - bf: array.hh, don't make copy if resized to the same size
+ - bf: feta.tex
+
pl5.jcn4
- scm additions: plet, hairpin
- website fixes
- tex/lily-ps-defs.tex fixes
- lily.ps
+pl 5.hwn1
+ - Tuplet_engraver
+ - lily.ps fix.
+ - junked MY_RTTI stuff, simpler VIRTUAL_COPY_CONS
+
********
1.1.5
BUGS:
+
* gallina barlines.
* latex bla.tex broken (titles / \lilyfooter stuff?)
- * --safe: disallow backslashes, disallow \include.
-
* msgfmt -o check?
* \breathmark TeX macro
portato= \script { "portato" 0 -1 0 1 0 }
+STUFF
+
+ * move option processing out of gh_enter
+
+ * check out GCC signatures?
+
* Align_element::padding ?
* uniformise property names.
* make engraver hacking robust.
+ * --safe: disallow backslashes, disallow \include.
+
* use streambufs and iostream
to provide IO handling for TeX stream, mudela stream, data-file.
- junk _ for lyrics.
- abstract grammar.
- * install TeX stuff into tex/generic directory.
-
* percussion note heads
* mi2mu empty staffs.
* Flower types:
- A decent scalar type
- - String hash
- - Pointer hash
* binsearch/hash for identifiers
IDEAS
-
* Output data structures of Mudela in XML/SGML.
* create libmudela, or liblily_frontend
* move MIDI stuff (including Quantization) to a ANSI C libmidi library.
* use an embedded language: Python, Scheme
- for:
+ for:
- Score_elems
- Translators
* caching breakpoints
- * breath marks
-
* used fixedpoint arithmetic for min. energy.
* move towards incremental algorithms.
PACKAGE_NAME=LilyPond
MAJOR_VERSION=1
MINOR_VERSION=1
-PATCH_LEVEL=5
-MY_PATCH_LEVEL=jcn4
+PATCH_LEVEL=6
+MY_PATCH_LEVEL=
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
# include an empty path component for the system wide includes.
MFINPUTS="@datadir@/mf:"${MFINPUTS:=":"}
-TEXINPUTS="@datadir@/tex:"${TEXINPUTS:=":"}
+TEXINPUTS="@datadir@/tex:@datadir@/ps:"${TEXINPUTS:=":"}
+
GUILE_LOAD_PATH="@datadir@/scm:$GUILE_LOAD_PATH"
export GUILE_LOAD_PATH LILYINCLUDE MFINPUTS TEXINPUTS GS_LIB GS_FONTPATH
-#! /bin/sh
-
-ac_help="$ac_help
- --with-gtkmm-prefix=PREFIX
- Prefix where GTK-- is installed (optional)"
-# Check whether --with-gtkmm-prefix or --without-gtkmm-prefix was given.
-if test "${with_gtkmm_prefix+set}" = set; then
- withval="$with_gtkmm_prefix"
- gtkmm_config_prefix="$withval"
-else
- gtkmm_config_prefix=""
-fi
-
-ac_help="$ac_help
- --with-gtkmm-exec-prefix=PREFIX
- Exec prefix where GTK-- is installed (optional)"
-# Check whether --with-gtkmm-exec-prefix or --without-gtkmm-exec-prefix was given.
-if test "${with_gtkmm_exec_prefix+set}" = set; then
- withval="$with_gtkmm_exec_prefix"
- gtkmm_config_exec_prefix="$withval"
-else
- gtkmm_config_exec_prefix=""
-fi
-
-ac_help="$ac_help
- --disable-gtkmmtest Do not try to compile and run a test GTK-- program"
-# Check whether --enable-gtkmmtest or --disable-gtkmmtest was given.
-if test "${enable_gtkmmtest+set}" = set; then
- enableval="$enable_gtkmmtest"
- :
-else
- enable_gtkmmtest=yes
-fi
-
-
- if test x$gtkmm_config_exec_prefix != x ; then
- gtkmm_config_args="$gtkmm_config_args --exec-prefix=$gtkmm_config_exec_prefix"
- if test x${GTKMM_CONFIG+set} != xset ; then
- GTKMM_CONFIG=$gtkmm_config_exec_prefix/bin/gtkmm-config
- fi
- fi
- if test x$gtkmm_config_prefix != x ; then
- gtkmm_config_args="$gtkmm_config_args --prefix=$gtkmm_config_prefix"
- if test x${GTKMM_CONFIG+set} != xset ; then
- GTKMM_CONFIG=$gtkmm_config_prefix/bin/gtkmm-config
- fi
- fi
-
-
-
-
-# Configure paths for GTK--DRAW
-# Derek Quinn Wyatt 98-08-21 (adapted from Jan Nieuwenhuizen's code)
-
-
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.12
-# 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:
-ac_help="$ac_help
- enable-config=FILE put configure settings in config-FILE.make"
-ac_help="$ac_help
- enable-checking set runtime checks (assert calls). Default: on"
-ac_help="$ac_help
- enable-optimise use maximal speed optimisations. Default: off"
-ac_help="$ac_help
- enable-profiling compile with gprof support. Default: off"
-ac_help="$ac_help
- enable-debugging set debug info. Default: on"
-ac_help="$ac_help
- enable-mingw-prefix=DIR set the mingw32 directory (standalone windows32 exes)"
-ac_help="$ac_help
- enable-printing turn on debug printing. Default: off"
-ac_help="$ac_help
- with-localedir=LOCALE use LOCALE as locale dir. Default: PREFIX/share/locale "
-ac_help="$ac_help
- with-lang=LANG use LANG as language to emit messages"
-
-# 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=
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-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.12"
- 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 these to C if already set. These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; 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=make/lilypond.lsm.in
-
-# 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'
-cross_compiling=$ac_cv_prog_cc_cross
-
-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
-
-
-
-
-# Bootstrap StepMake configure
-
-
- . $srcdir/VERSION
- FULL_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$PATCH_LEVEL
- if test x$MY_PATCH_LEVEL != x; then
- FULL_VERSION=$FULL_VERSION.$MY_PATCH_LEVEL
- fi
-
- # urg: don't "fix" this: irix doesn't know about [:lower:] and [:upper:]
- PACKAGE=`echo $PACKAGE_NAME | tr '[a-z]' '[A-Z]'`
- package=`echo $PACKAGE_NAME | tr '[A-Z]' '[a-z]'`
-
- # No versioning on directory names of sub-packages
- # urg, urg
- stepmake=${datadir}/stepmake
- presome=${prefix}
- if test "$prefix" = "NONE"; then
- presome=${ac_default_prefix}
- fi
- stepmake=`echo ${stepmake} | sed "s!\\\${prefix}!$presome!"`
-
- if test "x$PACKAGE" = "xSTEPMAKE"; then
- echo Stepmake package!
- (cd stepmake; rm -f stepmake; ln -s ../stepmake .)
- (cd stepmake; rm -f bin; ln -s ../bin .)
- ac_aux_dir=
-for ac_dir in bin $srcdir/bin; 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 bin $srcdir/bin" 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.
-
- stepmake=stepmake
- else
- echo Package: $PACKAGE
- # Check for installed stepmake
- if test -d $stepmake; then
- echo Using installed stepmake: $stepmake
- else
- stepmake='$(depth)'/stepmake
- echo Using local stepmake: $datadir/stepmake not found
- fi
- ac_aux_dir=
-for ac_dir in \
- $HOME/usr/local/share/stepmake/bin\
- $HOME/usr/local/lib/stepmake/bin\
- $HOME/usr/share/stepmake/bin\
- $HOME/usr/lib/stepmake/bin\
- /usr/local/share/stepmake/bin\
- /usr/local/lib/stepmake/bin\
- /usr/share/stepmake/bin\
- /usr/lib/stepmake/bin\
- stepmake/bin\
- $srcdir/\
- $HOME/usr/local/share/stepmake/bin\
- $HOME/usr/local/lib/stepmake/bin\
- $HOME/usr/share/stepmake/bin\
- $HOME/usr/lib/stepmake/bin\
- /usr/local/share/stepmake/bin\
- /usr/local/lib/stepmake/bin\
- /usr/share/stepmake/bin\
- /usr/lib/stepmake/bin\
- stepmake/bin\
- ; 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 \
- $HOME/usr/local/share/stepmake/bin\
- $HOME/usr/local/lib/stepmake/bin\
- $HOME/usr/share/stepmake/bin\
- $HOME/usr/lib/stepmake/bin\
- /usr/local/share/stepmake/bin\
- /usr/local/lib/stepmake/bin\
- /usr/share/stepmake/bin\
- /usr/lib/stepmake/bin\
- stepmake/bin\
- $srcdir/\
- $HOME/usr/local/share/stepmake/bin\
- $HOME/usr/local/lib/stepmake/bin\
- $HOME/usr/share/stepmake/bin\
- $HOME/usr/lib/stepmake/bin\
- /usr/local/share/stepmake/bin\
- /usr/local/lib/stepmake/bin\
- /usr/share/stepmake/bin\
- /usr/lib/stepmake/bin\
- stepmake/bin\
- " 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.
-
- fi
-
-
-
-
-
- cat >> confdefs.h <<EOF
-#define PACKAGE "${PACKAGE_NAME}"
-EOF
-
- cat >> confdefs.h <<EOF
-#define TOPLEVEL_VERSION "${FULL_VERSION}"
-EOF
-
-
- package_depth=`dirname $cache_file`
-
-
- AUTOGENERATE="This file was automatically generated by configure"
-
- absolute_builddir="`pwd`"
-
-
- STATE_VECTOR=`ls make/STATE-VECTOR 2>/dev/null`
- if test "x$STATE_VECTOR" != "x"; then
- STATE_VECTOR="\$(depth)/$STATE_VECTOR"
- fi
-
-
- CONFIGSUFFIX=
- # Check whether --enable-config or --disable-config was given.
-if test "${enable_config+set}" = set; then
- enableval="$enable_config"
- CONFIGSUFFIX=$enableval
-fi
-
-
- if test "$CONFIGSUFFIX" != "" ; then
- CONFIGFILE=config-$CONFIGSUFFIX
- else
- CONFIGFILE=config
- fi
-
-
-
-# Make sure we can run config.sub.
-if $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:761: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
- case $nonopt in
- NONE)
- if host_alias=`$ac_config_guess`; then :
- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
- fi ;;
- *) host_alias=$nonopt ;;
- esac ;;
-esac
-
-host=`$ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
- 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
-echo "configure:786: checking for $ac_word" >&5
-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 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
-echo "configure:820: checking for $ac_word" >&5
-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"
-
-
-
-
- for ac_prog in tar
-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
-echo "configure:857: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_TAR'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$TAR"; then
- ac_cv_prog_TAR="$TAR" # 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_TAR="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-TAR="$ac_cv_prog_TAR"
-if test -n "$TAR"; then
- echo "$ac_t""$TAR" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$TAR" && break
-done
-test -n "$TAR" || TAR="error"
-
- for ac_prog in bash
-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
-echo "configure:891: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_BASH'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$BASH"; then
- ac_cv_prog_BASH="$BASH" # 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_BASH="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-BASH="$ac_cv_prog_BASH"
-if test -n "$BASH"; then
- echo "$ac_t""$BASH" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$BASH" && break
-done
-test -n "$BASH" || BASH="/bin/sh"
-
-
- # Extract the first word of "${PYTHON:-python}", so it can be a program name with args.
-set dummy ${PYTHON:-python}; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:924: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_PYTHON'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$PYTHON" in
- /*)
- ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
- ;;
- *)
- 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_path_PYTHON="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_PYTHON" && ac_cv_path_PYTHON="-echo no python"
- ;;
-esac
-fi
-PYTHON="$ac_cv_path_PYTHON"
-if test -n "$PYTHON"; then
- echo "$ac_t""$PYTHON" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-
-
-
- result="`echo \"$MAKE\" | grep echo`"
- if test "x$MAKE" = "xerror" -o "x$result" != "x"; then
-
- echo "configure: warning: can\'t find GNU make. You should install GNU make" 1>&2
- warn_b=yes
-
- fi
-
- if test $MAKE != "error" ; then
- $MAKE -v| grep GNU > /dev/null
- if test "$?" = 1
- then
-
- echo "configure: warning: Please install *GNU* make" 1>&2
- warn_b=yes
-
- fi
- fi
-
-
- result="`echo \"$PYTHON\" | grep echo`"
- if test "x$PYTHON" = "xerror" -o "x$result" != "x"; then
-
- echo "configure: warning: can\'t find python. You should install Python" 1>&2
- warn_b=yes
-
- fi
-
-
- if test "x$OSTYPE" = "xcygwin32" || test "x$OSTYPE" = "xWindows_NT"; then
- LN=cp # hard link does not work under cygnus-nt
- LN_S=cp # symbolic link does not work for native nt
- ZIP="zip -r -9" #
- DOTEXE=.exe
- DIRSEP='\\'
- PATHSEP=';'
- INSTALL="\$(SHELL) \$(stepdir)/../bin/install-dot-exe.sh -c"
- else
- DIRSEP='/'
- PATHSEP=':'
- LN=ln
- LN_S='ln -s'
- ZIP="zip -r -9"
- INSTALL="\$(SHELL) \$(stepdir)/../bin/install-sh -c"
- fi
-
-
-
-
-
- cat >> confdefs.h <<EOF
-#define DIRSEP '${DIRSEP}'
-EOF
-
- cat >> confdefs.h <<EOF
-#define PATHSEP '${PATHSEP}'
-EOF
-
-
-
-
-
-
- if test "$datadir" = "\${prefix}/share"; then
- datadir='${prefix}/share/'$package
- fi
- DIR_DATADIR=${datadir}
- presome=${prefix}
- if test "$prefix" = "NONE"; then
- presome=${ac_default_prefix}
- fi
- DIR_DATADIR=`echo ${DIR_DATADIR} | sed "s!\\\${prefix}!$presome!"`
-
-
- cat >> confdefs.h <<EOF
-#define DIR_DATADIR "${DIR_DATADIR}"
-EOF
-
-
-
-
-# For all packages except the StepMake package itself
-subdirs="stepmake"
-
-
-# Uncomment the configuration options your package needs.
-
- # -O is necessary to get inlining
- OPTIMIZE=""
- CXXFLAGS=${CXXFLAGS:-""}
- CFLAGS=${CFLAGS:-""}
- checking_b=yes
- optimise_b=no
- profile_b=no
- debug_b=yes
-
- # Check whether --enable-checking or --disable-checking was given.
-if test "${enable_checking+set}" = set; then
- enableval="$enable_checking"
- checking_b=$enableval
-fi
-
-
- # actually, the default is: tja='-O' to get inlining...
- # off='' --jcn
-
- #actually, that sucks.
- # tja looks like a typo. Default is optimisation off. --hwn
-
- # Check whether --enable-optimise or --disable-optimise was given.
-if test "${enable_optimise+set}" = set; then
- enableval="$enable_optimise"
- optimise_b=$enableval
-fi
-
-
- # Check whether --enable-profiling or --disable-profiling was given.
-if test "${enable_profiling+set}" = set; then
- enableval="$enable_profiling"
- profile_b=$enableval
-fi
-
-
- # Check whether --enable-debugging or --disable-debugging was given.
-if test "${enable_debugging+set}" = set; then
- enableval="$enable_debugging"
- debug_b=$enableval
-fi
-
-
- # Check whether --enable-mingw-prefix or --disable-mingw-prefix was given.
-if test "${enable_mingw_prefix+set}" = set; then
- enableval="$enable_mingw_prefix"
- MINGWPREFIX=$enableval
-else
- MINGWPREFIX=no
-fi
-
-
- if test "$printing_b" = no; then
- # ugh
- cat >> confdefs.h <<\EOF
-#define NPRINT 1
-EOF
-
- DEFINES="$DEFINES -DNPRINT"
- fi
-
- if test "$checking_b" = no; then
- # ugh
- cat >> confdefs.h <<\EOF
-#define NDEBUG 1
-EOF
-
- DEFINES="$DEFINES -DNDEBUG"
- fi
-
- if test "$optimise_b" = yes; then
- OPTIMIZE="-O2 -finline-functions"
- fi
-
- if test "$optimise_b" = no; then
- OPTIMIZE=""
- fi
-
- if test $profile_b = yes; then
- EXTRA_LIBES="-pg"
- OPTIMIZE="$OPTIMIZE -pg"
- fi
-
- if test $debug_b = yes; then
- OPTIMIZE="$OPTIMIZE -g"
- fi
-
- # however, C++ support in mingw32 v 0.1.4 is still flaky
- if test x$MINGWPREFIX != xno; then
- ICFLAGS="-I$MINGWPREFIX/include"
- ILDFLAGS="-$MINGWPREFIX/lib"
- fi
-
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1140: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # 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_CC="gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1169: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- ac_prog_rejected=no
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# -gt 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- set dummy "$ac_dir/$ac_word" "$@"
- shift
- ac_cv_prog_CC="$@"
- fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1217: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
-
-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'
-cross_compiling=$ac_cv_prog_cc_cross
-
-cat > conftest.$ac_ext <<EOF
-#line 1227 "configure"
-#include "confdefs.h"
-main(){return(0);}
-EOF
-if { (eval echo configure:1231: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- ac_cv_prog_cc_works=yes
- # If we can't run a trivial program, we are probably using a cross compiler.
- if (./conftest; exit) 2>/dev/null; then
- ac_cv_prog_cc_cross=no
- else
- ac_cv_prog_cc_cross=yes
- fi
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- ac_cv_prog_cc_works=no
-fi
-rm -fr conftest*
-
-echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
-if test $ac_cv_prog_cc_works = no; then
- { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
-fi
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1251: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
-echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1256: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1265: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
-else
- ac_cv_prog_gcc=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1280: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
- ac_cv_prog_cc_g=yes
-else
- ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-
- LD='$(CC)'
-
-
- CPPFLAGS=${CPPFLAGS:-""}
-
-
-
-
-
-
-
-# AC_HAVE_HEADERS(limits.h malloc.h string.h unistd.h values.h)
-
-printing_b=no
-# Check whether --enable-printing or --disable-printing was given.
-if test "${enable_printing+set}" = set; then
- enableval="$enable_printing"
- printing_b=$enableval
-fi
-
-
-if test "$optimise_b" = yes; then
- DEFINES="$DEFINES -DSTRING_UTILS_INLINED"
- cat >> confdefs.h <<\EOF
-#define STRINGS_UTILS_INLINED 1
-EOF
-
-fi
-
-echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
-echo "configure:1337: checking how to run the C++ preprocessor" >&5
-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'
-cross_compiling=$ac_cv_prog_cxx_cross
- CXXCPP="${CXX-g++} -E"
- cat > conftest.$ac_ext <<EOF
-#line 1350 "configure"
-#include "confdefs.h"
-#include <stdlib.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1355: \"$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
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&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_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'
-cross_compiling=$ac_cv_prog_cxx_cross
-
- for ac_prog in $CCC c++ g++ gcc CC cxx cc++
-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
-echo "configure:1386: checking for $ac_word" >&5
-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 the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1417: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
-
-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'
-cross_compiling=$ac_cv_prog_cxx_cross
-
-cat > conftest.$ac_ext <<EOF
-#line 1427 "configure"
-#include "confdefs.h"
-main(){return(0);}
-EOF
-if { (eval echo configure:1431: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- ac_cv_prog_cxx_works=yes
- # If we can't run a trivial program, we are probably using a cross compiler.
- if (./conftest; exit) 2>/dev/null; then
- ac_cv_prog_cxx_cross=no
- else
- ac_cv_prog_cxx_cross=yes
- fi
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- ac_cv_prog_cxx_works=no
-fi
-rm -fr conftest*
-
-echo "$ac_t""$ac_cv_prog_cxx_works" 1>&6
-if test $ac_cv_prog_cxx_works = no; then
- { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
-fi
-echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1451: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
-echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
-cross_compiling=$ac_cv_prog_cxx_cross
-
-echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
-echo "configure:1456: checking whether we are using GNU C++" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.C <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1465: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gxx=yes
-else
- ac_cv_prog_gxx=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gxx" 1>&6
-
-if test $ac_cv_prog_gxx = yes; then
- GXX=yes
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS=
- echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:1480: checking whether ${CXX-g++} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cxx_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_cxx_g=yes
-else
- ac_cv_prog_cxx_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6
- if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS="$ac_save_CXXFLAGS"
- elif test $ac_cv_prog_cxx_g = yes; then
- CXXFLAGS="-g -O2"
- else
- CXXFLAGS="-O2"
- fi
-else
- GXX=
- test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
-fi
-
-
- ac_safe=`echo "FlexLexer.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for FlexLexer.h""... $ac_c" 1>&6
-echo "configure:1510: checking for FlexLexer.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1515 "configure"
-#include "confdefs.h"
-#include <FlexLexer.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1520: \"$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
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&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: warning: can"\'"t find flex header. Please install Flex headers correctly" 1>&2
- warn_b=yes
-
-fi
-
-
- CPPFLAGS="$CPPFLAGS $DEFINES"
- CXXFLAGS="$CXXFLAGS $OPTIMIZE"
- LDFLAGS=$EXTRA_LIBES
-
-
-
- LD='$(CXX)'
-
-
-
- # ugh autoconf
- if $CXX --version | grep '2\.[78]' > /dev/null ||
- $CXX --version | grep 'egcs' > /dev/null
- then
- true
- else
-
- echo "configure: warning: can\'t find g++ 2.7" 1>&2
- warn_b=yes
-
- fi
-
-
- echo $ac_n "checking whether explicit instantiation is needed""... $ac_c" 1>&6
-echo "configure:1570: checking whether explicit instantiation is needed" >&5
-if eval "test \"`echo '$''{'lily_cv_need_explicit_instantiation'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1575 "configure"
-#include "confdefs.h"
-
- template <class T> struct foo { static int baz; };
- template <class T> int foo<T>::baz = 1;
-
-int main() {
- return foo<int>::baz;
-; return 0; }
-EOF
-if { (eval echo configure:1585: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- lily_cv_need_explicit_instantiation=no
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- lily_cv_need_explicit_instantiation=yes
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$lily_cv_need_explicit_instantiation" 1>&6
- if test x"$lily_cv_need_explicit_instantiation"x = x"yes"x; then
- cat >> confdefs.h <<\EOF
-#define NEED_EXPLICIT_INSTANTIATION 1
-EOF
-
- fi
-
-
- # ugh, automake: we want (and check for) bison
- for ac_prog in 'bison -y' byacc
-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
-echo "configure:1612: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$YACC"; then
- ac_cv_prog_YACC="$YACC" # 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_YACC="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-YACC="$ac_cv_prog_YACC"
-if test -n "$YACC"; then
- echo "$ac_t""$YACC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$YACC" && break
-done
-test -n "$YACC" || YACC="yacc"
-
- # ugh, automake: we want (and check for) flex
- # AC_PROG_LEX
- # urg: automake 1.3: hope this doesn't break 1.2 ac_cv_pro_lex_root hack...
-
- # AC_DECL_YYTEXT
- # ugh, ugh
- ac_cv_prog_lex_root=lex.yy
-
- 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
-echo "configure:1654: checking for $ac_word" >&5
-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
-echo "configure:1688: checking for $ac_word" >&5
-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"
-
-
- result="`echo \"$BISON\" | grep echo`"
- if test "x$BISON" = "xerror" -o "x$result" != "x"; then
-
- echo "configure: warning: can\'t find bison. Please install Bison" 1>&2
- warn_b=yes
-
- fi
-
-
- result="`echo \"$FLEX\" | grep echo`"
- if test "x$FLEX" = "xerror" -o "x$result" != "x"; then
-
- echo "configure: warning: can\'t find flex. Please install Flex" 1>&2
- warn_b=yes
-
- fi
-
-
- if test $BISON != "error"; then
- bison_version=`$BISON --version| sed 's/^.*version 1.//g' `
- if test $bison_version -lt 25; then
-
- echo "configure: warning: Your bison is a bit old (1.$bison_version). You might have to install 1.25" 1>&2
- warn_b=yes
-
- fi
- fi
-
-
-
-
-
- for ac_prog in ar
-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
-echo "configure:1755: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # 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_AR="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-AR="$ac_cv_prog_AR"
-if test -n "$AR"; then
- echo "$ac_t""$AR" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$AR" && break
-done
-test -n "$AR" || AR="error"
-
- # 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
-echo "configure:1787: checking for $ac_word" >&5
-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_STEPMAKE_LIBTOOL
-
- lang=English
- ALL_LINGUAS="en nl"
-
- # with/enable ??
- # Check whether --with-localedir or --without-localedir was given.
-if test "${with_localedir+set}" = set; then
- withval="$with_localedir"
- localedir=$with_localedir
-else
- localedir='${prefix}/share/locale'
-fi
-
-
- # Check whether --with-lang or --without-lang was given.
-if test "${with_lang+set}" = set; then
- withval="$with_lang"
- language=$with_lang
-else
- language=English
-fi
-
-
- echo $ac_n "checking language""... $ac_c" 1>&6
-echo "configure:1842: checking language" >&5
- case "$language" in
- En* | en* | Am* | am* | US* | us*)
- lang=English;;
- NL | nl | Du* | du* | Ned* | ned*)
- lang=Dutch;;
- "")
- lang=English;;
- *)
- lang=unknown;;
- esac
- echo "$ac_t""$lang" 1>&6
-
- if test "$lang" = "unknown" ; then
-
- echo "configure: warning: $language not supported; available are: $ALL_LINGUAS" 1>&2
- warn_b=yes
-
- fi
-
-
-
- DIR_LOCALEDIR=${localedir}
- presome=${prefix}
- if test "$prefix" = "NONE"; then
- presome=${ac_default_prefix}
- fi
- DIR_LOCALEDIR=`echo ${DIR_LOCALEDIR} | sed "s!\\\${prefix}!$presome!"`
-
-
- cat >> confdefs.h <<EOF
-#define DIR_LOCALEDIR "${DIR_LOCALEDIR}"
-EOF
-
-
- echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6
-echo "configure:1878: checking for gettext in -lintl" >&5
-ac_lib_var=`echo intl'_'gettext | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lintl $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 1886 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char gettext();
-
-int main() {
-gettext()
-; return 0; }
-EOF
-if { (eval echo configure:1900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_lib=HAVE_LIB`echo intl | sed -e 's/[^a-zA-Z0-9_]/_/g' \
- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
- LIBS="-lintl $LIBS"
-
-else
- echo "$ac_t""no" 1>&6
-fi
-
- for ac_func in gettext
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1930: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1935 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* 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:1961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-
-
- # AC_CHECK_PROGS(MSGFMT, msgfmt, -echo no msgfmt)
- for ac_prog in msgfmt
-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
-echo "configure:1993: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_MSGFMT'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$MSGFMT"; then
- ac_cv_prog_MSGFMT="$MSGFMT" # 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_MSGFMT="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-MSGFMT="$ac_cv_prog_MSGFMT"
-if test -n "$MSGFMT"; then
- echo "$ac_t""$MSGFMT" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$MSGFMT" && break
-done
-test -n "$MSGFMT" || MSGFMT="\$(SHELL) \$(step-bindir)/fake-msgfmt.sh "
-
- echo $ac_n "checking whether msgfmt accepts -o""... $ac_c" 1>&6
-echo "configure:2023: checking whether msgfmt accepts -o" >&5
- msgfmt_output="`msgfmt -o bla 2>&1 | grep usage`"
- if test "$msgfmt_output" = ""; then
- echo "$ac_t""yes" 1>&6
- else
- # urg
- MSGFMT="\$(SHELL) \$(step-bindir)/fake-msgfmt.sh"
- echo "$ac_t""no" 1>&6
-
- echo "configure: warning: please install msgfmt from GNU gettext" 1>&2
- warn_b=yes
-
- fi
- if test ! -n "$MSGFMT"; then
-
- echo "configure: warning: please install msgfmt from GNU gettext" 1>&2
- warn_b=yes
-
- fi
-
-
- # urg, never know what names these teTeX guys will think up
- for ac_prog in mf
-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
-echo "configure:2050: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_METAFONT'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$METAFONT"; then
- ac_cv_prog_METAFONT="$METAFONT" # 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_METAFONT="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-METAFONT="$ac_cv_prog_METAFONT"
-if test -n "$METAFONT"; then
- echo "$ac_t""$METAFONT" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$METAFONT" && break
-done
-test -n "$METAFONT" || METAFONT="no"
-
- if test "x$METAFONT" = "xno"; then
- for ac_prog in mfont
-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
-echo "configure:2085: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_MFONT'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$MFONT"; then
- ac_cv_prog_MFONT="$MFONT" # 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_MFONT="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-MFONT="$ac_cv_prog_MFONT"
-if test -n "$MFONT"; then
- echo "$ac_t""$MFONT" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$MFONT" && break
-done
-test -n "$MFONT" || MFONT="-echo no mf or mfont"
-
- METAFONT=$MFONT
- fi
-
- for ac_prog in mp
-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
-echo "configure:2122: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_METAPOST'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$METAPOST"; then
- ac_cv_prog_METAPOST="$METAPOST" # 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_METAPOST="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-METAPOST="$ac_cv_prog_METAPOST"
-if test -n "$METAPOST"; then
- echo "$ac_t""$METAPOST" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$METAPOST" && break
-done
-test -n "$METAPOST" || METAPOST="no"
-
- if test "x$METAPOST" = "xno"; then
- for ac_prog in mpost
-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
-echo "configure:2157: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_MPOST'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$MPOST"; then
- ac_cv_prog_MPOST="$MPOST" # 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_MPOST="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-MPOST="$ac_cv_prog_MPOST"
-if test -n "$MPOST"; then
- echo "$ac_t""$MPOST" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$MPOST" && break
-done
-test -n "$MPOST" || MPOST="-echo no mp or mpost"
-
- METAPOST=$MPOST
- fi
-
-
-
-
-# AC_STEPMAKE_TEXMF_DIRS
-
- if test "x$YODL" = "x"; then
- for ac_prog in striproff
-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
-echo "configure:2200: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_STRIPROFF'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$STRIPROFF"; then
- ac_cv_prog_STRIPROFF="$STRIPROFF" # 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_STRIPROFF="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-STRIPROFF="$ac_cv_prog_STRIPROFF"
-if test -n "$STRIPROFF"; then
- echo "$ac_t""$STRIPROFF" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$STRIPROFF" && break
-done
-test -n "$STRIPROFF" || STRIPROFF="-echo no striproff"
-
- for ac_prog in yodl
-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
-echo "configure:2234: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_YODL'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$YODL"; then
- ac_cv_prog_YODL="$YODL" # 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_YODL="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-YODL="$ac_cv_prog_YODL"
-if test -n "$YODL"; then
- echo "$ac_t""$YODL" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$YODL" && break
-done
-test -n "$YODL" || YODL="-echo no yodl"
-
- for ac_prog in yodl2html
-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
-echo "configure:2268: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_YODL2HTML'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$YODL2HTML"; then
- ac_cv_prog_YODL2HTML="$YODL2HTML" # 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_YODL2HTML="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-YODL2HTML="$ac_cv_prog_YODL2HTML"
-if test -n "$YODL2HTML"; then
- echo "$ac_t""$YODL2HTML" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$YODL2HTML" && break
-done
-test -n "$YODL2HTML" || YODL2HTML="-echo no yodl"
-
- for ac_prog in yodl2latex
-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
-echo "configure:2302: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_YODL2LATEX'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$YODL2LATEX"; then
- ac_cv_prog_YODL2LATEX="$YODL2LATEX" # 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_YODL2LATEX="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-YODL2LATEX="$ac_cv_prog_YODL2LATEX"
-if test -n "$YODL2LATEX"; then
- echo "$ac_t""$YODL2LATEX" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$YODL2LATEX" && break
-done
-
- for ac_prog in yodl2man
-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
-echo "configure:2335: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_YODL2MAN'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$YODL2MAN"; then
- ac_cv_prog_YODL2MAN="$YODL2MAN" # 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_YODL2MAN="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-YODL2MAN="$ac_cv_prog_YODL2MAN"
-if test -n "$YODL2MAN"; then
- echo "$ac_t""$YODL2MAN" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$YODL2MAN" && break
-done
-test -n "$YODL2MAN" || YODL2MAN="-echo no yodl"
-
- for ac_prog in yodl2msless
-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
-echo "configure:2369: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_YODL2MSLESS'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$YODL2MSLESS"; then
- ac_cv_prog_YODL2MSLESS="$YODL2MSLESS" # 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_YODL2MSLESS="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-YODL2MSLESS="$ac_cv_prog_YODL2MSLESS"
-if test -n "$YODL2MSLESS"; then
- echo "$ac_t""$YODL2MSLESS" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$YODL2MSLESS" && break
-done
-test -n "$YODL2MSLESS" || YODL2MSLESS="-echo no yodl"
-
- for ac_prog in yodl2texinfo
-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
-echo "configure:2403: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_YODL2TEXINFO'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$YODL2TEXINFO"; then
- ac_cv_prog_YODL2TEXINFO="$YODL2TEXINFO" # 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_YODL2TEXINFO="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-YODL2TEXINFO="$ac_cv_prog_YODL2TEXINFO"
-if test -n "$YODL2TEXINFO"; then
- echo "$ac_t""$YODL2TEXINFO" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$YODL2TEXINFO" && break
-done
-test -n "$YODL2TEXINFO" || YODL2TEXINFO="-echo no yodl"
-
- for ac_prog in yodl2txt
-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
-echo "configure:2437: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_YODL2TXT'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$YODL2TXT"; then
- ac_cv_prog_YODL2TXT="$YODL2TXT" # 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_YODL2TXT="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-YODL2TXT="$ac_cv_prog_YODL2TXT"
-if test -n "$YODL2TXT"; then
- echo "$ac_t""$YODL2TXT" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$YODL2TXT" && break
-done
-test -n "$YODL2TXT" || YODL2TXT="-echo no yodl"
-
- YODL2LESS_DIR='$(bindir)/'
- else
-
-
-
-
-
-
-
-
-
- export STRIPROFF YODL YODL2HTML YODL2LATEX YODL2MAN YODL2MSLESS YODL2TEXINFO YODL2TXT
- fi
- if test "x$YODL" = "-echo no yodl"; then
-
- echo "configure: warning: Did not find YODL (Yodl is Yet Oneother Document Language, see http://www.cs.uu.nl/~hanwen/yodl)" 1>&2
- warn_b=yes
-
- fi
-
-
- # urg, must check for different functions in libguile
- # to force new check iso reading from cache
- echo $ac_n "checking for scm_shell in -lguile""... $ac_c" 1>&6
-echo "configure:2490: checking for scm_shell in -lguile" >&5
-ac_lib_var=`echo guile'_'scm_shell | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lguile $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2498 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char scm_shell();
-
-int main() {
-scm_shell()
-; return 0; }
-EOF
-if { (eval echo configure:2512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- \
- LIBS="-lguile $LIBS" cat >> confdefs.h <<\EOF
-#define HAVE_LIBGUILE 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-\
- echo $ac_n "checking for readline in -lreadline""... $ac_c" 1>&6
-echo "configure:2536: checking for readline in -lreadline" >&5
-ac_lib_var=`echo readline'_'readline | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lreadline $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2544 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char readline();
-
-int main() {
-readline()
-; return 0; }
-EOF
-if { (eval echo configure:2558: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_lib=HAVE_LIB`echo readline | sed -e 's/^a-zA-Z0-9_/_/g' \
- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
- LIBS="-lreadline $LIBS"
-
-else
- echo "$ac_t""no" 1>&6
-fi
- \
- echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:2586: checking for dlopen in -ldl" >&5
-ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-ldl $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2594 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen();
-
-int main() {
-dlopen()
-; return 0; }
-EOF
-if { (eval echo configure:2608: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_lib=HAVE_LIB`echo dl | sed -e 's/^a-zA-Z0-9_/_/g' \
- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
- LIBS="-ldl $LIBS"
-
-else
- echo "$ac_t""no" 1>&6
-fi
- \
- echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
-echo "configure:2636: checking for socket in -lsocket" >&5
-ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lsocket $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2644 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char socket();
-
-int main() {
-socket()
-; return 0; }
-EOF
-if { (eval echo configure:2658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_lib=HAVE_LIB`echo socket | sed -e 's/^a-zA-Z0-9_/_/g' \
- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
- LIBS="-lsocket $LIBS"
-
-else
- echo "$ac_t""no" 1>&6
-fi
-\
- echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6
-echo "configure:2686: checking for tgetent in -ltermcap" >&5
-ac_lib_var=`echo termcap'_'tgetent | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-ltermcap $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2694 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char tgetent();
-
-int main() {
-tgetent()
-; return 0; }
-EOF
-if { (eval echo configure:2708: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_lib=HAVE_LIB`echo termcap | sed -e 's/^a-zA-Z0-9_/_/g' \
- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
- LIBS="-ltermcap $LIBS"
-
-else
- echo "$ac_t""no" 1>&6
-fi
-\
- echo $ac_n "checking for fabs in -lm""... $ac_c" 1>&6
-echo "configure:2736: checking for fabs in -lm" >&5
-ac_lib_var=`echo m'_'fabs | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lm $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2744 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char fabs();
-
-int main() {
-fabs()
-; return 0; }
-EOF
-if { (eval echo configure:2758: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_lib=HAVE_LIB`echo m | sed -e 's/^a-zA-Z0-9_/_/g' \
- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
- LIBS="-lm $LIBS"
-
-else
- echo "$ac_t""no" 1>&6
-fi
-\
- echo $ac_n "checking for scm_boot_guile in -lguile""... $ac_c" 1>&6
-echo "configure:2786: checking for scm_boot_guile in -lguile" >&5
-ac_lib_var=`echo guile'_'scm_boot_guile | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lguile $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2794 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char scm_boot_guile();
-
-int main() {
-scm_boot_guile()
-; return 0; }
-EOF
-if { (eval echo configure:2808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_lib=HAVE_LIB`echo guile | sed -e 's/^a-zA-Z0-9_/_/g' \
- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
- LIBS="-lguile $LIBS"
-
-else
- echo "$ac_t""no" 1>&6
-fi
-\
-
-fi
-
-
-
-
-echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-echo "configure:2842: checking for 8-bit clean memcmp" >&5
-if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_func_memcmp_clean=no
-else
- cat > conftest.$ac_ext <<EOF
-#line 2850 "configure"
-#include "confdefs.h"
-#ifdef __cplusplus
-extern "C" void exit(int);
-#endif
-
-main()
-{
- char c0 = 0x40, c1 = 0x80, c2 = 0x81;
- exit(memcmp(&c0, &c2, 1) < 0 && memcmp(&c1, &c2, 1) < 0 ? 0 : 1);
-}
-
-EOF
-if { (eval echo configure:2863: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
-then
- ac_cv_func_memcmp_clean=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_func_memcmp_clean=no
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6
-test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.o"
-
-echo $ac_n "checking for vprintf""... $ac_c" 1>&6
-echo "configure:2881: checking for vprintf" >&5
-if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2886 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char vprintf(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char vprintf();
-
-int main() {
-
-/* 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:2912: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_func_vprintf=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- 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
-echo "configure:2936: checking for _doprnt" >&5
-if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2941 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char _doprnt(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char _doprnt();
-
-int main() {
-
-/* 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:2967: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_func__doprnt=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- 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 vsnprintf gettext
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2994: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2999 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* 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:3025: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-
-cat >> confdefs.h <<EOF
-#define TOPLEVEL_VERSION "${FULL_VERSION}"
-EOF
-
-cat >> confdefs.h <<EOF
-#define FLOWER_VERSION "${FULL_FLOWER_VERSION}"
-EOF
-
-
-for ac_prog in makeinfo
-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
-echo "configure:3064: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$MAKEINFO"; then
- ac_cv_prog_MAKEINFO="$MAKEINFO" # 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_MAKEINFO="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-MAKEINFO="$ac_cv_prog_MAKEINFO"
-if test -n "$MAKEINFO"; then
- echo "$ac_t""$MAKEINFO" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$MAKEINFO" && break
-done
-test -n "$MAKEINFO" || MAKEINFO="error"
-
-
- result="`echo \"$YODL2TEXINFO\" | grep echo`"
- if test "x$YODL2TEXINFO" = "xerror" -o "x$result" != "x"; then
-
- echo "configure: warning: can\'t find yodl. You should install Yodl 1.30.2 or better" 1>&2
- warn_b=yes
-
- fi
-
-
-
- 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
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# 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 |
- case `(ac_space=' '; set) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-DEFS=-DHAVE_CONFIG_H
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.12"
- 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 "$CONFIGFILE.make:config.make.in $CONFIGFILE.h:config.hh.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@stepmake@%$stepmake%g
-s%@package@%$package%g
-s%@PACKAGE@%$PACKAGE%g
-s%@PACKAGE_NAME@%$PACKAGE_NAME%g
-s%@package_depth@%$package_depth%g
-s%@AUTOGENERATE@%$AUTOGENERATE%g
-s%@absolute_builddir@%$absolute_builddir%g
-s%@STATE_VECTOR@%$STATE_VECTOR%g
-s%@CONFIGSUFFIX@%$CONFIGSUFFIX%g
-s%@host@%$host%g
-s%@host_alias@%$host_alias%g
-s%@host_cpu@%$host_cpu%g
-s%@host_vendor@%$host_vendor%g
-s%@host_os@%$host_os%g
-s%@MAKE@%$MAKE%g
-s%@FIND@%$FIND%g
-s%@TAR@%$TAR%g
-s%@BASH@%$BASH%g
-s%@PYTHON@%$PYTHON%g
-s%@DOTEXE@%$DOTEXE%g
-s%@ZIP@%$ZIP%g
-s%@LN@%$LN%g
-s%@LN_S@%$LN_S%g
-s%@INSTALL@%$INSTALL%g
-s%@PATHSEP@%$PATHSEP%g
-s%@DIRSEP@%$DIRSEP%g
-s%@DIR_DATADIR@%$DIR_DATADIR%g
-s%@subdirs@%$subdirs%g
-s%@CC@%$CC%g
-s%@LD@%$LD%g
-s%@ICFLAGS@%$ICFLAGS%g
-s%@ILDFLAGS@%$ILDFLAGS%g
-s%@DEFINES@%$DEFINES%g
-s%@EXTRA_LIBES@%$EXTRA_LIBES%g
-s%@CXX@%$CXX%g
-s%@CXXCPP@%$CXXCPP%g
-s%@YACC@%$YACC%g
-s%@BISON@%$BISON%g
-s%@FLEX@%$FLEX%g
-s%@AR@%$AR%g
-s%@RANLIB@%$RANLIB%g
-s%@localedir@%$localedir%g
-s%@DIR_LOCALEDIR@%$DIR_LOCALEDIR%g
-s%@MSGFMT@%$MSGFMT%g
-s%@METAFONT@%$METAFONT%g
-s%@MFONT@%$MFONT%g
-s%@METAPOST@%$METAPOST%g
-s%@MPOST@%$MPOST%g
-s%@STRIPROFF@%$STRIPROFF%g
-s%@YODL@%$YODL%g
-s%@YODL2HTML@%$YODL2HTML%g
-s%@YODL2LATEX@%$YODL2LATEX%g
-s%@YODL2MAN@%$YODL2MAN%g
-s%@YODL2MSLESS@%$YODL2MSLESS%g
-s%@YODL2TEXINFO@%$YODL2TEXINFO%g
-s%@YODL2TXT@%$YODL2TXT%g
-s%@YODL2LESS_DIR@%$YODL2LESS_DIR%g
-s%@LIBOBJS@%$LIBOBJS%g
-s%@MAKEINFO@%$MAKEINFO%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
- else
- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
- fi
- if test ! -s conftest.s$ac_file; then
- ac_more_lines=false
- rm -f conftest.s$ac_file
- else
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f conftest.s$ac_file"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
- fi
- ac_file=`expr $ac_file + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_cmds`
- fi
-done
-if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"$CONFIGFILE.make:config.make.in"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[: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 a relative srcdir, top_srcdir, and INSTALL 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
-
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-# 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'
-
-if test "${CONFIG_HEADERS+set}" != set; then
-EOF
-cat >> $CONFIG_STATUS <<EOF
- CONFIG_HEADERS="$CONFIGFILE.h:config.hh.in"
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-fi
-for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[: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
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- cat $ac_file_inputs > 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.
-
-rm -f conftest.tail
-while :
-do
- ac_lines=`grep -c . conftest.vals`
- # grep -c gives empty output for an empty file on some AIX systems.
- if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
- # Write a limited-size here document to conftest.frag.
- echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
- echo 'CEOF
- sed -f conftest.frag conftest.in > conftest.out
- rm -f conftest.in
- mv conftest.out conftest.in
-' >> $CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
- rm -f conftest.vals
- mv conftest.tail conftest.vals
-done
-rm -f conftest.vals
-
-cat >> $CONFIG_STATUS <<\EOF
- rm -f conftest.frag conftest.h
- echo "/* $ac_file. Generated automatically by configure. */" > conftest.h
- cat conftest.in >> conftest.h
- rm -f conftest.in
- if cmp -s $ac_file conftest.h 2>/dev/null; then
- echo "$ac_file is unchanged"
- rm -f conftest.h
- else
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- fi
- rm -f $ac_file
- mv conftest.h $ac_file
- fi
-fi; done
-
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-
-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 stepmake; 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
-
- # A "../" for each directory in /$ac_config_dir.
- ac_dots=`echo $ac_config_dir|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'`
-
- 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=$ac_dots$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.
- case "$cache_file" in
- /*) ac_sub_cache_file=$cache_file ;;
- *) # Relative path.
- ac_sub_cache_file="$ac_dots$cache_file" ;;
- 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
-
-
- rm -f GNUmakefile
- cp make/toplevel.make.in ./GNUmakefile
- chmod 444 GNUmakefile
-
-
AC_STEPMAKE_YODL
AC_STEPMAKE_GUILE
+CXXFLAGS="$CXXFLAGS -fhandle-signatures"
+
dnl should check out -print
dnl huh?
dnl AC_CHECK_SEARCH_RESULT($FIND, find, Please use --enable-tex-dir)
Warning: contents are unspecified */
void set_size (int s)
{
- if (s >= max_) remax (s);
+ if (s > max_) remax (s);
size_ = s;
}
Sorry for the silly naming */
template <class T>
class P {
- /**
- Set contents to a copy of #t_l#
- */
- void copy (T const*t_l);
- T* t_p;
+ /**
+ Set contents to a copy of #t_l#
+ */
+ void copy (T const*t_l);
+ T* t_p;
/**
junk contents and set to 0
*/
- void junk();
+ void junk();
public:
- P(P const &src);
- /**
+ P(P const &src);
+ /**
Remove the pointer, and return it.
*/
- T *get_p() { T*p = t_p; t_p=0; return p; }
- /**
+ T *get_p() { T*p = t_p; t_p=0; return p; }
+ /**
return the pointer
*/
- T *get_l() { return t_p; }
+ T *get_l() { return t_p; }
- T const *get_C() const { return t_p; }
- /**
+ T const *get_C() const { return t_p; }
+ /**
copy the contents of pointer, and return it
*/
- T *copy_p() const;
- /**
+ T *copy_p() const;
+ /**
swallow new_p, and set contents t new_p
*/
- void set_p (T *new_p);
- /**
+ void set_p (T *new_p);
+ /**
junk contents, and copy contents of t_l
*/
- void set_l (T const *t_C);
+ void set_l (T const *t_C);
- P &operator =(P const &);
- ~P();
- P() { t_p = 0; }
- //P(T *p) { t_p = p; }
+ P &operator =(P const &);
+ ~P();
+ P() { t_p = 0; }
+ //P(T *p) { t_p = p; }
- T *operator ->() { return t_p; }
- operator T *() { return t_p; }
- const T *operator ->() const { return t_p ; }
- T &operator *() { return *t_p; }
- T const &operator *() const { return *t_p; }
- operator const T *() const { return t_p; }
+ T *operator ->() { return t_p; }
+ operator T *() { return t_p; }
+ const T *operator ->() const { return t_p ; }
+ T &operator *() { return *t_p; }
+ T const &operator *() const { return *t_p; }
+ operator const T *() const { return t_p; }
};
#endif // POINTER_HH
P<T>::set_p (T * np)
{
if (np == t_p)
- return;
+ return;
delete t_p;
t_p = np;
P<T>::set_l (T const * l_C)
{
if (t_p == l_C)
- return;
+ return;
junk();
copy (l_C);
#include <typeinfo>
#include "stdlib.h" // size_t
-/** Declare the classes name as a static and virtual function.
- The static_name() can *not* be inlined (this might have the effect that
- s->name() != S::static_name (). Overlapping strings need not be merged in C++
- */
-#define DECLARE_MY_RUNTIME_TYPEINFO \
-virtual char const *name() const{ return static_name (); }\
-static char const *static_name()
-
-
-#if 0
- /*
- oops. before() has nothing to do with inheritance
- */
-inline bool operator > (type_info const &a1, type_info const &a2)
-{
- return a2.before (a1);
-}
-
-inline bool operator < (type_info const &a1, type_info const &a2)
-{
- return a1.before (a2);
-}
-
-inline bool operator <= (type_info const &a1, type_info const &a2)
-{
- return a1 == a2 || a1 < a2;
-}
-
-inline bool operator >= (type_info const &a1, type_info const &a2)
-{
- return a1 == a2 || a1 > a2;
-}
-#endif
-
-#define IMPLEMENT_STATIC_NAME(c)\
- char const *c::static_name() { return #c; }
-
- /*
- size_t c::static_class_size () { return sizeof (c); }
- */
-
-#define VIRTUAL_COPY_CONS(T, R)\
- virtual R *clone() const { return new T(*this); }
+#define classname(class_ptr) demangle_classname(typeid(*(class_ptr)).name())
-#define DECLARE_VIRTUAL_COPY_CONS(T, R)\
- virtual R *clone() const
+const char *
+demangle_classname (const char*);
-#define IMPLEMENT_VIRTUAL_COPY_CONS(T, R)\
- R *T::clone() const { return new T(*this); }\
+/**
-
-#define IMPLEMENT_IS_TYPE_B(D)\
- IMPLEMENT_STATIC_NAME(D)
+ Virtual copy constructor. Make up for C++'s lack of a standard
+ clone() function. Uses a typeof hack. Usage:
-/*
- bool D::static_is_type_b (const char *s)\
-{\
- return s == static_name();\
-}*/
-
-#define IMPLEMENT_IS_TYPE_B1(D, B)\
- IMPLEMENT_STATIC_NAME(D)
-/*
- bool D::static_is_type_b (const char *s)\
-{\
- return s == static_name() || B::static_is_type_b (s);\
-}
-*/
-
-#define IMPLEMENT_IS_TYPE_B2(D, BA, BB)\
- IMPLEMENT_STATIC_NAME(D)
-
-/*
-
- bool D::static_is_type_b (const char *s)\
-{\
- return s == static_name() || BA::static_is_type_b (s) || BB::static_is_type_b (s);\
-}
-*/
+ class Foo : Baseclass {
+ VIRTUAL_COPY_CONS(Baseclass);
+ };
+
+ */
+#define VIRTUAL_COPY_CONS(base) virtual base *clone () const { return new typeof(*this) (*this); }
#endif
--- /dev/null
+
+
+
+/*#include <typeinfo>
+
+signature S
+{
+ int foo ();
+ int bar (int);
+};
+*/
+
+#include <ctype.h>
+#include "virtual-methods.hh"
+
+
+const char *
+demangle_classname (char const *s)
+{
+ while (isdigit (*s))
+ s++;
+ return s;
+}
\consists "Rest_engraver";
\consists "Dot_column_engraver";
\consists "Stem_engraver";
- \consists "Plet_engraver";
+% \consists "Plet_engraver";
\consists "Beam_engraver";
\consists "Abbreviation_beam_engraver";
\consists "Multi_measure_rest_engraver";
; all preparations from ps,tex to scm
;;; library funtions
+(define
+ (xnumbers->string l)
+ (string-append
+ (map (lambda (n) (string-append (number->string n ) " ")) l)))
+
(define
(numbers->string l)
(apply string-append
(let ((n (inexact->exact x)))
(number->string n radix)))
-(define
- (number->dim-tex x)
- (string-append
- (number->string (chop-decimal x)) "pt "))
(define
(control->string c)
(string-append (number->string (car c)) " ")
(string-append (number->string (cadr c)) " ")))
+;;;;;;;; TeX
+; (define (tex action)
+
+(define
+ (beam-tex width slope thick)
+ (embedded-ps-tex (beam-ps width slope thick)))
+
+(define
+ (bracket-tex h)
+ (embedded-ps-tex (bracket-ps h)))
+
+(define
+ (dashed-slur-tex thick dash l)
+ (embedded-ps-tex (dashed-slur-ps thick dash l)))
+
+(define
+ (crescendo-tex w h cont)
+ (embedded-ps-tex (crescendo-ps w h cont)))
+
+(define
+ (decrescendo-tex w h cont)
+ (embedded-ps-tex (decrescendo-ps w h cont)))
+
(define
(embedded-ps-tex s)
(string-append "\\embeddedps{" s "}"))
+
(define
- (invoke-char-ps s i)
- (string-append
- "(\\" (inexact->string i 8) ") " s " " ))
+ (end-output-tex)
+ "\n\\EndLilyPondOutput")
(define
- (invoke-char-tex s i)
- (string-append
- "\n\\" s "{" (inexact->string i 10) "}" ))
+ (empty-tex)
+ "%\n\\empty%\n")
+
+(define
+ (experimental-on-tex) "\\turnOnExperimentalFeatures")
(define
- (invoke-dim1-ps s d)
+ (extender o h)
+ ((invoke-output o "invoke-dim1") "extender" h))
+
+(define
+ (font-switch-tex i)
(string-append
- (number->string d) " " s ))
+ "\\" (font i) "\n"))
(define
- (invoke-dim1-tex s d)
+ (font-def-tex i s)
(string-append
- "\n\\" s "{" (number->dim-tex d) "}"))
+ "\\font" (font-switch-tex i) "=" s "\n"))
+
+(define
+ (generalmeter-tex num den)
+ (string-append
+ "\\generalmeter{" (number->string (inexact->exact num)) "}{" (number->string (inexact->exact den)) "}"))
(define
- (invoke-output o s)
- (eval-string (string-append s "-" o)))
+ (header-end-tex) "\\turnOnPostScript")
-;;; output definitions
+(define
+ (header-tex creator generate)
+ (string-append
+ "%created by: " creator generate "\n"))
(define
- (beam o width slope thick)
- ((invoke-output o "beam") width slope thick))
+ (invoke-char-tex s i)
+ (string-append
+ "\n\\" s "{" (inexact->string i 10) "}" ))
(define
- (beam-ps width slope thick)
+ (invoke-dim1-tex s d)
(string-append
- (numbers->string (list width slope thick)) " draw_beam " ))
+ "\n\\" s "{" (number->dim-tex d) "}"))
-(define
- (beam-tex width slope thick)
- (embedded-ps-tex (beam-ps width slope thick)))
+(define
+ (lily-def-tex key val)
+ (string-append
+ "\\def\\" key "{" val "}\n"))
(define
- (bracket o h)
- ((invoke-output o "bracket") h))
+ (number->dim-tex x)
+ (string-append
+ (number->string (chop-decimal x)) "pt "))
(define
- (bracket-ps h)
- (invoke-dim1-ps "draw_bracket" h))
+ (placebox-tex x y s)
+ (string-append
+ "\\placebox{"
+ (number->dim-tex y) "}{" (number->dim-tex x) "}{" s "}"))
(define
- (bracket-tex h)
- (embedded-ps-tex (bracket-ps h)))
+ (rulesym-tex h w)
+ (string-append
+ "\\vrule height " (number->dim-tex (/ h 2))
+ " depth " (number->dim-tex (/ h 2))
+ " width " (number->dim-tex w)
+ )
+ )
(define
- (char o n)
- ((invoke-output o "invoke-char") "show" n))
+ (slur-tex l)
+ (embedded-ps-tex (slur-ps l)))
(define
- (crescendo o w h cont)
- ((invoke-output o "crescendo") w h cont))
+ (start-line-tex)
+ (string-append
+ "\\hbox{%\n")
+ )
(define
- (crescendo-ps w h cont)
+ (stem-tex kern width height depth)
(string-append
- (numbers->string (list w h (inexact->exact cont)))
- "draw_crescendo"))
+ "\\kern" (number->dim-tex kern)
+ "\\vrule width " (number->dim-tex width)
+ "depth " (number->dim-tex depth)
+ "height " (number->dim-tex height) " "))
(define
- (crescendo-tex w h cont)
- (embedded-ps-tex (crescendo-ps w h cont)))
+ (stop-line-tex)
+ "}\\interscoreline")
+
+(define
+ (text-tex f s)
+ (string-append "\\set" f "{" s "}"))
+
+
+
+;;;;;;;;;;;; PS
(define
- (dashed-slur o thick dash l)
- ((invoke-output o "dashed-slur") thick dash l))
+ (beam-ps width slope thick)
+ (string-append
+ (numbers->string (list width slope thick)) " draw_beam " ))
(define
- (decrescendo o w h cont)
- ((invoke-output o "decrescendo") w h cont))
+ (bracket-ps h)
+ (invoke-dim1-ps "draw_bracket" h))
(define
- (decrescendo-ps w h cont)
+ (crescendo-ps w h cont)
(string-append
(numbers->string (list w h (inexact->exact cont)))
- "draw_decrescendo"))
-
-(define
- (decrescendo-tex w h cont)
- (embedded-ps-tex (decrescendo-ps w h cont)))
+ "draw_crescendo"))
(define
(dashed-slur-ps thick dash l)
" ] 0 draw_dashed_slur"))
(define
- (dashed-slur-tex thick dash l)
- (embedded-ps-tex (dashed-slur-ps thick dash l)))
+ (decrescendo-ps w h cont)
+ (string-append
+ (numbers->string (list w h (inexact->exact cont)))
+ "draw_decrescendo"))
(define
- (doublebar o h)
- ((invoke-output o "invoke-dim1") "doublebar" h))
+ (empty-ps)
+ "\n empty\n")
(define
- (empty o)
- ((invoke-output o "empty")))
+ (end-output-ps)
+ "\nshowpage\n")
+
+(define
+ (experimental-on-ps) "")
(define
- (empty-ps)
- "\n empty\n")
+ (font-def-ps i s)
+ (string-append
+ "\n/" (font i) " {/"
+ (substring s 0 (- (string-length s) 4))
+ " findfont 12 scalefont setfont} bind def\n"))
(define
- (empty-tex)
- "%\n\\empty%\n")
+ (font-switch-ps i)
+ (string-append (font i) " "))
(define
- (emptybar o h) (empty o))
+ (generalmeter-ps num den)
+ (string-append (number->string (inexact->exact num)) " " (number->string (inexact->exact den)) " generalmeter "))
+
+(define
+ (header-end-ps) "")
+(define
+ (lily-def-ps key val)
+ (string-append
+ "/" key " {" val "} bind def\n"))
(define
- (end-output o)
- ((invoke-output o "end-output")))
+ (header-ps creator generate)
+ (string-append
+ "%!PS-Adobe-3.0\n"
+ "%%Creator: " creator generate "\n"))
(define
- (end-output-ps)
- "\nshowpage\n")
+ (invoke-char-ps s i)
+ (string-append
+ "(\\" (inexact->string i 8) ") " s " " ))
(define
- (end-output-tex)
- "\n\\EndLilyPondOutput")
+ (invoke-dim1-ps s d)
+ (string-append
+ (number->string d) " " s ))
(define
- (experimental-on o)
- ((invoke-output o "experimental-on")))
+ (placebox-ps x y s)
+ (string-append
+ (number->string x) " " (number->string y) " {" s "} placebox "))
-(define
- (experimental-on-ps) "")
+(define
+ (rulesym-ps x y)
+ (string-append
+ (number->string x) " "
+ (number->string y) " "
+ "rulesym"))
+
+(define
+ (slur-ps l)
+ (string-append
+ (apply string-append (map control->string l))
+ " draw_slur"))
+
+(define
+ (start-line-ps)
+ "\nstart_line {\n")
+
+(define
+ (stem-ps kern width height depth)
+ (string-append (numbers->string (list kern width height depth))
+ "draw_stem" ))
+
+(define
+ (stop-line-ps)
+ "}\nstop_line\n")
(define
- (experimental-on-tex) "\\turnOnExperimentalFeatures")
+ (text-ps f s)
+ (string-append "(" s ") set" f " "))
+
+
+;;; output definitions
(define
- (extender o h)
- ((invoke-output o "invoke-dim1") "extender" h))
+ (beam o width slope thick)
+ ((invoke-output o "beam") width slope thick))
+
+(define
+ (bracket o h)
+ ((invoke-output o "bracket") h))
+
+(define
+ (char o n)
+ ((invoke-output o "invoke-char") "show" n))
+
+(define
+ (crescendo o w h cont)
+ ((invoke-output o "crescendo") w h cont))
+
+(define
+ (dashed-slur o thick dash l)
+ ((invoke-output o "dashed-slur") thick dash l))
+
+(define
+ (decrescendo o w h cont)
+ ((invoke-output o "decrescendo") w h cont))
+
+(define
+ (doublebar o h)
+ ((invoke-output o "invoke-dim1") "doublebar" h))
+
+(define
+ (empty o)
+ ((invoke-output o "empty")))
+
+(define
+ (emptybar o h) (empty o))
+
+(define
+ (end-output o)
+ ((invoke-output o "end-output")))
+
+(define
+ (experimental-on o)
+ ((invoke-output o "experimental-on")))
(define
(fatdoublebar o h)
(font-def o i s)
((invoke-output o "font-def") i s))
-(define
- (font-def-ps i s)
- (string-append
- "\n/" (font i) " {/"
- (substring s 0 (- (string-length s) 4))
- " findfont 12 scalefont setfont} bind def\n"))
-
-(define
- (font-def-tex i s)
- (string-append
- "\\font" (font-switch-tex i) "=" s "\n"))
-
(define
(font-switch o i)
((invoke-output o "font-switch") i))
-(define
- (font-switch-ps i)
- (string-append (font i) " "))
-
-(define
- (font-switch-tex i)
- (string-append
- "\\" (font i) "\n"))
-
(define
(generalmeter o num den)
((invoke-output o "generalmeter") num den))
-(define
- (generalmeter-ps num den)
- (string-append (number->string (inexact->exact num)) " " (number->string (inexact->exact den)) " generalmeter "))
-
-(define
- (generalmeter-tex num den)
- (string-append
- "\\generalmeter{" (number->string (inexact->exact num)) "}{" (number->string (inexact->exact den)) "}"))
-
(define
(header o creator generate)
((invoke-output o "header") creator generate))
-(define
- (header-ps creator generate)
- (string-append
- "%!PS-Adobe-3.0\n"
- "%%Creator: " creator generate "\n"))
-
-(define
- (header-tex creator generate)
- (string-append
- "%created by: " creator generate "\n"))
-
(define
(header-end o)
((invoke-output o "header-end")))
(define
- (header-end-ps) "")
-
-(define
- (header-end-tex) "\\turnOnPostScript")
+ (invoke-output o s)
+ (eval-string (string-append s "-" o)))
(define
(lily-def o key val)
((invoke-output o "lily-def") key val))
-(define
- (lily-def-ps key val)
- (string-append
- "/" key " {" val "} bind def\n"))
-
-(define
- (lily-def-tex key val)
- (string-append
- "\\def\\" key "{" val "}\n"))
-
(define
(maatstreep o h)
((invoke-output o "invoke-dim1") "maatstreep" h))
(placebox o x y b)
((invoke-output o "placebox") x y (b o)))
-(define
- (placebox-ps x y s)
- (string-append
- (number->string x) " " (number->string y) " {" s "} placebox "))
-
-(define
- (placebox-tex x y s)
- (string-append
- "\\placebox{"
- (number->dim-tex y) "}{" (number->dim-tex x) "}{" s "}"))
-
(define
(repeatbar o h)
((invoke-output o "invoke-dim1") "repeatbar" h))
(rulesym o x y)
((invoke-output o "rulesym") x y))
-(define
- (rulesym-ps x y)
- (string-append
- (number->string x) " "
- (number->string y) " "
- "rulesym"))
-
-(define
- (rulesym-tex x y)
- (string-append
- "\\rulesym{" (number->dim-tex x) "}{" (number->dim-tex y) "}"))
-
(define
(setbold o s)
((invoke-output o "text") "bold" s))
((invoke-output o "slur") l))
(define
- (slur-ps l)
+ (tuplet o dx dy dir)
+ ((invoke-output o "tuplet") dx dy dir))
+
+(define
+ (tuplet-ps dx dy dir)
(string-append
- (apply string-append (map control->string l))
- " draw_slur"))
+ (numbers->string (list dx dy (inexact->exact dir)))
+ "draw_tuplet"))
(define
- (slur-tex l)
- (embedded-ps-tex (slur-ps l)))
+ (tuplet-tex dx dy dir)
+ (embedded-ps-tex (tuplet-ps dx dy dir)))
(define
(stem o kern width height depth)
((invoke-output o "stem") kern width height depth))
-(define
- (stem-ps kern width height depth)
- (string-append (numbers->string (list kern width height depth))
- "draw_stem" ))
-(define
- (stem-tex kern width height depth)
- (string-append
- "\\kern" (number->dim-tex kern)
- "\\vrule width " (number->dim-tex width)
- "depth " (number->dim-tex depth)
- "height " (number->dim-tex height) " "))
(define
(start-line o)
((invoke-output o "start-line")))
-(define
- (start-line-ps)
- "\nstart_line {\n")
-
-(define
- (start-line-tex)
- (string-append
- "\\hbox{%\n")
- )
-
-
(define
(startbar o h)
((invoke-output o "invoke-dim1") "startbar" h))
(startrepeat o h)
((invoke-output o "invoke-dim1") "startrepeat" h))
+
(define
(stop-line o)
((invoke-output o "stop-line")))
-(define
- (stop-line-ps)
- "}\nstop_line\n")
-
-(define
- (stop-line-tex)
- "}\\interscoreline")
(define
(stoprepeat o h)
((invoke-output o "invoke-dim1") "stoprepeat" h))
-(define
- (text-ps f s)
- (string-append "(" s ") set" f " "))
-
-(define
- (text-tex f s)
- (string-append "\\set" f "{" s "}"))
-
-
-(define
- (tuplet o dx dy dir)
- ((invoke-output o "tuplet") dx dy dir))
-
-(define
- (tuplet-ps dx dy dir)
- (string-append
- (numbers->string (list dx dy (inexact->exact dir)))
- "draw_tuplet"))
-
-(define
- (tuplet-tex dx dy dir)
- (embedded-ps-tex (tuplet-ps dx dy dir)))
\score{
- \notes \type Staff \times 2/3 { a b c }
+ \notes \type Staff \times 2/3 { \times 2/3 { a8 b c} c }
}
#include "musical-request.hh"
#include "misc.hh"
-IMPLEMENT_IS_TYPE_B1(Abbreviation_beam_engraver, Engraver);
+
ADD_THIS_TRANSLATOR(Abbreviation_beam_engraver);
Abbreviation_beam_engraver::Abbreviation_beam_engraver ()
}
bool
-Abbreviation_beam_engraver::do_try_request (Request*r)
+Abbreviation_beam_engraver::do_try_music (Music*r)
{
Abbreviation_beam_req * b = dynamic_cast <Abbreviation_beam_req *> (r);
#include "stem-info.hh"
-IMPLEMENT_IS_TYPE_B1 (Abbreviation_beam, Spanner);
+
Abbreviation_beam::Abbreviation_beam ()
: Beam ()
}
-IMPLEMENT_IS_TYPE_B1(Align_element, Score_element);
+
void
Align_element::sort_elements ()
#if 0
DOUT << "contains: ";
for (int i=0 ; i < item_l_arr_.size(); i++)
- DOUT << item_l_arr_[i]->name () << ", ";
+ DOUT << classname (item_l_arr_[i]) << ", ";
#endif
}
DOUT << "Audio_column {";
DOUT << "at: " << at_mom_ << ". Contains:";
for (PCursor<Audio_item*> i (audio_item_l_list_.top ()); i.ok (); i++)
- DOUT << i->name () << ", ";
+ DOUT << classname (i.ptr ()) << ", ";
DOUT << "\n}\n";
#endif
}
#include "audio-element.hh"
#include "debug.hh"
-IMPLEMENT_IS_TYPE_B(Audio_element);
+
Audio_element::~Audio_element()
{
Audio_element::print () const
{
#ifndef NPRINT
- DOUT << name () << "{ ";
+ DOUT << classname (this) << "{ ";
do_print ();
DOUT << "}";
#endif
{
return str_.length_i() ? new Midi_instrument(0, str_) : 0;
}
-IMPLEMENT_IS_TYPE_B1(Audio_instrument, Audio_item);
+
Audio_item::Audio_item (Request* req_l)
{
{
return new Midi_key (this);
}
-IMPLEMENT_IS_TYPE_B1 (Audio_key, Audio_item);
+
Audio_note::Audio_note (Request* req_l, int transposing_i)
: Audio_item (req_l)
return new Midi_note (this);
}
-IMPLEMENT_IS_TYPE_B1(Audio_note, Audio_item);
+
Audio_tempo::Audio_tempo (int per_minute_4_i)
: Audio_item (0)
return new Midi_tempo (this);
}
-IMPLEMENT_IS_TYPE_B1(Audio_tempo, Audio_item);
+
Audio_time_signature::Audio_time_signature (Request* req_l)
: Audio_item (req_l)
return new Midi_time_signature (this);
}
-IMPLEMENT_IS_TYPE_B1(Audio_time_signature, Audio_item);
+
Audio_text::Audio_text (Audio_text::Type type, String text_str)
: Audio_item (0)
return text_str_.length_i() ? new Midi_text(this) : 0;
}
-IMPLEMENT_IS_TYPE_B1(Audio_text, Audio_item);
-IMPLEMENT_IS_TYPE_B1(Audio_item, Audio_element);
+
+
void
Audio_item::do_print () const
midi_stream_r << midi_track;
}
-IMPLEMENT_IS_TYPE_B1(Audio_staff, Audio_element);
+
+++ /dev/null
-/*
- auto-plet-engraver.cc -- implement Auto_plet_engraver
-
- source file of the GNU LilyPond music typesetter
-
- (c) 1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-
- */
-
-#include "auto-plet-engraver.hh"
-#include "command-request.hh"
-#include "plet-spanner.hh"
-#include "note-column.hh"
-
-bool
-Tuplet_engraver::do_try_request (Request *r)
-{
- if (Bracket_req * b = dynamic_cast <Bracket_req *> (r))
- {
- bracket_req_arr_.push (b);
- return true;
- }
- return false;
-}
-
-void
-Tuplet_engraver::do_process_requests ()
-{
- int stopcount =0;
- Link_array<Plet_spanner> start_arr;
-
- for (int i=0; i < bracket_req_arr_.size (); i++)
- {
- if (bracket_req_arr_[i]->spantype == Span_req::STOP)
- stopcount++;
- if (bracket_req_arr_[i]->spantype == Span_req::START)
- {
- Plet_spanner* glep = new Plet_spanner ();
- start_arr.push (glep);
-// lots of stuff does info->elem_l_->is_type ()
-// announce_element (Score_element_info (glep, bracket_req_arr_[i]));
- }
- }
-
- for (; stopcount--; )
- {
- Plet_spanner* glep = started_span_p_arr_.pop ();
- stop_now_span_p_arr_.push (glep);
- }
-
- for (int i=0; i < start_arr.size (); i++)
- started_span_p_arr_.push (start_arr.pop ());
-}
-
-void
-Tuplet_engraver::acknowledge_element (Score_element_info i)
-{
- if (Note_column *nc = dynamic_cast<Note_column *> (i.elem_l_))
- {
-
- for (int j =0; j <started_span_p_arr_.size (); j++)
- // started_span_p_arr_[j]->add_column (nc);
- ;
- }
-}
-
-void
-Tuplet_engraver::do_pre_move_processing ()
-{
- typeset_all ();
-}
-
-void
-Tuplet_engraver::typeset_all ()
-{
- for (int i=0; i < stop_now_span_p_arr_.size (); i++)
- {
- typeset_element (stop_now_span_p_arr_[i]);
- }
-
- stop_now_span_p_arr_.clear ();
-}
-
-void
-Tuplet_engraver::do_removal_processing ()
-{
- typeset_all ();
- for (int i=0; i < started_span_p_arr_.size (); i++)
- {
- typeset_element (started_span_p_arr_[i]);
- }
-}
-
-ADD_THIS_TRANSLATOR(Tuplet_engraver);
-IMPLEMENT_IS_TYPE_B1(Tuplet_engraver, Engraver);
-
-Tuplet_engraver::Tuplet_engraver()
-{
-}
-
-
-void
-Tuplet_engraver::do_post_move_processing ()
-{
- bracket_req_arr_.clear ();
-}
}
-IMPLEMENT_IS_TYPE_B2(Axis_group_element, Score_element, Graphical_axis_group);
+
#include "axis-group-item.hh"
#include "p-col.hh"
-IMPLEMENT_IS_TYPE_B2(Axis_group_item, Axis_group_element, Item);
+
void
Axis_group_item::OK() const
-IMPLEMENT_IS_TYPE_B2(Axis_group_spanner, Spanner, Axis_group_element);
+
bar_l_ =0;
}
-IMPLEMENT_IS_TYPE_B1(Bar_column_engraver, Engraver);
+
ADD_THIS_TRANSLATOR(Bar_column_engraver);
}
}
-IMPLEMENT_IS_TYPE_B1(Bar_column, Script_column);
+
}
bool
-Bar_engraver::do_try_request (Request*r_l)
+Bar_engraver::do_try_music (Music*r_l)
{
if (Bar_req * b= dynamic_cast <Bar_req *> (r_l))
{
{
Break_req r;
r.penalty_i_ = Break_req::DISALLOW;
- daddy_grav_l ()->try_request (&r);
+ daddy_grav_l ()->try_music (&r);
}
}
}
-IMPLEMENT_IS_TYPE_B1(Bar_engraver,Engraver);
+
ADD_THIS_TRANSLATOR(Bar_engraver);
}
}
-IMPLEMENT_IS_TYPE_B1(Bar_number_engraver,Engraver);
+
ADD_THIS_TRANSLATOR(Bar_number_engraver);
#include "lookup.hh"
#include "debug.hh"
-IMPLEMENT_IS_TYPE_B1 (Bar,Item);
+
Bar::Bar ()
{
}
bool
-Beam_engraver::do_try_request(Request*r)
+Beam_engraver::do_try_music (Music*r)
{
Beam_req* b = dynamic_cast <Beam_req *> (r);
if (!b)
beam_p_->add_stem (s);
}
}
-IMPLEMENT_IS_TYPE_B1(Beam_engraver, Engraver);
+
ADD_THIS_TRANSLATOR(Beam_engraver);
#include "type-swallow-trans.hh"
#include "musical-request.hh"
-
-
DECLARE_REQUEST_SWALLOWER(Beam_req);
+
#include "stem-info.hh"
-IMPLEMENT_IS_TYPE_B1 (Beam, Spanner);
+
Beam::Beam ()
{
#include "bezier.hh"
#include "main.hh"
-IMPLEMENT_IS_TYPE_B1(Bow,Directional_spanner);
+
Bow::Bow ()
{
Horizontal_align_item::do_pre_processing();
}
-IMPLEMENT_IS_TYPE_B1(Break_align_item, Horizontal_align_item);
+
Music_iterator::do_process_and_next (m);
}
-IMPLEMENT_IS_TYPE_B1 (Change_iterator, Music_iterator);
+
#include "change-translator.hh"
#include "debug.hh"
-IMPLEMENT_IS_TYPE_B1(Change_translator,Music);
+
void
Change_translator::do_print () const
}
-IMPLEMENT_IS_TYPE_B1(Simultaneous_music_iterator,Music_iterator);
+
Moment
Simultaneous_music_iterator::next_moment() const
}
bool
-Clef_engraver::do_try_request (Request * r_l)
+Clef_engraver::do_try_music (Music * r_l)
{
if (Clef_change_req *cl = dynamic_cast <Clef_change_req *> (r_l))
{
}
-IMPLEMENT_IS_TYPE_B1(Clef_engraver,Engraver);
+
ADD_THIS_TRANSLATOR(Clef_engraver);
}
-IMPLEMENT_IS_TYPE_B1(Clef_item,Item);
+
#include "pointer.tcc"
template class P<Text_def>; // ugh
}
-IMPLEMENT_IS_TYPE_B1(Collision_engraver,Engraver);
+
ADD_THIS_TRANSLATOR(Collision_engraver);
}
-IMPLEMENT_IS_TYPE_B1(Collision, Item);
+
void
Collision::do_substitute_dependency (Score_element*o_l,Score_element*n_l)
Command_script_req::Command_script_req(){}
Command_script_req::~Command_script_req(){}
-IMPLEMENT_IS_TYPE_B1(Command_script_req,Command_req);
-IMPLEMENT_IS_TYPE_B1(Cadenza_req, Timing_req);
+
+
void
Cadenza_req::do_print() const
}
-IMPLEMENT_IS_TYPE_B1(Bar_req,Command_req);
-IMPLEMENT_IS_TYPE_B2(Bracket_req, Command_req, Span_req);
+
+
void
Bar_req::do_print() const
}
-IMPLEMENT_IS_TYPE_B1(Timing_req,Command_req);
+
void
Timing_req::do_print() const{}
-IMPLEMENT_IS_TYPE_B1(Command_req,Request);
+
void
Command_req::do_print() const{}
-IMPLEMENT_IS_TYPE_B1(Barcheck_req,Timing_req);
+
void
Barcheck_req::do_print() const{}
}
-IMPLEMENT_IS_TYPE_B1(Clef_change_req,Command_req);
+
void
Clef_change_req::do_print() const
-IMPLEMENT_IS_TYPE_B1(Partial_measure_req,Timing_req);
+
void
Partial_measure_req::do_print() const
}
-IMPLEMENT_IS_TYPE_B1(Time_signature_change_req,Timing_req);
+
void
Time_signature_change_req::do_print() const
{
DOUT << dur_.str() << " = " << metronome_i_;
}
-IMPLEMENT_IS_TYPE_B1(Tempo_req, Timing_req);
+
bool
Tempo_req::do_equal_b (Request *r) const
-IMPLEMENT_IS_TYPE_B1(Measure_grouping_req,Timing_req);
+
void
Measure_grouping_req::do_print() const
}
}
-IMPLEMENT_IS_TYPE_B1(Key_change_req,Command_req);
+
void
Key_change_req::squash_octaves()
{
ordinary_key_b_= false;
}
-IMPLEMENT_IS_TYPE_B1(Break_req, Command_req);
+
Break_req::Break_req ()
{
{
}
-IMPLEMENT_IS_TYPE_B1 (Mark_req, Command_req);
+
Mark_req::Mark_req (String s)
{
#include "translator-group.hh"
#include "command-request.hh"
-IMPLEMENT_IS_TYPE_B1(Compressed_music_iterator, Music_wrapper_iterator);
+
Compressed_music_iterator::Compressed_music_iterator ()
{
{
if (first_b_)
{
- bool success = report_to_l ()->try_request (start_req_p_);
+ bool success = report_to_l ()->try_music (compressed_l ());
if (!success)
music_l_->warning ( _("No one to print a tuplet start bracket"));
}
Music_wrapper_iterator::do_process_and_next (m);
-
- if (!ok ())
- {
- bool success = report_to_l ()->try_request (stop_req_p_);
- if (!success)
- music_l_->warning ( _("No one to print a tuplet stop bracket"));
- }
}
element_p_->compress (Moment (num_i_,den_i_));
}
-IMPLEMENT_IS_TYPE_B1(Compressed_music, Music_wrapper);
+
}
-IMPLEMENT_IS_TYPE_B1(Crescendo,Spanner);
+
{
dir_ = CENTER;
}
+
+Offset
+Directional_spanner::center () const
+{
+ Real w= width ().length ();
+ Offset o (w/2, 0);
+ return o;
+}
ADD_THIS_TRANSLATOR(Dot_column_engraver);
-IMPLEMENT_IS_TYPE_B1(Dot_column_engraver,Engraver);
+
translate_axis (w[RIGHT] - width() [LEFT],X_AXIS);
}
-IMPLEMENT_IS_TYPE_B1(Dot_column, Horizontal_group_item);
+
return out;
}
-IMPLEMENT_IS_TYPE_B1(Dots, Item);
+
}
bool
-Dynamic_engraver::do_try_request (Request * r)
+Dynamic_engraver::do_try_music (Music * r)
{
if(Dynamic_req * d = dynamic_cast <Dynamic_req *> (r))
{
}
-IMPLEMENT_IS_TYPE_B1(Dynamic_engraver,Engraver);
+
ADD_THIS_TRANSLATOR(Dynamic_engraver);
void
#include "p-score.hh"
#include "score-element.hh"
-IMPLEMENT_IS_TYPE_B2(Engraver_group_engraver,Engraver, Translator_group);
+
ADD_THIS_TRANSLATOR(Engraver_group_engraver);
void
}
-IMPLEMENT_IS_TYPE_B1(Engraver, Translator);
+
Engraver_group_engraver*
#include "score-column.hh"
#include "text-item.hh"
-IMPLEMENT_IS_TYPE_B1 (Extender_engraver,Engraver);
ADD_THIS_TRANSLATOR (Extender_engraver);
Extender_engraver::Extender_engraver ()
}
bool
-Extender_engraver::do_try_request (Request* req_l)
+Extender_engraver::do_try_music (Music* req_l)
{
- Extender_req* p = dynamic_cast <Extender_req *> (req_l);
- if (!p)
- return false;
-
- if (bool (extender_spanner_p_) == bool (p->spantype == Span_req::START))
- return false;
+ if (Extender_req* p = dynamic_cast <Extender_req *> (req_l))
+ {
+ if (bool (extender_spanner_p_) == bool (p->spantype == Span_req::START))
+ return false;
- Direction d = (!extender_spanner_p_) ? LEFT : RIGHT;
- if (span_reqs_drul_[d] && !span_reqs_drul_[d]->equal_b (req_l))
- return false;
+ Direction d = (!extender_spanner_p_) ? LEFT : RIGHT;
+ if (span_reqs_drul_[d] && !span_reqs_drul_[d]->equal_b (p))
+ return false;
- span_reqs_drul_[d] = p;
- span_mom_drul_[d] = get_staff_info ().musical_l ()->when ();
- return true;
+ span_reqs_drul_[d] = p;
+ span_mom_drul_[d] = get_staff_info ().musical_l ()->when ();
+ return true;
+ }
+ return false;
}
void
#include "text-item.hh"
#include "text-def.hh"
-IMPLEMENT_IS_TYPE_B1 (Extender_spanner, Directional_spanner);
-
Extender_spanner::Extender_spanner ()
: Directional_spanner ()
{
}
ADD_THIS_TRANSLATOR (Font_size_engraver);
-IMPLEMENT_IS_TYPE_B1(Font_size_engraver,Engraver);
+
bool
General_script_def::equal_b (General_script_def const&g) const
{
- if (name() != g.name ())
- return false;
-
return do_equal_b (&g);
}
void
General_script_def::print() const
{
- DOUT << name() << "{";
+ DOUT << classname(this) << "{";
do_print();
DOUT << "}";
}
return Atom (s);
}
-IMPLEMENT_IS_TYPE_B(General_script_def);
+
Interval
return now_mom_;
}
-IMPLEMENT_IS_TYPE_B1(Global_translator, Translator_group);
+
Music_output*
Global_translator::get_output_p()
{
#ifndef NPRINT
for (int i=0; i < elem_l_arr_.size(); i++)
- DOUT << elem_l_arr_[i]->name () << " ";
+ DOUT << classname(elem_l_arr_[i]) << " ";
#endif
}
axis2_ = a2;
}
-IMPLEMENT_IS_TYPE_B1(Graphical_axis_group, Graphical_element);
+
#endif
}
-IMPLEMENT_IS_TYPE_B(Graphical_element);
+
#include "hara-kiri-vertical-group-spanner.hh"
#include "hara-kiri-line-group-engraver.hh"
-IMPLEMENT_IS_TYPE_B1 (Hara_kiri_line_group_engraver,Line_group_engraver_group);
+
ADD_THIS_TRANSLATOR (Hara_kiri_line_group_engraver);
void
#include "note-head.hh"
#include "bar.hh"
-IMPLEMENT_IS_TYPE_B1 (Hara_kiri_vertical_group_spanner, Vertical_group_spanner);
+
Hara_kiri_vertical_group_spanner::Hara_kiri_vertical_group_spanner()
{
}
bool
-Note_heads_engraver::do_try_request (Request *req_l)
+Note_heads_engraver::do_try_music (Music *req_l)
{
if (Note_req * n =dynamic_cast <Note_req *> (req_l))
{
}
-IMPLEMENT_IS_TYPE_B1(Note_heads_engraver,Engraver);
+
ADD_THIS_TRANSLATOR(Note_heads_engraver);
#include "horizontal-align-item.hh"
#include "debug.hh"
-IMPLEMENT_IS_TYPE_B2(Horizontal_align_item,Align_element,Item);
+
void
Horizontal_align_item::add_item (Item *i,int p)
#include "debug.hh"
-IMPLEMENT_IS_TYPE_B1(Horizontal_group_element, Axis_group_element);
+
Horizontal_group_element::Horizontal_group_element ()
: Axis_group_element (X_AXIS,X_AXIS)
#include "p-col.hh"
#include "horizontal-group-item.hh"
-IMPLEMENT_IS_TYPE_B2(Horizontal_group_item, Horizontal_group_element, Axis_group_item);
+
void
Horizontal_group_item::do_print() const
-IMPLEMENT_IS_TYPE_B2(Horizontal_vertical_group_element, Horizontal_group_element, Vertical_group_element);
+
Horizontal_vertical_group_element::do_print();
}
-IMPLEMENT_IS_TYPE_B2(Horizontal_vertical_group_item,Horizontal_vertical_group_element,Item);
+
Horizontal_vertical_group_item::Horizontal_vertical_group_item ()
{
#include "translator.hh"
#include "notename-table.hh"
-IMPLEMENT_IS_TYPE_B(Identifier);
+
Identifier::Identifier (int code)
{
}
#define IMPLEMENT_ID_CLASS(Class) \
- IMPLEMENT_IS_TYPE_B1(Class ## _identifier,Identifier)\
Class ## _identifier::~Class ## _identifier() { delete data_p_; }\
Class ## _identifier::Class ## _identifier (Class*st, int code) \
:Identifier (code)\
class Abbreviation_beam_engraver : public Engraver
{
public:
- TRANSLATOR_CLONE(Abbreviation_beam_engraver);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
Abbreviation_beam_engraver();
protected:
virtual void do_removal_processing();
virtual void do_process_requests();
- virtual bool do_try_request (Request*);
+ virtual bool do_try_music (Music*);
virtual void acknowledge_element (Score_element_info);
virtual void do_pre_move_processing();
direction */
class Abbreviation_beam : public Beam {
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Abbreviation_beam();
- SCORE_ELEMENT_CLONE(Abbreviation_beam);
+ VIRTUAL_COPY_CONS(Score_element);
protected:
virtual void do_print() const;
void add_element (Score_element*);
void add_element_priority (Score_element*, int);
bool contains_b (Score_element const*) const;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
protected:
virtual void do_print() const;
virtual void do_substitute_dependency (Score_element*,Score_element*);
void print ()const;
virtual ~Audio_element();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
protected:
virtual void do_print () const;
};
*/
Request* req_l_;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
protected:
virtual void do_print () const;
struct Audio_key : public Audio_item {
Audio_key (Request* req_l);
- DECLARE_MY_RUNTIME_TYPEINFO;
+
virtual Midi_item* midi_item_p();
};
Audio_instrument (String instrument_str);
virtual Midi_item* midi_item_p();
String str_;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
struct Audio_note : public Audio_item {
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Audio_note (Request* req_l, int transposing_i = 0);
virtual Midi_item* midi_item_p();
int transposing_i_;
TEXT = 1, COPYRIGHT, TRACK_NAME, INSTRUMENT_NAME, LYRIC,
MARKER, CUE_POINT
};
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Audio_text (Audio_text::Type type, String text_str);
virtual Midi_item* midi_item_p();
struct Audio_tempo : Audio_item {
Audio_tempo (int per_minute_4_i);
virtual Midi_item* midi_item_p();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
int per_minute_4_i_;
};
struct Audio_time_signature : Audio_item {
Audio_time_signature (Request* req_l);
virtual Midi_item* midi_item_p();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
#endif // AUDIO_ITEM_HH
void output (Midi_stream& midi_stream_r, int track_i);
Link_list<Audio_item*> audio_item_l_list_;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
#endif // AUDIO_STAFF_HH
+++ /dev/null
-/*
- auto-plet-engraver.hh -- declare Auto_plet_engraver
-
- source file of the GNU LilyPond music typesetter
-
- (c) 1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-
- */
-
-#ifndef AUTO_PLET_ENGRAVER_HH
-#define AUTO_PLET_ENGRAVER_HH
-
-#include "engraver.hh"
-
-class Tuplet_engraver : public Engraver
-{
- void typeset_all ();
-public:
- Tuplet_engraver ();
- DECLARE_MY_RUNTIME_TYPEINFO;
- TRANSLATOR_CLONE(Tuplet_engraver);
-
-protected:
- Link_array<Bracket_req> bracket_req_arr_;
-
- Link_array<Plet_spanner> started_span_p_arr_;
- Link_array<Plet_spanner> stop_now_span_p_arr_;
-
- virtual void do_removal_processing ();
- virtual void acknowledge_element (Score_element_info);
- virtual void do_pre_move_processing ();
- virtual bool do_try_request (Request*r);
- virtual void do_process_requests ();
- virtual void do_post_move_processing ();
-};
-
-
-
-#endif /* AUTO_PLET_ENGRAVER_HH */
Axis_group_element();
virtual Link_array<Score_element> get_children ();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
#endif // AXIS_GROUP_ELEMENT_HH
Axis_group_element::do_unlink();
}
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
#endif // AXIS_ITEM_HH
virtual void do_print() const;
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
#endif // SPAN_AXIS_GROUP_HH
virtual void do_process_requests ();
virtual void do_post_move_processing();
public:
- TRANSLATOR_CLONE(Bar_column_engraver);
+ VIRTUAL_COPY_CONS(Translator);
Bar_column_engraver();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
#endif // BAR_COLUMN_GRAV_HH
Bar_column();
void set_bar (Bar*);
protected:
- SCORE_ELEMENT_CLONE(Bar_column);
+ VIRTUAL_COPY_CONS(Score_element);
void do_substitute_dependency (Score_element*,Score_element*);
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
#endif // BAR_COLUMN_HH
void create_bar ();
public:
- TRANSLATOR_CLONE(Bar_engraver);
+ VIRTUAL_COPY_CONS(Translator);
Bar_engraver();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
protected:
virtual void do_creation_processing ();
virtual void do_removal_processing ();
- virtual bool do_try_request (Request *req_l);
+ virtual bool do_try_music (Music *req_l);
virtual void do_process_requests();
virtual void do_pre_move_processing();
virtual void do_post_move_processing();
void acknowledge_element (Score_element_info);
void do_pre_move_processing();
public:
- TRANSLATOR_CLONE(Bar_number_engraver);
+ VIRTUAL_COPY_CONS(Translator);
Bar_number_engraver();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
#endif // BAR_NUMBER_GRAV_HH
public:
String type_str_;
- DECLARE_MY_RUNTIME_TYPEINFO;
- SCORE_ELEMENT_CLONE (Bar);
+
+ VIRTUAL_COPY_CONS(Score_element);
Bar ();
protected:
Rhythmic_grouping *current_grouping_p_;
public:
- TRANSLATOR_CLONE(Beam_engraver);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
Beam_engraver();
protected:
virtual void do_removal_processing();
virtual void do_process_requests();
- virtual bool do_try_request (Request*);
+ virtual bool do_try_music (Music*);
virtual void acknowledge_element (Score_element_info);
virtual void do_pre_move_processing();
};
int multiple_i_;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Beam();
void add_stem (Stem*);
void set_grouping (Rhythmic_grouping def, Rhythmic_grouping current);
void set_stemlens ();
- SCORE_ELEMENT_CLONE (Beam);
+ VIRTUAL_COPY_CONS(Score_element);
protected:
virtual Interval do_width () const;
Bow ();
Offset center () const;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
int dash_i_;
protected:
virtual void do_pre_processing();
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
- SCORE_ELEMENT_CLONE(Break_align_item);
+
+ VIRTUAL_COPY_CONS(Score_element);
};
#endif // BREAK_ALIGN_ITEM_HH
void error (String);
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
+
protected:
virtual void do_process_and_next (Moment);
};
public:
String change_to_type_str_;
String change_to_id_str_;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
protected:
- VIRTUAL_COPY_CONS(Change_translator, Music);
+ VIRTUAL_COPY_CONS(Music);
void do_print () const;
};
Simultaneous_music *simultaneous_music_l() const;
Pointer_list<Music_iterator*> children_p_list_;
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
+
protected:
virtual void do_print() const;
virtual void construct_children();
virtual void do_removal_processing();
virtual void do_creation_processing();
virtual void do_post_move_processing();
- virtual bool do_try_request (Request*);
+ virtual bool do_try_music (Music*);
virtual void acknowledge_element (Score_element_info);
public:
- TRANSLATOR_CLONE(Clef_engraver);
+ VIRTUAL_COPY_CONS(Translator);
int c0_position_i_;
int clef_position_i_;
Direction octave_dir_;
Clef_engraver();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
#endif
/// text def to put above/below clef?
P<Text_def> octave_marker_td_p_;
- DECLARE_MY_RUNTIME_TYPEINFO;
- SCORE_ELEMENT_CLONE(Clef_item);
+
+ VIRTUAL_COPY_CONS(Score_element);
Clef_item();
};
virtual void process_acknowledged ();
virtual void do_pre_move_processing();
public:
- TRANSLATOR_CLONE(Collision_engraver);
+ VIRTUAL_COPY_CONS(Translator);
Collision_engraver();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
#endif // COLLISION_GRAV_HH
virtual void do_pre_processing();
public:
Link_array<Note_column> clash_l_arr_;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
void add_column (Note_column*ncol_l);
Collision();
};
public:
Bracket_req* start_req_p_;
Bracket_req* stop_req_p_;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Compressed_music_iterator();
~Compressed_music_iterator ();
virtual void do_process_and_next (Moment);
int den_i_;
Compressed_music (int, int, Music *);
- DECLARE_MY_RUNTIME_TYPEINFO;
- VIRTUAL_COPY_CONS (Compressed_music, Music);
+
+ VIRTUAL_COPY_CONS(Music);
};
#endif /* COMPRESSED_MUSIC_HH */
Crescendo();
protected:
- SCORE_ELEMENT_CLONE(Crescendo);
+ VIRTUAL_COPY_CONS(Score_element);
virtual Molecule*brew_molecule_p() const;
virtual Interval symbol_height() const;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
private:
Atom get_symbol() const;
Directional_spanner();
/// offset of "center" relative to left-column/0-pos of staff
- virtual Offset center() const=0;
+ virtual Offset center() const;
virtual void set_default_dir();
protected:
virtual void do_pre_processing();
Dot_column *dotcol_p_ ;
Link_array<Rhythmic_head> head_l_arr_;
public:
- TRANSLATOR_CLONE(Dot_column_engraver);
+ VIRTUAL_COPY_CONS(Translator);
Dot_column_engraver();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
protected:
virtual void acknowledge_element (Score_element_info);
virtual void do_pre_move_processing ();
Link_array<Dots> dot_l_arr_;
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
+
void add_head (Rhythmic_head*);
void add_dots (Dots*);
int no_dots_i_;
int position_i_;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Dots ();
};
Span_dynamic_req * cresc_req_l_;
Array<Dynamic_req*> dynamic_req_l_arr_;
public:
- TRANSLATOR_CLONE(Dynamic_engraver);
+ VIRTUAL_COPY_CONS(Translator);
Dynamic_engraver();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
protected:
virtual void do_removal_processing ();
virtual void acknowledge_element (Score_element_info);
- virtual bool do_try_request (Request *req_l);
+ virtual bool do_try_music (Music *req_l);
virtual void do_process_requests();
virtual void do_pre_move_processing();
virtual void do_post_move_processing();
protected:
Array<Score_element_info> announce_info_arr_;
public:
- TRANSLATOR_CLONE(Engraver_group_engraver);
+ VIRTUAL_COPY_CONS(Translator);
Engraver_group_engraver();
~Engraver_group_engraver();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
virtual Staff_info get_staff_info() const;
virtual void do_announces();
virtual void fill_staff_info (Staff_info&);
public:
- TRANSLATOR_CLONE(Engraver);
+ VIRTUAL_COPY_CONS(Translator);
Engraver_group_engraver * daddy_grav_l() const;
/**
override other ctor
*/
Engraver () {}
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
class Extender_engraver : public Engraver
{
public:
- TRANSLATOR_CLONE(Extender_engraver);
- DECLARE_MY_RUNTIME_TYPEINFO;
Extender_engraver ();
+ VIRTUAL_COPY_CONS (Translator);
protected:
virtual void acknowledge_element (Score_element_info);
virtual void do_removal_processing();
virtual void do_process_requests();
- virtual bool do_try_request (Request*);
+ virtual bool do_try_music (Music*);
virtual void do_pre_move_processing();
private:
void do_substitute_dependency (Score_element* o, Score_element* n);
void do_post_processing ();
- DECLARE_MY_RUNTIME_TYPEINFO;
- SCORE_ELEMENT_CLONE(Extender_spanner);
+ VIRTUAL_COPY_CONS (Score_element);
Extender_spanner (Extender_spanner const&);
virtual void do_process_requests ();
public:
Font_size_engraver ();
- DECLARE_MY_RUNTIME_TYPEINFO;
- TRANSLATOR_CLONE (Font_size_engraver);
+
+ VIRTUAL_COPY_CONS (Translator);
};
#endif /* FONT_SIZE_GRAV_HH */
*/
class General_script_def : public Input {
public:
- VIRTUAL_COPY_CONS(General_script_def,General_script_def);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(General_script_def);
+
virtual Direction staff_dir() const;
void print() const;
virtual Direction rel_stem_dir() const;
class Global_translator : public virtual Translator_group{
PQueue<Moment> extra_mom_pq_;
public:
- TRANSLATOR_CLONE(Global_translator);
+ VIRTUAL_COPY_CONS(Translator);
Moment last_mom_;
Moment now_mom_;
Global_translator();
virtual void finish() {}
virtual void start() {}
- DECLARE_MY_RUNTIME_TYPEINFO;
+
protected:
virtual Moment now_moment () const;
virtual Global_translator *global_l() { return this; }
bool contains_b (Graphical_element const *) const;
void add_element (Graphical_element*);
void remove_element (Graphical_element*);
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
#endif // Graphical_axis_group_HH
bool empty_b () const;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Graphical_axis_group * axis_group_l_a_[NO_AXES];
class Graphical_lisp_element
{
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Graphical_lisp_element (String);
class Hara_kiri_line_group_engraver : public Line_group_engraver_group
{
public:
- TRANSLATOR_CLONE (Hara_kiri_line_group_engraver);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS (Translator);
protected:
virtual void create_line_spanner ();
class Hara_kiri_vertical_group_spanner : public Vertical_group_spanner
{
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Hara_kiri_vertical_group_spanner ();
virtual void do_post_processing ();
void add_note (Note_head* n);
protected:
- SCORE_ELEMENT_CLONE (Hara_kiri_vertical_group_spanner);
+ VIRTUAL_COPY_CONS(Score_element);
virtual void do_substitute_dependency (Score_element*, Score_element*);
virtual void do_print ()const;
Link_array<Note_req> note_req_l_arr_;
public:
- TRANSLATOR_CLONE(Note_heads_engraver);
+ VIRTUAL_COPY_CONS(Translator);
Note_heads_engraver();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
protected:
- virtual bool do_try_request (Request *req_l) ;
+ virtual bool do_try_music (Music *req_l) ;
virtual void do_process_requests();
virtual void do_pre_move_processing();
virtual void do_post_move_processing();
*/
class Horizontal_align_item : public Item , public Align_element {
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
- SCORE_ELEMENT_CLONE(Horizontal_align_item);
+
+ VIRTUAL_COPY_CONS(Score_element);
void add_item (Item*, int p);
Horizontal_align_item();
virtual void do_print() const;
public:
Horizontal_group_element ();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
virtual void do_print() const;
public:
Horizontal_group_item ();
- DECLARE_MY_RUNTIME_TYPEINFO;
- SCORE_ELEMENT_CLONE(Horizontal_group_item);
+
+ VIRTUAL_COPY_CONS(Score_element);
};
#endif // HORIZONTAL_GROUP_ITEM_HH
public:
Horizontal_vertical_group_element ();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
virtual void do_unlink () {
Axis_group_item::do_unlink ();
}
- SCORE_ELEMENT_CLONE(Horizontal_vertical_group_item);
+ VIRTUAL_COPY_CONS(Score_element);
public:
Horizontal_vertical_group_item ();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
#endif // HORIZONTAL_VERTICAL_GROUP_ITEM_HH
void print() const;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
void error (String) const;
String str () const;
IDACCESSOR(Translator)
IDACCESSOR(Score)
IDACCESSOR(int)
IDACCESSOR(Duration)
- VIRTUAL_COPY_CONS (Identifier, Identifier);
+ VIRTUAL_COPY_CONS(Identifier);
protected:
virtual void do_print () const;
#define DECLARE_ID_CLASS(Class) \
struct Class ## _identifier : Identifier {\
Class *data_p_; \
- DECLARE_MY_RUNTIME_TYPEINFO; \
+ \
Class ## _identifier (Class ## _identifier const&);\
Class ## _identifier (Class*st, int code);\
- VIRTUAL_COPY_CONS (Class ## _identifier, Identifier);\
+ VIRTUAL_COPY_CONS(Identifier);\
virtual Class* access_content_ ## Class (bool copy_b) const;\
~Class ## _identifier();\
virtual void do_print () const; \
Item();
Real hpos_f() const;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
virtual Line_of_score * line_l() const;
virtual Paper_column * column_l () const;
public:
Key_engraver();
- DECLARE_MY_RUNTIME_TYPEINFO;
- TRANSLATOR_CLONE(Key_engraver);
+
+ VIRTUAL_COPY_CONS(Translator);
Key key_;
Key_change_req * keyreq_l_;
Key_item * kit_p_;
bool change_key_b_;
protected:
- virtual bool do_try_request (Request *req_l);
+ virtual bool do_try_music (Music *req_l);
virtual void do_process_requests();
virtual void do_pre_move_processing();
virtual void do_post_move_processing();
bool default_b_;
bool multi_octave_b_;
- DECLARE_MY_RUNTIME_TYPEINFO;
- SCORE_ELEMENT_CLONE(Key_item);
+
+ VIRTUAL_COPY_CONS(Score_element);
Key_item ();
void add (int pitch, int acc);
class Key_performer : public Performer {
public:
- TRANSLATOR_CLONE(Key_performer);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
Key_performer();
~Key_performer();
protected:
void do_print() const;
- virtual bool do_try_request (Request* req_l);
+ virtual bool do_try_music (Music* req_l);
virtual void do_process_requests();
private:
virtual void do_announces ();
public:
- TRANSLATOR_CLONE(Line_group_engraver_group);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
Line_group_engraver_group();
};
Link_array<Paper_column> cols;
bool error_mark_b_;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Line_of_score();
void add_element (Score_element *);
virtual Interval do_width() const;
virtual void do_print() const;
- SCORE_ELEMENT_CLONE(Line_of_score);
+ VIRTUAL_COPY_CONS(Score_element);
};
#endif
struct Local_key_engraver : Engraver {
Local_key_item *key_item_p_;
protected:
- TRANSLATOR_CLONE(Local_key_engraver);
+ VIRTUAL_COPY_CONS(Translator);
virtual void do_process_requests();
virtual void acknowledge_element (Score_element_info);
virtual void do_pre_move_processing();
Link_array<Item > forced_l_arr_;
Link_array<Item > tied_l_arr_;
Local_key_engraver();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
#endif // LOCALKEYGRAV_HH
*/
class Local_key_item : public Item {
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Array<Musical_pitch> accidental_pitch_arr_;
Link_array<Item> support_items_;
int c0_position_i_;
#include "lily-proto.hh"
class Lyric_engraver : public Engraver {
- Lyric_req* lreq_l_;
- Text_item *lyric_item_p_;
+ Lyric_req* lreq_l_;
+ Text_item *lyric_item_p_;
protected:
- virtual void do_pre_move_processing();
- virtual bool do_try_request (Request*);
- virtual void do_process_requests();
- virtual void do_post_move_processing();
+ virtual void do_pre_move_processing();
+ virtual bool do_try_music (Music*);
+ virtual void do_process_requests();
+ virtual void do_post_move_processing();
public:
- TRANSLATOR_CLONE(Lyric_engraver);
- DECLARE_MY_RUNTIME_TYPEINFO;
- Lyric_engraver();
+ VIRTUAL_COPY_CONS(Translator);
+
+ Lyric_engraver();
};
#endif // LYRIC_ENGRAVER_HH
class Lyric_performer : public Performer {
public:
- TRANSLATOR_CLONE(Lyric_performer);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
protected:
void do_print() const;
- virtual bool do_try_request (Request* req_l);
+ virtual bool do_try_music (Music* req_l);
virtual void do_process_requests();
private:
public:
Mark_engraver ();
- TRANSLATOR_CLONE(Mark_engraver);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
protected:
- virtual bool do_try_request (Request *req_l);
+ virtual bool do_try_music (Music *req_l);
virtual void do_process_requests ();
virtual void do_pre_move_processing ();
*/
class Midi_def : public Music_output_def {
static int default_count_i_;
+ int count_per_minute_i;
public:
- VIRTUAL_COPY_CONS(Midi_def, Music_output_def);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Music_output_def);
/// duration of whole note measured in seconds.
Moment whole_in_seconds_mom_;
Maybe use base classes for RIFF files?
*/
struct Midi_item {
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Midi_item (Audio_item* audio_item_l);
virtual ~Midi_item ();
static String i2varint_str (int i);
variable sized MIDI data
*/
struct Midi_chunk : Midi_item {
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Midi_chunk ();
void set (String header_str, String data_str, String footer_str);
};
struct Midi_duration : public Midi_item {
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Midi_duration (Real seconds_f);
virtual String str () const;
};
struct Midi_header : Midi_chunk {
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Midi_header (int format_i, int tracks_i, int clocks_per_4_i);
};
Change instrument event
*/
struct Midi_instrument : public Midi_item {
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Midi_instrument (int channel_i, String instrument_str);
virtual String str () const;
struct Midi_key : public Midi_item {
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Midi_key (Audio_item* audio_item_l);
virtual String str () const;
struct Midi_time_signature : Midi_item {
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Midi_time_signature (Audio_item* audio_item_l);
virtual String str () const;
Turn a note on (blond).
*/
struct Midi_note : public Midi_item {
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Midi_note (Audio_item* audio_item_l);
Moment duration () const;
Turn a note off (dark).
*/
struct Midi_note_off : public Midi_item {
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Midi_note_off (Midi_note*);
int pitch_i () const;
};
struct Midi_text : Midi_item {
- DECLARE_MY_RUNTIME_TYPEINFO;
+
enum Type {
TEXT = 1, COPYRIGHT, TRACK_NAME, INSTRUMENT_NAME, LYRIC,
};
struct Midi_tempo : Midi_item {
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Midi_tempo (int per_minute_4_i);
Midi_tempo (Audio_item* audio_item_l);
};
struct Midi_track : Midi_chunk {
- DECLARE_MY_RUNTIME_TYPEINFO;
+
int number_i_;
Pointer_list<Midi_event*> event_p_list_;
class Multi_measure_rest_engraver : public Engraver
{
public:
- TRANSLATOR_CLONE(Multi_measure_rest_engraver);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
Multi_measure_rest_engraver ();
protected:
virtual void do_process_requests ();
- virtual bool do_try_request (Request*);
+ virtual bool do_try_music (Music*);
virtual void do_pre_move_processing ();
virtual void do_post_move_processing ();
private:
Multi_measure_rest ();
int measures_i_;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
protected:
virtual void do_print () const;
void inherit_info (Music_iterator const *parent);
public:
Translator_group*report_to_l() const;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
static Music_iterator* static_get_iterator_p (Music const*,Translator_group*);
Music_iterator();
Music_sequence (Music_sequence const&);
Music_sequence (Music_list *l_p);
- DECLARE_MY_RUNTIME_TYPEINFO;
- VIRTUAL_COPY_CONS(Music_sequence,Music);
+
+ VIRTUAL_COPY_CONS(Music);
virtual void transpose (Musical_pitch );
virtual void compress (Moment);
class Simultaneous_music : public Music_sequence
{
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
- VIRTUAL_COPY_CONS(Simultaneous_music,Music);
+
+ VIRTUAL_COPY_CONS(Music);
Simultaneous_music(Music_list *);
virtual Musical_pitch to_relative_octave (Musical_pitch);
class Request_chord : public Simultaneous_music
{
public:
- VIRTUAL_COPY_CONS(Request_chord, Music);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Music);
+
virtual Musical_pitch to_relative_octave (Musical_pitch);
Request_chord();
};
class Sequential_music : public Music_sequence
{
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
- VIRTUAL_COPY_CONS(Sequential_music, Music);
+
+ VIRTUAL_COPY_CONS(Music);
virtual Musical_pitch to_relative_octave (Musical_pitch);
Sequential_music(Music_list*);
Music_output_def ();
virtual ~Music_output_def ();
- VIRTUAL_COPY_CONS(Music_output_def, Music_output_def);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Music_output_def);
+
virtual void print () const;
Global_translator *get_global_translator_p ();
virtual void do_process_and_next (Moment) ;
virtual Moment next_moment () const;
virtual bool ok () const;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
#endif /* MUSIC_WRAPPER_ITERATOR_HH */
Music_wrapper (Music*);
virtual void transpose (Musical_pitch);
virtual void do_print () const;
- DECLARE_MY_RUNTIME_TYPEINFO;
- VIRTUAL_COPY_CONS (Music_wrapper, Music);
+
+ VIRTUAL_COPY_CONS(Music);
Music_wrapper (Music_wrapper const&);
virtual Moment duration () const;
virtual ~Music_wrapper ();
/// Scale the music in time by #factor#.
virtual void compress (Moment factor);
- VIRTUAL_COPY_CONS(Music,Music);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Music);
+
Music();
protected:
virtual void do_print() const;
void translate_rests(int dy);
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Note_column ();
void set_stem (Stem*);
void set_dotcol (Dot_column*);
class Note_head : public Rhythmic_head {
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
+
int position_i_;
class Note_performer : public Performer {
public:
- TRANSLATOR_CLONE(Note_performer);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
Note_performer();
protected:
virtual void do_process_requests();
- virtual bool do_try_request (Request *req_l) ;
+ virtual bool do_try_music (Music *req_l) ;
virtual void do_print() const;
private:
class Paper_column : public Horizontal_group_item {
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
- SCORE_ELEMENT_CLONE(Paper_column);
+
+ VIRTUAL_COPY_CONS(Score_element);
Drul_array< Array<Column_rod> > minimal_dists_arr_drul_;
void preprocess ();
static int default_count_i_;
protected:
- VIRTUAL_COPY_CONS(Paper_def,Music_output_def);
+ VIRTUAL_COPY_CONS(Music_output_def);
public:
virtual ~Paper_def ();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Array<Interval> shape_int_a_;
class Performer_group_performer : public Performer, public virtual Translator_group {
public:
- TRANSLATOR_CLONE(Performer_group_performer);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
};
#endif // PERFORMER_GROUP_PERFORMER_HH
*/
class Performer : public virtual Translator{
public:
- TRANSLATOR_CLONE(Performer);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
Performer_group_performer* daddy_perf_l() const;
protected:
virtual int get_tempo_i() const;
class Piano_brace : public Span_score_bar
{
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
- SCORE_ELEMENT_CLONE(Piano_brace);
+
+ VIRTUAL_COPY_CONS(Score_element);
/** make room for Staff_bracket. Ugh. Should use some kind of
relation thingy. */
class Pitch_squash_engraver : public Engraver {
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
- TRANSLATOR_CLONE (Pitch_squash_engraver);
+
+ VIRTUAL_COPY_CONS (Translator);
virtual void acknowledge_element (Score_element_info);
};
class Plet_engraver : public Engraver
{
public:
- TRANSLATOR_CLONE(Plet_engraver);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
Plet_engraver ();
protected:
virtual void acknowledge_element (Score_element_info);
virtual void do_removal_processing();
virtual void do_process_requests();
- virtual bool do_try_request (Request*);
+ virtual bool do_try_music (Music*);
virtual void do_pre_move_processing();
private:
class Plet_swallow_engraver : public Swallow_engraver
{
public:
- TRANSLATOR_CLONE(Plet_swallow_engraver);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
protected:
- virtual bool do_try_request (Request*);
+ virtual bool do_try_music (Music*);
};
#endif // PLET_SWALLOW_ENGRAVER_HH
class Priority_horizontal_align_engraver : public Engraver {
Break_align_item * halign_p_;
public:
- TRANSLATOR_CLONE(Priority_horizontal_align_engraver);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
Priority_horizontal_align_engraver();
protected:
virtual void acknowledge_element (Score_element_info);
Translation_property *property_l() const;
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
+
protected:
virtual void do_process_and_next (Moment);
};
void do_print () const;
Relative_octave_music (Music*, Musical_pitch);
- DECLARE_MY_RUNTIME_TYPEINFO;
- VIRTUAL_COPY_CONS (Relative_octave_music, Music);
+
+ VIRTUAL_COPY_CONS(Music);
virtual Musical_pitch to_relative_octave (Musical_pitch);
};
public:
Request_chord_iterator ();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
protected:
virtual void do_process_and_next (Moment);
virtual ~Request(){}
- DECLARE_MY_RUNTIME_TYPEINFO;
- VIRTUAL_COPY_CONS(Request,Music);
+
+ VIRTUAL_COPY_CONS(Music);
bool equal_b (Request*) const;
protected:
#define REQUESTMETHODS(T) \
-DECLARE_MY_RUNTIME_TYPEINFO;\
-VIRTUAL_COPY_CONS(T, Request);\
+\
+VIRTUAL_COPY_CONS(Request);\
virtual void do_print() const
virtual void process_acknowledged ();
virtual void do_pre_move_processing();
public:
- TRANSLATOR_CLONE(Rest_collision_engraver);
+ VIRTUAL_COPY_CONS(Translator);
Rest_collision_engraver();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
#endif // REST_COLLISION_GRAV_HH
Link_array<Note_column> ncol_l_arr_;
public:
void add_column (Note_column*);
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Rest_collision();
protected:
virtual void do_post_processing();
Dots * dot_p_;
Rest * rest_p_;
protected:
- virtual bool do_try_request (Request *);
+ virtual bool do_try_music (Music *);
virtual void do_pre_move_processing ();
virtual void do_post_move_processing ();
virtual void do_process_requests ();
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
- TRANSLATOR_CLONE(Rest_engraver);
+
+ VIRTUAL_COPY_CONS(Translator);
Rest_engraver ();
};
#endif // REST_GRAV_HH
class Rest : public Rhythmic_head
{
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
+
int position_i_;
Rest ();
Dot_column *dotcol_l_;
protected:
- TRANSLATOR_CLONE(Rhythmic_column_engraver);
+ VIRTUAL_COPY_CONS(Translator);
virtual void acknowledge_element (Score_element_info);
virtual void process_acknowledged ();
virtual void do_pre_move_processing();
virtual void do_post_move_processing();
public:
Rhythmic_column_engraver();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
#endif // RHYTHMIC_COLUMN_GRAV_HH
class Rhythmic_head : public Item
{
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
+
int balltype_i_;
int dots_i_;
*/
class Score_bar : public virtual Bar {
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
- SCORE_ELEMENT_CLONE(Score_bar);
+
+ VIRTUAL_COPY_CONS(Score_element);
protected:
void do_pre_processing ();
};
public:
int break_penalty_i () { return break_penalty_i_; }
- DECLARE_MY_RUNTIME_TYPEINFO;
- SCORE_ELEMENT_CLONE(Score_column);
+
+ VIRTUAL_COPY_CONS(Score_element);
/// length of notes/rests in this column
Array<Moment> durations;
*/
struct Score_element_info {
Score_element * elem_l_;
-
- Request*req_l_;
+ Music *req_l_;
Array<Engraver*> origin_grav_l_arr_;
- Score_element_info (Score_element*, Request*);
-
+ Score_element_info (Score_element*, Music*);
Score_element_info();
};
#include "directed-graph.hh"
#include "graphical-element.hh"
-#define SCORE_ELEMENT_CLONE(T) VIRTUAL_COPY_CONS (T, Score_element)
typedef void (Score_element::*Score_element_method_pointer) (void);
Lookup const *lookup_l () const;
virtual ~Score_element ();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
void add_processing ();
virtual Line_of_score * line_l () const;
virtual bool linked_b () const;
- SCORE_ELEMENT_CLONE (Score_element);
+ VIRTUAL_COPY_CONS(Score_element);
/// do not print anything black
bool transparent_b_;
void typeset_all();
public:
- TRANSLATOR_CLONE(Score_engraver);
+ VIRTUAL_COPY_CONS(Translator);
Paper_score * pscore_p_;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Score_engraver();
virtual Music_output *get_output_p ();
protected:
/* Engraver_group_engraver interface */
virtual Staff_info get_staff_info() const;
- virtual bool do_try_request (Request*);
+ virtual bool do_try_music (Music*);
virtual void do_creation_processing();
virtual void do_removal_processing();
virtual void announce_element (Score_element_info);
public Performer_group_performer, public Global_translator
{
public:
- TRANSLATOR_CLONE(Score_performer);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
Score_performer();
~Score_performer();
Performance *performance_p_;
{
Assoc<int, Horizontal_group_item *> align_p_assoc_;
public:
- TRANSLATOR_CLONE(Score_priority_engraver);
+ VIRTUAL_COPY_CONS(Translator);
Score_priority_engraver ();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
protected:
virtual void acknowledge_element (Score_element_info);
virtual void do_pre_move_processing();
public:
Link_array<Script> script_l_arr_;
Link_array<Item> support_l_arr_;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
virtual void add_script (Script *);
void add_support (Item*);
virtual int priority_i() const;
virtual bool inside_b() const;
virtual Atom get_atom (Paper_def* p, Direction dir_) const;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
virtual bool do_equal_b (General_script_def const *) const;
virtual void do_print() const;
Script_def();
void set_from_input (String, bool, int, int ,bool,int);
protected:
- VIRTUAL_COPY_CONS(Script_def,General_script_def);
+ VIRTUAL_COPY_CONS(General_script_def);
};
Array<Script_req *> script_req_l_arr_;
public:
- TRANSLATOR_CLONE(Script_engraver);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
Script_engraver();
protected:
- virtual bool do_try_request (Request*);
+ virtual bool do_try_music (Music*);
virtual void do_process_requests();
virtual void do_pre_move_processing();
virtual void do_post_move_processing();
virtual Interval symbol_width () const;
virtual void do_pre_processing();
virtual Interval do_width() const;
- SCORE_ELEMENT_CLONE(Script);
+ VIRTUAL_COPY_CONS(Score_element);
private:
void set_default_dir();
Script (Script const&);
void set_stem (Stem*);
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
{
Link_array<Single_malt_grouping_item> spacing_unit_l_arr_;
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
+
void add_spacing_unit (Single_malt_grouping_item*);
protected:
- SCORE_ELEMENT_CLONE (Separating_group_spanner);
+ VIRTUAL_COPY_CONS(Score_element);
virtual Array<Rod> get_rods () const;
virtual void do_substitute_dependency (Score_element*,Score_element*);
};
virtual void do_pre_move_processing ();
public:
Separating_line_group_engraver ();
- TRANSLATOR_CLONE (Separating_line_group_engraver);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS (Translator);
+
};
It's 1 30 am. Naming suggestions appreciated. */
class Single_malt_grouping_item : public Item
{
- SCORE_ELEMENT_CLONE (Single_malt_grouping_item);
+ VIRTUAL_COPY_CONS(Score_element);
Link_array<Item> item_l_arr_;
public:
Single_malt_grouping_item ();
Interval my_width () const;
void add_item (Item*);
- DECLARE_MY_RUNTIME_TYPEINFO;
+
protected:
virtual void do_substitute_dependency (Score_element*, Score_element*);
virtual void do_print () const;
Array<Slur*> end_slur_l_arr_;
protected:
- virtual bool do_try_request (Request*);
+ virtual bool do_try_music (Music*);
virtual void do_process_requests();
virtual void acknowledge_element (Score_element_info);
virtual void do_pre_move_processing();
virtual void do_removal_processing ();
public:
- TRANSLATOR_CLONE(Slur_engraver);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
};
#endif // SLURGRAV_HH
Slur ();
- SCORE_ELEMENT_CLONE(Slur);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Score_element);
+
protected:
virtual Array<Offset> get_encompass_offset_arr () const;
Array<Bar*> bar_l_arr_;
Vertical_align_spanner * valign_l_;
public:
- TRANSLATOR_CLONE(Span_bar_engraver);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
Span_bar_engraver();
protected:
public:
Span_bar();
- DECLARE_MY_RUNTIME_TYPEINFO;
- SCORE_ELEMENT_CLONE(Span_bar);
+
+ VIRTUAL_COPY_CONS(Score_element);
void add_bar (Bar*);
void set_align (Align_element *);
class Span_score_bar_engraver : public Span_bar_engraver
{
public:
- TRANSLATOR_CLONE (Span_score_bar_engraver);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS (Translator);
+
virtual Span_bar* get_span_bar_p () const;
};
class Piano_bar_engraver : public Span_score_bar_engraver
{
public:
- TRANSLATOR_CLONE (Piano_bar_engraver);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS (Translator);
+
virtual Span_bar * get_span_bar_p () const;
};
class Staff_group_bar_engraver : public Span_score_bar_engraver
{
public:
- TRANSLATOR_CLONE (Staff_group_bar_engraver);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS (Translator);
+
virtual Span_bar * get_span_bar_p () const;
virtual void acknowledge_element (Score_element_info);
};
class Span_score_bar : public Span_bar, public Score_bar
{
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
- SCORE_ELEMENT_CLONE(Span_score_bar);
+
+ VIRTUAL_COPY_CONS(Score_element);
Span_score_bar();
protected:
Drul_array<Item*> spanned_drul_;
void set_bounds (Direction d, Item*);
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Spanner ();
Spanner (Spanner const &);
bool broken_b () const;
Spanner* find_broken_piece (Line_of_score*) const;
protected:
void set_my_columns ();
- SCORE_ELEMENT_CLONE (Spanner);
+ VIRTUAL_COPY_CONS(Score_element);
/**
this is virtual; for instance, Line_of_score overrides it.
class Staff_bracket : public Span_score_bar
{
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
- SCORE_ELEMENT_CLONE(Staff_bracket);
+
+ VIRTUAL_COPY_CONS(Score_element);
protected:
virtual Interval do_width() const;
class Staff_margin_engraver : public Engraver
{
public:
- TRANSLATOR_CLONE(Staff_margin_engraver);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
Staff_margin_engraver ();
class Staff_performer : public Performer_group_performer
{
public:
- TRANSLATOR_CLONE(Staff_performer);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
Staff_performer ();
~Staff_performer ();
Staff_side ();
void add_support (Score_element*);
- DECLARE_MY_RUNTIME_TYPEINFO;
+
protected:
virtual Interval symbol_height () const;
class Staff_symbol_engraver : public Engraver {
Staff_symbol *span_p_;
public:
- TRANSLATOR_CLONE(Staff_symbol_engraver);
+ VIRTUAL_COPY_CONS(Translator);
Staff_symbol_engraver();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
protected:
virtual ~Staff_symbol_engraver();
virtual void fill_staff_info (Staff_info&);
int no_lines_i_;
Real interline_f_;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Staff_symbol ();
Real inter_note_f() const;
int steps_i() const;
protected:
- SCORE_ELEMENT_CLONE(Staff_symbol);
+ VIRTUAL_COPY_CONS(Score_element);
virtual Interval do_height () const;
virtual Molecule* brew_molecule_p() const;
virtual void do_print() const;
virtual void do_creation_processing ();
virtual void acknowledge_element (Score_element_info);
virtual void do_pre_move_processing ();
- virtual bool do_try_request (Request*);
+ virtual bool do_try_music (Music*);
public:
- TRANSLATOR_CLONE(Stem_engraver);
+ VIRTUAL_COPY_CONS(Translator);
Stem_engraver();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
#endif // STEM_GRAV_HH
/// ensure that this Stem also encompasses the Notehead #n#
void add_head (Rhythmic_head*n);
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Real hpos_f () const;
Real chord_start_f () const;
void unlink_all ();
protected:
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
#endif // Super_element_HH
*/
class Swallow_engraver : public Engraver {
protected:
- bool do_try_request (Request*) ;
+ bool do_try_music (Music*) ;
public:
- TRANSLATOR_CLONE(Swallow_engraver);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
};
#endif // SWALLOW_GRAV_HH
class Swallow_performer : public Performer {
public:
- TRANSLATOR_CLONE(Swallow_performer);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
protected:
- virtual bool do_try_request (Request*) { return true; }
+ virtual bool do_try_music (Music*) { return true; }
};
#endif // SWALLOW_PERF_HH
class Text_def : public General_script_def
{
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
- VIRTUAL_COPY_CONS(Text_def,General_script_def);
+ VIRTUAL_COPY_CONS(General_script_def);
/**
Alignment of typeset text wrt center.
Text_item (General_script_def* ,Direction dir=CENTER);
virtual ~Text_item ();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
//protected:
// ugh: so, are we a text-def, or can this vary?
Directional_spanner * support_span_l_;
General_script_def * spec_p_;
Offset text_off_;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
void set_support (Directional_spanner*);
Text_spanner();
Text_spanner (Text_spanner const&);
protected:
- SCORE_ELEMENT_CLONE(Text_spanner);
+ VIRTUAL_COPY_CONS(Score_element);
~Text_spanner();
virtual void do_add_processing ();
virtual void do_substitute_dependency (Score_element*,Score_element*);
Tie ();
void set_head (Direction, Note_head*head_l);
- DECLARE_MY_RUNTIME_TYPEINFO;
- SCORE_ELEMENT_CLONE(Tie);
+
+ VIRTUAL_COPY_CONS(Score_element);
bool same_pitch_b_;
Drul_array<Note_head *> head_l_drul_;
protected:
virtual void do_removal_processing ();
virtual void acknowledge_element (Score_element_info);
- virtual bool do_try_request (Request*);
+ virtual bool do_try_music (Music*);
virtual void do_process_requests();
virtual void process_acknowledged ();
virtual void do_post_move_processing();
virtual void do_pre_move_processing();
public:
- TRANSLATOR_CLONE(Ties_engraver);
+ VIRTUAL_COPY_CONS(Translator);
Ties_engraver();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
#endif // Ties_GRAV_HH
virtual void do_process_requests();
virtual void do_pre_move_processing();
public:
- TRANSLATOR_CLONE(Time_signature_engraver);
+ VIRTUAL_COPY_CONS(Translator);
Time_signature * time_signature_p_;
Time_signature_engraver();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
#endif // METERGRAV_HH
class Time_signature_performer : public Performer {
public:
- TRANSLATOR_CLONE(Time_signature_performer);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
Time_signature_performer();
~Time_signature_performer();
protected:
void do_print() const;
- virtual bool do_try_request (Request* req_l);
+ virtual bool do_try_music (Music* req_l);
virtual void do_process_requests();
private:
Array<int> args_;
String time_sig_type_str_;
- DECLARE_MY_RUNTIME_TYPEINFO;
- SCORE_ELEMENT_CLONE(Time_signature);
+
+ VIRTUAL_COPY_CONS(Score_element);
};
#endif // METER_HH
protected:
virtual void fill_staff_info (Staff_info&);
public:
- TRANSLATOR_CLONE(Timing_engraver);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
};
#endif // TIMING_GRAV_HH
class Timing_translator : public virtual Translator
{
public:
- TRANSLATOR_CLONE(Timing_translator);
+ VIRTUAL_COPY_CONS(Translator);
Time_signature_change_req * time_signature_req_l () const;
Timing_translator ();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Time_description time_;
Rhythmic_grouping default_grouping_;
Link_array<Timing_req> timing_req_l_arr_;
protected:
virtual void do_print () const;
virtual void do_creation_processing ();
- virtual bool do_try_request (Request *req_l);
+ virtual bool do_try_music (Music *req_l);
virtual void do_process_requests();
virtual void do_pre_move_processing();
virtual void do_post_move_processing();
public:
String var_str_;
Scalar value_;
- VIRTUAL_COPY_CONS(Translation_property, Music);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Music);
+
protected:
virtual void do_print () const;
};
int iterator_count_;
- TRANSLATOR_CLONE(Translator_group);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
void set_acceptor (String accepts, bool add);
void set_element (String accepts, bool add);
- Translator *get_simple_translator (char const *type) const;
+ Translator *get_simple_translator (String) const;
Translator_group *find_existing_translator_l (String n, String id);
Translator_group *find_create_translator_l (String n, String id);
Link_array<Translator_group> path_to_acceptable_translator (String alias) const;
virtual void do_print () const;
virtual void do_process_requests ();
virtual void do_add_processing ();
- virtual bool do_try_request (Request* req_l);
+ virtual bool do_try_music (Music* req_l);
virtual void do_pre_move_processing();
virtual void do_post_move_processing();
virtual void do_creation_processing();
#include "parray.hh"
#include "input.hh"
-#define TRANSLATOR_CLONE(c) VIRTUAL_COPY_CONS(c, Translator)
/** Make some kind of #Element#s from Requests. Elements are made by
hierarchically grouped #Translator#s
bool is_alias_b (String) const;
- DECLARE_MY_RUNTIME_TYPEINFO;
- TRANSLATOR_CLONE(Translator);
+
+ VIRTUAL_COPY_CONS(Translator);
Translator (Translator const &);
Translator ();
virtual ~Translator ();
true: request swallowed. Don't try to put the request elsewhere.
*/
- bool try_request (Request*);
+ bool try_music (Music*);
void pre_move_processing();
void add_processing ();
void creation_processing ();
Default: always return false
*/
virtual void do_add_processing ();
- virtual bool do_try_request (Request *req_l);
+ virtual bool do_try_music (Music *req_l);
virtual void do_print () const;
virtual void do_pre_move_processing(){}
virtual void do_post_move_processing(){}
public:
static Translator *ctor ()
{
- Translator *t = new T;
- t->type_str_ = T::static_name ();
+ T *t = new T;
+ t->type_str_ = classname (t);
return t;
}
Translator_adder () {
void do_print () const;
Transposed_music (Music*, Musical_pitch);
- DECLARE_MY_RUNTIME_TYPEINFO;
- VIRTUAL_COPY_CONS (Transposed_music, Music);
+
+ VIRTUAL_COPY_CONS(Music);
virtual Musical_pitch to_relative_octave (Musical_pitch);
};
--- /dev/null
+/*
+ auto-plet-engraver.hh -- declare Auto_plet_engraver
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ */
+
+#ifndef AUTO_PLET_ENGRAVER_HH
+#define AUTO_PLET_ENGRAVER_HH
+
+#include "engraver.hh"
+
+class Tuplet_engraver : public Engraver
+{
+ void typeset_all ();
+public:
+ VIRTUAL_COPY_CONS(Translator);
+
+
+protected:
+ Link_array<Compressed_music> compressed_music_arr_;
+ Array<Moment> stop_moments_;
+ Link_array<Plet_spanner> started_span_p_arr_;
+
+
+ virtual void do_removal_processing ();
+ virtual void acknowledge_element (Score_element_info);
+ virtual bool do_try_music (Music*r);
+ virtual void do_process_requests ();
+ virtual void do_post_move_processing ();
+};
+
+
+
+#endif /* AUTO_PLET_ENGRAVER_HH */
{
protected:
const type_info * type_;
- bool do_try_request (Request*);
+ bool do_try_music (Music*);
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
- TRANSLATOR_CLONE(Type_swallow_translator);
+
+ VIRTUAL_COPY_CONS(Translator);
Type_swallow_translator ();
};
TYPE ## _swallow_translator() { \
type_ = &typeid (TYPE);\
}\
- DECLARE_MY_RUNTIME_TYPEINFO;\
- TRANSLATOR_CLONE(TYPE ## _swallow_translator);\
+ \
+ VIRTUAL_COPY_CONS(Translator);\
};\
-IMPLEMENT_IS_TYPE_B1(TYPE ## _swallow_translator, Type_swallow_translator);\
ADD_THIS_TRANSLATOR(TYPE ## _swallow_translator);\
#endif // TYPESWALLOW_GRAV_HH
Vertical_align_spanner * valign_p_;
public:
- TRANSLATOR_CLONE(Vertical_align_engraver);
- DECLARE_MY_RUNTIME_TYPEINFO;
+ VIRTUAL_COPY_CONS(Translator);
+
Vertical_align_engraver();
protected:
virtual void acknowledge_element (Score_element_info);
class Vertical_align_spanner : public Align_element, public Spanner
{
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
- SCORE_ELEMENT_CLONE(Vertical_align_spanner);
+
+ VIRTUAL_COPY_CONS(Score_element);
Vertical_align_spanner ();
virtual void do_print() const ;
public:
Vertical_group_element () ;
- DECLARE_MY_RUNTIME_TYPEINFO;
+
};
#endif /* VERTICAL_GROUP_ELEM_HH */
class Vertical_group_spanner : public Axis_group_spanner, public Vertical_group_element
{
protected:
- SCORE_ELEMENT_CLONE(Vertical_group_spanner);
+ VIRTUAL_COPY_CONS(Score_element);
virtual void do_junk_links () { Axis_group_spanner::do_junk_links (); }
virtual void do_unlink () { Axis_group_spanner::do_unlink (); }
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
+
Vertical_group_spanner ();
};
Sequential_music * sequential_music_l() const;
public:
Sequential_music_iterator ();
- DECLARE_MY_RUNTIME_TYPEINFO;
+
protected:
virtual void do_print() const;
virtual void construct_children();
broken_to_drul_[LEFT] = broken_to_drul_[RIGHT]=0;
}
-IMPLEMENT_IS_TYPE_B1(Item, Score_element);
+
void
Item::do_print() const
bool
-Key_engraver::do_try_request (Request * req_l)
+Key_engraver::do_try_music (Music * req_l)
{
if (Key_change_req *kc = dynamic_cast <Key_change_req *> (req_l))
{
}
-IMPLEMENT_IS_TYPE_B1 (Key_engraver,Engraver);
+
ADD_THIS_TRANSLATOR (Key_engraver);
return output;
}
-IMPLEMENT_IS_TYPE_B1(Key_item,Item);
+
void
Key_item::do_pre_processing()
-IMPLEMENT_IS_TYPE_B1(Key_performer,Performer);
+
ADD_THIS_TRANSLATOR(Key_performer);
Key_performer::Key_performer()
}
bool
-Key_performer::do_try_request (Request* req_l)
+Key_performer::do_try_music (Music* req_l)
{
if (Key_change_req *kc = dynamic_cast <Key_change_req *> (req_l))
{
}
-IMPLEMENT_IS_TYPE_B1(Line_group_engraver_group,Engraver_group_engraver);
+
ADD_THIS_TRANSLATOR(Line_group_engraver_group);
}
-IMPLEMENT_IS_TYPE_B1(Line_of_score,Spanner);
+
void
Line_of_score::add_element (Score_element*e)
Breaks if Key_engraver is removed from under us.
*/
Translator * result =
- daddy_grav_l()->get_simple_translator (Key_engraver::static_name());
+ daddy_grav_l()->get_simple_translator ("Key_engraver");
if (!result)
{
}
-IMPLEMENT_IS_TYPE_B1(Local_key_engraver,Engraver);
+
ADD_THIS_TRANSLATOR(Local_key_engraver);
return output;
}
-IMPLEMENT_IS_TYPE_B1(Local_key_item,Item);
+
void
Local_key_item::do_substitute_dependency (Score_element*o,Score_element*n)
}
bool
-Lyric_engraver::do_try_request (Request*r)
+Lyric_engraver::do_try_music (Music*r)
{
if (Lyric_req * lr = dynamic_cast <Lyric_req *> (r))
{
}
-IMPLEMENT_IS_TYPE_B1(Lyric_engraver,Engraver);
+
ADD_THIS_TRANSLATOR(Lyric_engraver);
-IMPLEMENT_IS_TYPE_B1(Lyric_performer,Performer);
+
ADD_THIS_TRANSLATOR(Lyric_performer);
void
}
bool
-Lyric_performer::do_try_request (Request* req_l)
+Lyric_performer::do_try_music (Music* req_l)
{
if (Lyric_req *lr = dynamic_cast <Lyric_req *> (req_l))
{
"STRING_UTILS_INLINED "
#endif
"datadir=" DIR_DATADIR
- " "
+ "\n"
"localedir=" DIR_LOCALEDIR
"\n";
global_path.parse_path (env_sz);
- char *suffixes[] = {"ly", "afm", "scm", 0};
+ char *suffixes[] = {"ly", "afm", "scm", "init", 0};
for (char **s = suffixes; *s; s++){
if (!prefix_directory.empty_b())
- global_path.add (prefix_directory + String (*s));
+ global_path.add (prefix_directory + to_str ('/') + String (*s));
else
- global_path.add (String (DIR_DATADIR) + String(*s));
+ global_path.add (String (DIR_DATADIR) + to_str ('/') + String(*s));
}
}
default_outname_base_global = "lelie";
-
-
int p=0;
const char *arg ;
while ((arg= oparser.get_next_arg ()))
{
+
if (outname_str == "")
{
Midi_def::reset_default_count ();
#include "time-description.hh"
#include "engraver-group.hh"
-IMPLEMENT_IS_TYPE_B1 (Mark_engraver, Engraver);
+
ADD_THIS_TRANSLATOR (Mark_engraver);
Mark_engraver::Mark_engraver ()
}
bool
-Mark_engraver::do_try_request (Request* r_l)
+Mark_engraver::do_try_music (Music* r_l)
{
if (Mark_req *mr = dynamic_cast <Mark_req *> (r_l))
{
}
-IMPLEMENT_IS_TYPE_B1(Midi_def, Music_output_def);
+
int Midi_def::default_count_i_=0;
int
#include "midi-stream.hh"
#include "audio-item.hh"
-IMPLEMENT_IS_TYPE_B (Midi_item);
-IMPLEMENT_IS_TYPE_B1 (Midi_chunk, Midi_item);
-IMPLEMENT_IS_TYPE_B1 (Midi_duration, Midi_item);
-IMPLEMENT_IS_TYPE_B1 (Midi_header, Midi_chunk);
-IMPLEMENT_IS_TYPE_B1 (Midi_instrument, Midi_item);
-IMPLEMENT_IS_TYPE_B1 (Midi_key,Midi_item);
-IMPLEMENT_IS_TYPE_B1 (Midi_time_signature, Midi_item);
-IMPLEMENT_IS_TYPE_B1 (Midi_note, Midi_item);
-IMPLEMENT_IS_TYPE_B1 (Midi_note_off, Midi_item);
-IMPLEMENT_IS_TYPE_B1 (Midi_tempo, Midi_item);
-IMPLEMENT_IS_TYPE_B1 (Midi_text, Midi_item);
-IMPLEMENT_IS_TYPE_B1 (Midi_track, Midi_chunk);
+
+
+
+
+
+
+
+
+
+
+
+
Midi_chunk::Midi_chunk ()
: Midi_item (0)
#include "score-column.hh"
#include "time-description.hh"
-IMPLEMENT_IS_TYPE_B1 (Multi_measure_rest_engraver, Engraver);
+
ADD_THIS_TRANSLATOR (Multi_measure_rest_engraver);
Multi_measure_rest_engraver::Multi_measure_rest_engraver ()
}
bool
-Multi_measure_rest_engraver::do_try_request (Request* req_l)
+Multi_measure_rest_engraver::do_try_music (Music* req_l)
{
if (Multi_measure_rest_req *mr = dynamic_cast<Multi_measure_rest_req *> (req_l))
{
if (multi_measure_req_l_)
- if (!multi_measure_req_l_->equal_b (req_l)
+ if (!multi_measure_req_l_->equal_b (mr)
|| req_start_mom_ != now_moment ())
return false;
#include "text-def.hh"
#include "molecule.hh"
-IMPLEMENT_IS_TYPE_B1 (Multi_measure_rest, Item);
+
Multi_measure_rest::Multi_measure_rest ()
{
-IMPLEMENT_IS_TYPE_B(Music_iterator);
+
void
#ifndef NPRINT
if (!check_debug)
return ;
- DOUT << name() << "{";
+ DOUT << classname(this) << "{";
DOUT << "report to " <<
- report_to_l() << " (" << report_to_l ()->name () << ")\n";
+ report_to_l() << " (" << classname (report_to_l ()) << ")\n";
if (ok())
DOUT << "next at " << next_moment() << " ";
else
#include "musical-request.hh"
-IMPLEMENT_IS_TYPE_B1(Sequential_music,Music_sequence);
-IMPLEMENT_IS_TYPE_B1(Simultaneous_music,Music_sequence);
+
+
Moment
Simultaneous_music::duration () const
}
-IMPLEMENT_IS_TYPE_B1(Request_chord, Simultaneous_music);
+
Request_chord::Request_chord()
return 0;
}
-IMPLEMENT_IS_TYPE_B(Music_output_def);
+
Music_output_def::Music_output_def ()
{
music_p_list_p_ = new Music_list (*s.music_p_list_p_);
}
-IMPLEMENT_IS_TYPE_B1(Music_sequence, Music);
+
Music_sequence::Music_sequence(Music_list *mlist_p)
{
child_iter_p_ =0;
}
-IMPLEMENT_IS_TYPE_B1(Music_wrapper_iterator, Music_iterator);
+
void
Music_wrapper_iterator::do_print () const
element_p_ = p;
}
-IMPLEMENT_IS_TYPE_B1 (Music_wrapper, Music);
+
Moment
Music_wrapper::duration () const
#ifndef NPRINT
if (! check_debug)
return ;
- DOUT << name() << "{";
+ DOUT << classname(this) << "{";
if (translator_type_str_.length_i ())
DOUT << translator_type_str_ << " = " << translator_id_str_;
do_print();
}
-IMPLEMENT_IS_TYPE_B(Music);
+
-IMPLEMENT_IS_TYPE_B1 (Musical_req,Request);
+
void
Musical_req::do_print () const{}
void
-IMPLEMENT_IS_TYPE_B1(Span_req,Request);
-IMPLEMENT_IS_TYPE_B2(Musical_span_req, Span_req, Musical_span_req);
+
+
void
Musical_span_req::do_print () const
#endif
}
-IMPLEMENT_IS_TYPE_B1 (Spacing_req,Request);
+
Spacing_req::Spacing_req ()
{
#endif
}
-IMPLEMENT_IS_TYPE_B1 (Abbreviation_req, Musical_req);
+
Abbreviation_req::Abbreviation_req ()
{
}
-IMPLEMENT_IS_TYPE_B2 (Blank_req,Spacing_req,Rhythmic_req);
+
void
Blank_req::do_print () const
}
}
-IMPLEMENT_IS_TYPE_B1 (Melodic_req,Musical_req);
+
bool
Melodic_req::do_equal_b (Request*r) const
}
-IMPLEMENT_IS_TYPE_B1 (Rhythmic_req,Musical_req);
+
void
Rhythmic_req::do_print () const
-IMPLEMENT_IS_TYPE_B1 (Lyric_req,Rhythmic_req);
+
void
Lyric_req::do_print () const
forceacc_b_ = false;
}
-IMPLEMENT_IS_TYPE_B2 (Note_req,Melodic_req,Rhythmic_req);
+
void
Note_req::do_print () const
#endif
}
-IMPLEMENT_IS_TYPE_B1 (Rest_req, Rhythmic_req);
+
void
Rest_req::do_print () const
-IMPLEMENT_IS_TYPE_B1 (Multi_measure_rest_req, Rhythmic_req);
+
void
Multi_measure_rest_req::do_print () const
-IMPLEMENT_IS_TYPE_B1 (Beam_req,Span_req);
+
void
}
-IMPLEMENT_IS_TYPE_B1 (Abbreviation_beam_req, Span_req);
+
Abbreviation_beam_req::Abbreviation_beam_req ()
{
{
}
-IMPLEMENT_IS_TYPE_B1 (Slur_req,Span_req);
+
void
Slur_req::do_print () const
{
}
-IMPLEMENT_IS_TYPE_B1 (Plet_req,Span_req);
+
Plet_req::Plet_req ()
{
{
}
-IMPLEMENT_IS_TYPE_B1 (Extender_req,Span_req);
-
Extender_req::Extender_req ()
{
}
}
-IMPLEMENT_IS_TYPE_B1 (Script_req,Request);
+
void
Script_req::do_print () const
}
-IMPLEMENT_IS_TYPE_B2 (Musical_script_req,Musical_req, Script_req);
+
Script_req::~Script_req ()
}
-IMPLEMENT_IS_TYPE_B1 (Text_req,Musical_req);
+
void
Text_req::do_print () const
-IMPLEMENT_IS_TYPE_B1 (Skip_req,Musical_req);
+
void
Skip_req::do_print () const
-IMPLEMENT_IS_TYPE_B1 (Dynamic_req,Musical_req);
+
void
Dynamic_req::do_print () const
}
-IMPLEMENT_IS_TYPE_B1 (Absolute_dynamic_req,Musical_req);
+
void
Absolute_dynamic_req::do_print () const
}
-IMPLEMENT_IS_TYPE_B1 (Span_dynamic_req,Musical_req);
+
void
Span_dynamic_req::do_print () const
}
-IMPLEMENT_IS_TYPE_B1 (Tie_req,Musical_req);
+
#include "rest.hh"
#include "debug.hh"
-IMPLEMENT_IS_TYPE_B1(Note_column,Script_column);
+
bool
Note_column::rest_b () const
dots_l_->position_i_ = position_i_;
}
-IMPLEMENT_IS_TYPE_B1(Note_head,Rhythmic_head);
+
int
#include "audio-item.hh"
#include "debug.hh"
-IMPLEMENT_IS_TYPE_B1 (Note_performer,Performer);
+
ADD_THIS_TRANSLATOR (Note_performer);
Note_performer::Note_performer ()
}
bool
-Note_performer::do_try_request (Request* req_l)
+Note_performer::do_try_music (Music* req_l)
{
if (note_req_l_)
return false;
return linked_b();
}
-IMPLEMENT_IS_TYPE_B1(Paper_column, Horizontal_group_item);
+
Paper_column*
Paper_column::column_l () const
return (*lookup_p_assoc_p_)[i];
}
-IMPLEMENT_IS_TYPE_B1 (Paper_def, Music_output_def);
+
int Paper_def::default_count_i_ = 0;
#include "debug.hh"
-IMPLEMENT_IS_TYPE_B2(Performer_group_performer,Performer, Translator_group);
+
ADD_THIS_TRANSLATOR(Performer_group_performer);
#include "debug.hh"
-IMPLEMENT_IS_TYPE_B1(Performer, Translator);
+
void
Performer::play (Audio_element* p)
}
}
-IMPLEMENT_IS_TYPE_B1(Piano_brace, Span_score_bar);
+
}
ADD_THIS_TRANSLATOR (Pitch_squash_engraver);
-IMPLEMENT_IS_TYPE_B1(Pitch_squash_engraver, Engraver);
+
+#if 0
/*
plet-engraver.cc -- implement Plet_engraver
#include "score-column.hh"
#include "stem.hh"
-IMPLEMENT_IS_TYPE_B1 (Plet_engraver,Engraver);
+
ADD_THIS_TRANSLATOR (Plet_engraver);
Plet_engraver::Plet_engraver ()
}
bool
-Plet_engraver::do_try_request (Request* req_l)
+Plet_engraver::do_try_music (Music* req_l)
{
/*
UGH! This is incorrect!
return false;
Direction d = (!plet_spanner_p_) ? LEFT : RIGHT;
- if (span_reqs_drul_[d] && !span_reqs_drul_[d]->equal_b (req_l))
+ if (span_reqs_drul_[d] && !span_reqs_drul_[d]->equal_b (p))
return false;
span_reqs_drul_[d] = p;
span_reqs_drul_[RIGHT] = span_reqs_drul_[LEFT] = 0;
}
+#endif
+++ /dev/null
-/*
- plet-spanner.cc -- implement Plet_spanner
-
- source file of the GNU LilyPond music typesetter
-
- (c) 1997--1998 Jan Nieuwenhuizen <janneke@gnu.org>
-*/
-
-#include "atom.hh"
-#include "box.hh"
-#include "debug.hh"
-#include "lookup.hh"
-#include "molecule.hh"
-#include "p-col.hh"
-#include "paper-def.hh"
-#include "plet-spanner.hh"
-#include "stem.hh"
-#include "text-def.hh"
-
-
-/*
- UHGUGH THIS IS BROKEN! do not derive from Bow
- */
-IMPLEMENT_IS_TYPE_B1 (Plet_spanner,Bow);
-
-Plet_spanner::Plet_spanner ()
- : Bow ()
-{
- stem_l_drul_[RIGHT] =0;
- stem_l_drul_[LEFT] =0;
- visibility_i_ = 3;
-
- tdef_p_ = new Text_def;
- tdef_p_->align_dir_ = CENTER;
- tdef_p_->style_str_ = "italic";
-}
-
-Plet_spanner::Plet_spanner (Plet_spanner const& c)
- : Bow (c)
-{
- tdef_p_ = new Text_def (*c.tdef_p_);
- stem_l_drul_ = c.stem_l_drul_;
- visibility_i_ = c.visibility_i_;
-}
-
-Plet_spanner::~Plet_spanner ()
-{
- delete tdef_p_;
-}
-
-Molecule*
-Plet_spanner::brew_molecule_p () const
-{
- Molecule* mol_p = new Molecule;
-
- Real w = width ().length ();
-
- Real dy_f = dy_f_drul_[RIGHT] - dy_f_drul_[LEFT];
-
- w += (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT]);
-
- Atom a = lookup_l ()->plet (dy_f, w, dir_);
-
- a.translate (Offset (dx_f_drul_[LEFT], dy_f_drul_[LEFT]));
-
- if (visibility_i_ >= 2)
- mol_p->add_atom (a);
-
- Real interline_f = paper ()->interline_f ();
- Real numy_f = (dir_ > 0 ? 0 : -interline_f) + dir_ * interline_f / 2;
- Atom num (tdef_p_->get_atom (paper (), CENTER));
- num.translate (Offset (width ().length () / 1.8 + dx_f_drul_[LEFT],
- dy_f_drul_[LEFT] + dy_f / 2 + numy_f));
-
- if (visibility_i_ >= 1)
- mol_p->add_atom (num);
-
- return mol_p;
-}
-
-void
-Plet_spanner::do_add_processing ()
-{
- if (! (stem_l_drul_[LEFT] && stem_l_drul_[RIGHT]))
- warning (_ ("lonely plet"));
-
- Direction d = LEFT;
- Drul_array<Stem *> new_stem_drul = stem_l_drul_;
- do {
- if (!stem_l_drul_[d])
- new_stem_drul[d] = stem_l_drul_[(Direction)-d];
- } while (flip(&d) != LEFT);
- stem_l_drul_ = new_stem_drul;
-}
-
-void
-Plet_spanner::do_post_processing ()
-{
- Real interline_f = paper ()->interline_f ();
- Real nh_f = interline_f / 2;
- assert (stem_l_drul_[LEFT] || stem_l_drul_[RIGHT]);
-
- // ugh
- Real nw_f = paper ()->note_width () * 0.8;
-
- Direction d = LEFT;
- do
- {
- Stem* s = stem_l_drul_[d] ? stem_l_drul_[d] : stem_l_drul_[(Direction)-d];
-
- dy_f_drul_[d] = dir_ == s->get_dir () ? s->stem_end_f ()
- : s->stem_begin_f () + dir_ * nh_f / 2;
- dy_f_drul_[d] *= .5 * interline_f;
- dy_f_drul_[d] += dir_ * interline_f;
- if (d == RIGHT)
- dx_f_drul_[d] = nw_f;
- }
- while (flip(&d) != LEFT);
- do {
- if (stem_l_drul_[d]->empty_b ())
- {
- Direction u = d;
- flip (&u);
- dy_f_drul_[d] = dy_f_drul_[u]; // ughugh \[/3 r8 c8 r8 \]/1
- }
- }
- while (flip(&d) != LEFT);
-}
-
-void
-Plet_spanner::do_substitute_dependency (Score_element* o, Score_element* n)
-{
- Stem* new_l = n ? dynamic_cast<Stem *> (n) : 0;
- if (dynamic_cast <Item *> (o) == stem_l_drul_[LEFT])
- stem_l_drul_[LEFT] = new_l;
- else if (dynamic_cast <Item *> (o) == stem_l_drul_[RIGHT])
- stem_l_drul_[RIGHT] = new_l;
-}
-
-void
-Plet_spanner::set_default_dir ()
-{
- Real m = (stem_l_drul_[LEFT]->stem_end_f ()
- + stem_l_drul_[RIGHT]->stem_end_f ()) / 2;
- dir_ = (m < 0) ? DOWN : UP;
-}
-
-void
-Plet_spanner::set_stem (Direction d, Stem* stem_l)
-{
- assert (!stem_l_drul_[d]);
- stem_l_drul_[d] = stem_l;
- set_bounds (d, stem_l);
-
- add_dependency (stem_l);
-}
-
#include "musical-request.hh"
#include "plet-swallow-engraver.hh"
-IMPLEMENT_IS_TYPE_B1(Plet_swallow_engraver,Swallow_engraver);
+
ADD_THIS_TRANSLATOR(Plet_swallow_engraver);
bool
-Plet_swallow_engraver::do_try_request (Request* req_l)
+Plet_swallow_engraver::do_try_music (Music* req_l)
{
return dynamic_cast<Plet_req *> (req_l);
}
}
}
-IMPLEMENT_IS_TYPE_B1(Priority_horizontal_align_engraver,Engraver);
+
ADD_THIS_TRANSLATOR(Priority_horizontal_align_engraver);
Music_iterator::do_process_and_next (m);
}
-IMPLEMENT_IS_TYPE_B1(Property_iterator, Music_iterator);
+
Translation_property*
Property_iterator::property_l () const
DOUT << "default pitch: " << last_pitch_.str ();
}
-IMPLEMENT_IS_TYPE_B1 (Relative_octave_music, Music_wrapper);
+
#include "music-list.hh"
#include "request.hh"
-IMPLEMENT_IS_TYPE_B1(Request_chord_iterator,Music_iterator);
+
void
Request_chord_iterator::construct_children()
{
if (Request * req_l = dynamic_cast<Request*> (i.ptr()))
{
- bool gotcha = report_to_l()->try_request (req_l);
+ bool gotcha = report_to_l()->try_music (req_l);
if (!gotcha)
- req_l->warning (_f ("junking request: `%s\'", req_l->name()));
+ req_l->warning (_f ("junking request: `%s\'", classname( req_l)));
}
else
- i.ptr ()->warning (_f ("Huh? Not a Request: `%s\'", i.ptr()->name ()));
+ i.ptr ()->warning (_f ("Huh? Not a Request: `%s\'",
+ classname (i.ptr())));
}
first_b_ = false;
}
#include "debug.hh"
-IMPLEMENT_IS_TYPE_B1(Request,Music);
+
void
Request::do_print() const
#include "note-column.hh"
-IMPLEMENT_IS_TYPE_B1(Rest_collision_engraver, Engraver);
+
ADD_THIS_TRANSLATOR(Rest_collision_engraver);
Rest_collision_engraver::Rest_collision_engraver()
#include "paper-def.hh"
-IMPLEMENT_IS_TYPE_B1(Rest_collision,Item);
+
void
Rest_collision::add_column (Note_column *nc_l)
}
bool
-Rest_engraver::do_try_request (Request *req)
+Rest_engraver::do_try_music (Music *req)
{
if (Rest_req *r = dynamic_cast <Rest_req *> (req))
{
return false;
}
-IMPLEMENT_IS_TYPE_B1(Rest_engraver, Engraver);
+
ADD_THIS_TRANSLATOR(Rest_engraver);
return m;
}
-IMPLEMENT_IS_TYPE_B1(Rest, Rhythmic_head);
+
-IMPLEMENT_IS_TYPE_B1(Rhythmic_column_engraver,Engraver);
+
ADD_THIS_TRANSLATOR(Rhythmic_column_engraver);
dots_l_ = n ? dynamic_cast<Dots *> (n) :0;
}
-IMPLEMENT_IS_TYPE_B1(Rhythmic_head, Item);
+
void
Rhythmic_head::do_print () const
{
#include "score-bar.hh"
-IMPLEMENT_IS_TYPE_B1(Score_bar, Bar);
+
durations.push (d);
}
-IMPLEMENT_IS_TYPE_B1(Score_column, Paper_column);
+
#include "score-element-info.hh"
#include "request.hh"
-Score_element_info::Score_element_info (Score_element*s_l, Request*r_l)
+Score_element_info::Score_element_info (Score_element*s_l, Music *r_l)
{
elem_l_ = s_l;
req_l_ = r_l;
Score_element::print() const
{
#ifndef NPRINT
- DOUT << name() << "{\n";
+ DOUT << classname(this) << "{\n";
DOUT << "dets: " << dependent_size() << "dependencies: " <<
dependency_size();
i->origin_l_ = this;
}
- pscore_l_->outputter_l_->output_molecule (output, absolute_offset (), name());
+ pscore_l_->outputter_l_->output_molecule (output, absolute_offset (), classname(this));
delete output;
}
{
}
-IMPLEMENT_IS_TYPE_B1(Score_element, Graphical_element);
+
Molecule*
Score_element::brew_molecule_p() const
if (!s->spanned_drul_[d])
{
s->set_bounds(d, command_column_l_);
- ::warning (_f ("Unbound spanner `%s\'", s->name ()));
+ ::warning (_f ("Unbound spanner `%s\'", classname(s)));
}
} while (flip(&d) != LEFT);
}
}
bool
-Score_engraver::do_try_request (Request*r)
+Score_engraver::do_try_music (Music*r)
{
- bool gotcha = Engraver_group_engraver::do_try_request (r);
+ bool gotcha = Engraver_group_engraver::do_try_music (r);
if (!gotcha)
{
}
-IMPLEMENT_IS_TYPE_B1(Score_engraver,Engraver_group_engraver);
+
ADD_THIS_TRANSLATOR(Score_engraver);
void
#include "source.hh"
#include "audio-staff.hh"
-IMPLEMENT_IS_TYPE_B1(Score_performer,Performer_group_performer);
+
ADD_THIS_TRANSLATOR(Score_performer);
}
}
-IMPLEMENT_IS_TYPE_B1(Score_priority_engraver, Engraver);
+
ADD_THIS_TRANSLATOR(Score_priority_engraver);
#include "stem.hh"
#include "general-script-def.hh"
-IMPLEMENT_IS_TYPE_B1(Script_column,Horizontal_vertical_group_item);
+
void
}
-IMPLEMENT_IS_TYPE_B1(Script_def,General_script_def);
+
int
Script_def::priority_i() const
/*
- script-reg.cc -- implement Script_engraver
+ script-engraver.cc -- implement Script_engraver
(c) 1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
}
bool
-Script_engraver::do_try_request (Request *r_l)
+Script_engraver::do_try_music (Music *r_l)
{
- if (!dynamic_cast <Musical_script_req *> (r_l))
- return false ;
-
- for (int i=0; i < script_req_l_arr_.size(); i++)
+ if (Musical_script_req *mr = dynamic_cast <Musical_script_req *> (r_l))
{
- if (r_l->equal_b (script_req_l_arr_[i]))
- return true;
+ for (int i=0; i < script_req_l_arr_.size(); i++)
+ {
+ if (script_req_l_arr_[i]->equal_b (mr))
+ return true;
+ }
+ script_req_l_arr_.push (mr);
+ return true;
}
- script_req_l_arr_.push (dynamic_cast <Script_req *> (r_l));
-
- return true;
+ return false;
}
void
}
-IMPLEMENT_IS_TYPE_B1(Script_engraver,Engraver);
+
ADD_THIS_TRANSLATOR(Script_engraver);
}
-IMPLEMENT_IS_TYPE_B2 (Script,Item,Staff_side);
+
int
Script::compare (Script *const&l1, Script *const&l2)
add_dependency (i);
}
-IMPLEMENT_IS_TYPE_B1(Separating_group_spanner, Spanner);
+
void
Separating_group_spanner::do_substitute_dependency (Score_element*o, Score_element*n)
}
-IMPLEMENT_IS_TYPE_B1 (Separating_line_group_engraver, Engraver);
+
ADD_THIS_TRANSLATOR( Separating_line_group_engraver);
// add this->offset_ ? this-> relative_coordinate ()?
}
-IMPLEMENT_IS_TYPE_B1(Single_malt_grouping_item, Item);
+
void
Single_malt_grouping_item::do_substitute_dependency (Score_element*o, Score_element*n)
#ifndef NDEBUG
for (int i=0; i < item_l_arr_.size (); i++)
{
- DOUT << item_l_arr_[i]->name () << ", ";
+ DOUT << classname (item_l_arr_[i]) << ", ";
}
#endif
}
#include "note-column.hh"
bool
-Slur_engraver::do_try_request (Request *req_l)
+Slur_engraver::do_try_music (Music *req_l)
{
Musical_req *mus_l = dynamic_cast <Musical_req *> (req_l);
if (Slur_req *sl = dynamic_cast <Slur_req *> (mus_l))
new_slur_req_l_arr_.clear();
}
-IMPLEMENT_IS_TYPE_B1(Slur_engraver,Engraver);
+
ADD_THIS_TRANSLATOR(Slur_engraver);
#include "encompass-info.hh"
#include "main.hh"
-IMPLEMENT_IS_TYPE_B1(Slur,Bow);
+
Slur::Slur ()
{
}
-IMPLEMENT_IS_TYPE_B1(Span_bar_engraver,Engraver);
+
ADD_THIS_TRANSLATOR(Span_bar_engraver);
return output;
}
-IMPLEMENT_IS_TYPE_B1 (Span_bar,Bar);
+
Span_bar::Span_bar ()
{
}
-IMPLEMENT_IS_TYPE_B1 (Span_score_bar_engraver, Span_bar_engraver);
-IMPLEMENT_IS_TYPE_B1 (Piano_bar_engraver, Span_score_bar_engraver);
-IMPLEMENT_IS_TYPE_B1 (Staff_group_bar_engraver, Span_score_bar_engraver);
+
+
+
Span_bar*
Piano_bar_engraver::get_span_bar_p () const
// Span_bar::do_pre_processing();
}
-IMPLEMENT_IS_TYPE_B2(Span_score_bar, Span_bar, Score_bar);
+
#include "molecule.hh"
#include "paper-outputter.hh"
-IMPLEMENT_IS_TYPE_B1(Spanner,Score_element);
+
void
Spanner::do_print() const
{
#ifndef NPRINT
- DOUT << "Between " << spanned_drul_[LEFT]->name ()
- << " and " << spanned_drul_[RIGHT]->name() << '\n';
+ DOUT << "Between " << classname (spanned_drul_[LEFT])
+ << " and " << classname (spanned_drul_[RIGHT]) << '\n';
if (broken_into_l_arr_.size())
{
DOUT << "with broken pieces:\n";
if (spanned_drul_[Direction(-d)] == spanned_drul_[d]
&& i)
- warning (_f ("Spanner `%s\' with equal left and right spanpoints", name ()));
+ warning (_f ("Spanner `%s\' with equal left and right spanpoints", classname (this)));
}
void
Molecule *output= brew_molecule_p ();
Offset left_off (spanned_drul_[LEFT]->absolute_coordinate(X_AXIS), 0);
Offset o = absolute_offset() + left_off;
- pscore_l_->outputter_l_->output_molecule (output, o, name ());
+ pscore_l_->outputter_l_->output_molecule (output, o, classname (this));
delete output;
}
}
}
-IMPLEMENT_IS_TYPE_B1(Staff_bracket, Span_score_bar);
+
#include "stem.hh"
#include "time-description.hh"
-IMPLEMENT_IS_TYPE_B1 (Staff_margin_engraver, Engraver);
+
ADD_THIS_TRANSLATOR (Staff_margin_engraver);
Staff_margin_engraver::Staff_margin_engraver ()
#include "audio-item.hh"
#include "audio-staff.hh"
-IMPLEMENT_IS_TYPE_B1 (Staff_performer,Performer_group_performer);
+
ADD_THIS_TRANSLATOR (Staff_performer);
Staff_performer::Staff_performer ()
}
-IMPLEMENT_IS_TYPE_B1(Staff_side, Score_element);
+
-IMPLEMENT_IS_TYPE_B1(Staff_symbol_engraver,Engraver);
+
ADD_THIS_TRANSLATOR(Staff_symbol_engraver);
}
-IMPLEMENT_IS_TYPE_B1(Staff_symbol,Spanner);
+
void
Staff_symbol::do_print() const
}
bool
-Stem_engraver::do_try_request (Request* r)
+Stem_engraver::do_try_music (Music* r)
{
Musical_req* mus_l = dynamic_cast <Musical_req *> (r);
if (!mus_l)
return true;
}
-IMPLEMENT_IS_TYPE_B1(Stem_engraver, Engraver);
+
ADD_THIS_TRANSLATOR(Stem_engraver);
#include "beam.hh"
#include "rest.hh"
-IMPLEMENT_IS_TYPE_B1 (Stem,Item);
+
Stem::~Stem ()
{
}
-IMPLEMENT_IS_TYPE_B1(Super_element,Score_element);
+
/**
#include "swallow-engraver.hh"
-IMPLEMENT_IS_TYPE_B1(Swallow_engraver,Engraver);
+
ADD_THIS_TRANSLATOR(Swallow_engraver);
bool
-Swallow_engraver::do_try_request (Request*)
+Swallow_engraver::do_try_music (Music*)
{
return true;
}
#include "swallow-perf.hh"
-IMPLEMENT_IS_TYPE_B1(Swallow_performer, Performer);
+
ADD_THIS_TRANSLATOR(Swallow_performer);
}
-IMPLEMENT_IS_TYPE_B1(Text_def,General_script_def);
+
}
-IMPLEMENT_IS_TYPE_B1 (Text_item,Item);
+
}
-IMPLEMENT_IS_TYPE_B1(Text_spanner,Spanner);
+
void
Text_spanner::do_print() const
#include "p-col.hh"
#include "debug.hh"
-IMPLEMENT_IS_TYPE_B1(Tie,Bow);
+
void
Tie::set_head (Direction d, Note_head * head_l)
}
bool
-Ties_engraver::do_try_request (Request*req)
+Ties_engraver::do_try_music (Music*req)
{
if (Tie_req * r = dynamic_cast <Tie_req *> (req))
{
{}
-IMPLEMENT_IS_TYPE_B1(Ties_engraver,Engraver);
+
ADD_THIS_TRANSLATOR(Ties_engraver);
Time_signature_engraver::do_process_requests()
{
Translator * result =
- daddy_grav_l()->get_simple_translator (Timing_engraver::static_name ()); // ugh
+ daddy_grav_l()->get_simple_translator ("Timing_engraver"); // ugh
if (!result)
{
ADD_THIS_TRANSLATOR(Time_signature_engraver);
-IMPLEMENT_IS_TYPE_B1(Time_signature_engraver,Engraver);
+
#include "command-request.hh"
#include "audio-item.hh"
-IMPLEMENT_IS_TYPE_B1(Time_signature_performer,Performer);
+
ADD_THIS_TRANSLATOR(Time_signature_performer);
Time_signature_performer::Time_signature_performer()
}
bool
-Time_signature_performer::do_try_request (Request* req_l)
+Time_signature_performer::do_try_music (Music* req_l)
{
if (time_signature_req_l_)
return false;
-IMPLEMENT_IS_TYPE_B1(Time_signature,Item);
+
inf.rhythmic_C_ = &default_grouping_;
}
-IMPLEMENT_IS_TYPE_B1(Timing_engraver, Timing_translator);
+
ADD_THIS_TRANSLATOR(Timing_engraver);
}
bool
-Timing_translator::do_try_request(Request*r)
+Timing_translator::do_try_music (Music*r)
{
if (Timing_req *t = dynamic_cast <Timing_req *> (r))
{
{
if (timing_req_l_arr_[i]->equal_b(t))
return true;
- if (timing_req_l_arr_[i]->name() == r->name())
+ if (String (classname (timing_req_l_arr_[i])) == classname (r))
{
r->warning (_ ("conflicting timing request"));
return false;
global_l->add_moment_to_process (time_.next_bar_moment ());
}
-IMPLEMENT_IS_TYPE_B1(Timing_translator, Translator);
+
ADD_THIS_TRANSLATOR(Timing_translator);
void
#include "translation-property.hh"
#include "debug.hh"
-IMPLEMENT_IS_TYPE_B1(Translation_property, Music);
+
void
Translation_property::do_print () const
if (!global_translator_dict_p)
global_translator_dict_p = new Dictionary<Translator*>;
- global_translator_dict_p->elem (t->name ()) = t;
+ global_translator_dict_p->elem (classname (t)) = t;
}
Translator*
-IMPLEMENT_IS_TYPE_B1(Translator_group, Translator);
+
void
Translator_group::add_translator (Translator *trans_p)
bool
-Translator_group::do_try_request (Request* req_l)
+Translator_group::do_try_music (Music* req_l)
{
bool hebbes_b =false;
Link_array<Translator> nongroups (nongroup_l_arr ());
for (int i =0; !hebbes_b && i < nongroups.size() ; i++)
- hebbes_b =nongroups[i]->try_request (req_l);
+ hebbes_b =nongroups[i]->try_music (req_l);
if (!hebbes_b && daddy_trans_l_)
- hebbes_b = daddy_trans_l_->try_request (req_l);
+ hebbes_b = daddy_trans_l_->try_music (req_l);
return hebbes_b ;
}
void
Translator_group::terminate_translator (Translator*r_l)
{
- DOUT << "Removing " << r_l->name() << " at " << now_moment () << '\n';
+ DOUT << "Removing " << classname (r_l) << " at " << now_moment () << '\n';
r_l->removal_processing();
Translator * trans_p =remove_translator_p (r_l);
Translator*
-Translator_group::get_simple_translator (char const *type) const
+Translator_group::get_simple_translator (String type) const
{
Link_array<Translator> nongroups (nongroup_l_arr ());
for (int i=0; i < nongroups.size(); i++)
{
- if (nongroups[i]->name() == type)
+ if (classname (nongroups[i]) == type)
return nongroups[i];
}
if (daddy_trans_l_)
}
bool
-Translator::do_try_request (Request *)
+Translator::do_try_music (Music *)
{
return false;
}
Translator::print () const
{
#ifndef NPRINT
- DOUT << name () << " {";
- if (name () != type_str_)
+ DOUT << classname (this) << " {";
+ if (classname (this) != type_str_)
DOUT << "type = " << type_str_;
for (Dictionary_iter<Scalar> i (properties_dict_); i.ok (); i++)
{
{
}
-IMPLEMENT_IS_TYPE_B(Translator);
+
void
bool
-Translator::try_request (Request * r)
+Translator::try_music (Music * r)
{
if (status < MOVE_INITED)
post_move_processing ();
- return do_try_request (r);
+ return do_try_music (r);
}
void
return p;
}
-IMPLEMENT_IS_TYPE_B1 (Transposed_music, Music_wrapper);
+
--- /dev/null
+/*
+ auto-plet-engraver.cc -- implement Auto_plet_engraver
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ */
+
+#include "tuplet-engraver.hh"
+#include "command-request.hh"
+#include "tuplet-spanner.hh"
+#include "note-column.hh"
+#include "compressed-music.hh"
+#include "text-def.hh"
+
+bool
+Tuplet_engraver::do_try_music (Music *r)
+{
+ if (Compressed_music * c = dynamic_cast<Compressed_music *> (r))
+ {
+ compressed_music_arr_.push (c);
+ stop_moments_.push (now_moment () + c->duration ());
+ return true;
+ }
+ return false;
+}
+
+void
+Tuplet_engraver::do_process_requests ()
+{
+ for (int i= started_span_p_arr_.size ();
+ i < compressed_music_arr_.size (); i++)
+ {
+ Plet_spanner* glep = new Plet_spanner ();
+ started_span_p_arr_.push (glep);
+
+ Text_def *t = new Text_def;
+ t->text_str_ = to_str (compressed_music_arr_[i]->den_i_);
+ glep->tdef_p_.set_p (t);
+ announce_element (Score_element_info (glep, compressed_music_arr_ [i]));
+ }
+}
+
+void
+Tuplet_engraver::acknowledge_element (Score_element_info i)
+{
+ if (Note_column *nc = dynamic_cast<Note_column *> (i.elem_l_))
+ {
+ for (int j =0; j <started_span_p_arr_.size (); j++)
+ started_span_p_arr_[j]->add_column (nc);
+ }
+}
+
+void
+Tuplet_engraver::do_post_move_processing ()
+{
+ Moment now = now_moment ();
+ for (int i= started_span_p_arr_.size (); i--; )
+ {
+ if (now >= stop_moments_[i])
+ {
+ typeset_element (started_span_p_arr_[i]);
+ started_span_p_arr_.del (i);
+ stop_moments_.del(i);
+ compressed_music_arr_.del(i);
+ }
+ }
+}
+
+void
+Tuplet_engraver::do_removal_processing ()
+{
+ for (int i=0; i < started_span_p_arr_.size (); i++)
+ {
+ typeset_element (started_span_p_arr_[i]);
+ }
+}
+
+ADD_THIS_TRANSLATOR(Tuplet_engraver);
+
}
bool
-Type_swallow_translator::do_try_request (Request*r)
+Type_swallow_translator::do_try_music (Music*r)
{
// if (type_ && type_->before (typeid( *r))) //
// return true;
return false; // ugh. FIXME.
}
-IMPLEMENT_IS_TYPE_B1(Type_swallow_translator, Translator);
+
DECLARE_REQUEST_SWALLOWER(Skip_req);
}
-IMPLEMENT_IS_TYPE_B1(Vertical_align_engraver, Engraver);
+
ADD_THIS_TRANSLATOR(Vertical_align_engraver);
#include "vertical-align-spanner.hh"
-IMPLEMENT_IS_TYPE_B2(Vertical_align_spanner, Align_element, Spanner);
+
Vertical_align_spanner::Vertical_align_spanner ()
{
return Graphical_axis_group::extent (Y_AXIS);
}
-IMPLEMENT_IS_TYPE_B1(Vertical_group_element, Axis_group_element);
+
#include "item.hh"
#include "p-col.hh"
-IMPLEMENT_IS_TYPE_B2(Vertical_group_spanner, Axis_group_spanner, Vertical_group_element);
+
Vertical_group_spanner::Vertical_group_spanner ()
}
-IMPLEMENT_IS_TYPE_B1(Sequential_music_iterator,Music_iterator);
+
void
Sequential_music_iterator::do_process_and_next (Moment until)
Begin3
Titel: LilyPond
-Versie: 1.1.5
-Inschrijf datum: 13NOV98
+Versie: 1.1.6
+Inschrijf datum: 16NOV98
Beschrijving: @FLAPTEKST@
Trefwoorden: muziek typezetten midi notatie
Auteur: hanwen@stack.nl (Han-Wen Nienhuys)
janneke@gnu.org (Jan Nieuwenhuizen)
Onderhouden door: hanwen@cs.ruu.nl (Han-Wen Nienhuys)
Voornaamste plek: sunsite.unc.edu /pub/Linux/apps
- 770k lilypond-1.1.5.tar.gz
+ 770k lilypond-1.1.6.tar.gz
Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
- 770k lilypond-1.1.5.tar.gz
+ 770k lilypond-1.1.6.tar.gz
Copi-eer voorwaarden: GPL
End
Begin3
Title: LilyPond
-Version: 1.1.5
-Entered-date: 13NOV98
+Version: 1.1.6
+Entered-date: 16NOV98
Description:
LilyPond is the GNU Project music typesetter. This program can print
beautiful sheet music from a music definition file. It can also play
janneke@gnu.org (Jan Nieuwenhuizen)
Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
- 770k lilypond-1.1.5.tar.gz
+ 770k lilypond-1.1.6.tar.gz
Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
- 770k lilypond-1.1.5.tar.gz
+ 770k lilypond-1.1.6.tar.gz
Copying-policy: GPL
End
Name: lilypond
-Version: 1.1.5
+Version: 1.1.6
Release: 1
Copyright: GPL
Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.5.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.6.tar.gz
Summary: A program for printing sheet music.
URL: http://www.cs.uu.nl/~hanwen/lilypond
Packager: Han-Wen Nienhuys <hanwen@cs.uu.nl>
%!PS-Adobe-1.0: lily.ps
-%
-%staffrulethickness /stafflinethickness exch def
-%
+
% round cappings
1 setlinecap
-%
+
/draw_beam % width slope thick
{
2 div /beam_thick exch def
0 beam_thick lineto
closepath fill
} bind def
-%
+
/draw_decrescendo % cont height width
{
stafflinethickness setlinewidth
/cresc_cont exch def
/cresc_ht exch def
/cresc_wd exch def
-%
+
cresc_wd cresc_cont moveto
0 cresc_ht lineto
stroke
0 cresc_ht neg lineto
stroke
} bind def
-%
+
/draw_crescendo % cont height width
{
stafflinethickness setlinewidth
/cresc_cont exch def
/cresc_ht exch def
/cresc_wd exch def
-%
+
0 cresc_cont moveto
cresc_wd cresc_ht lineto
stroke
cresc_wd cresc_ht neg lineto
stroke
} bind def
-%
+
/lily_distance
{
1 copy mul exch 1 copy mul add sqrt
} bind def
-%
-stafflinethickness 1.2 mul /tuplet_t exch def
+
/draw_tuplet
{
tuplet_t setlinewidth
staffheight 2 div /tuplet_gapx exch def
tuplet_dy tuplet_dx div tuplet_gapx mul /tuplet_gapy exch def
staffheight 4 div dir mul /tuplet_h exch def
-%
+
0 0 moveto
0 tuplet_h lineto
tuplet_dx tuplet_gapx sub 2 div
tuplet_dx tuplet_dy lineto
stroke
} bind def
-%
+
/draw_slur
{
stafflinethickness setlinewidth
grestore
stroke
} bind def
-%
+
/draw_dashed_slur
{
1 setlinecap
curveto
stroke
} bind def
-%
-staffheight 4 div /interline exch def
-%
+
+
+
/bracket_traject
{
/traject_ds exch def
traject_ds traject_alpha cos mul add
exch
} bind def
-%
-interline 3 div /bracket_b exch def
-interline 2 mul /bracket_w exch def
-stafflinethickness 2 mul /bracket_t exch def
-interline 1.5 mul /bracket_v exch def
-bracket_v /bracket_u exch def
-50 /bracket_alpha exch def
-%
+
+
+
/half_bracket
{
%6
%1
0 0
} bind def
-%
+
/draw_half_bracket {
moveto
lineto
fill
grestore
} bind def
-%
+
/draw_bracket % height
{
2 div bracket_b add /bracket_h exch def
draw_half_bracket
stroke
} bind def
-%
+
/xoffset 30 def
/yoffset 700 def
-/stafflinethickness 1 def
+/staffrulethickness 1 def
/staffheight 20 def
/placebox
-$(outdir)/%.tex: %.tex
- $(LN) $< $@
+#$(outdir)/%.tex: %.tex
+# $(LN) $< $@
$(outdir)/%.dvi: $(outdir)/%.tex
(cd $(outdir); tex \\nonstopmode \\input $(<F))
% ``compiles'' operatorname binding in the body of foo, making
% the code faster, and more reliable (less flexible)
-%must come before PSTeXDimen
-\special{!
-% PS helper: convert (0.2pt) to the token 0.2
-/settexdimen
-{
- /thestring exch def
- thestring 0 thestring length 2 sub
- getinterval
- token
- pop exch pop
-} def
-%
-/deftexdimen
-{
- settexdimen
- def
-} def
-}
% transplant a TeX dimension into the PS output.
\def\PSsetTeXdimen#1{\expandafter\special{! /#1 (\the\csname #1\endcsname) deftexdimen}}
-% must come before lily.ps
-\PSsetTeXdimen{stafflinethickness}
-\PSsetTeXdimen{staffheight}
{%
\def\par{ }% %Ugh. Don't try this at home, kids!
% neat file-include trick by Piet van Oostrum <piet@cs.uu.nl>
\def\filedef#1#2{%#1=command name, #2=file name
\openin\defin=#2\relax\def#1{}
\ifeof\defin
- \message{***************************************}
- \message{lily-ps-defs.tex: can't open `#2'}
- \message{***************************************}
+ \message{***************** CAN NOT OPEN #2 ********************}
\end
\fi
\loop\ifnot{\ifeof\defin}\read\defin to\tempfiledef
}
+\special{!
+% PS helper: convert (0.2pt) to the token 0.2
+/settexdimen
+{
+ /thestring exch def
+ thestring 0 thestring length 2 sub
+ getinterval
+ token
+ pop exch pop
+} def
+%
+/deftexdimen
+{
+ settexdimen
+ def
+} def
+}
\def\turnOnPostScript{%
\PSsetTeXdimen{stafflinethickness}
\special{!
/interline \mudelapaperinterline0 def % ugh. Only works x.yyyy floats
-stafflinethickness 1.2 mul /plet_t exch def
interline 3 div /bracket_b exch def
interline 2 mul /bracket_w exch def
stafflinethickness 2 mul /bracket_t exch def
bracket_v /bracket_u exch def
50 /bracket_alpha exch def
staffheight 4 div /interline exch def
+stafflinethickness 1.2 mul /tuplet_t exch def
1 setlinecap}
}
% does some rounding; i can't really check this from screen on i
% 600x600 res.
%
-\def\rulesym#1#2{\dimen0=#1%
+\def\rulesym#1#2{\dimen0=#1 %obsolete
\vrule height .5\dimen0 depth .5\dimen0 width #2}
\def\shiftedrulesym#1#2{\dimen0=#1%
\vrule height .7\dimen0 depth .3\dimen0 width #2}