]> git.tdb.fi Git - builder.git/blobdiff - source/sourcepackage.h
More generic system for installing targets under different names
[builder.git] / source / sourcepackage.h
index 97c9b32eb8ffa233ca980892d704a3c5ea1d8d6b..97c8d61a6fb7914494c31475a8423e8954d3d66c 100644 (file)
@@ -28,7 +28,7 @@ A package that can be built by Builder.
 class SourcePackage: public Package
 {
 public:
-       class Loader: public Msp::DataFile::DerivedObjectLoader<SourcePackage, Package>
+       class Loader: public Msp::DataFile::DerivedObjectLoader<SourcePackage, Package::Loader>
        {
        private:
                const Config::InputOptions *options;
@@ -46,8 +46,8 @@ public:
                void condition(const std::string &);
                void build_info();
                void headers(const std::string &);
-               void if_arch(const std::string &);
                void if_feature(const std::string &);
+               void source_tarball();
                void tarball(const std::string &);
                void tar_file(const std::string &);
        };
@@ -55,6 +55,8 @@ public:
        typedef std::list<Component> ComponentList;
 
 private:
+       typedef std::list<Feature> FeatureList;
+
        std::string version;
        std::string description;
 
@@ -64,6 +66,7 @@ private:
        FeatureList features;
        BuildInfo build_info;
        ComponentList components;
+       Component *source_tarball;
        Config config;
        mutable Cache cache;
 
@@ -84,9 +87,7 @@ public:
 
        Cache &get_cache() const { return cache; }
 private:
-       virtual void create_build_info();
-
-       virtual void create_targets();
+       virtual void do_prepare();
 
        virtual void save_caches();
 };