// Copyright: (C) 2010 Nicolas Palix, Suman Saha, Gael Thomas, Christophe Calves, Julia Lawall, Gilles Muller, LIP6, INRIA, DIKU.  GPLv2.

virtual check_for_static, external

@initialize:python@

import os

started = False # not super elegant, but useful for making local initializers

def output_external(ex,fn,tmp,file,version,extra_opts):
  options="-dir /home/julia/%s -no_includes -use_glimpse -very_quiet -timeout 60 -allow_inconsistent_paths -use_cache" % (version)
  options="-dir /var/linuxes/%s -no_includes -use_glimpse -very_quiet -timeout 60 -allow_inconsistent_paths" % (version)
  options="-dir /var/linuxes/%s -no_includes -use_glimpse -very_quiet -timeout 60 -allow_inconsistent_paths" % (version)
  defns="-D alloc=%s -D file=%s -D tmp=%s -D version=%s %s" % (fn,file,tmp,version,extra_opts)
  call="spatch.opt -cocci_file %s.cocci %s %s > %s" % (ex,defns,options,tmp)
  print "%s ; cat %s >> %s" % (call,tmp,file)


def output_static(ex,fn,tmp,file,version,extra_opts,cfile):
  options="%s -no_includes -very_quiet -timeout 60 -allow_inconsistent_paths -use_cache" % (cfile)
  options="%s -no_includes -very_quiet -timeout 60 -allow_inconsistent_paths" % (cfile)
  defns="-D alloc=%s -D file=%s -D tmp=%s -D version=%s %s" % (fn,file,tmp,version,extra_opts)
  call="spatch.opt -cocci_file %s.cocci %s %s > %s" % (ex,defns,options,tmp)
  print "%s ; cat %s >> %s" % (call,tmp,file)