]> git.lyx.org Git - lyx.git/blobdiff - development/scons/scons_utils.py
Scons: fix a config.h generation bug
[lyx.git] / development / scons / scons_utils.py
index 6eaa686be75d6761a26155cee922cecd6d009a30..203a39a513a5a27a84bf51cbe4744215d4f193c7 100644 (file)
@@ -16,6 +16,24 @@ import os, sys, re, shutil, glob
 from SCons.Util import WhereIs
 
 
+def getVerFromConfigure(path):
+    " get lyx version from the AC_INIT line of configure.ac "
+    try:
+        config = open(os.path.join(path, 'configure.ac'))
+    except:
+        print "Can not open configure.ac. "
+        return 'x.x.x'
+    # find a line like follows
+    # AC_INIT(LyX,1.4.4svn,[lyx-devel@lists.lyx.org],[lyx])
+    pat = re.compile('AC_INIT\([^,]+,([^,]+),')
+    for line in config.readlines():
+        if pat.match(line):
+            (version,) = pat.match(line).groups()
+            return version.strip()
+    return 'x.x.x'
+
+
+
 def writeToFile(filename, lines, append = False):
     " utility function: write or append lines to filename "
     # create directory if needed
@@ -321,28 +339,28 @@ def createConfigFile(conf, config_file,
         description = "Define to 1 if you have the <%s> header file." % header[0]
         if (header[2] == 'c' and conf.CheckCHeader(header[0])) or \
             (header[2] == 'cxx' and conf.CheckCXXHeader(header[0])):
-            result[header[1]] = True
+            result[header[1]] = 1
             cont += configString('#define %s 1' % header[1], desc = description)
         else:
-            result[header[1]] = False
+            result[header[1]] = 0
             cont += configString('/* #undef %s */' % header[1], desc = description)
     # functions
     for func in functions:
         description = "Define to 1 if you have the `%s' function." % func[0]
         if conf.CheckFunc(func[0], header=func[2]):
-            result[func[1]] = True
+            result[func[1]] = 1
             cont += configString('#define %s 1' % func[1], desc = description)
         else:
-            result[func[1]] = False
+            result[func[1]] = 0
             cont += configString('/* #undef %s */' % func[1], desc = description)
     # types
     for t in types:
         description = "Define to 1 if you have the `%s' type." % t[0]
         if conf.CheckType(t[0], includes=t[2]):
-            result[t[1]] = True
+            result[t[1]] = 1
             cont += configString('#define %s 1' % t[1], desc = description)
         else:
-            result[t[1]] = False
+            result[t[1]] = 0
             cont += configString('/* #undef %s */' % t[1],  desc = description)
     # libraries
     for lib in libs:
@@ -352,13 +370,13 @@ def createConfigFile(conf, config_file,
         else:
             lib_list = lib[0]
         # check if any of the lib exists
-        result[lib[1]] = False
+        result[lib[1]] = 0
         # if user want the name of the lib detected
         if len(lib) == 3:
             result[lib[2]] = None
         for ll in lib_list:
             if conf.CheckLib(ll):
-                result[lib[1]] = True
+                result[lib[1]] = 1
                 if len(lib) == 3:
                     result[lib[2]] = ll
                 cont += configString('#define %s 1' % lib[1], desc = description)
@@ -369,13 +387,13 @@ def createConfigFile(conf, config_file,
     # custom tests
     for test in custom_tests:
         if test[0]:
-            result[test[1]] = True
+            result[test[1]] = 1
             if len(test) == 3:
                 cont += configString('#define %s 1' % test[1], desc = test[2])
             else:
                 cont += configString(test[3], desc = test[2])
         else:
-            result[test[1]] = False
+            result[test[1]] = 0
             if len(test) == 3:
                 cont += configString('/* #undef %s */' % test[1], desc = test[2])
             else:
@@ -601,6 +619,27 @@ SECTIONS
     return(ld_script)
 
 
+def installCygwinPostinstallScript(path):
+    ''' Install lyx.sh '''
+    postinstall_script = os.path.join(path, 'lyx.sh')
+    script = open(postinstall_script, 'w')
+    script.write('''#!/bin/sh
+
+# Add /usr/share/lyx/fonts to /etc/fonts/local.conf
+# if it is not already there.
+if [ -f /etc/fonts/local.conf ]; then
+    grep -q /usr/share/lyx/fonts /etc/fonts/local.conf
+    if [ $? -ne 0 ]; then
+        sed 's/^<\/fontconfig>/<dir>\/usr\/share\/lyx\/fonts<\/dir>\n<\/fontconfig>/' /etc/fonts/local.conf > /etc/fonts/local.conf.tmp
+        mv -f /etc/fonts/local.conf.tmp /etc/fonts/local.conf
+        fc-cache /usr/share/lyx/fonts
+    fi
+fi
+    ''')
+    script.close()
+    return(postinstall_script)
+
+
 try:
     # these will be used under win32
     import win32file