Source code for gdeps.mingw
#!python3
# Copyright 2007-2017 Gemr. All Rights Reserved.
# Licensed to MIT see LICENSE.txt
import os
import gdeps as GDeps
__author__ = 'Suryavarman (http://sourceforge.net/u/suryavarman/profile/)'
[docs]class Mingw(GDeps.Compiler):
def __init__(self, inConfigFile, inSectionName, inDir, inAdressModel, inTypeName):
GDeps.Compiler.__init__(self, inConfigFile, inSectionName, inDir, inAdressModel, inTypeName)
self.m_ErrorRegexp = r"(.*: error:.*|.*: fatal error:.*|.*No such file or directory.*)"
self.m_WarningRegexp = r".*: warning:.*"
[docs] def setvars(self):
GDeps.call(os.path.normpath(self.m_Dir + r"\\..\\mingwvars.bat"))
[docs] def getCxxDir(self):
return os.path.normpath(self.m_Dir + r"\\g++.exe")
[docs] def getCDir(self):
return os.path.normpath(self.m_Dir + r"\\gcc.exe")
[docs] def getArDir(self):
return os.path.normpath(self.m_Dir + r"\\ar.exe")
[docs] def getRcDir(self):
return os.path.normpath(self.m_Dir + r"\\windres.exe")
[docs] def getMakeDir(self):
return os.path.normpath(self.m_Dir + r"\\mingw32-make.exe")
[docs] def getLinkDir(self):
return os.path.normpath(self.m_Dir + r"\\ld.exe")
[docs] def getNmDir(self):
return os.path.normpath(self.m_Dir + r"\\nm.exe")
[docs] def getObjDIr(self):
return os.path.normpath(self.m_Dir + r"\\objcopy.exe")
[docs] def getObjDumb(self):
return os.path.normpath(self.m_Dir + r"\\objdump.exe")
[docs] def getRanLib(self):
return os.path.normpath(self.m_Dir + r"\\ranlib.exe")
[docs] def getStrip(self):
return os.path.normpath(self.m_Dir + r"\\strip.exe")
@staticmethod
[docs] def getStaticLibraryWildCard():
"""
:return: The extension of the static library associate with this compiler.
:rtype: str
"""
return "a"
[docs]class Mingw_32(Mingw):
def __init__(self, inConfigFile, inSectionName="mingw_32", inDir=r"C:\\TDM-GCC-32\\bin"):
Mingw.__init__(self, inConfigFile=inConfigFile, inSectionName=inSectionName, inDir=inDir, inAdressModel=GDeps.AdressModel.x86, inTypeName=Mingw_32.getTypeName())
[docs] def setvars(self):
GDeps.call(os.path.normpath(self.m_Dir + r"\\..\\mingwvars.bat"))
@staticmethod
[docs] def getTypeName():
return "Mingw_32"
[docs]class Mingw_64(Mingw):
def __init__(self, inConfigFile, inSectionName="mingw_64", inDir=r"C:\\TDM-GCC-64\\bin"):
Mingw.__init__(self, inConfigFile=inConfigFile, inSectionName=inSectionName, inDir=inDir, inAdressModel=GDeps.AdressModel.x64, inTypeName=Mingw_64.getTypeName())
[docs] def setvars(self):
GDeps.call(os.path.normpath(self.m_Dir + r"\\..\\mingwvars.bat"))
@staticmethod
[docs] def getTypeName():
return "Mingw_64"