[cvs] / xvidcore / doc / INSTALL Repository:
ViewVC logotype

Diff of /xvidcore/doc/INSTALL

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1, Fri Oct 17 15:25:44 2003 UTC revision 1.2, Mon Mar 22 22:36:23 2004 UTC
# Line 0  Line 1 
1    INSTALL
2    =======
3    
4    Table of contents:
5    ==================
6    
7    1/ Generic install procedure for Unix based systems
8      1.a/ Requirements.
9      1.b/ How to build from a release tarball.
10      1.c/ How to build from CVS.
11      1.d/ Cross compiling xvidcore.
12      1.e/ What is the meaning of the xvidcore Makefile output.
13      1.f/ Building a Debian package.
14    
15    2/ Generic install procedure for Win32/MSVC.
16      2.a/ Requirements.
17      2.b/ How to build the VFW frontend from a release tarball.
18      2.c/ How to build from CVS.
19    
20    
21    1/ Generic install procedure for Unix based systems
22    ===================================================
23    
24    This build process works for most common Unix based systems, including
25    GNU/Linux, (Free|Open|Net)BSD, Solaris and faked unix environments
26    like cygwin and minsys on Win32 platforms.
27    
28      1.a/ Requirements
29      -----------------
30       - ANSI C compiler (gcc)
31       - make (GNU make, BSD make, Solaris make)
32       - a C library providing ANSI C functions like malloc/free/realloc
33         and some other standard functions.
34       - nasm on ia32 platforms for MMX/SSE optimized code.
35    
36    
37      1.b/ How to build from a release tarball
38      ----------------------------------------
39    
40    Get the latest version on http://www.xvid.org/, and uncompress it on
41    your disk. Let's name the resulting source directory ${xvidcore}.
42    
43    The next step allows you to configure the xvid sources.
44      # cd ${xvidcore}/build/generic
45      # ./configure
46    
47    Some building options can be tuned thanks to the ./configure tool. You
48    can use your own CC and CFLAGS variables in order to override xvid's
49    default ones. To have a list of known options:
50      # ./configure --help
51    
52    Now xvidcore is configured according to your specific platform. You
53    can still handwrite the platform.inc file in order to add/remove
54    specific flags that ./configure may have set them wrong.
55    
56    It is time to build xvidcore:
57      # make
58    
59    That creates a =build directory where all object files go, and where
60    the build targets are linked. If no error was reported by the build
61    process, then you can install it on your system:
62      # make install
63    
64    This copies the shared and static libraries to the prefix location
65    passed to the ./configure tool (/usr/local by default). The xvid.h
66    include file is also copied during the "make install" run.
67    
68    Voila, xvidcore is installed on your system, make sure your runtime
69    linker knows about the xvidcore prefix lib dir where it is
70    installed. And make also sure that it generates a symlink to its
71    SONAME. In case it would do not take care of the symlink itself:
72      # cd ${prefix}/lib
73      # ls libxvidcore.so.*
74        ls should list at least one libxvidcore.so.MAJOR.MINOR file
75      # ln -s libxvidcore.so.MAJOR.MINOR libxvidcore.so.MAJOR
76    
77    You may also add a .so link to .so.MAJOR, so that applications linked
78    against .so are in fact linked to .so.MAJOR and thus ensures better
79    binary compatibility as we take care not changing the MAJOR number
80    until there is an incompatible ABI change.
81      # ln -s libxvidcore.so.MAJOR libxvidcore.so
82    
83    
84      1.c/ How to build from CVS
85      --------------------------
86    
87    In order to build from CVS, you need some more requirements compared
88    to the release building process:
89      - GNU autoconf >= 2.5
90      - GNU automake (no specific version)
91      - GNU libtool (no specific version)
92    
93    Grab the desired CVS version you want to build.
94      # cvs -d:pserver:anonymous@cvs.xvid.org:/xvid login
95        (just type enter)
96      # cvs -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore
97        (read the CVS documentation if you want details about branch
98         checking outs)
99    
100    You now need to bootstrap the build files:
101      # cd xvidcore/build/generic
102      # ./bootstrap.sh
103    
104    A configure script has been bootstraped, you're now able to follow
105    the "Build from release tarballs" steps.
106    
107    
108      1.d/ Cross compiling xvidcore.
109      ------------------------------
110    
111    The configure script allows an easy handling of cross compilation. You
112    have just to specify the host and build platform values.
113    
114    e.g: building Win32 libxvidcore.dll from a gnu/linux systems
115     # cd ${xvidcore}/build/generic
116     # ./configure --host=i386-mingw32 --build=i386-pc-linux-gnu
117    
118    And then build as usual.
119    
120    As the example uses the Win32 target, we can even build the vfw frontend.
121    Additional requirements are:
122     - Resource compiler (the Makefile uses the syntax of windres from the
123       GNU CC suite, but you can easily modify the cmd line)
124     - GNU make (other make programs may have problem with shell expansion)
125    
126    So to cross compile the VFW frontend, you just need to override the
127    Makefile variables pointing to the compiler and the resource compiler.
128    These variables are CC and WINDRES.
129     # cd ${xvidcore}/vfw/bin
130     # make CC=i386-mingw32-gcc WINDRES=i386-mingw32-windres
131    
132    
133      1.e/ What is the meaning of xvidcore Makefile output.
134      -----------------------------------------------------
135    
136    The makefile available in ${xvidcore}/build/generic is handwritten and
137    outputs uncommon building progress strings to the terminal. You may
138    want to understanding their meaning. Here is a brief explaination.
139    
140      - A: a/dir/file.(asm|s)
141        This an assembling rule assembling 'a/dir/file.(asm|s)'
142      - C: a/dir/file.c
143        This is a compilation rule compiling 'a/dir/file.c'
144      - Cl: Stuff
145        This is a cleaning rule in action
146      - D: Directory
147        This is a rule creating 'Directory'
148      - I: a/dir/file
149        Installing 'file' in 'a/dir'
150      - L: file
151        Linking 'file'
152      - W: file
153        Compiling the Win32 resource 'file'
154    
155    
156      1.f/ Building a Debian package.
157      -------------------------------
158    
159    Release tarballs contain a debian dir so that you can easily build a
160    debian package. Just execute the usual steps. They may be sumed up to:
161      # cd ${xvidcore}
162      # dpkg-buildpackage -rfakeroot
163    
164    If all went right, you're now able to install the package:
165      # cd ..
166      # dpkg -i libxvidcore...
167    
168    
169    
170    2/ Generic install procedure for Win32/MSVC.
171    ============================================
172    
173    
174    
175      2.a/ Requirements.
176      ------------------
177    
178        - MS VisualDev 6 Processor Pack 5 or MS VisualDev 7
179        - nasm installed as 'nasm' in the msvc binary search paths.
180    
181      2.b/ How to build the VFW frontend from a release tarball.
182      ----------------------------------------------------------
183    
184    Download the latest source distribution from http://www.xvid.org/ and
185    uncompress it on your disk. Let's call this directory ${xvidcore}.
186    
187        - Open the workspace xvidcore.dsw located in
188          ${xvidcore}/build/win32.
189        - Then choose the libxvidcore project as the Active project of the
190          workspace.
191        - Make sure the Active configuration is
192          'libxvidcore Win32 Release'
193        - Build the project (F7)
194        - Open the project vfw.dsp file located in ${xvidcore}/vfw.
195        - Make sure the Active configuration is
196          'vfw Win32 Release'
197        - Build the project (F7)
198        - Install the resulting VFW frontend using the xvid.inf file
199          provided in ${xvidcore}/vfw/bin. Right click on the file, and
200          then click 'Install'
201    
202      2.c/ How to build from CVS.
203      ---------------------------
204    
205    You have first to retrieve the sources from the xvid CVS repository
206    using a tool like WinCVS. Then follow the normal steps explained in
207    the previous section.
208    
209    NB: your CVS program may not convert text files to the cr/lf windows
210        text. In that case opening project files in MSVC will result in
211        some weird error messages from MSVC. To fix that, you have to
212        convert all .dsp files to the cr/lf format. You can do that
213        opening the .dsp file in WordPad and saving it. It should now be
214        in cr/lf format.
215    
216    Last edited: $Date$

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4