Exemple #1
0
    def run(self, inputFile, outputFile, flags):
        inputLanguage = ProgrammingLanguage.lookupFile(inputFile)
        if inputLanguage == ProgrammingLanguage.C:
            tool = mx_sulong.getGCC()
            flags.append('-std=gnu99')
        elif inputLanguage == ProgrammingLanguage.C_PLUS_PLUS:
            tool = mx_sulong.getGPP()
        elif inputLanguage == ProgrammingLanguage.FORTRAN:
            tool = mx_sulong.getGFortran()
        else:
            raise Exception('Unsupported input language')

        return self.runTool([tool, '-S', '-fplugin=' + mx_sulong._dragonEggPath, '-fplugin-arg-dragonegg-emit-ir', '-o', outputFile] + flags + [inputFile], errorMsg='Cannot compile %s with %s' % (inputFile, os.path.basename(tool)))
Exemple #2
0
 def getTool(self, inputFile, outputFile):
     inputLanguage = ProgrammingLanguage.lookupFile(inputFile)
     if inputLanguage == ProgrammingLanguage.C:
         if self.gcc is None:
             self.gcc = mx_sulong.getGCC()
         return self.gcc, ['-std=gnu99']
     elif inputLanguage == ProgrammingLanguage.C_PLUS_PLUS:
         if self.gpp is None:
             self.gpp = mx_sulong.getGPP()
         return self.gpp, []
     elif inputLanguage == ProgrammingLanguage.FORTRAN:
         if self.gfortran is None:
             self.gfortran = mx_sulong.getGFortran()
         return self.gfortran, ['-J%s' % os.path.dirname(outputFile)]
     else:
         raise Exception('Unsupported input language')
Exemple #3
0
 def getTool(self, inputFile, outputFile):
     inputLanguage = ProgrammingLanguage.lookupFile(inputFile)
     if inputLanguage == ProgrammingLanguage.C:
         if self.gcc is None:
             self.gcc = mx_sulong.getGCC()
         return self.gcc, ['-std=gnu99']
     elif inputLanguage == ProgrammingLanguage.C_PLUS_PLUS:
         if self.gpp is None:
             self.gpp = mx_sulong.getGPP()
         return self.gpp, []
     elif inputLanguage == ProgrammingLanguage.FORTRAN:
         if self.gfortran is None:
             self.gfortran = mx_sulong.getGFortran()
         return self.gfortran, ['-J%s' % os.path.dirname(outputFile)]
     else:
         raise Exception('Unsupported input language')