diff options
30 files changed, 549 insertions, 346 deletions
@@ -1,3 +1,10 @@ +2004-07-16 Jan Nieuwenhuizen <janneke@gnu.org> + + * More SCons cleanups. + + * Documentation/bibliography/computer-notation.bib (note): Remove + extraneous closing brace. + 2004-07-16 Han-Wen Nienhuys <hanwen@xs4all.nl> * scripts/lilypond-book.py (Lilypond_snippet.is_outdated): fix @@ -13,7 +20,7 @@ 2004-07-16 Jan Nieuwenhuizen <janneke@gnu.org> * scripts/lilypond-book.py (Lilypond_snippet.is_outdated): Check - for lilypondend. + for lilypondend. Import stat (huh?). 2004-07-16 Han-Wen Nienhuys <hanwen@xs4all.nl> diff --git a/Documentation/bibliography/SConscript b/Documentation/bibliography/SConscript index fb06d5ba4e..538cfbd3d4 100644 --- a/Documentation/bibliography/SConscript +++ b/Documentation/bibliography/SConscript @@ -1,13 +1,12 @@ # -*-python-*- -import os -Import ('env') -bibs = env['src_glob'] (env, '*.bib') +Import ('env', 'src_glob') +bib = src_glob ('*.bib') env.AT_COPY ('index.html.in') # todo: must make html-long.bst as source too. -env['ENV']['BSTINPUTS'] = ":"+os.getcwd() -print env.BIB2HTML -map (env.BIB2HTML, bibs) -env.Alias ('doc', bibs) +# make as source? + +map (env.BIB2HTML, bib) +env.Alias ('doc', bib) diff --git a/Documentation/bibliography/computer-notation.bib b/Documentation/bibliography/computer-notation.bib index 3f4f7565cc..adeeb4494a 100644 --- a/Documentation/bibliography/computer-notation.bib +++ b/Documentation/bibliography/computer-notation.bib @@ -685,12 +685,10 @@ users in mind) (sic) HWN}, title = {SMDL, Standard Musical Description Language}, pdf= {ftp://ftp.ornl.gov/pub/sgml/wg8/smdl/10743.pdf}, number={ISO/IEC DIS 10743}, - year = {1992} + year = {1992}, annote = {SGML instance for describing music. Very comprehensive in music definition, but no support for notation / performance whatsoever (They basically say: "You can embed a NIFF or MIDI file")} - -}, } diff --git a/Documentation/topdocs/SConscript b/Documentation/topdocs/SConscript index d3752f4e4c..9de9dcb0c1 100644 --- a/Documentation/topdocs/SConscript +++ b/Documentation/topdocs/SConscript @@ -1,13 +1,14 @@ # -*-python-*- -Import ('env') -tely = env['glob'] (env, '*.tely') -texi = env['glob'] (env, '*.texi') + map (env.TEXI, tely) +Import ('env', 'src_glob', 'install') + +tely = src_glob ('*.tely') +texi = src_glob ('*.texi') + txt = map (env.TXT, texi) html = map (env.HTML, texi) + env.Alias ('doc', txt) env.Alias ('doc', html) -dir = env['DESTDIR'] + env['sharedir_doc_package'] -env.Install (dir, txt) -env.Alias ('install', dir) +install (txt, env['sharedir_doc_package']) diff --git a/Documentation/user/SConscript b/Documentation/user/SConscript index 7c8fc75b84..b67452500d 100644 --- a/Documentation/user/SConscript +++ b/Documentation/user/SConscript @@ -3,9 +3,9 @@ import os import string -Import ('env') -telys = env['glob'] (env, '*.tely') -pngs = env['glob'] (env, '*.png') +Import ('env', 'base_glob') +tely = base_glob ('*.tely') +png = base_glob ('*.png') # We need lily and mf to build these. env.Depends ('lilypond.texi', ['#/lily', '#/mf']) @@ -13,24 +13,27 @@ env.Depends ('music-glossary.texi', ['#/lily', '#/mf']) env.Depends ('lilypond.texi', 'lilypond-internals.texi') -epss = map (env.Png2eps, pngs) -env.Depends ('lilypond.texi', epss) +eps = map (env.PNG2EPS, png) +env.Depends ('lilypond.texi', eps) e = env.Copy ( - LILYPOND_BOOK_FLAGS = '''--process="lilypond-bin -I$srcdir/input/test -e '(ly:set-option (quote internal-type-checking) \#t)'"''', + LILYPOND_BOOK_FLAGS = '''--process="lilypond-bin -I#/input/test -e '(ly:set-option (quote internal-type-checking) \#t)'"''', __verbose = ' --verbose', + GENERATE_DOCUMENTATION = '$srcdir/ly/generate-documentation', ) -e.Command ('lilypond-internals.texi', env['LILYPOND_BIN'], - 'cd ${TARGET.dir} \ - && LILYPONDPREFIX=$LILYPONDPREFIX $LILYPOND_BIN $__verbose \ - $srcdir/ly/generate-documentation') +e.Command ('lilypond-internals.texi', ['#/lily', '#/mf'], + 'cd ${TARGET.dir} && $LILYPOND_BIN $GENERATE_DOCUMENTATION') -texis = map (env.TEXI, telys) -dvis = map (env.Texi2dvi, telys) -pss = map (env.PostScript, map (lambda x: x + '.dvi', telys)) -pdfs = map (env.Dvi2pdf, telys) -infos = map (env.INFO, telys) +## FIXME: implicit steps from [TE]LY -> PDF +texi = map (env.TEXI, tely) +dvi = map (env.TEXIDVI, tely) +ps = map (env.DVIPS, tely) ###map (lambda x: x + '.dvi', tely)) +dvipdf = map (env.DVIPDF, tely) +pdf = map (env.PSPDF, dvipdf) + +# FIXME: install +info = map (env.INFO, tely) def file_subst (file_name, find, subst): s = open (file_name).read () @@ -47,6 +50,7 @@ def url_fixup (target, source, env): file_subst (str (target[0]), '../lilypond-internals', 'lilypond-internals/') +# fixme: see builder.py a = ['$MAKEINFO -I$usersrc -I${SOURCE.dir} --html \ --css-include=$srcdir/Documentation/texinfo.css $__verbose \ --output=${TARGET.dir} $SOURCE', @@ -62,15 +66,13 @@ e.Command ('lilypond-internals/lilypond-internals.html', 'lilypond-internals.texi', a) #Hmm -- why not just mv ./Documentation/{*,*/*} ./doc :-) -env.Alias ('doc', texis) -env.Alias ('doc', dvis) -env.Alias ('doc', pss) -env.Alias ('doc', pdfs) +env.Alias ('doc', texi) +env.Alias ('doc', dvi) +env.Alias ('doc', ps) +env.Alias ('doc', pdf) env.Alias ('doc', 'lilypond/lilypond.html') env.Alias ('doc', 'lilypond-internals/lilypond-internals.html') -#dir = env['DESTDIR'] + env['sharedir_doc_package'] + '/html' -#env.Install (dir, 'lilypond') -#env.Install (dir, 'lilypond-user') -#env.Alias ('install', dir) +# install ('lilypond/*', env['sharedir_doc_package'] + '/html') +# install ('lilypond-user/*', env['sharedir_doc_package'] + '/html') diff --git a/SConstruct b/SConstruct index daa773824c..ce0c124439 100644 --- a/SConstruct +++ b/SConstruct @@ -38,7 +38,7 @@ Other targets scons / # build *everything* (including installation) Options (see scons -h) - scons build=DIR # clean scrdir build, output below DIR + scons build=DIR # clean srcdir build, output below DIR scons out=DIR # write output for alterative config to DIR Debugging @@ -139,7 +139,6 @@ opts.AddOptions ( ) srcdir = Dir ('.').srcnode ().abspath - #ugh sys.path.append (os.path.join (srcdir, 'stepmake', 'bin')) import packagepython @@ -160,11 +159,6 @@ env = Environment ( SH = '/bin/sh', MAKEINFO = 'LANG= makeinfo', - ABC2LY_PY = srcdir + '/scripts/abc2ly.py', - LILYPOND_BOOK = srcdir + '/scripts/lilypond-book.py', - LILYPOND_BOOK_FLAGS = '', - LILYPOND_BOOK_FORMAT = 'texi-html', - LILYPOND_PY = srcdir + '/scripts/lilypond.py', MF_TO_TABLE_PY = srcdir + '/buildscripts/mf-to-table.py', PKG_CONFIG_PATH = [os.path.join (os.environ['HOME'], @@ -173,7 +167,6 @@ env = Environment ( 'usr/pkg/pango/lib')], GZIP='-9v', MFMODE = 'ljfour', - TEXINFO_PAPERSIZE_OPTION = '-t @afourpaper', TOPLEVEL_VERSION = version, ) @@ -195,6 +188,13 @@ absbuild = Dir (env['build']).abspath outdir = os.path.join (Dir (env['build']).abspath, env['out']) run_prefix = os.path.join (absbuild, os.path.join (env['out'], 'usr')) + +config_hh = os.path.join (outdir, 'config.hh') +version_hh = os.path.join (outdir, 'version.hh') + +env.Alias ('config', config_cache) + + CacheDir (os.path.join (outdir, 'build-cache')) # No need to set $LILYPONDPREFIX to run lily, but cannot install... @@ -211,92 +211,19 @@ sharedir_package = os.path.join (sharedir, package.name) sharedir_package_version = os.path.join (sharedir_package, version) lilypondprefix = sharedir_package_version -# post-option environment-update +# junkme env.Append ( + absbuild = absbuild, srcdir = srcdir, - - bindir = bindir, - sharedir = sharedir, - lilypond_datadir = sharedir_package, - localedir = localedir, - local_lilypond_datadir = sharedir_package_version, - lilypondprefix = lilypondprefix, - sharedir_package = sharedir_package, - sharedir_doc_package = sharedir_doc_package, - sharedir_package_version = sharedir_package_version, ) -if env['debugging']: - env.Append (CCFLAGS = ['-g', '-pipe']) -if env['optimising']: - env.Append (CCFLAGS = '-O2') - env.Append (CXXFLAGS = ['-DSTRING_UTILS_INLINED']) -if env['warnings']: - env.Append (CCFLAGS = ['-W', '-Wall']) - env.Append (CXXFLAGS = ['-Wconversion']) - -# ugr,huh? -env.Append (LINKFLAGS = ['-Wl,--export-dynamic']) - -if env['verbose']: - env['__verbose'] = ' --verbose' - env['set__x'] = 'set -x;' - -config_hh = os.path.join (outdir, 'config.hh') -version_hh = os.path.join (outdir, 'version.hh') - -env.Alias ('config', config_cache) - - -## Explicit target and dependencies - -if 'clean' in COMMAND_LINE_TARGETS: - # ugh: prevent reconfigure instead of clean - os.system ('touch %s' % config_cache) - - command = sys.argv[0] + ' -c .' - sys.stdout.write ('Running %s ... ' % command) - sys.stdout.write ('\n') - s = os.system (command) - if os.path.exists (config_cache): - os.unlink (config_cache) - Exit (s) - -if 'realclean' in COMMAND_LINE_TARGETS: - command = 'rm -rf $(find . -name "out-scons" -o -name ".scon*")' - sys.stdout.write ('Running %s ... ' % command) - sys.stdout.write ('\n') - s = os.system (command) - if os.path.exists (config_cache): - os.unlink (config_cache) - Exit (s) - -# Declare SConscript phonies -env.Alias ('minimal', config_cache) -env.Alias ('mf-essential', config_cache) - -env.Alias ('minimal', ['lily', 'mf-essential']) -env.Alias ('all', ['minimal', 'mf', '.']) -# Do we want the doc/web separation? -env.Alias ('doc', - ['Documentation', - 'Documentation/user', - 'Documentation/topdocs', - 'Documentation/bibliography', - 'input']) - -# Without target arguments, do minimal build -if not COMMAND_LINE_TARGETS: - env.Default (['minimal']) - -# GNU Make rerouting compat: -env.Alias ('web', 'doc') def list_sort (lst): sorted = lst sorted.sort () return sorted + def configure (target, source, env): vre = re.compile ('^.*[^-.0-9]([0-9][0-9]*\.[0-9][.0-9]*).*$', re.DOTALL) def get_version (program): @@ -531,38 +458,141 @@ elif env['checksums']: # just save everything save_config_cache (env) +#urg how does #/ subst work? +Export ('env') +SConscript ('buildscripts/builder.py') + +env.PrependENVPath ('PATH', + os.path.join (env['absbuild'], env['out'], 'usr/bin')) + +if os.environ.has_key ('TEXMF'): + env.Append (ENV = {'TEXMF' : os.environ['TEXMF']}) +env.Append (ENV = {'TEXMF' : '{$LILYPONDPREFIX,' \ + + os.popen ('kpsexpand \$TEXMF').read ()[:-1] + '}' }) + + + +BUILD_ABC2LY = '${set__x}$PYTHON $srcdir/scripts/abc2ly.py' +BUILD_LILYPOND = '${set__x}$PYTHON $srcdir/scripts/lilypond.py${__verbose}' +BUILD_LILYPOND_BIN = '$absbuild/$out/lilypond-bin ${__verbose}' +BUILD_LILYPOND_BOOK = '$PYTHON $srcdir/scripts/lilypond-book.py --verbose' + + +# post-option environment-update +env.Append ( + bindir = bindir, + sharedir = sharedir, + lilypond_datadir = sharedir_package, + localedir = localedir, + local_lilypond_datadir = sharedir_package_version, + lilypondprefix = lilypondprefix, + sharedir_package = sharedir_package, + sharedir_doc_package = sharedir_doc_package, + sharedir_package_version = sharedir_package_version, + + LILYPOND = BUILD_LILYPOND, + ABC2LY = BUILD_ABC2LY, + LILYPOND_BOOK = BUILD_LILYPOND_BOOK, + LILYPOND_BOOK_FORMAT = 'texi-html', + MAKEINFO_FLAGS = '--css-include=$srcdir/Documentation/texinfo.css', + + TEXI2DVI_PAPERSIZE = '@afourpaper', + TEXI2DVI_FLAGS = [ '-t $TEXI2DVI_PAPERSIZE'], + DVIPS_PAPERSIZE = 'a4', + DVIPS_FLAGS = ['-t $DVIPS_PAPERSIZE', + '-u+lilypond.map', + '-u+ec-mftrace.map'], + PSPDF_FLAGS = ['-sPAPERSIZE=$DVIPS_PAPERSIZE'], + ) + +if env['debugging']: + env.Append (CCFLAGS = ['-g', '-pipe']) +if env['optimising']: + env.Append (CCFLAGS = '-O2') + env.Append (CXXFLAGS = ['-DSTRING_UTILS_INLINED']) +if env['warnings']: + env.Append (CCFLAGS = ['-W', '-Wall']) + env.Append (CXXFLAGS = ['-Wconversion']) + +# ugr,huh? +env.Append (LINKFLAGS = ['-Wl,--export-dynamic']) + +if env['verbose']: + env['__verbose'] = ' --verbose' + env['set__x'] = 'set -x;' + + +## Explicit target and dependencies + +if 'clean' in COMMAND_LINE_TARGETS: + # ugh: prevent reconfigure instead of clean + os.system ('touch %s' % config_cache) + + command = sys.argv[0] + ' -c .' + sys.stdout.write ('Running %s ... ' % command) + sys.stdout.write ('\n') + s = os.system (command) + if os.path.exists (config_cache): + os.unlink (config_cache) + Exit (s) + +if 'realclean' in COMMAND_LINE_TARGETS: + command = 'rm -rf $(find . -name "out-scons" -o -name ".scon*")' + sys.stdout.write ('Running %s ... ' % command) + sys.stdout.write ('\n') + s = os.system (command) + if os.path.exists (config_cache): + os.unlink (config_cache) + Exit (s) + +# Declare SConscript phonies +env.Alias ('minimal', config_cache) +env.Alias ('mf-essential', config_cache) + +env.Alias ('minimal', ['lily', 'mf-essential']) +env.Alias ('all', ['minimal', 'mf', '.']) +# Do we want the doc/web separation? +env.Alias ('doc', + ['Documentation', + 'Documentation/user', + 'Documentation/topdocs', + 'Documentation/bibliography', + 'input']) + +# Without target arguments, do minimal build +if not COMMAND_LINE_TARGETS: + env.Default (['minimal']) + +# GNU Make rerouting compat: +env.Alias ('web', 'doc') + + env.Command (version_hh, '#/VERSION', '$PYTHON ./stepmake/bin/make-version.py VERSION > $TARGET') # post-config environment update env.Append ( - absbuild = absbuild, run_prefix = run_prefix, LILYPONDPREFIX = os.path.join (run_prefix, 'share/lilypond'), LIBPATH = [os.path.join (absbuild, 'flower', env['out']),], ##CPPPATH = [outdir, '#',], # do not read auto*'s header CPPPATH = [outdir, ], - LILYPOND_BIN = os.path.join (absbuild, 'lily', env['out'], - 'lilypond-bin'), - LILYPOND_BOOK_PATH = ['.', '#/input', '#/input/regression', - '#/input/test', '#/input/tutorial', - os.path.join (absbuild, 'mf', env['out']), - '#/Documentation/user', - os.path.join (absbuild, 'Documentation', - env['out']), - os.path.join (absbuild, 'Documentation/user', - env['out']), - ], - MAKEINFO_PATH = ['.', '#/Documentation/user', - os.path.join (absbuild, 'Documentation/user', - env['out'])], + LILYPOND_PATH = ['.', '$srcdir/input', + '$srcdir/input/regression', + '$srcdir/input/test', + '$srcdir/input/tutorial', + '$srcdir/Documentation/user', + '$absbuild/mf/$out', +# os.path.join (absbuild, 'Documentation', +# env['out']), +# os.path.join (absbuild, 'Documentation/user', +# env['out']), + ], + MAKEINFO_PATH = ['.', '$srcdir/Documentation/user', + '$absbuild/Documentation/user/$out'], ) -Export ('env') -SConscript ('buildscripts/builder.py') - - def symlink_tree (target, source, env): def mkdirs (dir): def mkdir (dir): diff --git a/buildscripts/builder.py b/buildscripts/builder.py index 3811bc7969..66336aaa2f 100644 --- a/buildscripts/builder.py +++ b/buildscripts/builder.py @@ -6,107 +6,172 @@ import string Import ('env') -# junkme -srcdir = env['srcdir'] +# utility +def add_suffixes (target, source, env, target_suffixes, src_suffixes): + base = os.path.splitext (str (target[0]))[0] + return (target + map (lambda x: base + x, target_suffixes), + source + map (lambda x: base + x, src_suffixes)) + +# junkme; see _concat def join_path (path, infix=os.pathsep, prefix = ''): def dir (x): if x and x[0] == '#': - return srcdir + x[1:] + return env['srcdir'] + x[1:] return x return string.join (map (lambda x: prefix + dir (x), path), infix) -env['join_path'] = join_path -env['MAKEINFO_INCLUDES'] = join_path (env['MAKEINFO_PATH'], '', ' -I') -a = '$MAKEINFO $__verbose $MAKEINFO_INCLUDES --no-split --no-headers \ ---output=$TARGET $SOURCE' -TXT = Builder (action = a, suffix = '.txt', src_suffix = '.texi') +def src_glob (s): + here = os.getcwd () + os.chdir (env.Dir ('.').srcnode ().abspath) + result = glob.glob (s) + os.chdir (here) + return result + +Export ('src_glob') + +def base_glob (s): + return map (lambda x: os.path.splitext (x)[0], src_glob (s)) + +Export ('base_glob') + +def install (target, dir): + dest = env['DESTDIR'] + dir + if type (target) == type ([]): + map (lambda x: env.Install (dir, x), target) + else: + env.Install (dir, target) + env.Alias ('install', dir) + +Export ('install') + +def _fixme (s): + x = string.replace (s, '#', env['srcdir']) + x = string.replace (x, '@', env['absbuild']) + return x + +# Clean separation between generic action + flags and actual +# configuration and flags in environment for this build. + +# Generic builders could/should be part of SCons. + + +HH = Builder (action = 'bison -d -o ${TARGET.base}.cc $SOURCE', + suffix = '.hh', src_suffix = '.yy') +env.Append (BUILDERS = {'HH' : HH}) + + +# Setup LilyPond environment. For the LilyPond build, we override +# some of these commands in the ENVironment. + +env.Append ( + _fixme = _fixme, + ABC2LY = 'abc2ly', + LILYPOND = 'lilypond', + LILYPOND_BIN = 'lilypond-bin', + LILYOND_BOOK = 'lilypond-book', + + #ugr + #LILYPOND_BOOK_FORMAT = 'texi', + LILYPOND_BOOK_FORMAT = '', + LILYPOND_BOOK_FLAGS = ['--format=$LILYPOND_BOOK_FORMAT'], + + LILYPOND_PATH = [], + # The SCons way around FOO_PATH: + ##LILYPOND_INCFLAGS = '$( ${_concat(INCPREFIX, LILYPOND_PATH, INCSUFFIX, __env__, RDirs)} $)', + LILYPOND_INCFLAGS = '$( ${_concat(INCPREFIX, LILYPOND_PATH, INCSUFFIX, __env__)} $)', + + MAKEINFO_PATH = [], + MAKEINFO_FLAGS = [], + MAKEINFO_INCFLAGS = '$( ${_concat(INCPREFIX, MAKEINFO_PATH, INCSUFFIX, __env__, RDirs)} $)', + + TEXI2DVI_FLAGS = [], + _TEXI2DVI_FLAGS = '$( ${_concat(" ", TEXI2DVI_FLAGS,)} $)', + ) + +TXT =\ + Builder (action = '$MAKEINFO --output=$TARGET $MAKEINFO_INCFLAGS\ + --no-split --no-headers $SOURCE', + suffix = '.txt', src_suffix = '.texi') env.Append (BUILDERS = {'TXT': TXT}) -a = '$MAKEINFO $__verbose $MAKEINFO_INCLUDES --output=$TARGET $SOURCE' -INFO = Builder (action = a, suffix = '.info', src_suffix = '.texi') +INFO =\ + Builder (action = '$MAKEINFO --output=$TARGET $MAKEINFO_INCFLAGS $SOURCE', + suffix = '.info', src_suffix = '.texi') env.Append (BUILDERS = {'INFO': INFO}) -a = '$MAKEINFO $__verbose $MAKEINFO_INCLUDES --html --no-split --no-headers \ ---css-include=$srcdir/Documentation/texinfo.css --output=$TARGET $SOURCE' -HTML = Builder (action = a, suffix = '.html', src_suffix = '.texi') +HTML =\ + Builder (action = '$MAKEINFO --output=$TARGET $MAKEINFO_INCLUDES\ + --html --no-split --no-headers $MAKEINFO_FLAGS $SOURCE', +suffix = '.html', src_suffix = '.texi') env.Append (BUILDERS = {'HTML': HTML}) - -env['LILYPOND_BOOK_INCLUDES'] = join_path (env['LILYPOND_BOOK_PATH'], '', - ' --include=') - -# UGHR, lilypond.py uses lilypond-bin from PATH -env.PrependENVPath ('PATH', - os.path.join (env['absbuild'], env['out'], 'usr/bin')) - -if os.environ.has_key ('TEXMF'): - env.Append (ENV = {'TEXMF' : os.environ['TEXMF']}) -env.Append (ENV = {'TEXMF' : '{$LILYPONDPREFIX,' \ - + os.popen ('kpsexpand \$TEXMF').read ()[:-1] + '}' }) - -#if os.environ.has_key ('GS_LIB'): -# env.Append (ENV = {'GS_LIB' : os.environ['GS_LIB'] }) -# -#env.PrependENVPath ('GS_LIB', ['$run_prefix/share/lilyond/ps', -# '$run_prefix/share/lilypond/fonts/type1/']) - -if os.environ.has_key ('LD_LIBRARY_PATH'): - env.Append (ENV = {'LD_LIBRARY_PATH' : os.environ['LD_LIBRARY_PATH']}) -if os.environ.has_key ('GUILE_LOAD_PATH'): - env.Append (ENV = {'GUILE_LOAD_PATH' : os.environ['GUILE_LOAD_PATH']}) - -env.Append (PYTHONPATH = [os.path.join (env['absbuild'], env['out'], - 'usr/lib/python'), - os.path.join (srcdir, 'buildscripts'), - os.path.join (srcdir, 'python')]) -env.Append (ENV = { 'PYTHONPATH' : string.join (env['PYTHONPATH'], - os.pathsep) } ) - -a = ['${__set_x}rm -f $$(grep -LF "\lilypondend" ${TARGET.dir}/lily-*.tex 2>/dev/null);', - 'LILYPONDPREFIX=$LILYPONDPREFIX \ - $PYTHON $LILYPOND_BOOK $__verbose \ - --include=${TARGET.dir} $LILYPOND_BOOK_INCLUDES \ - --process="$LILYPOND_BIN $LILYPOND_BOOK_INCLUDES" \ - --output=${TARGET.dir} --format=$LILYPOND_BOOK_FORMAT \ - $LILYPOND_BOOK_FLAGS \ - $SOURCE'] -TEXI = Builder (action = a, suffix = '.texi', src_suffix = '.tely') +TEXI =\ + Builder (action = + '$LILYPOND_BOOK --output=${TARGET.dir} \ + --include=${TARGET.dir} $LILYPOND_INCFLAGS \ + --process="$LILYPOND_BIN $LILYPOND_INCFLAGS" \ + $LILYPOND_BOOK_FLAGS \ + $SOURCE', + suffix = '.texi', src_suffix = '.tely') env.Append (BUILDERS = {'TEXI': TEXI}) -a = 'cd ${TARGET.dir} \ -&& texi2dvi --batch $TEXINFO_PAPERSIZE_OPTION ${SOURCE.file}' -texi2dvi = Builder (action = a, suffix = '.dvi', src_suffix = '.texi') -env.Append (BUILDERS = {'Texi2dvi': texi2dvi}) +TEXIDVI =\ + Builder (action = 'cd ${TARGET.dir} && \ + texi2dvi --batch $_TEXI2DVI_FLAGS ${SOURCE.file}', + suffix = '.dvi', src_suffix = '.texi') +env.Append (BUILDERS = {'TEXIDVI': TEXIDVI}) + +DVIPS =\ + Builder (action = 'dvips -o $TARGET $DVIPS_FLAGS $SOURCE', + suffix = '.ps', src_suffix = '.dvi') +env.Append (BUILDERS = {'DVIPS': DVIPS}) -env.Append (DVIPSFLAGS = '-Ppdf -u+lilypond.map -u+ec-mftrace.map') +DVIPDF =\ + Builder (action = 'dvips -o $TARGET -Ppdf $DVIPS_FLAGS $SOURCE', + suffix = '.pdfps', src_suffix = '.dvi') +env.Append (BUILDERS = {'DVIPDF': DVIPDF}) -env ['DVIPS_PAPERSIZE'] = 'a4' -a = ['dvips $DVIPSFLAGS -o ${TARGET}.pdfps -t $DVIPS_PAPERSIZE $SOURCE', - 'ps2pdf -sPAPERSIZE=$DVIPS_PAPERSIZE ${TARGET}.pdfps $TARGET'] -dvi2pdf = Builder (action = a, suffix = '.pdf', src_suffix = '.dvi') -env.Append (BUILDERS = {'Dvi2pdf': dvi2pdf}) +PSPDF =\ + Builder (action = 'ps2pdf $PSPDF_FLAGS $SOURCE $TARGET', + suffix = '.pdf', src_suffix = '.pdfps') +env.Append (BUILDERS = {'PSPDF': PSPDF}) + +PNG2EPS =\ + Builder (action = 'convert $SOURCE $TARGET', + suffix = '.eps', src_suffix = '.png') +env.Append (BUILDERS = {'PNG2EPS': PNG2EPS}) + + + + + +# FIXME: cleanup, see above + + +env.Append ( + + #urg + BSTINPUTS = '${SOURCE.dir}:${TARGET.dir}:', + BIB2HTML = '$PYTHON $srcdir/buildscripts/bib2html.py', +) -a = 'convert $SOURCE $TARGET' -png2eps = Builder (action = a, suffix = '.eps', src_suffix = '.png') -env.Append (BUILDERS = {'Png2eps': png2eps}) def add_ps_target (target, source, env): base = os.path.splitext (str (target[0]))[0] return (target + [base + '.ps'], source) -a = '${set__x}LILYPONDPREFIX=$LILYPONDPREFIX \ -$PYTHON $LILYPOND_PY${__verbose} \ ---include=${TARGET.dir} \ ---output=${TARGET.base} $SOURCE' -lilypond = Builder (action = a, suffix = '.pdf', src_suffix = '.ly') +# TODO: +# FIXME: INCLUDES, FLAGS, use LILYPOND_BIN for building ? +lilypond =\ + Builder (action = '$LILYPOND --output=${TARGET.base} --include=${TARGET.dir} $SOURCE', + suffix = '.pdf', src_suffix = '.ly') ## emitter = add_ps_target) env.Append (BUILDERS = {'LilyPond': lilypond}) -a = '${set__x}LILYPONDPREFIX=$LILYPONDPREFIX $PYTHON $ABC2LY_PY \ ---strict --output=${TARGET} $SOURCE' -ABC = Builder (action = a, suffix = '.ly', src_suffix = '.abc') +ABC = Builder (action = '$ABC2LY --output=${TARGET} --strict $SOURCE', + suffix = '.ly', src_suffix = '.abc') env.Append (BUILDERS = {'ABC': ABC}) def add_log_target (target, source, env): @@ -117,12 +182,6 @@ def add_enc_ly_tex_target (target, source, env): base = os.path.splitext (str (target[0]))[0] return (target + [base + '.enc', base + '.tex', base + 'list.ly'], source) - -def add_suffixes (target, source, env, target_suffixes, src_suffixes): - base = os.path.splitext (str (target[0]))[0] - return (target + map (lambda x: base + x, target_suffixes), - source + map (lambda x: base + x, src_suffixes)) - a = 'cd ${TARGET.dir} && \ MFINPUTS=.:${SOURCE.dir}:$srcdir/${SOURCE.dir} \ mf "\\mode:=$MFMODE; nonstopmode; input ${SOURCE.filebase};" \ @@ -162,23 +221,12 @@ pfa = Builder (action = a, emitter = add_enc_src) env.Append (BUILDERS = {'PFA': pfa}) -env['DIFF_PY'] = os.path.join (srcdir, 'stepmake/bin/package-diff.py') +# Specific builders +env['DIFF_PY'] = '$srcdir/stepmake/bin/package-diff.py' a = '$PYTHON $DIFF_PY $__verbose --outdir=${TARGET.dir}' patch = Builder (action = a, suffix = '.diff', src_suffix = '.tar.gz') env.Append (BUILDERS = {'PATCH': patch}) -def src_glob (env, s): - here = os.getcwd () - os.chdir (env.Dir ('.').srcnode ().abspath) - result = glob.glob (s) - os.chdir (here) - return result -env['src_glob'] = src_glob - -def base_glob (env, s): - return map (lambda x: os.path.splitext (x)[0], src_glob (env, s)) -env['glob'] = base_glob - atvars = [ 'BASH', 'DATE', @@ -230,8 +278,6 @@ a = ugh + 'xgettext --default-domain=lilypond --join \ --keyword=_ --keyword=_f --keyword=_i $SOURCES' PO = Builder (action = a, suffix = '.pot', src_suffix = ['.cc', '.hh', '.py'], multi = 1) -##env.Append (BUILDERS = {'PO': PO}) -##env.Command(env['absbuild'] + '/po/' + env['out'] + '/lilypond.pot', env['potarget'] = os.path.join (env['absbuild'], 'po', env['out'], 'lilypond.pot') env['pocommand'] = a @@ -241,7 +287,8 @@ a = 'msgmerge ${SOURCE} ${SOURCE.dir}/lilypond.pot -o ${TARGET}' + ugh POMERGE = Builder (action = a, suffix = '.pom', src_suffix = '.po') env.Append (BUILDERS = {'POMERGE': POMERGE}) -a = '$PYTHON $srcdir/buildscripts/bib2html.py -o $TARGET $SOURCE' +#UGRr +a = 'BSTINPUTS=$BSTINPUTS $BIB2HTML -o $TARGET $SOURCE' BIB2HTML = Builder (action = a, suffix = '.html', src_suffix = '.bib') env.Append (BUILDERS = {'BIB2HTML': BIB2HTML}) @@ -252,20 +299,38 @@ env.Append (BUILDERS = {'LYS2TELY': LYS2TELY}) def mutopia (ly = None, abc = None): + + # FIXME: ugr, huh? The values from ../SConstruct get appended + # to the predefined values from this builder context: + + # abc2ly/usr/bin/python ..../abc2.py + + # Override them again to fix web build... + + + BUILD_ABC2LY = '${set__x}$PYTHON $srcdir/scripts/abc2ly.py' + BUILD_LILYPOND = '${set__x}$PYTHON $srcdir/scripts/lilypond.py${__verbose}' + e = env.Copy ( + LILYPOND = BUILD_LILYPOND, + ABC2LY = BUILD_ABC2LY, + ) + if not abc: - abc = env['glob'] (env, '*.abc') + abc = base_glob ('*.abc') if not ly: - ly = env['glob'] (env, '*.ly') + map (env.ABC, abc) - pdf = map (env.LilyPond, ly) + ly = base_glob ('*.ly') + map (e.ABC, abc) + pdf = map (e.LilyPond, ly) + # We need lily and mf to build these. env.Depends (pdf, ['#/lily', '#/mf']) env.Alias ('doc', pdf) -env['mutopia'] = mutopia +Export ('mutopia') def collate (title = 'collated files'): - ly = env['glob'] (env, '*.ly') + ly = base_glob ('*.ly') + e = env.Copy ( TITLE = title, LILYPOND_BOOK_FLAGS = '''--process="lilypond-bin --header=texidoc -I$srcdir/input/test -e '(ly:set-option (quote internal-type-checking) #t)'"''', @@ -276,11 +341,14 @@ def collate (title = 'collated files'): texi = e.TEXI (tely) # We need lily and mf to build these. env.Depends (texi, ['#/lily', '#/mf']) - dvi = e.Texi2dvi (texi) - pdf = e.Dvi2pdf (dvi) + dvi = e.TEXIDVI (texi) + pspdf = e.DVIPDF (dvi) + pdf = e.PSPDF (pspdf) html = e.HTML (texi) env.Alias ('doc', pdf) env.Alias ('doc', html) -env['collate'] = collate +Export ('collate') + +Export ('env') diff --git a/elisp/SConscript b/elisp/SConscript index 4bf540baf9..1247af9f41 100644 --- a/elisp/SConscript +++ b/elisp/SConscript @@ -1,7 +1,7 @@ # -*-python-*- -Import ('env') -sources = env['src_glob'] (env, '*.el') + ['lilypond-words.el'] +Import ('env', 'install', 'src_glob') +sources = src_glob ('*.el') + ['lilypond-words.el'] e = env.Copy () a = '$PYTHON $srcdir/buildscripts/lilypond-words.py --el --dir=${TARGET.dir}' @@ -12,5 +12,4 @@ e.Command ('lilypond-words.el', '#/ly/engraver-init.ly',], a) -dir = env['DESTDIR'] + env['sharedir_package_version'] + '/elisp' -env.Install (dir, sources) +install (sources, env['sharedir_package_version'] + '/elisp') diff --git a/flower/SConscript b/flower/SConscript index db20306d48..34a034ff8f 100644 --- a/flower/SConscript +++ b/flower/SConscript @@ -1,13 +1,10 @@ # -*-python-*- -Import ('env') -sources = env['src_glob'] (env, '*.cc') -includes = env['src_glob'] (env, '*.hh') +Import ('env', 'src_glob') +sources = src_glob ('*.cc') +includes = src_glob ('*.hh') outdir = Dir ('.').path -# abs_srcdir = Dir ('.').srcnode ().abspath -# abs_outdir = Dir ('.').abspath - name = 'flower' e = env.Copy () e.Append (CPPPATH = [outdir, 'include']) diff --git a/input/SConscript b/input/SConscript index 3676edb050..361c9027a6 100644 --- a/input/SConscript +++ b/input/SConscript @@ -1,4 +1,4 @@ # -*-python-*- -Import ('env') -env['mutopia'] () +Import ('env', 'mutopia') +mutopia () diff --git a/input/mutopia/E.Satie/SConscript b/input/mutopia/E.Satie/SConscript index 3676edb050..361c9027a6 100644 --- a/input/mutopia/E.Satie/SConscript +++ b/input/mutopia/E.Satie/SConscript @@ -1,4 +1,4 @@ # -*-python-*- -Import ('env') -env['mutopia'] () +Import ('env', 'mutopia') +mutopia () diff --git a/input/mutopia/F.Schubert/SConscript b/input/mutopia/F.Schubert/SConscript index 3676edb050..361c9027a6 100644 --- a/input/mutopia/F.Schubert/SConscript +++ b/input/mutopia/F.Schubert/SConscript @@ -1,4 +1,4 @@ # -*-python-*- -Import ('env') -env['mutopia'] () +Import ('env', 'mutopia') +mutopia () diff --git a/input/mutopia/J.S.Bach/SConscript b/input/mutopia/J.S.Bach/SConscript index 3676edb050..361c9027a6 100644 --- a/input/mutopia/J.S.Bach/SConscript +++ b/input/mutopia/J.S.Bach/SConscript @@ -1,4 +1,4 @@ # -*-python-*- -Import ('env') -env['mutopia'] () +Import ('env', 'mutopia') +mutopia () diff --git a/input/mutopia/R.Schumann/SConscript b/input/mutopia/R.Schumann/SConscript index 3676edb050..361c9027a6 100644 --- a/input/mutopia/R.Schumann/SConscript +++ b/input/mutopia/R.Schumann/SConscript @@ -1,4 +1,4 @@ # -*-python-*- -Import ('env') -env['mutopia'] () +Import ('env', 'mutopia') +mutopia () diff --git a/input/mutopia/SConscript b/input/mutopia/SConscript index 3676edb050..361c9027a6 100644 --- a/input/mutopia/SConscript +++ b/input/mutopia/SConscript @@ -1,4 +1,4 @@ # -*-python-*- -Import ('env') -env['mutopia'] () +Import ('env', 'mutopia') +mutopia () diff --git a/input/mutopia/W.A.Mozart/SConscript b/input/mutopia/W.A.Mozart/SConscript index dcfd1348c8..361c9027a6 100644 --- a/input/mutopia/W.A.Mozart/SConscript +++ b/input/mutopia/W.A.Mozart/SConscript @@ -1,4 +1,4 @@ # -*-python-*- -Import ('env') -env['mutopia'] (ly = ['mozart-hrn-3']) +Import ('env', 'mutopia') +mutopia () diff --git a/input/regression/SConscript b/input/regression/SConscript index 01a8c28fe5..708fea8782 100644 --- a/input/regression/SConscript +++ b/input/regression/SConscript @@ -1,4 +1,4 @@ # -*-python-*- -Import ('env') -env['collate'] (title = 'LilyPond Regression Tests') +Import ('env', 'collate') +collate (title = 'LilyPond Regression Tests') diff --git a/input/template/SConscript b/input/template/SConscript index c125930a2c..911b547ab2 100644 --- a/input/template/SConscript +++ b/input/template/SConscript @@ -1,4 +1,4 @@ # -*-python-*- -Import ('env') -env['collate'] (title = 'LilyPond Template Files') +Import ('env', 'collate') +collate (title = 'LilyPond Template Files') diff --git a/input/test/SConscript b/input/test/SConscript index ca15d0a64f..e1e897ede4 100644 --- a/input/test/SConscript +++ b/input/test/SConscript @@ -1,4 +1,4 @@ # -*-python-*- -Import ('env') -env['collate'] (title = 'LilyPond Tips and Tricks') +Import ('env', 'collate') +collate (title = 'LilyPond Tips and Tricks') diff --git a/lily/SConscript b/lily/SConscript index eac3eb94bf..78cd7e8cf1 100644 --- a/lily/SConscript +++ b/lily/SConscript @@ -1,38 +1,25 @@ # -*-python-*- -Import ('env') +Import ('env', 'src_glob', 'install') outdir = Dir ('.').abspath -cc_sources = env['src_glob'] (env, '*.cc') + +cc_sources = src_glob ('*.cc') sources = cc_sources + ['parser.yy', 'lexer.ll'] -includes = env['src_glob'] (env, 'include/*.hh') +includes = src_glob ('include/*.hh') e = env.Copy () -e.Append (CPPPATH = [outdir, '#/lily/include', '#/flower/include']) -e.Append (LEXFLAGS = ['-Cfe', '-p', '-p']) -# SCons builds parser.cc and parser.hh automagically with this but -# keeps removing and rebuilding parser.cc because it wants parser.hpp. -# e.Append (YACCFLAGS = '-d') -# e.Depends ('lexer.cc', 'parser.cc') -# e.Depends ('my-lily-lexer.o', 'parser.cc') -# e.Depends ('my-lily-parser.o', 'parser.cc') +e.Append ( + CPPPATH = [outdir, '#/lily/include', '#/flower/include'], + LEXFLAGS = ['-Cfe', '-p', '-p'], + LIBS = ['flower'], + ) -# Adding an explicit Builder works well, we do not even need to list -# header dependencies. -HH = Builder (action = 'bison -d -o ${TARGET.base}.cc $SOURCE', - suffix = '.hh', src_suffix = '.yy') -e.Append (BUILDERS = {'HH' : HH}) e.HH ('parser.hh', 'parser.yy') - -e.Append (LIBS = ['flower']) e.ParseConfig ('guile-config link') - -name = 'lilypond-bin' -lily = e.Program (name, sources) -dir = env['DESTDIR'] + env['bindir'] -env.Install (dir, lily) -env.Alias ('install', dir) +lily = e.Program ('lilypond-bin', sources) +install (lily, env['bindir']) po = env.Command ('lilypond.po', cc_sources + includes, env['pocommand']) env.Alias ('po-update', po) diff --git a/ly/SConscript b/ly/SConscript index d2e9ea8d5f..a615862404 100644 --- a/ly/SConscript +++ b/ly/SConscript @@ -1,7 +1,5 @@ # -*-python-*- -Import ('env') -sources = env['src_glob'] (env, '*.scm') -dir = env['DESTDIR'] + env['sharedir_package_version'] + '/ly' -env.Install (dir, sources) -env.Alias ('install', dir) +Import ('env', 'install', 'src_glob') +sources = src_glob ('*.ly') +install (sources, env['sharedir_package_version'] + '/ly') diff --git a/mf/GNUmakefile b/mf/GNUmakefile index 3d4bcbd243..2160e929c3 100644 --- a/mf/GNUmakefile +++ b/mf/GNUmakefile @@ -40,6 +40,11 @@ bla: # 2. are not included with teTeX # +foe: + echo $(MFINPUTS) + echo $(TEXMF) + kpsewhich exbase.mf + ## use separate package sauter-fonts-mftraced. SAUTER_FONTS = ecb10 diff --git a/mf/SConscript b/mf/SConscript index 230a0fd8ae..817d5ca8e2 100644 --- a/mf/SConscript +++ b/mf/SConscript @@ -1,10 +1,8 @@ # -*-python-*- -Import ('env') -sources = env['glob'] (env, '*.mf') - +Import ('env', 'base_glob', 'install') fonts = reduce (lambda x, y: x + y, - map (lambda x: env['glob'] (env, x), + map (lambda x: base_glob (x), ('feta[0-9]*.mf', 'feta-braces-[a-z].mf', 'feta-din*[0-9].mf', @@ -15,7 +13,9 @@ t = map (env.TFM, fonts) a = map (env.AFM, fonts) p = map (env.PFA, fonts) +import os map (lambda x: env.Depends (x + '.pfa', x + '.enc'), fonts) +# map (lambda x: os.path.splitext (x)[0], fonts)) mf_essential = ['feta16', 'feta20', 'parmesan16', ] pfa_essential = map (env.PFA, mf_essential) @@ -24,15 +24,8 @@ env.Alias ('mf-essential', pfa_essential) env.Alias ('mf', 'cmr.enc') # build essential stuff first, that's friendlier -#env.Depends (mf', pfa_essential) env.Alias ('mf', pfa_essential + p) -tfmdir = env['DESTDIR'] + env['lilypondprefix'] + '/fonts/tfm' -afmdir = env['DESTDIR'] + env['lilypondprefix'] + '/afm' -pfadir = env['DESTDIR'] + env['lilypondprefix'] + '/fonts/type1' -ti = map (lambda x: env.Install (tfmdir, x), t) -ai = map (lambda x: env.Install (afmdir, x), a) -pi = map (lambda x: env.Install (pfadir, x), p) -env.Alias ('install', tfmdir) -env.Alias ('install', afmdir) -env.Alias ('install', pfadir) +install (t, env['sharedir_package_version'] + '/fonts/tfm') +install (a, env['sharedir_package_version'] + '/afm') +install (p, env['sharedir_package_version'] + '/fonts/type1') diff --git a/po/SConscript b/po/SConscript index a6b7548de6..ac2534bd09 100644 --- a/po/SConscript +++ b/po/SConscript @@ -1,11 +1,10 @@ # -*-python-*- -Import ('env') -pos = env['glob'] (env, '*.po') +Import ('env', 'base_glob', 'install') +pos = base_glob ('*.po') mos = map (env.MO, pos) -dir = env['DESTDIR'] + env['localedir'] -env.Install (dir, mos) -env.Alias ('install', dir) + +install (mos, env['localedir']) env.Depends ('po', 'po-update') # map (lambda x: env.Depends (x + '.mo', x + '.pom'), pos) diff --git a/po/lilypond.pot b/po/lilypond.pot index 4296ecd9d5..601bf34d7e 100644 --- a/po/lilypond.pot +++ b/po/lilypond.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-07-16 02:01+0200\n" +"POT-Creation-Date: 2004-07-16 17:53+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -133,6 +133,16 @@ msgstr "" #. for --output-format. #. Bug in option parser: --output=foe is taken as an abbreviation #. for --output-format. +#. Bug in option parser: --output=foe is taken as an abbreviation +#. for --output-format. +#. Bug in option parser: --output=foe is taken as an abbreviation +#. for --output-format. +#. Bug in option parser: --output=foe is taken as an abbreviation +#. for --output-format. +#. Bug in option parser: --output=foe is taken as an abbreviation +#. for --output-format. +#. Bug in option parser: --output=foe is taken as an abbreviation +#. for --output-format. #: lilypond-book.py:82 old-lilypond-book.py:123 main.cc:138 lily/main.cc:125 msgid "EXT" msgstr "" @@ -723,6 +733,11 @@ msgstr "" #. FIXME: broken sentence #. FIXME: broken sentence +#. FIXME: broken sentence +#. FIXME: broken sentence +#. FIXME: broken sentence +#. FIXME: broken sentence +#. FIXME: broken sentence #: all-font-metrics.cc:100 lily/all-font-metrics.cc:95 #, c-format msgid "checksum mismatch for font file: `%s'" @@ -841,6 +856,36 @@ msgstr "" #. #. last->translator_id_string () = get_change ()->change_to_id_string (); #. +#. +#. We could change the current translator's id, but that would make +#. errors hard to catch +#. +#. last->translator_id_string () = get_change ()->change_to_id_string (); +#. +#. +#. We could change the current translator's id, but that would make +#. errors hard to catch +#. +#. last->translator_id_string () = get_change ()->change_to_id_string (); +#. +#. +#. We could change the current translator's id, but that would make +#. errors hard to catch +#. +#. last->translator_id_string () = get_change ()->change_to_id_string (); +#. +#. +#. We could change the current translator's id, but that would make +#. errors hard to catch +#. +#. last->translator_id_string () = get_change ()->change_to_id_string (); +#. +#. +#. We could change the current translator's id, but that would make +#. errors hard to catch +#. +#. last->translator_id_string () = get_change ()->change_to_id_string (); +#. #: change-iterator.cc:93 lily/change-iterator.cc:93 msgid "I'm one myself" msgstr "" @@ -1185,6 +1230,11 @@ msgstr "" #. No version number or newline here. It confuses help2man. #. No version number or newline here. It confuses help2man. #. No version number or newline here. It confuses help2man. +#. No version number or newline here. It confuses help2man. +#. No version number or newline here. It confuses help2man. +#. No version number or newline here. It confuses help2man. +#. No version number or newline here. It confuses help2man. +#. No version number or newline here. It confuses help2man. #: main.cc:196 lily/main.cc:181 #, c-format msgid "Usage: %s [OPTIONS]... FILE..." @@ -1291,6 +1341,21 @@ msgstr "" #. #. music for the softenon children? #. +#. +#. music for the softenon children? +#. +#. +#. music for the softenon children? +#. +#. +#. music for the softenon children? +#. +#. +#. music for the softenon children? +#. +#. +#. music for the softenon children? +#. #: new-fingering-engraver.cc:155 lily/new-fingering-engraver.cc:153 msgid "music for the martians." msgstr "" @@ -1486,6 +1551,11 @@ msgstr "" #. this shouldn't happen, but let's continue anyway. #. this shouldn't happen, but let's continue anyway. #. this shouldn't happen, but let's continue anyway. +#. this shouldn't happen, but let's continue anyway. +#. this shouldn't happen, but let's continue anyway. +#. this shouldn't happen, but let's continue anyway. +#. this shouldn't happen, but let's continue anyway. +#. this shouldn't happen, but let's continue anyway. #: separation-item.cc:53 separation-item.cc:97 lily/separation-item.cc:53 #: lily/separation-item.cc:97 msgid "Separation_item: I've been drinking too much" @@ -1506,6 +1576,16 @@ msgstr "" #. eaten start event? #. How to shut up this warning, when Voice_devnull_engraver has #. eaten start event? +#. How to shut up this warning, when Voice_devnull_engraver has +#. eaten start event? +#. How to shut up this warning, when Voice_devnull_engraver has +#. eaten start event? +#. How to shut up this warning, when Voice_devnull_engraver has +#. eaten start event? +#. How to shut up this warning, when Voice_devnull_engraver has +#. eaten start event? +#. How to shut up this warning, when Voice_devnull_engraver has +#. eaten start event? #: slur-engraver.cc:139 lily/slur-engraver.cc:139 msgid "can't find start of slur" msgstr "" @@ -1589,6 +1669,16 @@ msgstr "" #. more of a programming error. #. Not using ngettext's plural feature here, as this message is #. more of a programming error. +#. Not using ngettext's plural feature here, as this message is +#. more of a programming error. +#. Not using ngettext's plural feature here, as this message is +#. more of a programming error. +#. Not using ngettext's plural feature here, as this message is +#. more of a programming error. +#. Not using ngettext's plural feature here, as this message is +#. more of a programming error. +#. Not using ngettext's plural feature here, as this message is +#. more of a programming error. #: tfm-reader.cc:108 lily/tfm-reader.cc:108 #, c-format msgid "TFM header of `%s' has only %u word (s)" @@ -1613,6 +1703,16 @@ msgstr "" #. (Here really with a warning!) #. If there is no such symbol, we default to the numbered style. #. (Here really with a warning!) +#. If there is no such symbol, we default to the numbered style. +#. (Here really with a warning!) +#. If there is no such symbol, we default to the numbered style. +#. (Here really with a warning!) +#. If there is no such symbol, we default to the numbered style. +#. (Here really with a warning!) +#. If there is no such symbol, we default to the numbered style. +#. (Here really with a warning!) +#. If there is no such symbol, we default to the numbered style. +#. (Here really with a warning!) #: time-signature.cc:95 lily/time-signature.cc:95 #, c-format msgid "time signature symbol `%s' not found; reverting to numbered style" @@ -1633,6 +1733,31 @@ msgstr "" #. #. OTOH, Tristan Keuris writes 8/20 in his Intermezzi. #. +#. +#. Todo: should make typecheck? +#. +#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi. +#. +#. +#. Todo: should make typecheck? +#. +#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi. +#. +#. +#. Todo: should make typecheck? +#. +#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi. +#. +#. +#. Todo: should make typecheck? +#. +#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi. +#. +#. +#. Todo: should make typecheck? +#. +#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi. +#. #: time-signature-engraver.cc:57 lily/time-signature-engraver.cc:57 #, c-format msgid "Found strange time signature %d/%d." diff --git a/scm/SConscript b/scm/SConscript index 81afd435b4..396bafba8e 100644 --- a/scm/SConscript +++ b/scm/SConscript @@ -1,7 +1,5 @@ # -*-python-*- -Import ('env') -sources = env['src_glob'] (env, '*.scm') -dir = env['DESTDIR'] + env['sharedir_package_version'] + '/scm' -env.Install (dir, sources) -env.Alias ('install', dir) +Import ('env', 'install', 'src_glob') +sources = src_glob ('*.scm') +install (sources, env['sharedir_package_version'] + '/scm') diff --git a/scripts/SConscript b/scripts/SConscript index dca5f89a52..a69a637a83 100644 --- a/scripts/SConscript +++ b/scripts/SConscript @@ -1,11 +1,10 @@ # -*-python-*- -Import ('env') -sources = env['src_glob'] (env, '*.py') -gens = map (env.AT_COPY, sources) -dir = env['DESTDIR'] + env['bindir'] -env.Install (dir, gens) -env.Alias ('install', env['bindir']) +Import ('env', 'install', 'src_glob') +sources = src_glob ('*.py') +scripts = map (env.AT_COPY, sources) + +install (scripts, env['bindir']) po = env.Command ('lilypond.po', sources, env['pocommand']) env.Alias ('po-update', po) diff --git a/scripts/lilypond-book.py b/scripts/lilypond-book.py index 65efd22671..0ef5a0fc86 100644 --- a/scripts/lilypond-book.py +++ b/scripts/lilypond-book.py @@ -26,6 +26,7 @@ TODO: import __main__ import glob +import stat import string import stat ################################################################ diff --git a/tex/SConscript b/tex/SConscript index 0f4d33fa9a..c9aed16582 100644 --- a/tex/SConscript +++ b/tex/SConscript @@ -1,7 +1,5 @@ # -*-python-*- -Import ('env') -sources = env['src_glob'] (env, '*.tex') + ['latin1.enc'] -dir = env['DESTDIR'] + env['sharedir_package_version'] + '/tex' -env.Install (dir, sources) -env.Alias ('install', dir) +Import ('env', 'install', 'src_glob') +sources = src_glob ('*.tex') + ['latin1.enc'] +install (sources, env['sharedir_package_version'] + '/tex') diff --git a/vim/SConscript b/vim/SConscript index eb04b01a89..40d915a4c4 100644 --- a/vim/SConscript +++ b/vim/SConscript @@ -1,7 +1,7 @@ # -*-python-*- -Import ('env') -sources = env['src_glob'] (env, '*.vim') + ['lilypond-words.vim'] +Import ('env', 'install', 'src_glob') +sources = src_glob ('*.vim') + ['lilypond-words.vim'] e = env.Copy () a = '$PYTHON $srcdir/buildscripts/lilypond-words.py --words --vim --dir=${TARGET.dir}' @@ -12,5 +12,4 @@ e.Command ('lilypond-words.vim', '#/ly/engraver-init.ly',], a) -dir = env['DESTDIR'] + env['sharedir_package_version'] + '/vim' -env.Install (dir, sources) +install (sources, env['sharedir_package_version'] + '/vim') |