summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBart Vanhauwaert <bart@grafitroniks.fr>2010-08-02 13:49:36 +0200
committerBart Vanhauwaert <bart@grafitroniks.fr>2010-08-02 13:49:36 +0200
commitd90be370d52c78f54d6e0f2e0020c95a7a158bd3 (patch)
tree058573ab5f7f5d09f63f3867392937f16af21f76
parentRecapitulate the number of errors during parsing (diff)
downloadbldit-d90be370d52c78f54d6e0f2e0020c95a7a158bd3.tar.xz
bldit-d90be370d52c78f54d6e0f2e0020c95a7a158bd3.zip
Better error reporting for missing libraries
-rw-r--r--Component.cc16
-rw-r--r--Component.h4
2 files changed, 18 insertions, 2 deletions
diff --git a/Component.cc b/Component.cc
index 7b8ab81..9bb26bf 100644
--- a/Component.cc
+++ b/Component.cc
@@ -124,7 +124,11 @@ SharedPtr<ConfiguredComponent> Component::configuredFor(const Configurable& UseI
else
Instances.push_back(Result);
writeSystemConfiguration(Result, UseIn);
- if (Failed) return SharedPtr<ConfiguredComponent>();
+ if (Failed)
+ {
+ std::cout << "Missing configuration of " << userName() << " for use in " << UseIn.configuration().partName() << std::endl;
+ return SharedPtr<ConfiguredComponent>();
+ }
return Result;
}
@@ -195,6 +199,11 @@ const std::string& HeaderOnlyComponent::name() const
return Name;
}
+const std::string& HeaderOnlyComponent::userName() const
+{
+ return Name;
+}
+
/* LINKCOMPONENT */
LinkComponent::LinkComponent(const std::string& Name, const std::string& aStem)
@@ -202,6 +211,11 @@ LinkComponent::LinkComponent(const std::string& Name, const std::string& aStem)
{
}
+const std::string& LinkComponent::userName() const
+{
+ return Stem;
+}
+
const std::string& LinkComponent::stem() const
{
return Stem;
diff --git a/Component.h b/Component.h
index 9109a86..7ed683d 100644
--- a/Component.h
+++ b/Component.h
@@ -35,7 +35,7 @@ class Component
public:
virtual ~Component() = 0;
-
+ virtual const std::string& userName() const = 0;
virtual SharedPtr<ConfiguredComponent> configuredFor(const Configurable& UseIn);
private:
@@ -56,6 +56,7 @@ class HeaderOnlyComponent : public Component
void addHeader(const std::string& H);
const std::string& name() const;
+ virtual const std::string& userName() const;
protected:
virtual SharedPtr<ConfiguredComponent> discoverFor(const Configurable& UseIn);
@@ -78,6 +79,7 @@ class LinkComponent : public HeaderOnlyComponent
LinkComponent(const std::string& Name, const std::string& Stem);
const std::string& stem() const;
+ virtual const std::string& userName() const;
protected:
virtual SharedPtr<ConfiguredComponent> readFromSystemConfiguration(const Configurable& UseIn);