diff --git a/Contrib/Library/LibraryLocal/SConscript b/Contrib/Library/LibraryLocal/SConscript index 8e5b7471..49bf45c3 100644 --- a/Contrib/Library/LibraryLocal/SConscript +++ b/Contrib/Library/LibraryLocal/SConscript @@ -2,6 +2,9 @@ target = 'LibraryLocal' files = Split(""" LibraryLocal.cpp +""") + +required_files = Split(""" #Source/ResourceEditor.cpp #Source/util.cpp #Source/winchar.cpp @@ -11,7 +14,17 @@ libs = Split(""" oleaut32 """) -Import('BuildUtil env') +Import('BuildUtil BuildUtilEnv') + +env = BuildUtilEnv(flags = ['$EXCEPTION_FLAG'], cross_platform = True) + +import os.path + +for s in required_files: + fn = os.path.split(s)[-1] + bn = os.path.splitext(fn)[0] + o = env.Object(bn, s) + files.append(o) if env['PLATFORM'] != 'win32': libs = [] diff --git a/SConstruct b/SConstruct index 3630625a..5fba6738 100644 --- a/SConstruct +++ b/SConstruct @@ -514,11 +514,8 @@ for plugin in plugins: ####### Utilities ### ###################################################################### -def BuildUtil(target, source, libs, entry = None, res = None, - resources = None, defines = None, flags = None, - nodeflib = False, file_name = '', path='', contrib = False, - examples = None, docs = None, cross_platform = False, - root_util = False): +def BuildUtilEnv(defines = None, flags = None, entry = None, + nodeflib = None, cross_platform = False): if not cross_platform: env = util_env.Clone() else: @@ -526,6 +523,15 @@ def BuildUtil(target, source, libs, entry = None, res = None, AddEnvStandardFlags(env, defines, flags, entry, nodeflib) + return env + +def BuildUtil(target, source, libs, entry = None, res = None, + resources = None, defines = None, flags = None, + nodeflib = False, file_name = '', path='', contrib = False, + examples = None, docs = None, cross_platform = False, + root_util = False): + env = BuildUtilEnv(defines, flags, entry, nodeflib, cross_platform) + AppendRES(env, source, res, resources) if file_name != '': @@ -561,7 +567,7 @@ for util in utils: path = 'Contrib/' + util build_dir = '$BUILD_PREFIX/' + util - exports = {'BuildUtil' : BuildUtil, 'env' : util_env.Clone()} + exports = {'BuildUtil' : BuildUtil, 'BuildUtilEnv' : BuildUtilEnv, 'env' : util_env} defenv.SConscript(dirs = path, build_dir = build_dir, duplicate = False, exports = exports)