]> git.tdb.fi Git - builder.git/blobdiff - source/sourcepackage.h
Evaluate conditions at load time to allow more flexibility
[builder.git] / source / sourcepackage.h
index e5f6d9d460433a718bf2eca654ff11a92b9e244c..9327f17c4eccc619cfa9e1b2dd5226d93c8ed701 100644 (file)
@@ -30,11 +30,14 @@ public:
        class Loader: public Msp::DataFile::DerivedObjectLoader<SourcePackage, Package>
        {
        private:
+               const Config::InputOptions *options;
                std::map<std::string, std::string> install_map;
 
        public:
                Loader(SourcePackage &);
+               Loader(SourcePackage &, const Config::InputOptions &);
        private:
+               void init(const Config::InputOptions *);
                virtual void finish();
                void feature(const std::string &, const std::string &);
                template<Component::Type>
@@ -42,6 +45,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 tarball(const std::string &);
                void tar_file(const std::string &);
        };
@@ -54,7 +59,6 @@ private:
        const BuildType *build_type;
        FeatureList features;
        BuildInfo build_info;
-       ConditionList conditions;
        ComponentList components;
        Config config;
        mutable DependencyCache deps_cache;
@@ -72,7 +76,6 @@ public:
        const BuildInfo &get_build_info() const { return build_info; }
        Builder &get_builder() const { return builder; }
 
-       LibMode get_library_mode() const;
        DependencyCache &get_deps_cache() const { return deps_cache; }
        std::string expand_string(const std::string &) const;
 private: