-w
authorGary Furnish <gfurnish@gfurnish.net>
Sat, 26 Apr 2008 01:36:52 +0000 (19:36 -0600)
committerGary Furnish <gfurnish@gfurnish.net>
Sat, 26 Apr 2008 01:36:52 +0000 (19:36 -0600)
Cython/Compiler/CmdLine.py
Cython/Compiler/Main.py

index 05a607a4a3e4a5b400ddede0320e912a52ccb1e5..1aa55d705060ec098acade5c228342e35e7572a0 100644 (file)
@@ -27,6 +27,9 @@ Options:
                                  performing any binary operations.
   --cleanup <level>              Release interned objects on python exit, for memory debugging. 
                                  Level indicates aggressiveness, default 0 releases nothing. 
+  -w, --working <directory>      Sets the working directory for Cython (the directory modules 
+                                 are searched from)
+
   -D, --no-docstrings            Remove docstrings.
   -a, --annotate                 Produce an colorized version of the source.
   --convert-range                Convert for loops using range() function to for...from loops. 
@@ -104,6 +107,8 @@ def parse_command_line(args):
                 options.include_path.append(get_param(option))
             elif option == "--include-dir":
                 options.include_path.append(pop_arg())
+            elif option in ("-w", "--working"):
+                options.working_path = pop_arg()
             elif option in ("-o", "--output-file"):
                 options.output_file = pop_arg()
             elif option in ("-p", "--embed-positions"):
index ca8dc88d7387a6549a44a6cf803c37da111b0215..5d7f4207b88da7adaa804c60348e8da5e7b116ba 100644 (file)
@@ -320,6 +320,8 @@ def main(command_line = 0):
         sources = args
     if options.show_version:
         print >>sys.stderr, "Cython version %s" % Version.version
+    if options.working_path!="":
+        os.chdir(options.working_path)
     context = Context(options.include_path)
     for source in sources:
         try:
@@ -347,7 +349,8 @@ default_options = dict(
     cplus = 0,
     output_file = None,
     generate_pxi = 0,
-    transforms = Transform.TransformSet())
+    transforms = Transform.TransformSet(),
+    working_path = "")
     
 if sys.platform == "mac":
     from Cython.Mac.MacSystem import c_compile, c_link, CCompilerError