1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python
class Recipe(recipe.Recipe):
name = 'vsintegration'
version = '0.1'
licenses = [License.LGPL]
btype = BuildType.CUSTOM
stype = SourceType.CUSTOM
files_devel = ['share/vs/2010', 'lib/libmoldname.a']
def install(self):
import shutil
from cerbero.commands.genvsprops import GenVSProps
env_var = ('GSTREAMER_ROOT_%s' % self.config.target_arch).upper()
vspropsdir = os.path.join(self.config.prefix, self.files_devel[0], 'libs')
if not os.path.exists(vspropsdir):
os.makedirs(vspropsdir)
genvsprops = GenVSProps()
genvsprops.runargs(self.config, vspropsdir, env_var)
filename = os.path.basename(self.files_devel[1])
if self.config.target_arch == Architecture.X86:
mingw_libdir = os.path.join(self.config.toolchain_prefix, 'i686-w64-mingw32', 'lib')
elif self.config.target_arch == Architecture.X86_64:
mingw_libdir = os.path.join(self.config.toolchain_prefix, 'x86_64-w64-mingw32', 'lib')
if not os.path.exists(mingw_libdir):
os.makedirs(mingw_libdir)
shutil.copy(os.path.join(mingw_libdir, filename),
os.path.join(self.config.prefix, 'lib', filename))
# Copy msvc
propsdir = os.path.join(self.config.prefix, 'share/vs/2010/msvc')
if not os.path.exists(propsdir):
os.makedirs(propsdir)
datapropsdir = os.path.join(self.config.data_dir, 'vs', 'msvc')
for f in os.listdir(datapropsdir):
path = os.path.join(datapropsdir, f)
shutil.copy(path, os.path.join(propsdir, f))
# Copy Wizard files
propsdir = os.path.join(self.config.prefix, 'share/vs/2010/wizard')
if not os.path.exists(propsdir):
os.makedirs(propsdir)
datapropsdir = os.path.join(self.config.data_dir, 'vs', 'wizard')
for f in os.listdir(datapropsdir):
path = os.path.join(datapropsdir, f)
shutil.copy(path, os.path.join(propsdir, f))
# Copy Wizard template files
propsdir = os.path.join(self.config.prefix, 'share/vs/2010/gst-template')
if os.path.exists(propsdir):
shutil.rmtree(propsdir)
datapropsdir = os.path.join(self.config.data_dir, 'vs', 'gst-template')
shutil.copytree(datapropsdir, propsdir)
|