if os.path.islink(link_target) and os.readlink(link_target) == libpath:
return
os.unlink(link_target)
+
+ link_container = os.path.dirname(link_target)
+ if not os.path.isdir(link_container):
+ os.mkdir(link_container)
+
os.symlink(libpath, link_target)
# this allows all of the bin/shared and bin/python targets
# to be expressed in terms of build directory paths
mkdir_p(os.path.join(conf.blddir, 'default'))
- for p in ['python','shared']:
+ for p in ['python','shared', 'modules']:
link_target = os.path.join(conf.blddir, 'default/' + p)
if not os.path.lexists(link_target):
os.symlink('../' + p, link_target)
obj_target = modname + '.objlist'
- realname = modname
+ realname = modname
if subsystem is not None:
deps += ' ' + subsystem
while realname.startswith("lib"+subsystem+"_"):
while realname.startswith("lib"):
realname = realname[len("lib"):]
+ build_link_name = "modules/%s/%s" % (subsystem, realname)
+
bld.SAMBA_LIBRARY(modname,
source,
deps=deps,
autoproto = autoproto,
local_include=local_include,
vars=vars,
+ link_name=build_link_name,
install_path="${MODULESDIR}/%s" % subsystem
)