[cig-commits] commit: Some fixes for problems naming plugins.
Mercurial
hg at geodynamics.org
Mon Nov 24 11:22:40 PST 2008
changeset: 15:e3258565f076
user: LukeHodkinson
date: Thu Feb 07 23:31:34 2008 +0000
files: StgSCons
description:
Some fixes for problems naming plugins.
diff -r 8868b2a3c2e3 -r e3258565f076 StgSCons
--- a/StgSCons Thu Feb 07 05:59:29 2008 +0000
+++ b/StgSCons Thu Feb 07 23:31:34 2008 +0000
@@ -7,12 +7,12 @@ from SCons.Script.SConscript import SCon
def copy_includes(env, files, dst, inc_nodes, force=False):
files = files if isinstance(files, list) else [files]
- dst = os.path.join('#build', 'include', dst)
+ dst = os.path.join('#build', dst)
for i in files:
node = env.Install(dst, i)
inc_nodes.append(node)
- dst_path = os.path.join(dst, os.path.basename(i))
if force:
+ dst_path = os.path.join(dst, os.path.basename(i))
env.copy_file(dst_path, i)
#
@@ -20,10 +20,12 @@ def copy_includes(env, files, dst, inc_n
#
def build_defines(env, files, dst):
- copy_includes(env, files, dst, env.def_nodes, True)
+ copy_includes(env, files, os.path.join('include', dst),
+ env.def_nodes, True)
def build_headers(env, files, dst, force_copy=False):
- copy_includes(env, files, dst, env.hdr_nodes, force_copy)
+ copy_includes(env, files, os.path.join('include', dst),
+ env.hdr_nodes, force_copy)
def build_xmls(env, files, dst, force_copy=False):
copy_includes(env, files, os.path.join('lib', dst),
@@ -50,14 +52,15 @@ def build_metadata(env, files, hpath):
nodes.append(cur_node)
return nodes
-def build_library(env, objs, name, force_name=False):
+def build_library(env, objs, name, libs=[], force_name=False):
objs = objs if isinstance(objs, list) else [objs]
dst = os.path.join('#build', 'lib', name)
if force_name:
cur_node = env.LoadableModule(
dst, objs,
SHLIBPREFIX='',
- LIBPREFIXES=[env['LIBPREFIXES']] + [''])
+ LIBPREFIXES=[env['LIBPREFIXES']] + [''],
+ LIBS=env['LIBS'] + libs)
else:
cur_node = env.LoadableModule(dst, objs)
env.lib_nodes.append(cur_node)
@@ -107,13 +110,13 @@ def build_directory(env, dir, extra_objs
def build_plugin(env, dir, hpath):
name = [env.proj] + hpath.split(os.path.sep)
- name = '_'.join(name)
+ name = '_'.join(name) + 'module'
hdr_dir = os.path.join(env.proj, hpath.split(os.path.sep)[-1])
env.build_headers(env.glob(os.path.join(dir, '*.h')), hdr_dir)
objs = env.build_objects(env.glob(os.path.join(dir, '*.c')),
hpath, False)
- env.build_library(objs, name, True)
+ env.build_library(objs, name, [env.proj], True)
def clear_all(env):
env.hclear()
More information about the CIG-COMMITS
mailing list