]> git.lyx.org Git - features.git/commitdiff
Always use relative path in POTFILES.in
authorBo Peng <bpeng@lyx.org>
Mon, 30 Apr 2007 03:43:28 +0000 (03:43 +0000)
committerBo Peng <bpeng@lyx.org>
Mon, 30 Apr 2007 03:43:28 +0000 (03:43 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18108 a592a061-630c-0410-9148-cb99ea01b6c8

development/scons/scons_utils.py

index 30617539c5ab6c2026b6950c0c2c7a8b16752df5..4af09f7c19422ece33b438f743b414c7e148addc 100644 (file)
@@ -33,6 +33,18 @@ def getVerFromConfigure(path):
     return 'x.x.x'
 
 
+def relativePath(path, base):
+    '''return relative path from base, which is usually top source dir'''
+    # full pathname of path
+    path1 = os.path.normpath(os.path.realpath(path)).split(os.sep)
+    path2 = os.path.normpath(os.path.realpath(base)).split(os.sep)
+    if path1[:len(path2)] != path2:
+        print "Path %s is not under top source directory" % path
+    path3 = os.path.join(*path1[len(path2):]);
+    # replace all \ by / such that we get the same comments on Windows and *nix
+    path3 = path3.replace('\\', '/')
+    return path3
+
 
 def writeToFile(filename, lines, append = False):
     " utility function: write or append lines to filename "
@@ -133,7 +145,7 @@ def env_potfiles(target, source, env):
     trans = re.compile('_\(".*"\)', re.M)
     for file in source:
         if str(file) not in potfiles and trans.search(open(str(file)).read()):
-            potfiles.append(str(file))
+            potfiles.append(relativePath(str(file), env.subst('$TOP_SRCDIR')))
     potfiles.sort()
     print >> target_file, '\n'.join(potfiles)
     target_file.close()