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

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

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