| 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 | }}} |