-/* $Id$
-
-This file is part of builder
-Copyright © 2006-2010 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
#include <algorithm>
#include <msp/fs/dir.h>
#include <msp/fs/stat.h>
#include "sharedlibrary.h"
#include "sourcepackage.h"
#include "staticlibrary.h"
-#include "symlink.h"
#include "tarball.h"
#include "target.h"
if(name=="@src")
{
- const TargetMap &targets = builder.get_targets();
- for(TargetMap::const_iterator i=targets.begin(); i!=targets.end(); ++i)
+ const Builder::TargetMap &targets = builder.get_targets();
+ for(Builder::TargetMap::const_iterator i=targets.begin(); i!=targets.end(); ++i)
if(i->second->get_package()==&pkg && !i->second->is_buildable())
result->add_depend(i->second);
files.push_back(pkg.get_source()/"Build");
for(PathList::const_iterator i=files.begin(); i!=files.end(); ++i)
{
FileTarget *ft;
- if(Target *tgt = builder.get_target(i->str()))
+ if(Target *tgt = builder.get_target_by_path(*i))
ft = dynamic_cast<FileTarget *>(tgt);
else
ft = new File(builder, *i);
for(PathList::const_iterator i=files.begin(); i!=files.end(); ++i)
{
FileTarget *ft;
- if(Target *tgt = builder.get_target(i->str()))
+ if(Target *tgt = builder.get_target_by_path(*i))
ft = dynamic_cast<FileTarget *>(tgt);
else
ft = new File(builder, pkg, *i);
else if(type==DATAFILE)
{
File *source;
- if(Target *tgt = builder.get_target(files.front().str()))
+ if(Target *tgt = builder.get_target_by_path(files.front()))
source = dynamic_cast<File *>(tgt);
else
source = new File(builder, pkg, files.front());
string ext = FS::extpart(FS::basename(*i));
if(ext==".h")
{
- FileTarget *hdr = dynamic_cast<FileTarget *>(builder.get_target(i->str()));
+ FileTarget *hdr = builder.get_target_by_path(*i);
if(!hdr)
hdr = new Header(builder, *this, i->str());
{
Install *inst = new Install(builder, pkg, **i, inst_loc);
inst_tgt->add_depend(inst);
-
- if(type==LIBRARY)
- if(SharedLibrary *shlib = dynamic_cast<SharedLibrary *>(*i))
- if(!shlib->get_soname().empty())
- inst_tgt->add_depend(new Symlink(builder, pkg, *inst, shlib->get_name()));
}
}