#include <string>
#include <msp/core/application.h>
#include <msp/datafile/loader.h>
-#include <msp/path/path.h>
+#include <msp/fs/path.h>
#include "architecture.h"
#include "config.h"
#include "misc.h"
SourcePackage *get_main_package() const { return main_pkg; }
Target *get_target(const std::string &) const;
const TargetMap &get_targets() const { return targets; }
- Target *get_header(const std::string &, const std::string &, const std::string &, const StringList &);
- Target *get_library(const std::string &, const std::string &, const StringList &, LibMode);
- const Msp::Path::Path &get_cwd() const { return cwd; }
+ Target *get_header(const std::string &, const std::string &, const StringList &);
+ 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 Msp::FS::Path &get_prefix() const { return prefix; }
+ const StringList &get_warnings() const { return warnings; }
void apply_profile_template(Config &, const std::string &) const;
void add_target(Target *);
void problem(const std::string &, const std::string &);
class Loader: public Msp::DataFile::Loader
{
public:
- Loader(Builder &, const Msp::Path::Path &);
+ Loader(Builder &, const Msp::FS::Path &);
private:
- Builder &bld;
- Msp::Path::Path src;
+ Builder &bld;
+ Msp::FS::Path src;
void architecture(const std::string &);
void binpkg(const std::string &);
StringList cmdline_targets;
StringMap cmdline_options;
- Msp::Path::Path cwd;
+ Msp::FS::Path cwd;
PackageMap packages;
SourcePackage *main_pkg;
+ PathList pkg_path;
+ PathList pkg_dirs;
TargetMap targets;
TargetList new_tgts;
bool conf_only;
bool build_all;
bool create_makefile;
+ std::string current_arch;
+ Msp::FS::Path prefix;
+ StringList warnings;
- int load_build_file(const Msp::Path::Path &);
+ 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::Path::Path &);
- Target *get_library(const std::string &, const std::string &, const Msp::Path::Path &, LibMode);
+ Target *get_header(const Msp::FS::Path &);
+ Target *get_library(const std::string &, const Msp::FS::Path &, LibMode);
void update_hash(std::string &, const std::string &);
int do_build();
int do_clean();