diff options
author | John Hodge <tpg@ucc.asn.au> | 2017-09-07 14:21:25 +0800 |
---|---|---|
committer | John Hodge <tpg@ucc.asn.au> | 2017-09-07 14:21:25 +0800 |
commit | fb18453b184e16be703e543847b233a614fb39de (patch) | |
tree | 7283ed02bb879d38d290700685d8b56a2fd01c5e | |
parent | 4f246978f8c776d9e9738c41f4430e2b94df8642 (diff) | |
download | mrust-fb18453b184e16be703e543847b233a614fb39de.tar.gz |
minicargo - return non-zero when build fails
-rw-r--r-- | tools/minicargo/build.cpp | 6 | ||||
-rw-r--r-- | tools/minicargo/build.h | 2 | ||||
-rw-r--r-- | tools/minicargo/main.cpp | 10 |
3 files changed, 13 insertions, 5 deletions
diff --git a/tools/minicargo/build.cpp b/tools/minicargo/build.cpp index 144262c2..665f567e 100644 --- a/tools/minicargo/build.cpp +++ b/tools/minicargo/build.cpp @@ -202,7 +202,7 @@ struct Timestamp } }; -void MiniCargo_Build(const PackageManifest& manifest, ::helpers::path override_path) +bool MiniCargo_Build(const PackageManifest& manifest, ::helpers::path override_path) { BuildList list; @@ -221,12 +221,12 @@ void MiniCargo_Build(const PackageManifest& manifest, ::helpers::path override_p { if( ! builder.build_library(p) ) { - return; + return false; } } // TODO: If the manifest doesn't have a library, build the binary - builder.build_library(manifest); + return builder.build_library(manifest); } void BuildList::add_dependencies(const PackageManifest& p, unsigned level, bool include_build) diff --git a/tools/minicargo/build.h b/tools/minicargo/build.h index 0e61b72f..45ce1679 100644 --- a/tools/minicargo/build.h +++ b/tools/minicargo/build.h @@ -28,4 +28,4 @@ private: Timestamp get_timestamp(const ::helpers::path& path) const; }; -extern void MiniCargo_Build(const PackageManifest& manifest, ::helpers::path override_path); +extern bool MiniCargo_Build(const PackageManifest& manifest, ::helpers::path override_path); diff --git a/tools/minicargo/main.cpp b/tools/minicargo/main.cpp index a00e3192..04fe4fcf 100644 --- a/tools/minicargo/main.cpp +++ b/tools/minicargo/main.cpp @@ -56,7 +56,15 @@ int main(int argc, const char* argv[]) m.load_dependencies(repo, !bs_override_dir.is_valid()); // 3. Build dependency tree and build program. - MiniCargo_Build(m, bs_override_dir ); + if( !MiniCargo_Build(m, bs_override_dir ) ) + { + ::std::cerr << "BUILD FAILED" << ::std::endl; +#if _WIN32 + ::std::cout << "Press enter to exit..." << ::std::endl; + ::std::cin.get(); +#endif + return 1; + } } catch(const ::std::exception& e) { |