122add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao//===- LinkerConfig.cpp ---------------------------------------------------===//
222add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao//
322add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao//                     The MCLinker Project
422add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao//
522add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao// This file is distributed under the University of Illinois Open Source
622add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao// License. See LICENSE.TXT for details.
722add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao//
822add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao//===----------------------------------------------------------------------===//
937b74a387bb3993387029859c2d9d051c41c724eStephen Hines#include "mcld/LinkerConfig.h"
1022add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao
1137b74a387bb3993387029859c2d9d051c41c724eStephen Hines#include "mcld/Config/Config.h"
1237b74a387bb3993387029859c2d9d051c41c724eStephen Hines#include "mcld/Support/MsgHandling.h"
1322add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao
1437b74a387bb3993387029859c2d9d051c41c724eStephen Hinesnamespace mcld {
1522add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao
1622add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao//===----------------------------------------------------------------------===//
1722add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao// LinkerConfig
1822add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao//===----------------------------------------------------------------------===//
1922add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei LiaoLinkerConfig::LinkerConfig()
2037b74a387bb3993387029859c2d9d051c41c724eStephen Hines    : m_Options(),
2137b74a387bb3993387029859c2d9d051c41c724eStephen Hines      m_Targets(),
2237b74a387bb3993387029859c2d9d051c41c724eStephen Hines      m_Attribute(),
2337b74a387bb3993387029859c2d9d051c41c724eStephen Hines      m_CodeGenType(Unknown),
2437b74a387bb3993387029859c2d9d051c41c724eStephen Hines      m_CodePosition(Unset) {
2522add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao  // FIXME: is here the right place to hold this?
2622add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao  InitializeDiagnosticEngine(*this);
2722add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao}
2822add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao
2922add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei LiaoLinkerConfig::LinkerConfig(const std::string& pTripleString)
3037b74a387bb3993387029859c2d9d051c41c724eStephen Hines    : m_Options(),
3137b74a387bb3993387029859c2d9d051c41c724eStephen Hines      m_Targets(pTripleString),
3237b74a387bb3993387029859c2d9d051c41c724eStephen Hines      m_Attribute(),
3337b74a387bb3993387029859c2d9d051c41c724eStephen Hines      m_CodeGenType(Unknown),
3437b74a387bb3993387029859c2d9d051c41c724eStephen Hines      m_CodePosition(Unset) {
3522add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao  // FIXME: is here the right place to hold this?
3622add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao  InitializeDiagnosticEngine(*this);
3722add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao}
3822add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao
3937b74a387bb3993387029859c2d9d051c41c724eStephen HinesLinkerConfig::~LinkerConfig() {
4022add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao  // FIXME: is here the right place to hold this?
4122add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao  FinalizeDiagnosticEngine();
4222add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao}
4322add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao
4437b74a387bb3993387029859c2d9d051c41c724eStephen Hinesconst char* LinkerConfig::version() {
4522add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao  return MCLD_VERSION;
4622add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao}
4737b74a387bb3993387029859c2d9d051c41c724eStephen Hines
4837b74a387bb3993387029859c2d9d051c41c724eStephen Hines}  // namespace mcld
49