Difference between revisions of "Hacker Guide/VLC source tree"

From VideoLAN Wiki
Jump to navigation Jump to search
m
m (+{{Back to|Hacker Guide}})
 
(26 intermediate revisions by 9 users not shown)
Line 1: Line 1:
{{Stub}}
+
{{Back to|Hacker Guide}}
This page lists the directories in the source tree of VLC, aimed at giving new beginners an overview of the code.
+
This page lists the directories in the [https://git.videolan.org/?p=vlc.git;a=tree source tree of VLC] to give an overview of the code. Because VLC has evolved with not so much accumulation in mind, when a new coder looks at the code, s/he is terrified by the abundance of directories. This page was prepared to remedy that situation.
 
 
  '''Why Does This Page Exist?
 
  Well, simply because VLC has evolved with not so much accumulation in mind, and when a new coder looks at the code, s/he is   terrified by the abundance of directories. If someone could explain why, for example, activex is not in the bindings folder, why there is a separate python directory at the root,  what several directories like evc, lxdialog are, that would be great! Note that I have added a FIXME! at the beginning of the explanation of those directories.  Please remove this paragraph when done.'''
 
  
 
The directories are listed in alphabetical order, with an overview of their contents on the right.
 
The directories are listed in alphabetical order, with an overview of their contents on the right.
Line 12: Line 9:
 
! Directory Explanation
 
! Directory Explanation
 
|-
 
|-
|activex              
+
|bindings               
|activex bindings
+
|Java, CIL and Python bindings
 
|-
 
|-
|bindings               
+
| {{VLCSourceFolder|contrib}}
|Java and Python bindings
+
| for required libraries (contains Makefiles to automatically download and compile (or cross-compile) and patch those). Please first attempt to get the development headers precompiled for your distribution.
 
|-
 
|-
|doc                
+
|{{VLCSourceFolder|doc}}                
 
|Documentation (not up-to-date)
 
|Documentation (not up-to-date)
 
|-
 
|-
|evc              
+
|{{VLCSourceFolder|extras}}
|FIX ME! I don't know. Please fill this.
+
| ''[[#Contents_of_extras|See below]]''
 
|-
 
|-
|extras -
+
|{{VLCSourceFolder|include}}              
|contrib (subdirectory of extras) - for required libraries (contains Makefiles to automatically download and compile (or cross-compile) and patch those. Please first attempt to get the development headers precompiled for your distribution.
+
|Header files for VLC
''extras also contains the emacs.init file (useful for coding in Videolan style)''
 
 
|-
 
|-
|include              
+
|{{VLCSourceFolder|lib}}             
|Header files for vlc
+
|Contains all [[LibVLC]] control code
 
|-
 
|-
|ipkg                
+
|{{VLCSourceFolder|m4}}                
|FIX ME! I guess this is not so important, last modified 2 years ago!
+
|Macro files needed for automake and autoconf
 +
|-
 +
|{{VLCSourceFolder|modules}}
 +
|The most important directory besides src/. ''See [[{{#rel2abs:../Modules source tree}}]].''
 
|-
 
|-
|libs              
+
|{{VLCSourceFolder|po}}
|FIX ME! Loader and secure rtp libraries
+
|i18n (language translation) files
 
|-
 
|-
|lxdialog              
+
|projects
|FIX ME! I guess this is not important, last modified 1 year ago!
+
| Projects based on libvlc, Mozilla plugin, ActiveX plugin and [[Mac OS X Framework]]
 
|-
 
|-
|m4              
+
|{{VLCSourceFolder|share}}
|Macro files needed for ???
+
|icons, scripts to make VLC the default player etc.
|-
 
|modules
 
|most important directory --todo
 
 
|-
 
|-
|mozilla              
+
|{{VLCSourceFolder|src}}
|Mozilla plugin
+
|The most important directory besides modules/. ''See [[{{#rel2abs:/src}}|src source tree]].''
 
|-
 
|-
|msvc
+
|{{VLCSourceFolder|test}}
|Deprecated, Microsoft Visual C files I guess
+
|scripts to see if everything is OK
 +
 
 +
|}
 +
 
 +
== Contents of extras ==
 +
{| class="wikitable"
 +
| {{VLCSourceFolder|extras/analyser}}
 +
| contains some code style editor (vim, emacs) macro and some valgrind suppressions
 
|-
 
|-
|po
+
| {{VLCSourceFolder|extras/buildsystem}}
|i18n files
+
| contains alternative buildsystems
 
|-
 
|-
|python
+
| extras/deprecated
|FIX ME! not important
+
| contains deprecated files
 
|-
 
|-
|share
+
| {{VLCSourceFolder|extras/misc}}
|icons,scripts to make VLC the default player etc.
+
| contains files that don't fit into any other category
 
|-
 
|-
|src
+
| {{VLCSourceFolder|extras/package}}
|to-do
+
| contains distribution specific files such as ipkg, different rpm spec files, win32 and Mac OS X installation files.
 
|-
 
|-
|test
+
|}
|scripts to see if everything is OK
 
  
|}
+
{{Hacker Guide}}
 +
[[Category:Building]]

Latest revision as of 06:40, 17 April 2019

← Back to Hacker Guide
This page lists the directories in the source tree of VLC to give an overview of the code. Because VLC has evolved with not so much accumulation in mind, when a new coder looks at the code, s/he is terrified by the abundance of directories. This page was prepared to remedy that situation.

The directories are listed in alphabetical order, with an overview of their contents on the right.

Directory Name Directory Explanation
bindings Java, CIL and Python bindings
contrib for required libraries (contains Makefiles to automatically download and compile (or cross-compile) and patch those). Please first attempt to get the development headers precompiled for your distribution.
doc Documentation (not up-to-date)
extras See below
include Header files for VLC
lib Contains all LibVLC control code
m4 Macro files needed for automake and autoconf
modules The most important directory besides src/. See Hacker Guide/Modules source tree.
po i18n (language translation) files
projects Projects based on libvlc, Mozilla plugin, ActiveX plugin and Mac OS X Framework
share icons, scripts to make VLC the default player etc.
src The most important directory besides modules/. See src source tree.
test scripts to see if everything is OK

Contents of extras

extras/analyser contains some code style editor (vim, emacs) macro and some valgrind suppressions
extras/buildsystem contains alternative buildsystems
extras/deprecated contains deprecated files
extras/misc contains files that don't fit into any other category
extras/package contains distribution specific files such as ipkg, different rpm spec files, win32 and Mac OS X installation files.
This page is part of official VLC media player Documentation (User GuideStreaming HowToHacker GuideModules)
Please read the Documentation Editing Guidelines before you edit the documentation
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.