]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/main.cc
* stepmake/stepmake/*:
[lilypond.git] / lily / main.cc
index d2f3a66436c379cc78539044c6bd5010c37b8aa6..2245a71396eae47652a074982db1f5747c3adf1b 100644 (file)
 #include <cassert>
 #include <clocale>
 #include <cstring>
+#include <cerrno>
+using namespace std;
+
 #include <unistd.h>
-#include <errno.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 
@@ -307,11 +309,11 @@ dir_name (String const file_name)
 #endif
 
 #ifdef __MINGW32__
-#  include <winbase.h>
+#include <winbase.h>
 #endif
 
 static void
-setup_paths (char constargv0)
+setup_paths (char const *argv0)
 {
   prefix_directory = LILYPOND_DATADIR;
 
@@ -391,22 +393,24 @@ setup_paths (char const* argv0)
     }
 
   /*
-    ugh. C&P font-config.cc
+    When running from build dir, a full LILYPOND_PREFIX is set-up at
+
+        share/lilypond/TOPLEVEL_VERSION
+
+     This historical hack will allow the shorthand
+
+        LILYPONDPREFIX=. lily/out/lilypond ...
+
   */
   struct stat statbuf;
-  String builddir = prefix_directory + "/mf/out/";
-  if (stat (builddir.to_str0 (), &statbuf) == 0)
-    {
-      dirs.push (builddir.to_str0 ());
-    }
-  else
-    {
-      dirs.push (prefix_directory + "/fonts/otf/");
-      dirs.push (prefix_directory + "/fonts/type1/");
-      dirs.push (prefix_directory + "/fonts/cff/");
-      dirs.push (prefix_directory + "/fonts/svg/");
-      dirs.push (prefix_directory + "/fonts/cff/");
-    }
+  String build_prefix = prefix_directory + "share/lilypond/" TOPLEVEL_VERSION;
+  if (stat (build_prefix.to_str0 (), &statbuf) == 0)
+    prefix_directory = build_prefix;
+  
+  dirs.push (prefix_directory + "/fonts/otf/");
+  dirs.push (prefix_directory + "/fonts/type1/");
+  dirs.push (prefix_directory + "/fonts/cff/");
+  dirs.push (prefix_directory + "/fonts/svg/");
 
   for (int i = 0; i < dirs.size (); i++)
     global_path.prepend (dirs[i]);
@@ -507,7 +511,6 @@ do_chroot_jail ()
 }
 #endif
 
-
 static void
 main_with_guile (void *, int, char **)
 {
@@ -670,7 +673,7 @@ parse_argv (int argc, char **argv)
          warranty ();
          exit (0);
          break;
-         
+
        case 'b':
          output_backend_global = option_parser->optional_argument_str0_;
          break;
@@ -678,7 +681,7 @@ parse_argv (int argc, char **argv)
        case 'f':
          output_format_global = option_parser->optional_argument_str0_;
          break;
-         
+
        case 'H':
          dump_header_fieldnames_global
            .push (option_parser->optional_argument_str0_);