Committed. Thanks! On 24 January 2013 13:28, Karel Gardas <[email protected]> wrote: > This patch follows Windows and Darwin way of setting environment variable > to set the file-system paths to GHC's shared libraries. It does the same > thing for any other OS, which should be Unix-like OS presumably. This > patch fixes a lot of `dyn' tests failures on Solaris which fail with following > error message: > Failed to open shared library: ld.so.1: T3807-load: fatal: libffi.so.6: open > failed: No such file or directory > --- > driver/runtests.py | 48 ++++++++++++++++++++++++++---------------------- > 1 files changed, 26 insertions(+), 22 deletions(-) > > diff --git a/driver/runtests.py b/driver/runtests.py > index 66e3bf4..16deda6 100644 > --- a/driver/runtests.py > +++ b/driver/runtests.py > @@ -181,28 +181,32 @@ from testlib import * > > # On Windows we need to set $PATH to include the paths to all the DLLs > # in order for the dynamic library tests to work. > -if windows or darwin: > - pkginfo = getStdout([config.ghc_pkg, 'dump']) > - topdir = config.libdir > - for line in pkginfo.split('\n'): > - if line.startswith('library-dirs:'): > - path = line.rstrip() > - path = re.sub('^library-dirs: ', '', path) > - path = re.sub('\\$topdir', topdir, path) > - if path.startswith('"'): > - path = re.sub('^"(.*)"$', '\\1', path) > - path = re.sub('\\\\(.)', '\\1', path) > - if windows: > - if config.cygwin: > - # On cygwin we can't put "c:\foo" in $PATH, as : is a > - # field separator. So convert to /cygdrive/c/foo instead. > - # Other pythons use ; as the separator, so no problem. > - path = re.sub('([a-zA-Z]):', '/cygdrive/\\1', path) > - path = re.sub('\\\\', '/', path) > - os.environ['PATH'] = os.pathsep.join([path, > os.environ.get("PATH", "")]) > - else: > - # darwin > - os.environ['DYLD_LIBRARY_PATH'] = os.pathsep.join([path, > os.environ.get("DYLD_LIBRARY_PATH", "")]) > +# if windows or darwin: > +pkginfo = getStdout([config.ghc_pkg, 'dump']) > +topdir = config.libdir > +for line in pkginfo.split('\n'): > + if line.startswith('library-dirs:'): > + path = line.rstrip() > + path = re.sub('^library-dirs: ', '', path) > + path = re.sub('\\$topdir', topdir, path) > + if path.startswith('"'): > + path = re.sub('^"(.*)"$', '\\1', path) > + path = re.sub('\\\\(.)', '\\1', path) > + if windows: > + if config.cygwin: > + # On cygwin we can't put "c:\foo" in $PATH, as : is a > + # field separator. So convert to /cygdrive/c/foo instead. > + # Other pythons use ; as the separator, so no problem. > + path = re.sub('([a-zA-Z]):', '/cygdrive/\\1', path) > + path = re.sub('\\\\', '/', path) > + os.environ['PATH'] = os.pathsep.join([path, > os.environ.get("PATH", "")]) > + elif darwin: > + # darwin > + os.environ['DYLD_LIBRARY_PATH'] = os.pathsep.join([path, > os.environ.get("DYLD_LIBRARY_PATH", "")]) > + else: > + # unix > + os.environ['LD_LIBRARY_PATH'] = os.pathsep.join([path, > os.environ.get("LD_LIBRARY_PATH", "")]) > + > > global testopts_local > testopts_local.x = TestOptions() > -- > 1.7.3.2 > > > _______________________________________________ > ghc-devs mailing list > [email protected] > http://www.haskell.org/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing list [email protected] http://www.haskell.org/mailman/listinfo/ghc-devs
