[Mesa-dev] [PATCH] Fix usage of Python in Makefiles
José Fonseca
jfonseca at vmware.com
Wed Oct 27 08:32:51 PDT 2010
On Tue, 2010-10-26 at 16:12 -0700, Matthew William Cox wrote:
> Hello,
>
> Firstly, Kenneth Graunke's patch fixes the autoconf issue and supercedes
> this patch, so we should focus the review on that patch.
>
> On Tue, Oct 26, 2010 at 06:23:00AM -0700, Dan Nicholson wrote:
> > However, removing the second -O from PYTHON_FLAGS is really a separate
> > change. Can you explain that problem in more detail?
>
> The second -O flag triggers the same behaviour as passing -OO to the
> python interpreter. A single -O enables optimizations, but -OO causes
> doc strings to be stripped from the bytecode in addition to enabling
> optimization. There's no real reason to do this, except perhaps to save
> a small amount of memory.
>
> This breaks u_format_srgb.py because that script uses its docstring as
> part of its output, specifically, the copyright notice of the module is
> copied to the output. If the docstring is stripped, this causes an
> exception as the __doc__ variable is undefined.
>
> > It might also be more reasonable to just drop $(PYTHON_FLAGS) when
> > using src/gallium/auxiliary/util/u_format_srgb.py so this isn't a
> > global change.
>
> There's really no global effect to dropping the second -O, and it's more
> consistent to use the same flags for everything. Why introduce a special
> case?
Another alternative would be to use a regular string instead of a
docstring, ie:
diff --git a/src/gallium/auxiliary/util/u_format_srgb.py
b/src/gallium/auxiliary/util/u_format_srgb.py
index 3e8000f..3c49458 100644
--- a/src/gallium/auxiliary/util/u_format_srgb.py
+++ b/src/gallium/auxiliary/util/u_format_srgb.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
-'''
+copyright = '''
/**************************************************************************
*
* Copyright 2010 VMware, Inc.
@@ -89,7 +89,7 @@ def main():
print '/* This file is autogenerated by u_format_srgb.py. Do not
edit directly. */'
print
# This will print the copyright message on the top of this file
- print __doc__.strip()
+ print copyright.strip()
print
print '#include "u_format_srgb.h"'
print
It really doesn't affect readability, and avoids this dependency on the
-O.
There are a few other __doc__ uses. If this works for you I can submit a
patch that fixes them all.
Jose
More information about the mesa-dev
mailing list