| 333 | |
| 334 | |
| 335 | def callcrackfortran(files, options): |
| 336 | rules.options = options |
| 337 | crackfortran.debug = options['debug'] |
| 338 | crackfortran.verbose = options['verbose'] |
| 339 | if 'module' in options: |
| 340 | crackfortran.f77modulename = options['module'] |
| 341 | if 'skipfuncs' in options: |
| 342 | crackfortran.skipfuncs = options['skipfuncs'] |
| 343 | if 'onlyfuncs' in options: |
| 344 | crackfortran.onlyfuncs = options['onlyfuncs'] |
| 345 | crackfortran.include_paths[:] = options['include_paths'] |
| 346 | crackfortran.dolowercase = options['do-lower'] |
| 347 | postlist = crackfortran.crackfortran(files) |
| 348 | if 'signsfile' in options: |
| 349 | outmess('Saving signatures to file "%s"\n' % (options['signsfile'])) |
| 350 | pyf = crackfortran.crack2fortran(postlist) |
| 351 | if options['signsfile'][-6:] == 'stdout': |
| 352 | sys.stdout.write(pyf) |
| 353 | else: |
| 354 | with open(options['signsfile'], 'w') as f: |
| 355 | f.write(pyf) |
| 356 | if options["coutput"] is None: |
| 357 | for mod in postlist: |
| 358 | mod["coutput"] = "%smodule.c" % mod["name"] |
| 359 | else: |
| 360 | for mod in postlist: |
| 361 | mod["coutput"] = options["coutput"] |
| 362 | if options["f2py_wrapper_output"] is None: |
| 363 | for mod in postlist: |
| 364 | mod["f2py_wrapper_output"] = "%s-f2pywrappers.f" % mod["name"] |
| 365 | else: |
| 366 | for mod in postlist: |
| 367 | mod["f2py_wrapper_output"] = options["f2py_wrapper_output"] |
| 368 | return postlist |
| 369 | |
| 370 | |
| 371 | def buildmodules(lst): |