----- Original Message ----- > On Tuesday, June 03, 2014 06:58:37 PM [email protected] wrote: > > From: José Fonseca <[email protected]> > > > > Windows doesn't support #!. Instead it knows how to invoke scripts > > based off the file extension. > > --- > > CMakeLists.txt | 7 ++++++- > > piglit | 4 ++++ > > 2 files changed, 10 insertions(+), 1 deletion(-) > > > > diff --git a/CMakeLists.txt b/CMakeLists.txt > > index a77a2a8..fed58bb 100644 > > --- a/CMakeLists.txt > > +++ b/CMakeLists.txt > > @@ -450,8 +450,13 @@ install ( > > REGEX "CMakeFiles|CMakeLists" EXCLUDE > > ) > > > > +if (WIN32) > > + set (PYTHON_SUFFIX ".py") > > +else () > > + set (PYTHON_SUFFIX "") > > +endif () > > install ( > > - PROGRAMS piglit RENAME piglit${PIGLIT_INSTALL_VERSION_SUFFIX} > > + PROGRAMS piglit RENAME > > piglit${PIGLIT_INSTALL_VERSION_SUFFIX}${PYTHON_SUFFIX} DESTINATION > > ${CMAKE_INSTALL_BINDIR} > > ) > > > > diff --git a/piglit b/piglit > > index dcb51db..bf53876 100755 > > --- a/piglit > > +++ b/piglit > > @@ -40,6 +40,10 @@ import argparse > > # muck with things, if not we need to screw with the python path > > if not path.exists('HACKING'): > > _binpath, _bin = path.split(__file__) > > + _binname, _binext = path.splitext(_bin) > > + if _binext == '.py': > > + # Drop .py extension (used on Windows) > > + _bin = _binname > > This is to allow the sys.path manipulation to work on windows, correct?
Yes, sys.path and PIGLIT_SOURCE_DIR. Otherwise it will search tests in .../lib/piglit.py/bin/*.exe instead of .../lib/piglit/bin/*.exe > In that case could we wrap this in an obvious windows specific check, > something like: This might be useful if one uses native windows binaries on cygwin (as Brian Paul seems to do). So instead of trying to white-list platforms, just looking at the file extension seems more robust. Unless you plan to produce a piglit version with like "1.0.py" ;-) > if sys.platform == 'win32': > _bin = path.splitext(_bin)[0] # remove '.py' from name > > > _libdir = path.abspath(path.join(_binpath, '..', 'lib', _bin)) > > sys.path.append(_libdir) > > if 'PIGLIT_SOURCE_DIR' not in os.environ: > Jose _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
