]> git.tdb.fi Git - builder.git/blobdiff - source/builder.h
Refactor arch handling a bit
[builder.git] / source / builder.h
index 2bfa32a429c7c9c137c19312616cd0f42972c643..8eae21681f579ae21b7b686a7880c058f935e230 100644 (file)
@@ -43,7 +43,8 @@ public:
        Target   *get_library(const std::string &, const StringList &, LibMode);
        const Msp::FS::Path &get_cwd() const { return cwd; }
        const Architecture &get_architecture(const std::string &) const;
-       const Architecture &get_current_arch() const;
+       const Architecture &get_current_arch() const { return *current_arch; }
+       const Architecture &get_native_arch() const { return *native_arch; }
        const Msp::FS::Path &get_prefix() const { return prefix; }
        const StringList &get_warnings() const { return warnings; }
        void     apply_profile_template(Config &, const std::string &) const;
@@ -88,6 +89,8 @@ private:
 
        PackageMap   packages;
        SourcePackage *main_pkg;
+       PathList     pkg_path;
+       PathList     pkg_dirs;
 
        TargetMap    targets;
        TargetList   new_tgts;
@@ -95,6 +98,8 @@ private:
        TargetMap    libraries;
 
        ArchMap      archs;
+       Architecture *native_arch;
+       const Architecture *current_arch;
        ProfileTemplateMap profile_tmpl;
 
        ProblemList     problems;
@@ -112,10 +117,10 @@ private:
        bool            conf_only;
        bool            build_all;
        bool            create_makefile;
-       std::string     current_arch;
        Msp::FS::Path   prefix;
        StringList      warnings;
 
+       Msp::FS::Path get_package_location(const std::string &);
        int    load_build_file(const Msp::FS::Path &);
        int    create_targets();
        Target *get_header(const Msp::FS::Path &);