X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpackagemanager.h;h=05f5ebe317e6b3c5f49452868b108b995a4cea9f;hb=b8407de928d2c5421c35474df1c3185fd494ef68;hp=96c3dcacdb1809bc0ab4ae8040c9a40ccd5d8ac5;hpb=1d687970cc35e54c3335f4aa2fdef23424fe0a06;p=builder.git diff --git a/source/packagemanager.h b/source/packagemanager.h index 96c3dca..05f5ebe 100644 --- a/source/packagemanager.h +++ b/source/packagemanager.h @@ -24,13 +24,23 @@ private: Builder &builder; SearchPath pkg_path; SearchPath pkg_dirs; + SearchPath binpkg_path; + SearchPath binpkg_files; bool no_externals; PackageMap packages; + bool env_set; public: PackageManager(Builder &); ~PackageManager(); + /// Adds a location to look for source packages from. + void append_package_path(const Msp::FS::Path &); + + /// Adds a location to look for binary packages from. + void append_binary_package_path(const Msp::FS::Path &); + + /** Prevent creation of source packages. */ void set_no_externals(bool); /** Adds a package to the manager. Called from Package constructor. */ @@ -50,6 +60,10 @@ private: /** Determines the source directory of a package. Pkg-config is consulted first, and if it fails, the package path is searched for matches. */ Msp::FS::Path get_package_location(const std::string &); + + /** Determines the file containing a binary package. The file is expected + to be named after the package. */ + Msp::FS::Path get_binary_package_file(const std::string &); }; #endif