Welcome to mirror list, hosted at ThFree Co, Russian Federation.

SConscript « intern « makesdna « blender « source - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 78f5fcaba69519431b3c12c99613239b9c6dc5e2 (plain)
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/python
import sys
import os

def normpath(path):
	return os.path.abspath(os.path.normpath(path))

Import ('env')
cflags = ''
defines = []
root_build_dir=normpath(env['BF_BUILDDIR'])

source_files = ['makesdna.c']
header_files = env.Glob('../*.h')

makesdna_tool = env.Clone()
dna = env.Clone()
makesdna_tool.Append(CCFLAGS = '-DBASE_HEADER="\\"source/blender/makesdna/\\"" ')

makesdna_tool.Append (CPPPATH = ['#/intern/guardedalloc',
								 '../../makesdna'])

if env['OURPLATFORM'] == 'linuxcross':
	USE_WINE = True # when cross compiling on linux 64bit this is useful
else:
	USE_WINE = False

if not USE_WINE:
	if env['OURPLATFORM'] == 'linuxcross':
		makesdna_tool.Replace(CC='gcc')
		makesdna_tool.Replace(AR='ar')
		makesdna_tool.Replace(LINK='gcc')

if sys.platform != 'cygwin':
	makesdna_tool.Append (CCFLAGS = cflags)
makesdna_tool.Append (CPPDEFINES = defines)
makesdna_tool.Append( CFLAGS = env['CFLAGS'])
makesdna_tool.Append( CCFLAGS = env['CCFLAGS'])
makesdna_tool.Append( LINKFLAGS = env['PLATFORM_LINKFLAGS'])
targetdir = normpath(root_build_dir+'/lib')

if not (root_build_dir[0]==os.sep or root_build_dir[1]==':'):
	targetdir = '#'+targetdir
makesdna_tool.Append (LIBPATH = targetdir)
if env['BF_PROFILE']:
	makesdna_tool.Append (LINKFLAGS = env['BF_PROFILE_LINKFLAGS'])

targetdir = normpath(root_build_dir + '/makesdna')

if not (root_build_dir[0]==os.sep or root_build_dir[1]==':'):
	targetdir = '#' + targetdir

makesdna = makesdna_tool.Program (target = targetdir, source = source_files, LIBS=['bf_intern_guardedalloc', 'bf_blenlib'])

dna_dict = dna.Dictionary()
dna.Depends ('dna.c', makesdna)
dna.Depends ('dna.c', header_files)

if env['OURPLATFORM'] != 'linuxcross':
	if env['OURPLATFORM'] in ('win32-vc', 'win64-vc', 'win32-mingw'):
		dna.Command ('dna.c', '', "\"" + root_build_dir+os.sep+"makesdna\" $TARGET")
	else:
		dna.Command ('dna.c', '', "\"" + root_build_dir+os.sep+"makesdna\" $TARGET")
else:
	if USE_WINE:
		dna.Command ('dna.c', '', 'wine ' + root_build_dir+os.sep+"makesdna $TARGET")
	else:
		dna.Command ('dna.c', '', root_build_dir+os.sep+"makesdna.exe $TARGET")

obj = ['intern/dna.c', 'intern/dna_genfile.c']
Return ('obj')