forked from bartvdbraak/blender
Scons Compiling Hack:
Restoring the "evil src splitting hack" for scons+mingw systems. By default, it is not used, but if your system is choking when trying to link src, then add BF_SPLIT_SRC=1 to your user-config.py to use this hack.
This commit is contained in:
parent
2a4f31e2a5
commit
4b37ee227e
@ -5,6 +5,20 @@ Import ('env')
|
||||
|
||||
sources = env.Glob('*.c')
|
||||
|
||||
if env['BF_SPLIT_SRC'] == 1:
|
||||
numobj = len(sources)
|
||||
maxobj = 30
|
||||
|
||||
numlibs = numobj / maxobj
|
||||
if (numobj % maxobj):
|
||||
numlibs = numlibs + 1
|
||||
subsources = []
|
||||
|
||||
if (env['OURPLATFORM'] == 'win32-mingw'):
|
||||
for i in range(numlibs - 1):
|
||||
subsources.append(sources[i*maxobj:(i+1)*maxobj])
|
||||
subsources.append(sources[(numlibs-1)*maxobj:])
|
||||
|
||||
incs = ' #/intern/guardedalloc #/intern/memutil'
|
||||
incs += ' ../blenlib ../makesdna ../blenkernel'
|
||||
incs += ' ../include #/intern/bmfont ../imbuf ../render/extern/include'
|
||||
@ -60,5 +74,9 @@ if env['WITH_BF_VERSE']:
|
||||
# TODO buildinfo
|
||||
if env['BF_BUILDINFO'] == 1:
|
||||
defs.append('NAN_BUILDINFO')
|
||||
|
||||
env.BlenderLib ( libname = 'src', sources = sources, includes = Split(incs), defines = defs, libtype=['core', 'intern'], priority = [5, 25] )
|
||||
|
||||
if (env['BF_SPLIT_SRC'] == 1) and (env['OURPLATFORM'] == 'win32-mingw'):
|
||||
for i in range(numlibs):
|
||||
env.BlenderLib ( libname = 'src%d' % (i), sources = subsources[i], includes = Split(incs), defines = defs, libtype=['core', 'intern'], priority = [5, 25] )
|
||||
else:
|
||||
env.BlenderLib ( libname = 'src', sources = sources, includes = Split(incs), defines = defs, libtype=['core', 'intern'], priority = [5, 25] )
|
||||
|
@ -54,7 +54,7 @@ def validate_arguments(args, bc):
|
||||
'BF_PROFILE_FLAGS', 'LCGDIR', 'WITH_BF_VERSE',
|
||||
'BF_VERSE_INCLUDE',
|
||||
'VERSE_BUILD_BINARY', 'VERSE_BUILD_DIR', 'VERSE_REGEN_PROTO',
|
||||
'BF_TWEAK_MODE',
|
||||
'BF_TWEAK_MODE', 'BF_SPLIT_SRC',
|
||||
'WITHOUT_BF_INSTALL'
|
||||
]
|
||||
|
||||
@ -297,6 +297,7 @@ def read_opts(cfg, args):
|
||||
(BoolOption('BF_BUILDINFO', 'Buildtime in splash if true', 'true')),
|
||||
|
||||
(BoolOption('BF_TWEAK_MODE', 'Enable tweak mode if true', 'false')),
|
||||
(BoolOption('BF_SPLIT_SRC', 'Split src lib into several chunks if true', 'false')),
|
||||
(BoolOption('WITHOUT_BF_INSTALL', 'dont install if true', 'false')),
|
||||
|
||||
) # end of opts.AddOptions()
|
||||
|
Loading…
Reference in New Issue
Block a user