| | 1 | {{{ |
| | 2 | #!rst |
| | 3 | |
| | 4 | ===================================== |
| | 5 | Build GStreamer and WebKit on Mac OS |
| | 6 | ===================================== |
| | 7 | |
| | 8 | This page describes how to enable GStreamer support on the mac port of WebKit. It is still experimental and requires patches in WebKit. The patches are currently in a `git branch`_ |
| | 9 | |
| | 10 | Requirements |
| | 11 | ============ |
| | 12 | |
| | 13 | Git and JHBuild: |
| | 14 | |
| | 15 | :: |
| | 16 | |
| | 17 | git clone git://git.gnome.org/jhbuild |
| | 18 | make -f Makefile.plain install |
| | 19 | |
| | 20 | PATH=$PATH:~/.local/bin |
| | 21 | |
| | 22 | GStreamer build |
| | 23 | =============== |
| | 24 | |
| | 25 | My JHBuild moduleset only supports git version of GStreamer at the moment. |
| | 26 | |
| | 27 | :: |
| | 28 | |
| | 29 | git clone git://github.com/philn/jhbuild.git ~/gst-build |
| | 30 | cd ~/gst-build |
| | 31 | git checkout --track -b mac origin/mac |
| | 32 | jhbuild -f jhbuildrc bootstrap --ignore-system |
| | 33 | jhbuild -f jhbuildrc build |
| | 34 | |
| | 35 | You might see a build failure for guile. Just skip that module, it is not needed for the WebKit or GStreamer build. |
| | 36 | |
| | 37 | WebKit repo setup |
| | 38 | ================= |
| | 39 | |
| | 40 | It's possible to clone directly from git.igalia.com but it will |
| | 41 | be slower, there's more bandwidth at git.webkit.org :) |
| | 42 | |
| | 43 | :: |
| | 44 | |
| | 45 | cd ~/gst-build/build |
| | 46 | git clone git://git.webkit.org/WebKit.git |
| | 47 | cd WebKit |
| | 48 | git remote add igalia http://git.igalia.com/webkit.git |
| | 49 | git fetch igalia |
| | 50 | git checkout --track -b gst-mac igalia/gst-mac |
| | 51 | mkdir Frameworks |
| | 52 | |
| | 53 | GStreamer.framework build |
| | 54 | ========================= |
| | 55 | |
| | 56 | The GStreamer.framework includes GLib as well. I first tried to bundle it separately but without |
| | 57 | much success. It would be nice to make that happen though (I think). |
| | 58 | |
| | 59 | :: |
| | 60 | |
| | 61 | cd |
| | 62 | git clone git://github.com/philn/gtk-osx.git |
| | 63 | cd ~/gtk-osx |
| | 64 | git checkout --track -b gst origin/gst |
| | 65 | |
| | 66 | cd ~/gtk-osx/framework |
| | 67 | ./create-GStreamer-framework.sh ~/gst-build/install/ ~/gst-build/build/WebKit/Frameworks |
| | 68 | |
| | 69 | WebKit build |
| | 70 | ============ |
| | 71 | |
| | 72 | This can probably be done with the XCode UI: |
| | 73 | |
| | 74 | 1. Set the GLIB_ENABLED build setting of JavaScriptCore/Configurations/Optional.xcconfig to YES |
| | 75 | 2. Set the GSTREAMER_ENABLED build setting to YES in the following files: |
| | 76 | |
| | 77 | - WebCore/Configurations/Optional.xcconfig |
| | 78 | - Webkit/mac/Configurations/Optional.xcconfig |
| | 79 | |
| | 80 | 3. Then build the thing and run Safari: |
| | 81 | |
| | 82 | :: |
| | 83 | |
| | 84 | cd ~/gst-build/build/WebKit |
| | 85 | Tools/Scripts/build-webkit |
| | 86 | Tools/Scripts/run-safari |
| | 87 | |
| | 88 | |
| | 89 | |
| | 90 | .. _git branch: http://git.igalia.com/cgi-bin/gitweb.cgi?p=webkit.git;a=shortlog;h=refs/heads/gst-mac |
| | 91 | |
| | 92 | }}} |