Updated package list to match new versions / new packages.
[beastbuild.git] / Path.py
1 #!/bin/env python
2
3 import utils;
4
5 class Path:
6   def __init__ (self, path):
7     self.p = []
8     plist = path.split ("/")
9     for i in plist:
10       if i != "":
11         self.p += [i]
12
13   def win32 (self):
14     result = ""
15     if len (self.p[0]) == 1:       # drive letter
16       result = self.p[0] + ":"
17       for i in self.p[1:]:
18         result += "\\" + i
19     else:
20       for i in self.p:
21         result += "\\" + i
22     return result 
23
24   def unix (self):
25     result = ""
26     if len (self.p[0]) == 1:       # drive letter
27       result = self.p[0] + ":"
28       for i in self.p[1:]:
29         result += "/" + i
30     else:
31       for i in self.p:
32         result += "/" + i
33     return result 
34
35   # msys path without drive letter (and without colon)
36   # /c/beast instead of c:/beast
37   def msys (self):
38     result = ""
39     for i in self.p:
40       result += "/" + i
41     return result
42
43   # native path: c:\foo\bar on win32, /foo/bar on linux
44   def native (self):
45     from buildutils import platform_is_win32, platform_is_unix
46     if platform_is_win32():
47       return self.win32()
48     else:
49       return self.msys()
50
51   def join (self, other):
52     path = Path ("")
53     path.p += self.p
54     path.p += other.p
55     return path