[GTK] Add llvmpipe (Mesa) to the JHBuild moduleset and force it when running layout...
authormrobinson@webkit.org <mrobinson@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 18 Apr 2014 21:41:39 +0000 (21:41 +0000)
committermrobinson@webkit.org <mrobinson@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 18 Apr 2014 21:41:39 +0000 (21:41 +0000)
https://bugs.webkit.org/show_bug.cgi?id=131472

Reviewed by Philippe Normand.

* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server): Use the LLVMPIPE_LIBGL_PATH to set the LD_LIBRARY_PATH
when running WebKitTestRunner with run-webkit-tests.
* gtk/jhbuild.modules: Add Mesa to the modulelist so that the llvmpipe libGL is build, but not
installed.
* gtk/jhbuildrc: Set the LLVMPIPE_LIBGL_PATH environment variable so that the test driver knows
how to properly set the LD_LIBRARY_PATH variable. We do this because it is much easier to
calculate the path in the jhbuildrc than in the test driver code. This simplifies things a great
deal.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167510 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/Scripts/webkitpy/port/gtk.py
Tools/gtk/jhbuild.modules
Tools/gtk/jhbuildrc

index 8e000f4..798e805 100644 (file)
@@ -1,3 +1,20 @@
+2014-04-18  Martin Robinson  <mrobinson@igalia.com>
+
+        [GTK] Add llvmpipe (Mesa) to the JHBuild moduleset and force it when running layout tests
+        https://bugs.webkit.org/show_bug.cgi?id=131472
+
+        Reviewed by Philippe Normand.
+
+        * Scripts/webkitpy/port/gtk.py:
+        (GtkPort.setup_environ_for_server): Use the LLVMPIPE_LIBGL_PATH to set the LD_LIBRARY_PATH
+        when running WebKitTestRunner with run-webkit-tests.
+        * gtk/jhbuild.modules: Add Mesa to the modulelist so that the llvmpipe libGL is build, but not
+        installed.
+        * gtk/jhbuildrc: Set the LLVMPIPE_LIBGL_PATH environment variable so that the test driver knows
+        how to properly set the LD_LIBRARY_PATH variable. We do this because it is much easier to
+        calculate the path in the jhbuildrc than in the test driver code. This simplifies things a great
+        deal.
+
 2014-04-18  Alexey Proskuryakov  <ap@apple.com>
 
         DownloadDecideDestinationCrash API test uses an incorrect value for path
index cbc106f..482a293 100644 (file)
@@ -103,6 +103,11 @@ class GtkPort(Port):
         environment['TEST_RUNNER_INJECTED_BUNDLE_FILENAME'] = self._build_path('lib', 'libTestRunnerInjectedBundle.so')
         environment['TEST_RUNNER_TEST_PLUGIN_PATH'] = self._build_path('lib')
         environment['AUDIO_RESOURCES_PATH'] = self.path_from_webkit_base('Source', 'WebCore', 'platform', 'audio', 'resources')
+
+        llvmpipe_libgl_path = os.environ.get('LLVMPIPE_LIBGL_PATH')
+        if llvmpipe_libgl_path:
+            environment['LD_LIBRARY_PATH'] = '%s:%s' % (llvmpipe_libgl_path, os.environ.get('LD_LIBRARY_PATH', ''))
+
         self._copy_value_from_environ_if_set(environment, 'WEBKIT_OUTPUTDIR')
         if self.get_option("leaks"):
             #  Turn off GLib memory optimisations https://wiki.gnome.org/Valgrind.
index f9a1ca7..bad0929 100644 (file)
@@ -29,6 +29,7 @@
       <dep package="gst-plugins-bad"/>
       <dep package="gst-libav"/>
       <dep package="xserver"/>
+      <dep package="mesa"/>
     </dependencies>
   </metamodule>
 
@@ -48,6 +49,8 @@
       href="http://www.freedesktop.org"/>
   <repository type="tarball" name="xorg"
       href="http://xorg.freedesktop.org"/>
+  <repository type="tarball" name="ftp.freedesktop.org"
+      href="ftp://ftp.freedesktop.org"/>
   <repository type="tarball" name="xmlsoft.org"
       href="ftp://xmlsoft.org"/>
   <repository type="tarball" name="gstreamer"
             hash="sha256:3e6ecf134dbf92a74c24d79848fea3a48e59ab95408a38c6405905d95a293011"/>
   </autotools>
 
+  <autotools id="mesa" autogenargs="--enable-xlib-glx --disable-dri" skip-install="true">
+    <branch module="/pub/mesa/10.0.4/MesaLib-10.0.4.tar.bz2" version="10.0.4"
+            checkoutdir="Mesa-10.0.4"
+            repo="ftp.freedesktop.org"
+            hash="sha256:ff6eb552becb25a318e53ac56b95a8c2d49e83ad674d87f52e811c0a20c25a40"/>
+  </autotools>
+
 </moduleset>
index c35f450..03b53bc 100644 (file)
@@ -31,3 +31,8 @@ module_makeargs['gtk+'] = 'LDFLAGS="-lm" ' + makeargs
 # We always enable introspection so that we can sniff out problems with our
 # annotations sooner rather than later.
 autogenargs='--enable-introspection'
+
+if use_lib64:
+    os.environ['LLVMPIPE_LIBGL_PATH'] = os.path.abspath(os.path.join(checkoutroot, 'Mesa-10.0.4', 'lib64'))
+else:
+    os.environ['LLVMPIPE_LIBGL_PATH'] = os.path.abspath(os.path.join(checkoutroot, 'Mesa-10.0.4', 'lib'))