From a230b60399729bf0ea20f85b0b55be17286b154d Mon Sep 17 00:00:00 2001
From: Thibault Saunier
Date: Thu, 26 May 2016 22:31:36 -0400
Subject: [PATCH] Cleanup page about building with cerbero
All platform specific where hard to follow as "information", make proper
paragapgraph about those requirements
And pass the file into ``pandoc -t markdown --reference-links
--atx-headers` making the whoel file much nicer to read.`
---
Building+from+source+using+Cerbero.markdown | 211 ++++++++++----------
1 file changed, 102 insertions(+), 109 deletions(-)
diff --git a/Building+from+source+using+Cerbero.markdown b/Building+from+source+using+Cerbero.markdown
index e06077774c..5fb34c2c50 100644
--- a/Building+from+source+using+Cerbero.markdown
+++ b/Building+from+source+using+Cerbero.markdown
@@ -1,53 +1,70 @@
-# Building from source using Cerbero
+# Building from source using Cerbero
-> ![Warning](images/icons/emoticons/warning.png)
-> This section is intended for advanced users.
+> ![Warning] This section is intended for advanced users.
+>
+>
## Build requirements
The GStreamer SDK build system provides bootstrapping facilities for all
platforms, but it still needs a minimum base to bootstrap:
- - python \>= 2.6 and python's `argparse` module, which is already
+- python >= 2.6 and python's `argparse` module, which is already
included in python2.7.
- - git
+- git
-> ![Information](images/icons/emoticons/information.png)
-> **Windows users**
->
-> Cerbero can be used on Windows using the Msys/MinGW shell (a Unix-like shell for Windows). There is a bit of setup that you need to do before Cerbero can take control.
->
-> You need to install the following programs:
-> - [Python 2.7](http://www.python.org/getit/releases/2.7/)
-> - [Git](http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git) (Select the install option "Checkout as-is, Commit as-is" and install it in a path without spaces, eg: c:\Git)
-> - [Msys/MinGW](https://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/) (Install it with all the options enabled)
-> - [CMake](http://www.cmake.org/cmake/resources/software.htm) (Select the option "Add CMake in system path for the current user")
-> - [Yasm](http://yasm.tortall.net/Download.html) (Download the win32 or win64 version for your platform, name it yasm.exe
, and place it in your MinGW bin
directory, typically, C:\MinGW\bin
)
-> - [WiX 3.5](http://wix.codeplex.com/releases/view/60102)
-> - [Microsoft SDK 7.1](http://www.microsoft.com/en-us/download/details.aspx?id=8279) (Install the SDK samples and the Visual C++ Compilers, required to build the DirectShow base classes. Might need installing the .NET 4 Framework first if the SDK installer doesn't find it)
-> - [Windows Driver Kit 7.1.0](http://msdn.microsoft.com/en-us/windows/hardware/hh852365)
->
-> Your user ID can't have spaces (eg: John Smith). Paths with spaces are not correctly handled in the build system and msys uses the user ID for the home folder.
->
->Cerbero must be run in the MinGW shell, which is accessible from the main menu once MinGW is installed.
->
->The last step is making `python` and `git` available from the shell, for which you will need to create a `.profile` file. Issue this command from within the MinGW shell:
->
-> `echo "export PATH=\"\$PATH:/c/Python27:/c/Git/bin\"" >> ~/.profile`
->
-> Using the appropriate paths to where you installed `python` and `git`
->
-> (Note that inside the shell, / is mapped to c:\Mingw\msys\1.0\ )
+### Windows users
-> ![Information](images/icons/emoticons/information.png)
-> **OS X users**
->
->To use cerbero on OS X you need to install the "Command Line Tools" from XCode. They are available from the "Preferences" dialog under "Downloads".
+Cerbero can be used on Windows using the Msys/MinGW shell (a Unix-like
+shell for Windows). There is a bit of setup that you need to do before
+Cerbero can take control.
-> ![Information](images/icons/emoticons/information.png)
-> **iOS developers**
->
->If you want to build the GStreamer-SDK for iOS, you also need the iOS SDK. The minimum required iOS SDK version is 6.0 and is included in [XCode](https://developer.apple.com/devcenter/ios/index.action#downloads) since version 4.
+You need to install the following programs:
+
+- [Python 2.7]
+- [Git] (Select the install option "Checkout as-is, Commit as-is" and
+ install it in a path without spaces, eg: c:\Git)
+- [Msys/MinGW] (Install it with all the options enabled)
+- [CMake] (Select the option "Add CMake in system path for the
+ current user")
+- [Yasm] (Download the win32 or win64 version for your platform, name
+ it `yasm.exe`, and place it in your MinGW `bin` directory,
+ typically, `C:\MinGW\bin`)
+- [WiX 3.5]
+- [Microsoft SDK 7.1] (Install the SDK samples and the Visual C++
+ Compilers, required to build the DirectShow base classes. Might need
+ installing the .NET 4 Framework first if the SDK installer doesn't
+ find it)
+- [Windows Driver Kit 7.1.0]
+
+Your user ID can't have spaces (eg: John Smith). Paths with spaces are
+not correctly handled in the build system and msys uses the user ID for
+the home folder.
+
+Cerbero must be run in the MinGW shell, which is accessible from the
+main menu once MinGW is installed.
+
+The last step is making `python` and `git` available from the shell, for
+which you will need to create a `.profile` file. Issue this command from
+within the MinGW shell:
+
+`echo "export PATH=\"\$PATH:/c/Python27:/c/Git/bin\"" >> ~/.profile`
+
+Using the appropriate paths to where you installed `python` and `git`
+
+(Note that inside the shell, / is mapped to c:\Mingw\msys\1.0 )
+
+### OS X users
+
+To use cerbero on OS X you need to install the "Command Line Tools" from
+XCode. They are available from the "Preferences" dialog under
+"Downloads".
+
+### iOS developers
+
+If you want to build the GStreamer-SDK for iOS, you also need the iOS
+SDK. The minimum required iOS SDK version is 6.0 and is included in
+[XCode] since version 4.
## Download the sources
@@ -58,18 +75,14 @@ architectures and distributions.
Get a copy of Cerbero by cloning the git repository:
-```
-git clone git://anongit.freedesktop.org/gstreamer/cerbero
-```
+ git clone git://anongit.freedesktop.org/gstreamer/cerbero
Cerbero can be run uninstalled and for convenience you can create an
alias in your `.bashrc` file*. *If you prefer to skip this step,
remember that you need to replace the calls to `cerbero` with
`./cerbero-uninstalled` in the next steps.
-```
-echo "alias cerbero='~/git/cerbero/cerbero-uninstalled'" >> ~/.bashrc
-```
+ echo "alias cerbero='~/git/cerbero/cerbero-uninstalled'" >> ~/.bashrc
## Setup environment
@@ -85,15 +98,12 @@ are running and will use default build options such as the default build
directory. The default options should work fine on the supported
distributions.
-An example configuration file with detailed comments can be found
-[here](http://www.freedesktop.org/software/gstreamer-sdk/cerbero.cbc.template)
+An example configuration file with detailed comments can be found [here]
To fire up the bootstrapping process, go to the directory where you
cloned/unpacked Cerbero and type:
-```
-cerbero bootstrap
-```
+ cerbero bootstrap
Enter the superuser/root password when prompted.
@@ -104,45 +114,33 @@ the GStreamer SDK.
To generate the SDK, use the following command:
-```
-cerbero package gstreamer-1.0
-```
+ cerbero package gstreamer-1.0
This should build all required SDK components and create packages for
your distribution at the Cerbero source directory.
A list of supported packages to build can be retrieved using:
-```
-cerbero list-packages
-```
+ cerbero list-packages
Packages are composed of 0 (in case of a meta package) or more
components that can be built separately if desired. The components are
defined as individual recipes and can be listed with:
-```
-cerbero list
-```
+ cerbero list
To build an individual recipe and its dependencies, do the following:
-```
-cerbero build
-```
+ cerbero build
Or to build or force a rebuild of a recipe without building its
dependencies use:
-```
-cerbero buildone
-```
+ cerbero buildone
To wipe everything and start from scratch:
-```
-cerbero wipe
-```
+ cerbero wipe
Once built, the output of the recipes will be installed at the prefix
defined in the Cerbero configuration file `$HOME/.cerbero/cerbero.cbc`
@@ -155,53 +153,43 @@ can be very slow on Windows, so if you only need to rebuild a single
project (eg: gst-plugins-good to patch qtdemux) there is a much faster
way of doing it. You will need to follow the steps detailed in this
page, but skipping the step "**Build the SDK**", and installing the
-SDK's development files as explained in [Installing the
-SDK](Installing+the+SDK.markdown).
+SDK's development files as explained in [Installing the SDK].
By default, Cerbero uses as prefix a folder in the user directory with
-the following schema ~/cerbero/dist/$platform\_$arch, but for the SDK we
-must change this prefix to use its installation directory. This can be
-done with a custom configuration file named *custom.cbc*:
+the following schema \~/cerbero/dist/$platform\_$arch, but for the SDK
+we must change this prefix to use its installation directory. This can
+be done with a custom configuration file named *custom.cbc*:
-```
-# For Windows x86
-prefix='/c/gstreamer/1.0/x86/'
+ # For Windows x86
+ prefix='/c/gstreamer/1.0/x86/'
-# For Windows x86_64
-#prefix='/c/gstreamer/1.0/x86_64'
+ # For Windows x86_64
+ #prefix='/c/gstreamer/1.0/x86_64'
-# For Linux
-#prefix='/opt/gstreamer'
+ # For Linux
+ #prefix='/opt/gstreamer'
-# For OS X
-#prefix='/Library/Frameworks/GStreamer.framework/Versions/1.0'
-```
+ # For OS X
+ #prefix='/Library/Frameworks/GStreamer.framework/Versions/1.0'
The prefix path might not be writable by your current user. Make sure
you fix it before, for instance with:
-```
-$ sudo chown -R /Library/Frameworks/GStreamer.framework/
-```
+ $ sudo chown -R /Library/Frameworks/GStreamer.framework/
Cerbero has a shell command that starts a new shell with all the
environment set up to target the SDK. You can start a new shell using
the installation prefix defined in *custom.cbc *with the following
command:
-```
-$ cerbero -c custom.cbc shell
-```
+ $ cerbero -c custom.cbc shell
-Once you are in Cerbero's shell you can compile new
-projects targeting the SDK using the regular build
-process:
+Once you are in Cerbero's shell you can compile new projects targeting
+the SDK using the regular build process:
-```
-$ git clone -b sdk-0.10.31 git://anongit.freedesktop.org/gstreamer-sdk/gst-plugins-good; cd gst-plugins-good
-$ sh autogen.sh --disable-gtk-doc --prefix=
-$ make -C gst/isomp4
-```
+ $ git clone -b sdk-0.10.31 git://anongit.freedesktop.org/gstreamer-sdk/gst-plugins-good; cd gst-plugins-good
+ $ sh autogen.sh --disable-gtk-doc --prefix=
+ $ make -C gst/isomp4
### Cross-compilation of the SDK
@@ -217,9 +205,7 @@ You can cross-compile the SDK for Android from a Linux host using the
configuration file `config/cross-android.cbc`. Replace all the previous
commands with:
-```
-cerbero -c config/cross-android.cbc
-```
+ cerbero -c config/cross-android.cbc
#### Windows
@@ -230,21 +216,28 @@ only be created from Windows.
Replace all the above commands for Windows 32bits with:
-```
-cerbero -c config/cross-win32.cbc
-```
+ cerbero -c config/cross-win32.cbc
Or with using the following for Windows 64bits:
-```
-cerbero -c config/cross-win64.cbc
-```
+ cerbero -c config/cross-win64.cbc
#### iOS
To cross compile for iOS from OS X, use the configuration file
`config/cross-ios-universal.cbc`. Replace all previous commands with:
-```
-cerbero -c config/cross-ios-universal.cbc
-```
+ cerbero -c config/cross-ios-universal.cbc
+
+ [Warning]: images/icons/emoticons/warning.png
+ [Python 2.7]: http://www.python.org/getit/releases/2.7/
+ [Git]: http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git
+ [Msys/MinGW]: https://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/
+ [CMake]: http://www.cmake.org/cmake/resources/software.htm
+ [Yasm]: http://yasm.tortall.net/Download.html
+ [WiX 3.5]: http://wix.codeplex.com/releases/view/60102
+ [Microsoft SDK 7.1]: http://www.microsoft.com/en-us/download/details.aspx?id=8279
+ [Windows Driver Kit 7.1.0]: http://msdn.microsoft.com/en-us/windows/hardware/hh852365
+ [XCode]: https://developer.apple.com/devcenter/ios/index.action#downloads
+ [here]: http://www.freedesktop.org/software/gstreamer-sdk/cerbero.cbc.template
+ [Installing the SDK]: Installing+the+SDK.markdown