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 24 namespace mcld 25 { 26 27 /** \class MCLDOutput 28 * \brief MCLDOutput provides the information about the output. 29 * 30 * @see MCLDFile 31 */ 32 class Output : public MCLDFile 33 { 34 public: 35 enum Type { 36 Object = MCLDFile::Object, 37 DynObj = MCLDFile::DynObj, 38 Exec = MCLDFile::Exec 39 }; 40 41 public: 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