--- /dev/null
+#ifndef INCLUDE__Target_hxx
+#define INCLUDE__Target_hxx
+
+#include <log4cxx/logger.h>
+
+#include "include.hxx"
+
+class Target {
+public:
+ Target(const llvm::OwningPtr<llvm::object::Binary>& binary);
+
+ const llvm::Target& getTarget() const {
+ return *target;
+ }
+
+ const llvm::MCSubtargetInfo& getSubTargetInfo() const {
+ return *STI;
+ }
+
+ std::string getTripleName() const {
+ return triple.getTriple();
+ }
+private:
+ log4cxx::LoggerPtr _logger;
+ llvm::Triple triple;
+
+ const llvm::Target * target;
+ llvm::OwningPtr<const llvm::MCSubtargetInfo> STI;
+};
+
+#endif