diff python/zcc.py @ 272:e64bae57cda8

refactor ir
author Windel Bouwman
date Sat, 31 Aug 2013 17:58:54 +0200
parents 04c19282a5aa
children 56d37ed4b4d2
line wrap: on
line diff
--- a/python/zcc.py	Tue Aug 20 18:56:02 2013 +0200
+++ b/python/zcc.py	Sat Aug 31 17:58:54 2013 +0200
@@ -21,15 +21,16 @@
 parser.add_argument('--dumpir', action='store_true', help="Dump IR-code")
 parser.add_argument('--dumpasm', action='store_true', help="Dump ASM-code")
 parser.add_argument('--optimize', action='store_true', help="Optimize")
+parser.add_argument('--package_dir', help="Look in this directory for packages")
 parser.add_argument('-o', '--output', help='Output file', metavar='filename')
 parser.add_argument('--hexfile', help='Output hexfile', type=argparse.FileType('w'))
 parser.add_argument('--log', help='Log level (INFO,DEBUG)', type=logLevel)
 
-def zcc(src, outs, diag, dumpir=False, do_optimize=False):
+def zcc(src, outs, diag, dumpir=False, do_optimize=False, pack_dir=None):
     logging.info('Zcc started')
     # Front end:
     c3b = c3.Builder(diag)
-    ircode = c3b.build(src)
+    ircode = c3b.build(src, pack_dir=pack_dir)
     if not ircode:
         return
 
@@ -55,7 +56,7 @@
     outs = outstream.TextOutputStream()
 
     # Invoke compiler:
-    res = zcc(src, outs, diag, dumpir=args.dumpir, do_optimize=args.optimize)
+    res = zcc(src, outs, diag, dumpir=args.dumpir, do_optimize=args.optimize, pack_dir=args.package_dir)
     if not res:
         diag.printErrors(src)
         sys.exit(1)