<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.videolan.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Riquedafreak</id>
	<title>VideoLAN Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.videolan.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Riquedafreak"/>
	<link rel="alternate" type="text/html" href="https://wiki.videolan.org/Special:Contributions/Riquedafreak/"/>
	<updated>2026-11-04T20:41:42Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=MacOSCompile&amp;diff=20904</id>
		<title>MacOSCompile</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=MacOSCompile&amp;diff=20904"/>
		<updated>2011-12-16T22:09:06Z</updated>

		<summary type="html">&lt;p&gt;Riquedafreak: Undo revision 20885 by Riquedafreak (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an &#039;&#039;&#039;howto&#039;&#039;&#039; to compile {{VLC}} on &#039;&#039;Mac OS X&#039;&#039;, focused on &#039;&#039;&#039;VLC 1.2&#039;&#039;&#039; and newer. &lt;br /&gt;
&lt;br /&gt;
== Pre-requisites  ==&lt;br /&gt;
&lt;br /&gt;
=== Apple  ===&lt;br /&gt;
&lt;br /&gt;
*You need at least MacOSX 10.5.&amp;lt;br&amp;gt;&#039;&#039;&#039;10.6&#039;&#039;&#039;, &#039;&#039;&#039;Snow Leopard&#039;&#039;&#039; is strongly recommended, though. &lt;br /&gt;
*&#039;&#039;&#039;Developer Tools from Apple&#039;&#039;&#039; from http://developer.apple.com/technology/xcode.html&amp;lt;br&amp;gt;&#039;&#039;Xcode3&#039;&#039; and &#039;&#039;Xcode4&#039;&#039; should be fine.&lt;br /&gt;
&lt;br /&gt;
Check that the LLVM GCC 4.2 compiler is installed: &lt;br /&gt;
&lt;br /&gt;
 $ gcc --version&lt;br /&gt;
&lt;br /&gt;
=== GCC 4.2 on Xcode 4.2  ===&lt;br /&gt;
&lt;br /&gt;
If you are on Xcode 4.2 with no previous Xcode installation, you &#039;&#039;&#039;NEED&#039;&#039;&#039; gcc-4.2 that isn&#039;t installed anymore. &lt;br /&gt;
&lt;br /&gt;
Please install it from [https://github.com/kennethreitz/osx-gcc-installer/downloads OSX-GCC installer]. &lt;br /&gt;
&lt;br /&gt;
 $ gcc-4.2 --version&lt;br /&gt;
&lt;br /&gt;
=== Git  ===&lt;br /&gt;
&lt;br /&gt;
You need to get [http://git-scm.com/ Git] to clone VLC. &lt;br /&gt;
&lt;br /&gt;
You can use [http://mxcl.github.com/homebrew/ homebrew] as: &lt;br /&gt;
&lt;br /&gt;
 $ brew install git&lt;br /&gt;
&lt;br /&gt;
== [[GetTheSource|Get the source code]]  ==&lt;br /&gt;
&lt;br /&gt;
  $ git clone git://git.videolan.org/vlc.git&lt;br /&gt;
&lt;br /&gt;
== Additional development tools  ==&lt;br /&gt;
&lt;br /&gt;
You need development tools, notably all the autotools, to build VLC correctly.&lt;br /&gt;
 &lt;br /&gt;
Here is how:&lt;br /&gt;
 $ cd vlc/extras/tools&lt;br /&gt;
 $ ./bootstrap&lt;br /&gt;
 $ make&lt;br /&gt;
 $ cd ../..&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important&#039;&#039;&#039;: set the new PATH.&lt;br /&gt;
 $ export PATH=$PWD/extras/tools/build/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
== SDK selection and 32/64 bits  ==&lt;br /&gt;
&lt;br /&gt;
=== SDK selection ===&lt;br /&gt;
&lt;br /&gt;
If you want to use the 10.6 SDK (your VLC will only run on 10.6 and more recent computers): &lt;br /&gt;
&lt;br /&gt;
 $ export OSX_VERSION=10.6&lt;br /&gt;
&lt;br /&gt;
You can do the same for &#039;&#039;&#039;10.5&#039;&#039;&#039;, but please check that you have &#039;&#039;MacOSX10.5.sdk&#039;&#039; installed in &#039;&#039;/Developer/SDKs/&#039;&#039; . If you are using Xcode 4.2, you can [http://stackoverflow.com/a/6293605 install the 10.5 sdk] with the .dmg from Xcode3. &lt;br /&gt;
&lt;br /&gt;
=== 32/64bits selection  ===&lt;br /&gt;
&lt;br /&gt;
The instructions below will build a 64 bits binary using 10.6 (Leopard) SDK. This is reflected by using host and build variables &#039;&#039;&#039;x86_64-apple-darwin10&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
This &amp;quot;triplet&amp;quot; is ARCHITECTURE-apple-SYSTEM. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ARCHITECTURE&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;x86_64&amp;lt;/code&amp;gt; represents Intel 64bits. &lt;br /&gt;
*&amp;lt;code&amp;gt;i686&amp;lt;/code&amp;gt; represents Intel 32bits. &lt;br /&gt;
*&amp;lt;code&amp;gt;powerpc&amp;lt;/code&amp;gt; represents PowerPC 32bits.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SDK SYSTEM&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;darwin9&amp;lt;/code&amp;gt; represents MacOSX 10.5. &lt;br /&gt;
*&amp;lt;code&amp;gt;darwin10&amp;lt;/code&amp;gt; represents MacOSX 10.6.&lt;br /&gt;
&lt;br /&gt;
So to make a PowerPC build, you would use &#039;&#039;&#039;powerpc-apple-darwin9&#039;&#039;&#039;. So to make a intel32 build for 10.5+, you would use &#039;&#039;&#039;i686-apple-darwin9&#039;&#039;&#039;. So to make a intel64 build for 10.6+, you would use &#039;&#039;&#039;x86_64-apple-darwin10&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Prepare [[Contrib Status|3rd party libraries]]  ==&lt;br /&gt;
&lt;br /&gt;
Before compiling VLC, you need lots of other libraries. Here is how to get them: &lt;br /&gt;
&lt;br /&gt;
  $ cd contrib&lt;br /&gt;
  $ mkdir -p osx &amp;amp;amp;&amp;amp;amp; cd osx&lt;br /&gt;
  $ ../bootstrap --host=x86_64-apple-darwin10 --build=x86_64-apple-darwin10&lt;br /&gt;
&lt;br /&gt;
=== Prebuilt libraries (recommended) ===&lt;br /&gt;
&lt;br /&gt;
If you want to download a prebuilt package of all the needed libraries. &lt;br /&gt;
&lt;br /&gt;
  $ make prebuilt&lt;br /&gt;
&lt;br /&gt;
=== Build your own libraries (not for the faint-hearted) ===&lt;br /&gt;
&lt;br /&gt;
If you want to build from source a package in the contribs: &lt;br /&gt;
&lt;br /&gt;
  $ make -j4 .gettext&lt;br /&gt;
  $ export PATH=$PWD/../x86_64-apple-darwin10/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
Then: &lt;br /&gt;
&lt;br /&gt;
  $ make -j4&lt;br /&gt;
&lt;br /&gt;
If you had no errors, the 3rd party libraries (contrib) are built correctly and you can proceed to the next step.&lt;br /&gt;
&lt;br /&gt;
=== Go Back  ===&lt;br /&gt;
&lt;br /&gt;
Go back to the VLC source directory: &lt;br /&gt;
&lt;br /&gt;
  $ cd ../..&lt;br /&gt;
&lt;br /&gt;
== Bootstrap VLC  ==&lt;br /&gt;
&lt;br /&gt;
This will create the configure script: &lt;br /&gt;
&lt;br /&gt;
  $ ./bootstrap&lt;br /&gt;
&lt;br /&gt;
== Configure the VLC build  ==&lt;br /&gt;
&lt;br /&gt;
Create a build folder: &lt;br /&gt;
&lt;br /&gt;
  $ mkdir -p build &amp;amp;amp;&amp;amp;amp; cd build&lt;br /&gt;
&lt;br /&gt;
To list the different options of configure: &lt;br /&gt;
&lt;br /&gt;
  $ ../extras/package/macosx/configure.sh --help&lt;br /&gt;
&lt;br /&gt;
To build a 64 bits binary: &lt;br /&gt;
&lt;br /&gt;
  $ ../extras/package/macosx/configure.sh --enable-debug --host=x86_64-apple-darwin10 --build=x86_64-apple-darwin10&lt;br /&gt;
&lt;br /&gt;
== Build VLC  ==&lt;br /&gt;
&lt;br /&gt;
Just do:&lt;br /&gt;
  $ make -j4&lt;br /&gt;
&lt;br /&gt;
and wait...&lt;br /&gt;
&lt;br /&gt;
== Package VLC Application for Mac  ==&lt;br /&gt;
&lt;br /&gt;
If you want to share the application with another user or another computer: &lt;br /&gt;
&lt;br /&gt;
  $ make VLC-release.app&lt;br /&gt;
&lt;br /&gt;
If you want a disk-image: &lt;br /&gt;
&lt;br /&gt;
  $ make package-macosx&lt;br /&gt;
&lt;br /&gt;
Respectively &amp;lt;code&amp;gt;make package-macosx-plugin&amp;lt;/code&amp;gt; for the Safari/Mozilla plugin. &lt;br /&gt;
&lt;br /&gt;
== What&#039;s wrong: troubleshooting  ==&lt;br /&gt;
&lt;br /&gt;
=== Xcode path  ===&lt;br /&gt;
&lt;br /&gt;
Starting with Leopard, Xcode may be installed to a custom location on the administrator&#039;s choice. While this is non-problematic for ordinary Xcode projects, VLC needs a little help. You have to place extra symbolic links in /Developer pointing to your custom location for these folders: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;usr, Headers, Private, SDKs, Tools, Makefiles&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
You can easily create these links by executing the following command for each folder (whereas theFolder is one of these six): &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ln -s /full/path/to/Developer/theFolder /Developer/theFolder&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Xcode version  ===&lt;br /&gt;
&lt;br /&gt;
Please make sure that you are using the latest Xcode3 or the latest version of Xcode4 to compile VLC &lt;br /&gt;
&lt;br /&gt;
=== 3rd party packagers and PATH  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pay careful attention to remove any reference to 3rd party package managersfrom your environment.&#039;&#039;&#039; This is important to avoid conflicts between your package manager (homebrew, fink, macports...) and the contrib package manager we use to build our contrib. &lt;br /&gt;
&lt;br /&gt;
It shouldn&#039;t be necessary, but it can happen. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;git must still be accessible though!&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
 $ unset PKG_CONFIG_PATH&lt;br /&gt;
 $ unset PKG_CONFIG_LIBDIR&lt;br /&gt;
 $ export PATH=$PWD/build/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin&lt;br /&gt;
&lt;br /&gt;
=== QTsound compilation on X.5  ===&lt;br /&gt;
&lt;br /&gt;
MacOS X.5.SDK is broken. &lt;br /&gt;
&lt;br /&gt;
*Download the MacOS10.6.sdk and get QTCaptureDecompressedAudioOutput.h from &#039;&#039;/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/QTKit.framework/Headers/&#039;&#039; and move it to &#039;&#039;/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/QTKit.framework/Headers/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Edit &#039;&#039;/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/QTKit.framework/Headers/QTKit.h&#039;&#039; and add the&lt;br /&gt;
&lt;br /&gt;
 #import &amp;amp;lt;QTKit/QTCaptureDecompressedAudioOutput.h&amp;amp;gt; where needed.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Compilation to PPC from X.6 intel ===&lt;br /&gt;
If you want to compile VLC for PPC, based on a X.6 intel, you need to tweak a few things since Apple broke it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This is VERY advanced stuff!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Pre-requisites ====&lt;br /&gt;
Be sure to:&lt;br /&gt;
* have X.6.8&lt;br /&gt;
* Xcode 4.2 installed in the normal &#039;&#039;/Developers&#039;&#039; location&lt;br /&gt;
* Xcode 3 installed in &#039;&#039;/Xcode3&#039;&#039; location&lt;br /&gt;
* MacOS X.6 and X.5 SDK installed in &#039;&#039;/Developers/SDKs/&#039;&#039; , as explained above (SDK selection).&lt;br /&gt;
&lt;br /&gt;
==== GNU AS ====&lt;br /&gt;
Using this out of the box will not work because &#039;&#039;&#039;AS&#039;&#039;&#039; for ppc is broken on the default setup. Here is how to fix it:&lt;br /&gt;
 cd /usr/libexec/as&lt;br /&gt;
 sudo mkdir ppc&lt;br /&gt;
 cd ppc&lt;br /&gt;
 sudo ln -sf /Xcode3/usr/bin/as as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Building]] [[Category:Coding]]&lt;/div&gt;</summary>
		<author><name>Riquedafreak</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=MacOSCompile&amp;diff=20885</id>
		<title>MacOSCompile</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=MacOSCompile&amp;diff=20885"/>
		<updated>2011-12-16T20:52:26Z</updated>

		<summary type="html">&lt;p&gt;Riquedafreak: GCC-10.6.pkg when compiling from Mac OS X 10.7&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an &#039;&#039;&#039;howto&#039;&#039;&#039; to compile {{VLC}} on &#039;&#039;Mac OS X&#039;&#039;, focused on &#039;&#039;&#039;VLC 1.2&#039;&#039;&#039; and newer. &lt;br /&gt;
&lt;br /&gt;
== Pre-requisites  ==&lt;br /&gt;
&lt;br /&gt;
=== Apple  ===&lt;br /&gt;
&lt;br /&gt;
*You need at least MacOSX 10.5.&amp;lt;br&amp;gt;&#039;&#039;&#039;10.6&#039;&#039;&#039;, &#039;&#039;&#039;Snow Leopard&#039;&#039;&#039; is strongly recommended, though. &lt;br /&gt;
*&#039;&#039;&#039;Developer Tools from Apple&#039;&#039;&#039; from http://developer.apple.com/technology/xcode.html&amp;lt;br&amp;gt;&#039;&#039;Xcode3&#039;&#039; and &#039;&#039;Xcode4&#039;&#039; should be fine.&lt;br /&gt;
&lt;br /&gt;
Check that the LLVM GCC 4.2 compiler is installed: &lt;br /&gt;
&lt;br /&gt;
 $ gcc --version&lt;br /&gt;
&lt;br /&gt;
=== GCC 4.2 on Xcode 4.2  ===&lt;br /&gt;
&lt;br /&gt;
If you are on Xcode 4.2 with no previous Xcode installation, you &#039;&#039;&#039;NEED&#039;&#039;&#039; gcc-4.2 that isn&#039;t installed anymore. &lt;br /&gt;
&lt;br /&gt;
Please install it from [https://github.com/kennethreitz/osx-gcc-installer/downloads OSX-GCC installer]. &#039;&#039;&#039;&#039;&#039;Note:&#039;&#039;&#039; Mac OS X 10.7: Lion users should download GCC-10.6.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ gcc-4.2 --version&lt;br /&gt;
&lt;br /&gt;
=== Git  ===&lt;br /&gt;
&lt;br /&gt;
You need to get [http://git-scm.com/ Git] to clone VLC. &lt;br /&gt;
&lt;br /&gt;
You can use [http://mxcl.github.com/homebrew/ homebrew] as: &lt;br /&gt;
&lt;br /&gt;
 $ brew install git&lt;br /&gt;
&lt;br /&gt;
== [[GetTheSource|Get the source code]]  ==&lt;br /&gt;
&lt;br /&gt;
  $ git clone git://git.videolan.org/vlc.git&lt;br /&gt;
&lt;br /&gt;
== Additional development tools  ==&lt;br /&gt;
&lt;br /&gt;
You need development tools, notably all the autotools, to build VLC correctly.&lt;br /&gt;
 &lt;br /&gt;
Here is how:&lt;br /&gt;
 $ cd vlc/extras/tools&lt;br /&gt;
 $ ./bootstrap&lt;br /&gt;
 $ make&lt;br /&gt;
 $ cd ../..&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important&#039;&#039;&#039;: set the new PATH.&lt;br /&gt;
 $ export PATH=$PWD/extras/tools/build/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
== SDK selection and 32/64 bits  ==&lt;br /&gt;
&lt;br /&gt;
=== SDK selection ===&lt;br /&gt;
&lt;br /&gt;
If you want to use the 10.6 SDK (your VLC will only run on 10.6 and more recent computers): &lt;br /&gt;
&lt;br /&gt;
 $ export OSX_VERSION=10.6&lt;br /&gt;
&lt;br /&gt;
You can do the same for &#039;&#039;&#039;10.5&#039;&#039;&#039;, but please check that you have &#039;&#039;MacOSX10.5.sdk&#039;&#039; installed in &#039;&#039;/Developer/SDKs/&#039;&#039; . If you are using Xcode 4.2, you can [http://stackoverflow.com/a/6293605 install the 10.5 sdk] with the .dmg from Xcode3. &lt;br /&gt;
&lt;br /&gt;
=== 32/64bits selection  ===&lt;br /&gt;
&lt;br /&gt;
The instructions below will build a 64 bits binary using 10.6 (Leopard) SDK. This is reflected by using host and build variables &#039;&#039;&#039;x86_64-apple-darwin10&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
This &amp;quot;triplet&amp;quot; is ARCHITECTURE-apple-SYSTEM. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ARCHITECTURE&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;x86_64&amp;lt;/code&amp;gt; represents Intel 64bits. &lt;br /&gt;
*&amp;lt;code&amp;gt;i686&amp;lt;/code&amp;gt; represents Intel 32bits. &lt;br /&gt;
*&amp;lt;code&amp;gt;powerpc&amp;lt;/code&amp;gt; represents PowerPC 32bits.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SDK SYSTEM&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;darwin9&amp;lt;/code&amp;gt; represents MacOSX 10.5. &lt;br /&gt;
*&amp;lt;code&amp;gt;darwin10&amp;lt;/code&amp;gt; represents MacOSX 10.6.&lt;br /&gt;
&lt;br /&gt;
So to make a PowerPC build, you would use &#039;&#039;&#039;powerpc-apple-darwin9&#039;&#039;&#039;. So to make a intel32 build for 10.5+, you would use &#039;&#039;&#039;i686-apple-darwin9&#039;&#039;&#039;. So to make a intel64 build for 10.6+, you would use &#039;&#039;&#039;x86_64-apple-darwin10&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Prepare [[Contrib Status|3rd party libraries]]  ==&lt;br /&gt;
&lt;br /&gt;
Before compiling VLC, you need lots of other libraries. Here is how to get them: &lt;br /&gt;
&lt;br /&gt;
  $ cd contrib&lt;br /&gt;
  $ mkdir -p osx &amp;amp;amp;&amp;amp;amp; cd osx&lt;br /&gt;
  $ ../bootstrap --host=x86_64-apple-darwin10 --build=x86_64-apple-darwin10&lt;br /&gt;
&lt;br /&gt;
=== Prebuilt libraries (recommended) ===&lt;br /&gt;
&lt;br /&gt;
If you want to download a prebuilt package of all the needed libraries. &lt;br /&gt;
&lt;br /&gt;
  $ make prebuilt&lt;br /&gt;
&lt;br /&gt;
=== Build your own libraries (not for the faint-hearted) ===&lt;br /&gt;
&lt;br /&gt;
If you want to build from source a package in the contribs: &lt;br /&gt;
&lt;br /&gt;
  $ make -j4 .gettext&lt;br /&gt;
  $ export PATH=$PWD/../x86_64-apple-darwin10/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
Then: &lt;br /&gt;
&lt;br /&gt;
  $ make -j4&lt;br /&gt;
&lt;br /&gt;
If you had no errors, the 3rd party libraries (contrib) are built correctly and you can proceed to the next step.&lt;br /&gt;
&lt;br /&gt;
=== Go Back  ===&lt;br /&gt;
&lt;br /&gt;
Go back to the VLC source directory: &lt;br /&gt;
&lt;br /&gt;
  $ cd ../..&lt;br /&gt;
&lt;br /&gt;
== Bootstrap VLC  ==&lt;br /&gt;
&lt;br /&gt;
This will create the configure script: &lt;br /&gt;
&lt;br /&gt;
  $ ./bootstrap&lt;br /&gt;
&lt;br /&gt;
== Configure the VLC build  ==&lt;br /&gt;
&lt;br /&gt;
Create a build folder: &lt;br /&gt;
&lt;br /&gt;
  $ mkdir -p build &amp;amp;amp;&amp;amp;amp; cd build&lt;br /&gt;
&lt;br /&gt;
To list the different options of configure: &lt;br /&gt;
&lt;br /&gt;
  $ ../extras/package/macosx/configure.sh --help&lt;br /&gt;
&lt;br /&gt;
To build a 64 bits binary: &lt;br /&gt;
&lt;br /&gt;
  $ ../extras/package/macosx/configure.sh --enable-debug --host=x86_64-apple-darwin10 --build=x86_64-apple-darwin10&lt;br /&gt;
&lt;br /&gt;
== Build VLC  ==&lt;br /&gt;
&lt;br /&gt;
Just do:&lt;br /&gt;
  $ make -j4&lt;br /&gt;
&lt;br /&gt;
and wait...&lt;br /&gt;
&lt;br /&gt;
== Package VLC Application for Mac  ==&lt;br /&gt;
&lt;br /&gt;
If you want to share the application with another user or another computer: &lt;br /&gt;
&lt;br /&gt;
  $ make VLC-release.app&lt;br /&gt;
&lt;br /&gt;
If you want a disk-image: &lt;br /&gt;
&lt;br /&gt;
  $ make package-macosx&lt;br /&gt;
&lt;br /&gt;
Respectively &amp;lt;code&amp;gt;make package-macosx-plugin&amp;lt;/code&amp;gt; for the Safari/Mozilla plugin. &lt;br /&gt;
&lt;br /&gt;
== What&#039;s wrong: troubleshooting  ==&lt;br /&gt;
&lt;br /&gt;
=== Xcode path  ===&lt;br /&gt;
&lt;br /&gt;
Starting with Leopard, Xcode may be installed to a custom location on the administrator&#039;s choice. While this is non-problematic for ordinary Xcode projects, VLC needs a little help. You have to place extra symbolic links in /Developer pointing to your custom location for these folders: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;usr, Headers, Private, SDKs, Tools, Makefiles&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
You can easily create these links by executing the following command for each folder (whereas theFolder is one of these six): &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ln -s /full/path/to/Developer/theFolder /Developer/theFolder&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Xcode version  ===&lt;br /&gt;
&lt;br /&gt;
Please make sure that you are using the latest Xcode3 or the latest version of Xcode4 to compile VLC &lt;br /&gt;
&lt;br /&gt;
=== 3rd party packagers and PATH  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pay careful attention to remove any reference to 3rd party package managersfrom your environment.&#039;&#039;&#039; This is important to avoid conflicts between your package manager (homebrew, fink, macports...) and the contrib package manager we use to build our contrib. &lt;br /&gt;
&lt;br /&gt;
It shouldn&#039;t be necessary, but it can happen. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;git must still be accessible though!&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
 $ unset PKG_CONFIG_PATH&lt;br /&gt;
 $ unset PKG_CONFIG_LIBDIR&lt;br /&gt;
 $ export PATH=$PWD/build/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin&lt;br /&gt;
&lt;br /&gt;
=== QTsound compilation on X.5  ===&lt;br /&gt;
&lt;br /&gt;
MacOS X.5.SDK is broken. &lt;br /&gt;
&lt;br /&gt;
*Download the MacOS10.6.sdk and get QTCaptureDecompressedAudioOutput.h from &#039;&#039;/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/QTKit.framework/Headers/&#039;&#039; and move it to &#039;&#039;/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/QTKit.framework/Headers/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Edit &#039;&#039;/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/QTKit.framework/Headers/QTKit.h&#039;&#039; and add the&lt;br /&gt;
&lt;br /&gt;
 #import &amp;amp;lt;QTKit/QTCaptureDecompressedAudioOutput.h&amp;amp;gt; where needed.&lt;br /&gt;
&lt;br /&gt;
=== Cross-Compilation to PPC from X.6 intel ===&lt;br /&gt;
If you want to compile VLC for PPC, based on a X.6 intel, you need to tweak a few things since Apple broke it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This is VERY advanced stuff!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Pre-requisites ====&lt;br /&gt;
Be sure to:&lt;br /&gt;
* have X.6.8&lt;br /&gt;
* Xcode 4.2 installed in the normal &#039;&#039;/Developers&#039;&#039; location&lt;br /&gt;
* Xcode 3 installed in &#039;&#039;/Xcode3&#039;&#039; location&lt;br /&gt;
* MacOS X.6 and X.5 SDK installed in &#039;&#039;/Developers/SDKs/&#039;&#039; , as explained above (SDK selection).&lt;br /&gt;
&lt;br /&gt;
==== GNU AS ====&lt;br /&gt;
Using this out of the box will not work because &#039;&#039;&#039;AS&#039;&#039;&#039; for ppc is broken on the default setup. Here is how to fix it:&lt;br /&gt;
 cd /usr/libexec/as&lt;br /&gt;
 sudo mkdir ppc&lt;br /&gt;
 cd ppc&lt;br /&gt;
 sudo ln -sf /Xcode3/usr/bin/as as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Building]] [[Category:Coding]]&lt;/div&gt;</summary>
		<author><name>Riquedafreak</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Git&amp;diff=10733</id>
		<title>Git</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Git&amp;diff=10733"/>
		<updated>2008-02-26T23:40:45Z</updated>

		<summary type="html">&lt;p&gt;Riquedafreak: /* Staying up to date */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For your convenience, a git mirror of the VLC svn tree has been set up. Here is a tutorial on how to use the git VLC repository.&lt;br /&gt;
&lt;br /&gt;
You can read more about the VLC svn tree on our [[Subversion| Subversion wiki page]].&lt;br /&gt;
&lt;br /&gt;
= Basic Git usage =&lt;br /&gt;
== Getting VLC source code via Git ==&lt;br /&gt;
 $ git clone git://git.videolan.org/vlc.git&lt;br /&gt;
Voilà! The full VLC history should be on your hard disk in vlc/. Type&lt;br /&gt;
 $ git log&lt;br /&gt;
to see the full log of the trunk.&lt;br /&gt;
 $ gitk&lt;br /&gt;
to see the log graphically.&lt;br /&gt;
&lt;br /&gt;
You can also browse the sources via [http://git.videolan.org/ gitweb].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configure your local git repository ==&lt;br /&gt;
Tell git your name. (use mostly by git-commit)&lt;br /&gt;
 $ git repo-config user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
 $ git repo-config user.email &amp;quot;me@example.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List the local branch ==&lt;br /&gt;
You can now list your local branch by doing&lt;br /&gt;
 $ git branch&lt;br /&gt;
which should ouput&lt;br /&gt;
 $ git branch&lt;br /&gt;
 * master&lt;br /&gt;
&lt;br /&gt;
== List your local non committed changes ==&lt;br /&gt;
 $ git status | less&lt;br /&gt;
&lt;br /&gt;
== Commit ==&lt;br /&gt;
Now you can start to work on your tree. As soon as you feel you&#039;ve reached a step in developement you can commit &#039;&#039;&#039;locally&#039;&#039;&#039; your work by&lt;br /&gt;
 $ git commit -a&lt;br /&gt;
or&lt;br /&gt;
 $ git commit &amp;lt;specific files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List your commits ==&lt;br /&gt;
 $ git log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Keeping your local working branch in sync ==&lt;br /&gt;
 $ git fetch origin&lt;br /&gt;
 $ git rebase origin&lt;br /&gt;
voilà! Your commit will be re-applied on top of the origin (the svn trunk).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submitting patches to the vlc-devel ==&lt;br /&gt;
If you have been developing on vlc locally and (still) don&#039;t have write access, you can submit all your commit in one shot using:&lt;br /&gt;
 $ git format-patch -o out origin&lt;br /&gt;
which will produce the patches for each local commit in the directory &amp;quot;out&amp;quot;.&lt;br /&gt;
You can also use the [http://www.kernel.org/pub/software/scm/git/docs/git-imap-send.html git-imap-send] command:&lt;br /&gt;
 $ git format-patch --stdout --attach -n origin | git-imap-send&lt;br /&gt;
which will directly produces the emails and store them in a imap mail box, provided that you have properly set up [http://www.kernel.org/pub/software/scm/git/docs/git-imap-send.html git-imap-send].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Advanced usage =&lt;br /&gt;
== Creating a secondary local branch ==&lt;br /&gt;
If you want to work on a specific project that could require a branch of the trunk, create a local branch of the current branch by doing:&lt;br /&gt;
 $ git branch mywork&lt;br /&gt;
and to actually use it do:&lt;br /&gt;
 $ git checkout mywork&lt;br /&gt;
Which could be summarized by:&lt;br /&gt;
 $ git checkout -b mywork&lt;br /&gt;
&lt;br /&gt;
Then do some commit on it... And you can go back to your original master branch by doing:&lt;br /&gt;
 $ git checkout master&lt;br /&gt;
&lt;br /&gt;
== Fetching a remote branch ==&lt;br /&gt;
If the remote branch is named avacore_branch&lt;br /&gt;
 $ git checkout origin/avacore_branch&lt;br /&gt;
To stay up-to-date a simple&lt;br /&gt;
 $ git fetch&lt;br /&gt;
Should be enough.&lt;br /&gt;
&lt;br /&gt;
== Revert your non-committed local changes ==&lt;br /&gt;
 $ git checkout -f&lt;br /&gt;
&lt;br /&gt;
==Undo commit ==&lt;br /&gt;
This will undo the last commit&lt;br /&gt;
 $ git reset HEAD^&lt;br /&gt;
which is the same as&lt;br /&gt;
 $ git reset master^&lt;br /&gt;
(if you are checked-out copy of your tree is master)&lt;br /&gt;
And also the same as&lt;br /&gt;
 $ git reset a44a594 # note that there is no need to use the full sha id&lt;br /&gt;
if you have:&lt;br /&gt;
 $ git log&lt;br /&gt;
 commit ff7004b70fd239e4120deb160e2991bd5237b8df&lt;br /&gt;
 Author: fkuehne &amp;lt;fkuehne&amp;gt;&lt;br /&gt;
 Date:   Thu Apr 12 18:44:47 2007 +0000&lt;br /&gt;
     * added sanity flags for future darwin releases and potentionally fixed OSX &lt;br /&gt;
 commit a44a594898f981a145cfcace5f16f8973f9eb46f&lt;br /&gt;
 Author: jb &amp;lt;jb&amp;gt;&lt;br /&gt;
 Date:   Thu Apr 12 16:24:49 2007 +0000&lt;br /&gt;
     Qt4 - MouseWheel support - patch by Sergey Volk.&lt;br /&gt;
&lt;br /&gt;
== Diff-ing ==&lt;br /&gt;
* You can diff between two branches using&lt;br /&gt;
 $ git diff branch1 branch2&lt;br /&gt;
* You can diff between the previous 10th commit and current using&lt;br /&gt;
 $ git diff HEAD~10 HEAD&lt;br /&gt;
* You can diff between the previous 10th commit and current of the branch &amp;quot;mywork&amp;quot; using&lt;br /&gt;
 $ git diff mywork~10 mywork&lt;br /&gt;
* Imagine that git log is like&lt;br /&gt;
 $ git log&lt;br /&gt;
 commit e0394f269305edd09843257e7c1d1a66aaf48ab3&lt;br /&gt;
 Author: jb &amp;lt;jb&amp;gt;&lt;br /&gt;
 Date:   Fri Apr 13 07:14:48 2007 +0000&lt;br /&gt;
    qt4 - Mousewheel (2)&lt;br /&gt;
 commit e80b339081aa6755f67c9bd8e2aacf93a9a79d95&lt;br /&gt;
 [..]&lt;br /&gt;
 commit ff7004b70fd239e4120deb160e2991bd5237b8df&lt;br /&gt;
 [..]&lt;br /&gt;
 commit a44a594898f981a145cfcace5f16f8973f9eb46f&lt;br /&gt;
 [..]&lt;br /&gt;
 commit 690df705c963cf6bf6f5746d54bc97a85ff91919&lt;br /&gt;
 [..]&lt;br /&gt;
 commit 679f8b1c3e0baa469efa970588b95a625c595d64&lt;br /&gt;
 [..]&lt;br /&gt;
&lt;br /&gt;
 $ git diff a44a594898f981a145cfcace5f16f8973f9eb46f~2 e80b339081aa6755f67c9bd8e2aacf93a9a79d95&lt;br /&gt;
Will be equivalent to:&lt;br /&gt;
 $ git diff ff7004b70fd239e4120deb160e2991bd5237b8df e80b339081aa6755f67c9bd8e2aacf93a9a79d95&lt;br /&gt;
And to:&lt;br /&gt;
 $ git diff HEAD~4 HEAD^&lt;br /&gt;
&lt;br /&gt;
* Remember that to produce a patch you should rather use git-format-patch than git-diff most of the time.&lt;br /&gt;
&lt;br /&gt;
== Tracking regression ==&lt;br /&gt;
git has a great tool called [http://www.kernel.org/pub/software/scm/git/docs/git-bisect.html git-bisect] to help you to track a faulty commit. Imagine you are tracking a bug that is known to appear after 0.8.6 (assuming 0.8.6 is tagged):&lt;br /&gt;
 $ git bisect start&lt;br /&gt;
 $ git bisect bad # tell git current version has the bug you are tracking&lt;br /&gt;
 $ git bisect good 0.8.6 # tell git 0.8.6 didn&#039;t has the bug&lt;br /&gt;
And then git will checkout a certain revision, and ask you to test it. And you simply say whether this version has the bug.&lt;br /&gt;
If it has the bug:&lt;br /&gt;
 $ git bisect bad&lt;br /&gt;
if the bug is not present:&lt;br /&gt;
 $ git bisect good&lt;br /&gt;
And so on by bisection... At the end git will indicate the faulty commit. Most of the time this tool is really efficient to track regression.&lt;br /&gt;
&lt;br /&gt;
If you can provide a script that test the presence of the bug &lt;br /&gt;
 $ git bisect run &amp;lt;script_name&amp;gt;&lt;br /&gt;
will be able to track down the regression by itself. See [http://www.kernel.org/pub/software/scm/git/docs/git-bisect.html git-bisect Documentation].&lt;br /&gt;
&lt;br /&gt;
= Using Git to push to VideoLAN git =&lt;br /&gt;
== Initial requirement ==&lt;br /&gt;
* Make sure you&#039;ve set your name and email in your commits&lt;br /&gt;
== Staying up to date ==&lt;br /&gt;
  $ git pull&lt;br /&gt;
&lt;br /&gt;
== Pushing your work ==&lt;br /&gt;
  $ git push&lt;br /&gt;
&lt;br /&gt;
= Using Git (and git-svn) to commit on VideoLAN SVN trunk =&lt;br /&gt;
== Initial checkout ==&lt;br /&gt;
First get the official VLC svn trunk within git&lt;br /&gt;
 $ git-svn init svn://your_committer_login@svn.videolan.org/vlc&lt;br /&gt;
If you want the full history skip this step:&lt;br /&gt;
 $ git-svn fetch -r19800&lt;br /&gt;
Now get the get the rest&lt;br /&gt;
 $ git-svn fetch&lt;br /&gt;
Compress the tree:&lt;br /&gt;
 $ git repack -d&lt;br /&gt;
&lt;br /&gt;
== Keeping in sync ==&lt;br /&gt;
 $ git-svn fetch&lt;br /&gt;
 $ git rebase&lt;br /&gt;
&lt;br /&gt;
== Commit to VLC svn through git-svn ==&lt;br /&gt;
Once you&#039;ve locally committed your changes you should be able to commit them to the remote svn branch by doing:&lt;br /&gt;
 $ git-svn dcommit&lt;br /&gt;
&lt;br /&gt;
Note that with git-svn, you&#039;ll lost some of the git advantages, and it will probably introduce some overhead in some cases.&lt;br /&gt;
&lt;br /&gt;
= Using Git to publish your work (for SoC student?) =&lt;br /&gt;
First get the official VLC &#039;&#039;&#039;Soc&#039;&#039;&#039; trunk&lt;br /&gt;
 $ git clone git://git.videolan.org/vlc-soc.git&lt;br /&gt;
 $ cd vlc-soc&lt;br /&gt;
Ask for write access to a branch (called your_name_branch). Now we will make git know that you want to publish on this branch&lt;br /&gt;
 $ git config remote.my_soc_public_branch.url ssh://your_name@altair.videolan.org/home/videolan/gitroot/vlc-soc.git&lt;br /&gt;
Now tell git that you want to automatically push the local master branch to the public your_name_branch:&lt;br /&gt;
 $ git config remote.my_soc_public_branch.push +master:your_name_branch # the &amp;quot;+&amp;quot; will tell git to force update ignoring conflicts&lt;br /&gt;
&lt;br /&gt;
Do some work and commit it to your master branch.&lt;br /&gt;
 $ git commit -a&lt;br /&gt;
You can also sync with the trunk (origin) as needed&lt;br /&gt;
 $ git fetch origin&lt;br /&gt;
 $ git rebase origin&lt;br /&gt;
And don&#039;t forget to publish your changes:&lt;br /&gt;
 $ git push my_soc_public_branch&lt;br /&gt;
Now you should be able to see your latest changes in your branch via [http://git.videolan.org/ gitweb].&lt;br /&gt;
&lt;br /&gt;
= Documentation about git =&lt;br /&gt;
* [http://git.or.cz/ Official Git Website]&lt;br /&gt;
* [http://www.kernel.org/pub/software/scm/git/docs/tutorial.html Git Tutorial]&lt;br /&gt;
* [http://git.or.cz/course/svn.html Switching from SVN to git using cogito]&lt;br /&gt;
&lt;br /&gt;
[[Category:Building]]&lt;/div&gt;</summary>
		<author><name>Riquedafreak</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Git&amp;diff=10732</id>
		<title>Git</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Git&amp;diff=10732"/>
		<updated>2008-02-26T23:38:42Z</updated>

		<summary type="html">&lt;p&gt;Riquedafreak: /* Staying up to date */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For your convenience, a git mirror of the VLC svn tree has been set up. Here is a tutorial on how to use the git VLC repository.&lt;br /&gt;
&lt;br /&gt;
You can read more about the VLC svn tree on our [[Subversion| Subversion wiki page]].&lt;br /&gt;
&lt;br /&gt;
= Basic Git usage =&lt;br /&gt;
== Getting VLC source code via Git ==&lt;br /&gt;
 $ git clone git://git.videolan.org/vlc.git&lt;br /&gt;
Voilà! The full VLC history should be on your hard disk in vlc/. Type&lt;br /&gt;
 $ git log&lt;br /&gt;
to see the full log of the trunk.&lt;br /&gt;
 $ gitk&lt;br /&gt;
to see the log graphically.&lt;br /&gt;
&lt;br /&gt;
You can also browse the sources via [http://git.videolan.org/ gitweb].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configure your local git repository ==&lt;br /&gt;
Tell git your name. (use mostly by git-commit)&lt;br /&gt;
 $ git repo-config user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
 $ git repo-config user.email &amp;quot;me@example.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List the local branch ==&lt;br /&gt;
You can now list your local branch by doing&lt;br /&gt;
 $ git branch&lt;br /&gt;
which should ouput&lt;br /&gt;
 $ git branch&lt;br /&gt;
 * master&lt;br /&gt;
&lt;br /&gt;
== List your local non committed changes ==&lt;br /&gt;
 $ git status | less&lt;br /&gt;
&lt;br /&gt;
== Commit ==&lt;br /&gt;
Now you can start to work on your tree. As soon as you feel you&#039;ve reached a step in developement you can commit &#039;&#039;&#039;locally&#039;&#039;&#039; your work by&lt;br /&gt;
 $ git commit -a&lt;br /&gt;
or&lt;br /&gt;
 $ git commit &amp;lt;specific files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List your commits ==&lt;br /&gt;
 $ git log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Keeping your local working branch in sync ==&lt;br /&gt;
 $ git fetch origin&lt;br /&gt;
 $ git rebase origin&lt;br /&gt;
voilà! Your commit will be re-applied on top of the origin (the svn trunk).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submitting patches to the vlc-devel ==&lt;br /&gt;
If you have been developing on vlc locally and (still) don&#039;t have write access, you can submit all your commit in one shot using:&lt;br /&gt;
 $ git format-patch -o out origin&lt;br /&gt;
which will produce the patches for each local commit in the directory &amp;quot;out&amp;quot;.&lt;br /&gt;
You can also use the [http://www.kernel.org/pub/software/scm/git/docs/git-imap-send.html git-imap-send] command:&lt;br /&gt;
 $ git format-patch --stdout --attach -n origin | git-imap-send&lt;br /&gt;
which will directly produces the emails and store them in a imap mail box, provided that you have properly set up [http://www.kernel.org/pub/software/scm/git/docs/git-imap-send.html git-imap-send].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Advanced usage =&lt;br /&gt;
== Creating a secondary local branch ==&lt;br /&gt;
If you want to work on a specific project that could require a branch of the trunk, create a local branch of the current branch by doing:&lt;br /&gt;
 $ git branch mywork&lt;br /&gt;
and to actually use it do:&lt;br /&gt;
 $ git checkout mywork&lt;br /&gt;
Which could be summarized by:&lt;br /&gt;
 $ git checkout -b mywork&lt;br /&gt;
&lt;br /&gt;
Then do some commit on it... And you can go back to your original master branch by doing:&lt;br /&gt;
 $ git checkout master&lt;br /&gt;
&lt;br /&gt;
== Fetching a remote branch ==&lt;br /&gt;
If the remote branch is named avacore_branch&lt;br /&gt;
 $ git checkout origin/avacore_branch&lt;br /&gt;
To stay up-to-date a simple&lt;br /&gt;
 $ git fetch&lt;br /&gt;
Should be enough.&lt;br /&gt;
&lt;br /&gt;
== Revert your non-committed local changes ==&lt;br /&gt;
 $ git checkout -f&lt;br /&gt;
&lt;br /&gt;
==Undo commit ==&lt;br /&gt;
This will undo the last commit&lt;br /&gt;
 $ git reset HEAD^&lt;br /&gt;
which is the same as&lt;br /&gt;
 $ git reset master^&lt;br /&gt;
(if you are checked-out copy of your tree is master)&lt;br /&gt;
And also the same as&lt;br /&gt;
 $ git reset a44a594 # note that there is no need to use the full sha id&lt;br /&gt;
if you have:&lt;br /&gt;
 $ git log&lt;br /&gt;
 commit ff7004b70fd239e4120deb160e2991bd5237b8df&lt;br /&gt;
 Author: fkuehne &amp;lt;fkuehne&amp;gt;&lt;br /&gt;
 Date:   Thu Apr 12 18:44:47 2007 +0000&lt;br /&gt;
     * added sanity flags for future darwin releases and potentionally fixed OSX &lt;br /&gt;
 commit a44a594898f981a145cfcace5f16f8973f9eb46f&lt;br /&gt;
 Author: jb &amp;lt;jb&amp;gt;&lt;br /&gt;
 Date:   Thu Apr 12 16:24:49 2007 +0000&lt;br /&gt;
     Qt4 - MouseWheel support - patch by Sergey Volk.&lt;br /&gt;
&lt;br /&gt;
== Diff-ing ==&lt;br /&gt;
* You can diff between two branches using&lt;br /&gt;
 $ git diff branch1 branch2&lt;br /&gt;
* You can diff between the previous 10th commit and current using&lt;br /&gt;
 $ git diff HEAD~10 HEAD&lt;br /&gt;
* You can diff between the previous 10th commit and current of the branch &amp;quot;mywork&amp;quot; using&lt;br /&gt;
 $ git diff mywork~10 mywork&lt;br /&gt;
* Imagine that git log is like&lt;br /&gt;
 $ git log&lt;br /&gt;
 commit e0394f269305edd09843257e7c1d1a66aaf48ab3&lt;br /&gt;
 Author: jb &amp;lt;jb&amp;gt;&lt;br /&gt;
 Date:   Fri Apr 13 07:14:48 2007 +0000&lt;br /&gt;
    qt4 - Mousewheel (2)&lt;br /&gt;
 commit e80b339081aa6755f67c9bd8e2aacf93a9a79d95&lt;br /&gt;
 [..]&lt;br /&gt;
 commit ff7004b70fd239e4120deb160e2991bd5237b8df&lt;br /&gt;
 [..]&lt;br /&gt;
 commit a44a594898f981a145cfcace5f16f8973f9eb46f&lt;br /&gt;
 [..]&lt;br /&gt;
 commit 690df705c963cf6bf6f5746d54bc97a85ff91919&lt;br /&gt;
 [..]&lt;br /&gt;
 commit 679f8b1c3e0baa469efa970588b95a625c595d64&lt;br /&gt;
 [..]&lt;br /&gt;
&lt;br /&gt;
 $ git diff a44a594898f981a145cfcace5f16f8973f9eb46f~2 e80b339081aa6755f67c9bd8e2aacf93a9a79d95&lt;br /&gt;
Will be equivalent to:&lt;br /&gt;
 $ git diff ff7004b70fd239e4120deb160e2991bd5237b8df e80b339081aa6755f67c9bd8e2aacf93a9a79d95&lt;br /&gt;
And to:&lt;br /&gt;
 $ git diff HEAD~4 HEAD^&lt;br /&gt;
&lt;br /&gt;
* Remember that to produce a patch you should rather use git-format-patch than git-diff most of the time.&lt;br /&gt;
&lt;br /&gt;
== Tracking regression ==&lt;br /&gt;
git has a great tool called [http://www.kernel.org/pub/software/scm/git/docs/git-bisect.html git-bisect] to help you to track a faulty commit. Imagine you are tracking a bug that is known to appear after 0.8.6 (assuming 0.8.6 is tagged):&lt;br /&gt;
 $ git bisect start&lt;br /&gt;
 $ git bisect bad # tell git current version has the bug you are tracking&lt;br /&gt;
 $ git bisect good 0.8.6 # tell git 0.8.6 didn&#039;t has the bug&lt;br /&gt;
And then git will checkout a certain revision, and ask you to test it. And you simply say whether this version has the bug.&lt;br /&gt;
If it has the bug:&lt;br /&gt;
 $ git bisect bad&lt;br /&gt;
if the bug is not present:&lt;br /&gt;
 $ git bisect good&lt;br /&gt;
And so on by bisection... At the end git will indicate the faulty commit. Most of the time this tool is really efficient to track regression.&lt;br /&gt;
&lt;br /&gt;
If you can provide a script that test the presence of the bug &lt;br /&gt;
 $ git bisect run &amp;lt;script_name&amp;gt;&lt;br /&gt;
will be able to track down the regression by itself. See [http://www.kernel.org/pub/software/scm/git/docs/git-bisect.html git-bisect Documentation].&lt;br /&gt;
&lt;br /&gt;
= Using Git to push to VideoLAN git =&lt;br /&gt;
== Initial requirement ==&lt;br /&gt;
* Make sure you&#039;ve set your name and email in your commits&lt;br /&gt;
== Staying up to date ==&lt;br /&gt;
  $ git pull --rebase&lt;br /&gt;
== Pushing your work ==&lt;br /&gt;
  $ git push&lt;br /&gt;
&lt;br /&gt;
= Using Git (and git-svn) to commit on VideoLAN SVN trunk =&lt;br /&gt;
== Initial checkout ==&lt;br /&gt;
First get the official VLC svn trunk within git&lt;br /&gt;
 $ git-svn init svn://your_committer_login@svn.videolan.org/vlc&lt;br /&gt;
If you want the full history skip this step:&lt;br /&gt;
 $ git-svn fetch -r19800&lt;br /&gt;
Now get the get the rest&lt;br /&gt;
 $ git-svn fetch&lt;br /&gt;
Compress the tree:&lt;br /&gt;
 $ git repack -d&lt;br /&gt;
&lt;br /&gt;
== Keeping in sync ==&lt;br /&gt;
 $ git-svn fetch&lt;br /&gt;
 $ git rebase&lt;br /&gt;
&lt;br /&gt;
== Commit to VLC svn through git-svn ==&lt;br /&gt;
Once you&#039;ve locally committed your changes you should be able to commit them to the remote svn branch by doing:&lt;br /&gt;
 $ git-svn dcommit&lt;br /&gt;
&lt;br /&gt;
Note that with git-svn, you&#039;ll lost some of the git advantages, and it will probably introduce some overhead in some cases.&lt;br /&gt;
&lt;br /&gt;
= Using Git to publish your work (for SoC student?) =&lt;br /&gt;
First get the official VLC &#039;&#039;&#039;Soc&#039;&#039;&#039; trunk&lt;br /&gt;
 $ git clone git://git.videolan.org/vlc-soc.git&lt;br /&gt;
 $ cd vlc-soc&lt;br /&gt;
Ask for write access to a branch (called your_name_branch). Now we will make git know that you want to publish on this branch&lt;br /&gt;
 $ git config remote.my_soc_public_branch.url ssh://your_name@altair.videolan.org/home/videolan/gitroot/vlc-soc.git&lt;br /&gt;
Now tell git that you want to automatically push the local master branch to the public your_name_branch:&lt;br /&gt;
 $ git config remote.my_soc_public_branch.push +master:your_name_branch # the &amp;quot;+&amp;quot; will tell git to force update ignoring conflicts&lt;br /&gt;
&lt;br /&gt;
Do some work and commit it to your master branch.&lt;br /&gt;
 $ git commit -a&lt;br /&gt;
You can also sync with the trunk (origin) as needed&lt;br /&gt;
 $ git fetch origin&lt;br /&gt;
 $ git rebase origin&lt;br /&gt;
And don&#039;t forget to publish your changes:&lt;br /&gt;
 $ git push my_soc_public_branch&lt;br /&gt;
Now you should be able to see your latest changes in your branch via [http://git.videolan.org/ gitweb].&lt;br /&gt;
&lt;br /&gt;
= Documentation about git =&lt;br /&gt;
* [http://git.or.cz/ Official Git Website]&lt;br /&gt;
* [http://www.kernel.org/pub/software/scm/git/docs/tutorial.html Git Tutorial]&lt;br /&gt;
* [http://git.or.cz/course/svn.html Switching from SVN to git using cogito]&lt;br /&gt;
&lt;br /&gt;
[[Category:Building]]&lt;/div&gt;</summary>
		<author><name>Riquedafreak</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=User:Riquedafreak&amp;diff=10372</id>
		<title>User:Riquedafreak</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=User:Riquedafreak&amp;diff=10372"/>
		<updated>2008-01-02T22:31:52Z</updated>

		<summary type="html">&lt;p&gt;Riquedafreak: Initial creation.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Faustino &amp;quot;Enrique&amp;quot; Osuna&lt;br /&gt;
&lt;br /&gt;
New addition to the team, currently focusing efforts on Mac OS X Framework with [[User:Pdherbemont|Pierre d&#039;Herbemont]].&lt;/div&gt;</summary>
		<author><name>Riquedafreak</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VideoLAN_Team&amp;diff=10371</id>
		<title>VideoLAN Team</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VideoLAN_Team&amp;diff=10371"/>
		<updated>2008-01-02T22:28:51Z</updated>

		<summary type="html">&lt;p&gt;Riquedafreak: Fixed typo, added myself (Faustino Osuna) to developer list.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is intended to help to know who&#039;s who.&lt;br /&gt;
&lt;br /&gt;
You don&#039;t have to have a SVN write access to put your name here. If you hang out frequently on irc or on the forum write your name here.&lt;br /&gt;
&lt;br /&gt;
(should probably be merged with http://www.videolan.org/team/index.html )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039; You can add yourself to the list following alphabetical order.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ VideoLAN Team&lt;br /&gt;
! align=left width=200 | Real name !! align=left width=100 | IRC Nick !!align=left width=100| SVN login !! align=left width=100 | wiki login !!align=left width=100 | Forum login !!&lt;br /&gt;
|-&lt;br /&gt;
| Filippo Carone || littlejohn || littlejohn || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| Rafaël Carré || funman || funman || [[User:Funman|Funman]] || funman&lt;br /&gt;
|-&lt;br /&gt;
| Antoine Cellerier || dionoea || dionoea || [[User:Dionoea|Dionoea]] || dionoea&lt;br /&gt;
|-&lt;br /&gt;
| Jerome Decoodt || DiDjCodt || djc || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| Rémi Denis-Courmont || courmish || courmish || [[User:Courmisch|Courmisch]] || Rémi Denis-Courmont&lt;br /&gt;
|-&lt;br /&gt;
| Pierre d&#039;Herbemont || pdherbemont || pdherbemont || [[User:Pdherbemont|Pdherbemont]] || pdherbemont&lt;br /&gt;
|-&lt;br /&gt;
| Damien Fouilleul || Quovodis || damienf || [[User: Quovodis|Quovodis]] || ?&lt;br /&gt;
|-&lt;br /&gt;
| Samuel Hocevar || sam || sam || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| Jean-Baptiste Kempf || j-b || jb || [[User:J-b|J-b]] || j-b&lt;br /&gt;
|-&lt;br /&gt;
| Pavlov Konstantin || thresh || thresh || [[User: Thresh|Thresh]] || thresh&lt;br /&gt;
|-&lt;br /&gt;
| Felix Paul Kühne || feepk || fkuehne || [[User:Fkuehne|Fkuehne]] || feepk&lt;br /&gt;
|-&lt;br /&gt;
| Christophe Massiot || Meuuh || meuuh || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| Christophe Mutricy || xtophe || xtophe || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| Ilkka Ollakka || ILEoo || ileoo || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| Faustino Osuna || riquedafreak || riquedafreak || [[User:Riquedafreak|Riquedafreak]] || riquedafreak&lt;br /&gt;
|-&lt;br /&gt;
| Yoann Peronneau || yoannp || yoann || [[User: Yoann|Yoann]] || yoann&lt;br /&gt;
|-&lt;br /&gt;
| Bernie Purcel || ? || bitmap || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| Jean-Paul Saman || jpsaman || jpsaman || [[User: jpsaman|jpsaman]] || jpsaman&lt;br /&gt;
|-&lt;br /&gt;
| Clément Stenac || zorglub || zorglub || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| Olivier Teulière || ipkiss || ipkiss || [[User:Ipkiss|Ipkiss]] || ipkiss&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Riquedafreak</name></author>
	</entry>
</feed>