]> git.donarmstrong.com Git - lilypond.git/commitdiff
Scons fixes.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sun, 11 Jul 2004 12:51:43 +0000 (12:51 +0000)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sun, 11 Jul 2004 12:51:43 +0000 (12:51 +0000)
Documentation/user/SConscript
SConstruct
buildscripts/builder.py

index 9740453d45ec2c6b64608ec7d14e30ee3d073690..8e6e137ac52f35c7594e51170c7038238a940d32 100644 (file)
@@ -40,7 +40,7 @@ epss = map (e.Png2eps, png_stems)
 e.Depends ('lilypond.texi', epss)
 
 e.Command ('lilypond-internals.texi', LILYPOND_BIN,
-          ('(cd $$(dirname $TARGET) && \
+          ('(cd ${TARGET.dir} && \
           LILYPONDPREFIX=%(LILYPONDPREFIX)s %(LILYPOND_BIN)s ' \
            + verbose_opt (env, ' --verbose') \
            + ' ' + os.path.join (env['srcdir'], 'ly/generate-documentation')\
@@ -59,32 +59,19 @@ srcdir = env['srcdir']
 ##MAKEINFO = env['MAKEINFO']
 # TODO: purl (ugh?), symlinks
 verbose = verbose_opt (env, ' --verbose')
-a = ('makeinfo -I%(reldir)s -I$$(dirname $SOURCE)'\
-     + ' --output=%(out)s/lilypond'\
+a = ('makeinfo -I%(reldir)s -I${SOURCE.dir}'\
+     + ' --output=${TARGET.dir}'\
      + ' --css-include=%(docdir)s/texinfo.css'\
      + ' --html%(verbose)s'\
      + ' $SOURCE &&' \
-     + ' makeinfo -I%(reldir)s -I$$(dirname $SOURCE)' \
+     + ' makeinfo -I%(reldir)s -I${SOURCE.dir}' \
      + ' --output=$TARGET' \
      + ' --css-include=%(docdir)s/texinfo.css' \
      + ' --html --no-split --no-headers %(verbose)s' \
      + ' $SOURCE') % vars ()
 e.Command ('lilypond/lilypond.html', 'lilypond.texi', a)
-
-# TODO: purl (ugh?), symlinks
-a = ('makeinfo -I%(reldir)s -I$$(dirname $SOURCE)'\
-     + ' --output=%(out)s/lilypond-internals' \
-     + ' --css-include=%(docdir)s/texinfo.css' \
-     + ' --html%(verbose)s'\
-     + ' $SOURCE &&' \
-     + ' makeinfo -I%(reldir)s -I$$(dirname $SOURCE)' \
-     + ' --output=$TARGET' \
-     + ' --css-include=%(docdir)s/texinfo.css' \
-     + ' --html --no-split --no-headers %(verbose)s' \
-     + ' $SOURCE') % vars ()
 e.Command ('lilypond-internals/lilypond-internals.html',
-          'lilypond-internals.texi',
-          a)
+          'lilypond-internals.texi', a)
 
 e.Alias ('doc', texis)
 e.Alias ('doc', dvis)
index e9adef066be734a61c1386463bfdbad3f8f05cb7..4a715c730b2076eed0ecbef49be3f982d2ed83f3 100644 (file)
@@ -56,7 +56,7 @@ env = Environment ()
 
 # put your favourite stuff in custom.py
 opts = Options ('custom.py', ARGUMENTS)
-#opts = Options (None, ARGUMENTS)
+#opts = Options (['config.cache', 'custom.py'], ARGUMENTS)
 opts.Add ('prefix', 'Install prefix', '/usr/')
 opts.Add ('out', 'Output directory', 'out-scons')
 opts.Add ('build', 'Build directory', '.')
@@ -81,6 +81,10 @@ Help (opts.GenerateHelpText (env))
 
 env = Environment (options = opts)
 
+opts.Update (env)
+#opts.Save ('config.cache', env)
+
+
 env.CacheDir (os.path.join (env['build'], '=build-cache'))
 
 #ugh
@@ -351,15 +355,16 @@ env['MAKEINFO_PATH'] = ['.', '#/Documentation/user',
 
 ## TEXINFO_PAPERSIZE_OPTION= $(if $(findstring $(PAPERSIZE),a4),,-t @afourpaper)
 env['TEXINFO_PAPERSIZE_OPTION'] = '-t @afourpaper'
-#FIXME: ./python isn't sconsed yet, add scrdir/python for lilylib.py ...
 env.Append (PYTHONPATH = [os.path.join (outdir, 'usr/lib/python'),
                          os.path.join (srcdir, 'buildscripts'),
                          os.path.join (srcdir, 'python')])
 # huh, aha?
+# GS_FONTPATH, GS_LIB?
 env.Append (ENV = { 'PYTHONPATH' : string.join (env['PYTHONPATH'],
                                                os.pathsep) } )
+# UGHR, lilypond.py uses lilypond-bin from PATH
+env.Append (ENV = { 'PATH' : os.path.join (outdir, 'usr/bin') })
 
-# GS_FONTPATH, GS_LIB?
 SConscript ('buildscripts/builder.py')
 
 #subdirs = ['mf',]
@@ -410,19 +415,26 @@ def symlink_tree (prefix):
                map (mkdir, string.split (dir, os.sep))
        #srcdir = os.getcwd ()
        def symlink (src, dst):
+               os.chdir (absbuild)
                dir = os.path.dirname (dst)
                mkdirs (dir)
                if src[0] == '#':
                        frm = os.path.join (srcdir, src[1:])
                else:
-                       depth = len (string.split (dir))
+                       print 'dst: ' + dst
+                       depth = len (string.split (dir, '/'))
+                       print 'depth: ' + `depth`
                        frm = os.path.join ('../' * depth, src, out)
+               print 'cwd: ' + `os.getcwd ()`
+               print 'frm: ' + frm
+               print 'dst: ' + dst
                os.symlink (frm, os.path.basename (dst))
-               os.chdir (srcdir)
        map (lambda x: symlink (x[0], os.path.join (prefix, x[1])),
             (('python', 'lib/lilypond/python'),
+             # UGHR, lilypond.py uses lilypond-bin from PATH
+             ('lily',   'bin'),
              ('#mf',    'share/lilypond/fonts/mf'),
-             ('mf',     'share/lilypond/fonts/amf'),
+             ('mf',     'share/lilypond/fonts/afm'),
              ('mf',     'share/lilypond/fonts/tfm'),
              ('mf',     'share/lilypond/fonts/type1'),
              ('#tex',   'share/lilypond/tex/source'),
@@ -431,8 +443,9 @@ def symlink_tree (prefix):
              ('#scm',   'share/lilypond/scm'),
              ('#ps',    'share/lilypond/ps'),
              ('elisp',  'share/lilypond/elisp')))
+       os.chdir (srcdir)
 
 if env['debugging']:
-       prefix = os.path.join (outdir, 'usr')
+       prefix = os.path.join (out, 'usr')
        if not os.path.exists (prefix):
                symlink_tree (prefix)
index abd8ecd276184542fdafd4b964dc331478bbf9ed..16b3c0db20b2987feb5be91499f9679b8b384770 100644 (file)
@@ -51,20 +51,20 @@ env.Append (ENV = {'TEXMF' : '{' + LILYPONDPREFIX + ',' \
                   + os.popen ('kpsexpand \$TEXMF').read ()[:-1] + '}' })
 
 verbose = verbose_opt (env, ' --verbose')
-a = (r'''rm -f $$(grep -LF '\lilypondend' $$(dirname $TARGET)/lily-*.tex 2>/dev/null); ''' \
+a = (r'''rm -f $$(grep -LF '\lilypondend' ${TARGET.dir}/lily-*.tex 2>/dev/null); ''' \
      + 'LILYPONDPREFIX=%(LILYPONDPREFIX)s '\
      + '%(PYTHON)s %(LILYPOND_BOOK)s%(verbose)s'\
-     + ' --include=$$(dirname $TARGET) %(LILYPOND_BOOK_INCLUDES)s'\
+     + ' --include=${TARGET.dir} %(LILYPOND_BOOK_INCLUDES)s'\
      + r""" --process='%(LILYPOND_BIN)s %(LILYPOND_BOOK_INCLUDES)s'"""\
-     + ' --output=$$(dirname $TARGET) --format=%(LILYPOND_BOOK_FORMAT)s\
+     + ' --output=${TARGET.dir} --format=%(LILYPOND_BOOK_FORMAT)s\
      %(LILYPOND_BOOK_FLAGS)s\
      $SOURCE') % vars ()
 tely2texi = Builder (action = a, suffix = '.texi', src_suffix = '.tely')
 env.Append (BUILDERS = {'Tely2texi': tely2texi})
 
 TEXINFO_PAPERSIZE_OPTION = env['TEXINFO_PAPERSIZE_OPTION']
-a = '(cd $$(dirname $TARGET) &&\
- texi2dvi --batch %(TEXINFO_PAPERSIZE_OPTION)s $$(basename $SOURCE))' % vars ()
+a = '(cd ${TARGET.dir} &&\
+ texi2dvi --batch %(TEXINFO_PAPERSIZE_OPTION)s ${SOURCE.file})' % vars ()
 texi2dvi = Builder (action = a, suffix = '.dvi', src_suffix = '.texi')
 env.Append (BUILDERS = {'Texi2dvi': texi2dvi})
 
@@ -100,8 +100,8 @@ env.Append (BUILDERS = {'LilyPond': lilypond})
 verbose = verbose_opt (env, ' --verbose')
 a = ('LILYPONDPREFIX=%(LILYPONDPREFIX)s '\
      + '%(PYTHON)s %(ABC2LY_PY)s%(verbose)s'\
-     + ' --include=$$(dirname $TARGET)'\
-     + ' --output=$$(dirname $TARGET)/$$(basename $TARGET .ly)'\
+     + ' --include=${TARGET.dir}'\
+     + ' --output=${TARGET.base}'\
      + ' $SOURCE') % vars ()
 abc2ly = Builder (action = a, suffix = '.ly', src_suffix = '.abc')
 env.Append (BUILDERS = {'Abc2ly': abc2ly})
@@ -123,15 +123,15 @@ def add_suffixes (target, source, env, target_suffixes, src_suffixes):
                source + map (lambda x: base + x, src_suffixes))
 
 #outdir = os.path.join (env['build'], reldir, env['out'])
-outdir = '$$(dirname $TARGET)'
+outdir = '${TARGET.dir}'
 scrdir = env['srcdir']
 #MFINPUTS = '.:' + str (Dir ('#/mf'))
-#MFINPUTS = '.:$$(dirname $SOURCE)'
-a = ('(cd $$(dirname $TARGET) &&'\
-#     + ' MFINPUTS=.:$$(dirname $SOURCE)'\
-     + ' MFINPUTS=.:$$(dirname $SOURCE):%(srcdir)s/$$(dirname $SOURCE)'\
+#MFINPUTS = '.:${SOURCE.dir}'
+a = ('(cd ${TARGET.dir} &&'\
+#     + ' MFINPUTS=.:${SOURCE.dir}'\
+     + ' MFINPUTS=.:${SOURCE.dir}:%(srcdir)s/${SOURCE.dir}'\
      + ' mf "\\mode:=%(MFMODE)s; nonstopmode;'\
-     + ' input $$(basename $SOURCE);" ' \
+     + ' input ${SOURCE.filebase};" ' \
      + ' | grep -v "@\|>>")') % vars ()
 tfm = Builder (action = a, suffix = '.tfm', src_suffix = '.mf',
 #             emitter = lambda t, s, e: add_suffixes (t, s, e, ['.log'], []))
@@ -142,12 +142,12 @@ MF_TO_TABLE_PY = env['MF_TO_TABLE_PY']
 #verbose = verbose_opt (env, ' --verbose')
 verbose = ''
 a = ('%(PYTHON)s %(MF_TO_TABLE_PY)s%(verbose)s'\
-     + ' --outdir=$$(dirname $TARGET)'\
-     + ' --afm=%(outdir)s/$$(basename $TARGET .afm).afm' \
-     + ' --enc=%(outdir)s/$$(basename $TARGET .afm).enc' \
-     + ' --tex=%(outdir)s/$$(basename $TARGET .afm).tex' \
-     + ' --ly=%(outdir)s/$$(basename $TARGET .afm)list.ly'\
-     + ' $$(dirname $TARGET)/$$(basename $SOURCE)') % vars ()
+     + ' --outdir=${TARGET.dir}'\
+     + ' --afm=${TARGET.base}.afm' \
+     + ' --enc=${TARGET.base}.enc' \
+     + ' --tex=${TARGET.base}' \
+     + ' --ly=${TARGET.base}list.ly'\
+     + ' ${TARGET.base}.log') % vars ()
 afm = Builder (action = a, suffix = '.afm', src_suffix = '.log',
               emitter = add_enc_ly_tex_target)
 env.Append (BUILDERS = {'AFM': afm})
@@ -167,8 +167,8 @@ def encoding_opt (target):
 xpfa = Builder (action = ('MFINPUTS=.:' + str (Dir ('#/mf')) \
                         + ' mftrace -I %(outdir)s --pfa' \
                         + ' --simplify --keep-trying' \
-                        + ' $$(basename $SOURCE .mf) ' \
-                        + ' && mv $$(basename $TARGET) $TARGET') % vars (),
+                        + ' ${SOURCE.filebase} ' \
+                        + ' && mv ${TARGET.filebase} $TARGET') % vars (),
               suffix = '.pfa',
               src_suffix = '.mf',
               emitter = add_enc_src)
@@ -183,10 +183,10 @@ def run_mftrace (target, source, env):
        mfdir = os.path.join (here, reldir)
        outdir = os.path.join (env['build'], reldir, env['out'])
        encoding = encoding_opt (target)
-       command = ('(cd $$(dirname $TARGET) && '
-                  + ' MFINPUTS=.:$$(dirname $TARGET):' + mfdir\
+       command = ('(cd ${TARGET.dir} && '
+                  + ' MFINPUTS=.:${TARGET.dir}:' + mfdir\
                   + ' mftrace --pfa --simplify --keep-trying%(verbose)s'\
-                  + ' --include=$$(dirname $TARGET)'\
+                  + ' --include=${TARGET.dir}'\
                   + ' %(encoding)s %(mf)s)') % vars ()
        return os.system (command)