1/*! 2 * \file MFrontHeader.cxx 3 * \brief 4 * 5 * \author Helfer Thomas 6 * \date 09 nov 2006 7 * \copyright Copyright (C) 2006-2018 CEA/DEN, EDF R&D. All rights 8 * reserved. 9 * This project is publicly released under either the GNU GPL Licence 10 * or the CECILL-A licence. A copy of thoses licences are delivered 11 * with the sources of TFEL. CEA or EDF may also distribute this 12 * project under specific licensing conditions. 13 */ 14 15#include<string> 16#include"MFront/MFrontHeader.hxx" 17 18namespace mfront{ 19 20 std::string MFrontHeader::getVersionName() 21 { 22 return "@PACKAGE_NAME@"; 23 } 24 25 std::string MFrontHeader::getVersionNumber() 26 { 27 return "@TFEL_VERSION@"; 28 } 29 30 std::string MFrontHeader::getBugReportAdress() 31 { 32 return "@PACKAGE_BUGREPORT@"; 33 } 34 35 std::string MFrontHeader::getCompilerName() 36 { 37 return "@CXX@"; 38 } 39 40 std::string MFrontHeader::getBuildCpu() 41 { 42 return "@build_cpu@"; 43 } 44 45 std::string MFrontHeader::getBuildOs() 46 { 47 return "@build_os@"; 48 } 49 50 std::string MFrontHeader::getHostCpu() 51 { 52 return "@host_cpu@"; 53 } 54 55 std::string MFrontHeader::getHostOs() 56 { 57 return "@host_os@"; 58 } 59 60 std::string MFrontHeader::getTargetCpu() 61 { 62 return "@target_cpu@"; 63 } 64 65 std::string MFrontHeader::getTargetOs() 66 { 67 return "@target_os@"; 68 } 69 70 std::string MFrontHeader::getHeader(const std::string& s) 71 { 72 const auto target_cpu = getTargetCpu(); 73 const auto build_cpu = getBuildCpu(); 74 const auto host_cpu = getHostCpu(); 75 const auto target_os = getTargetOs(); 76 const auto build_os = getBuildOs(); 77 const auto host_os = getHostOs(); 78 auto header = std::string{}; 79 header = s; 80 header += getVersionName(); 81 header += "\n"; 82 header += s; 83 header += "Version : " + getVersionNumber(); 84 header += "\n"; 85 if((target_cpu != build_cpu)|| (target_cpu != host_cpu) || 86 (target_os != build_os) || (target_os != host_os)){ 87 header += s; 88 header += "Compiled with "; 89 header += getCompilerName(); 90 header += " : "; 91 header += "\n"; 92 header += s; 93 header += "- target cpu : "; 94 header += target_cpu; 95 header += "\n"; 96 header += s; 97 header += "\n"; 98 header += s; 99 header += "- target os : " ; 100 header += target_os ; 101 header += "\n"; 102 header += s; 103 header += "\n"; 104 header += s; 105 header += "- build cpu : "; 106 header += build_cpu ; 107 header += "\n"; 108 header += s; 109 header += "\n"; 110 header += s; 111 header += "- build os : "; 112 header += build_os; 113 header += "\n"; 114 header += s; 115 header += "\n"; 116 header += s; 117 header += "- host cpu : "; 118 header += host_cpu; 119 header += "\n"; 120 header += s; 121 header += "\n"; 122 header += s; 123 header += "- host os : "; 124 header += host_os; 125 header += "\n"; 126 } else { 127 header += s; 128 header += "Compiled with "; 129 header += getCompilerName(); 130 header += " on "; 131 header += target_cpu; 132 header += " - "; 133 header += target_os; 134 header += "\n"; 135 } 136 header += s; 137 header += "Please submit bug at " ; 138 header += getBugReportAdress() ; 139 header += "\n"; 140 return header; 141 } 142 143} // end of namespace mfront 144 145