aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/include
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2016-11-08 14:12:49 -0800
committerAlexander Karatarakis <alkarata@microsoft.com>2016-11-08 14:12:49 -0800
commit6e9d17f73c01c3ad07875ca79196ed2f5e2d3896 (patch)
tree4b4b22f0bd6aaca36ca56ea1d31ac68c297f0b8e /toolsrc/include
parenteaebe2888ab97de74200904807ae884419ccc195 (diff)
downloadvcpkg-6e9d17f73c01c3ad07875ca79196ed2f5e2d3896.tar.gz
vcpkg-6e9d17f73c01c3ad07875ca79196ed2f5e2d3896.zip
Introduce BUILD_INFO file. Significant change in the way static/dynamic is
handled
Diffstat (limited to 'toolsrc/include')
-rw-r--r--toolsrc/include/BuildInfo.h28
-rw-r--r--toolsrc/include/triplet.h8
-rw-r--r--toolsrc/include/vcpkg_paths.h2
3 files changed, 30 insertions, 8 deletions
diff --git a/toolsrc/include/BuildInfo.h b/toolsrc/include/BuildInfo.h
new file mode 100644
index 000000000..2801cf49d
--- /dev/null
+++ b/toolsrc/include/BuildInfo.h
@@ -0,0 +1,28 @@
+#pragma once
+
+#include <unordered_map>
+#include "Paragraphs.h"
+
+namespace fs = std::tr2::sys;
+
+namespace vcpkg
+{
+ enum class LinkageType
+ {
+ DYNAMIC,
+ STATIC,
+ UNKNOWN
+ };
+
+ LinkageType linkage_type_value_of(const std::string& as_string);
+
+ struct BuildInfo
+ {
+ static BuildInfo create(const std::unordered_map<std::string, std::string>& pgh);
+
+ std::string crt_linkage;
+ std::string library_linkage;
+ };
+
+ BuildInfo read_build_info(const fs::path& filepath);
+}
diff --git a/toolsrc/include/triplet.h b/toolsrc/include/triplet.h
index bc99a17df..32ea2e711 100644
--- a/toolsrc/include/triplet.h
+++ b/toolsrc/include/triplet.h
@@ -8,20 +8,12 @@ namespace vcpkg
{
static triplet from_canonical_name(const std::string& triplet_as_string);
- enum class BuildType
- {
- DYNAMIC,
- STATIC
- };
-
static const triplet X86_WINDOWS;
static const triplet X64_WINDOWS;
static const triplet X86_UWP;
static const triplet X64_UWP;
static const triplet ARM_UWP;
- BuildType build_type() const;
-
const std::string& canonical_name() const;
std::string architecture() const;
diff --git a/toolsrc/include/vcpkg_paths.h b/toolsrc/include/vcpkg_paths.h
index 8276242e9..2dc9c7636 100644
--- a/toolsrc/include/vcpkg_paths.h
+++ b/toolsrc/include/vcpkg_paths.h
@@ -14,7 +14,9 @@ namespace vcpkg
fs::path package_dir(const package_spec& spec) const;
fs::path port_dir(const package_spec& spec) const;
+ fs::path build_info_file_path(const package_spec& spec) const;
fs::path listfile_path(const BinaryParagraph& pgh) const;
+
bool is_valid_triplet(const triplet& t) const;
fs::path root;