1//===- MCLDOutput.h -------------------------------------------------------===// 2// 3// The MCLinker Project 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// Output class inherits MCLDFile, which is used to represent a output file. 11// 12//===----------------------------------------------------------------------===// 13 14#ifndef MCLD_OUTPUT_H 15#define MCLD_OUTPUT_H 16#ifdef ENABLE_UNITTEST 17#include <gtest.h> 18#endif 19 20#include <mcld/MC/MCLDFile.h> 21#include <mcld/Support/RealPath.h> 22#include <string> 23 24namespace mcld 25{ 26 27/** \class MCLDOutput 28 * \brief MCLDOutput provides the information about the output. 29 * 30 * @see MCLDFile 31 */ 32class Output : public MCLDFile 33{ 34public: 35 enum Type { 36 Object = MCLDFile::Object, 37 DynObj = MCLDFile::DynObj, 38 Exec = MCLDFile::Exec 39 }; 40 41public: 42 Output(); 43 explicit Output(const sys::fs::Path& pRealPath, 44 Type pType); 45 46 ~Output(); 47}; 48 49} // namespace of mcld 50 51#endif 52 53