]> git.sesse.net Git - vlc/blobdiff - HACKING
* HACKING : documentation for the automake crash
[vlc] / HACKING
diff --git a/HACKING b/HACKING
index 04db9d77a38fbbf43dbe56617a332961441c3b8b..c5425dfb622f5bb2c22e9f6de0c2aa6ea36af06f 100644 (file)
--- a/HACKING
+++ b/HACKING
@@ -1,13 +1,18 @@
-$Id: HACKING,v 1.3 2002/08/26 20:49:49 sam Exp $
+$Id: HACKING,v 1.6 2002/10/07 21:58:40 massiot Exp $
 
 Hacking vlc
 ===========
 
+Requirements
+------------
+
 You will need the following tools if you plan to use the CVS version of vlc:
 
  - autoconf version 2.50 or later
- - automake version 1.6 or later
- - gettext version 0.10.4 or later
+
+ - automake version 1.5 (but 1.6 or later is recommended)
+
+ - gettext version 0.10.40 (but 0.11.3 or later is recommended)
 
 After retrieving the CVS tree, you need to run the bootstrap script to
 generate all the files needed to build vlc. You can then run configure.
@@ -18,3 +23,43 @@ you can check out a CVS tree on an OS that provides these tools (such
 as a recent Linux distribution), run bootstrap, and then copy the whole
 tree to your retarded OS.
 
+There is a possibility that, at some point, automake might segfault. The
+reason is unsufficient stack size, and can be easily fixed with the
+`ulimit` command (or an equivalent) available in most shells. For instance
+on bash 2.0, the following command solves the automake crash on Mac OS X :
+ulimit -s 20000
+
+
+The bootstrap sequence
+----------------------
+
+The bootstrap script does the following actions:
+
+ - browse the modules/ directory for all available modules. A module "foo"
+   exists if there is a Modules.am file in the modules/ directory which
+   defines SOURCES_foo.
+
+ - create a top-level Modules.am file (which will be included by Makefile.am)
+   which contains additional build rules for modules, and includes all the
+   Modules.am files that were found in modules/
+
+ - create a top-level configure.ac file from configure.ac.in, generating
+   the AC_SUBST and AM_CONDITIONAL rules that will be needed.
+
+ - run autopoint (previously gettextize) to create an intl/ directory,
+   needed when libgettext is not available.
+
+ - run the usual aclocal, autoheader, automake and autoconf, which create
+   the various Makefile.in files from the corresponding Makefile.am and the
+   configure script from configure.ac.
+
+ - fix a few files in the vlc repository that may have been altered.
+
+
+How to add a module
+-------------------
+
+To add a module to the repository, just add its sources to a Modules.am
+file. If you create a new Modules.am, do not forget to add a corresponding
+line to modules/Makefile.am.
+