+ FS::Path mid;
+ if(!loc.empty())
+ mid = loc;
+ else if(const Component *comp = tgt.get_component())
+ mid = comp->get_install_map().get_install_location(tgt);
+ else
+ mid = tgt.get_install_location();
+
+ string fn = tgt.get_install_filename();
+ if(fn.empty())
+ fn = FS::basename(tgt.get_path());
+
+ return prefix/mid/fn;
+}
+
+void InstalledFile::set_symlink(const FS::Path &l)
+{
+ link = FS::dirname(path)/l;
+ builder.get_vfs().register_path(link, this);