[svn] / branches / dev-api-4 / xvidcore / doc / INSTALL Repository:
ViewVC logotype

Annotation of /branches/dev-api-4/xvidcore/doc/INSTALL

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1196 - (view) (download)

1 : edgomez 1181 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 : edgomez 1191 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 : edgomez 1196 - GNU make (other make programs may have problem with shell expansion)
122 : edgomez 1191
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 : edgomez 1181 # cd ${xvidcore}/vfw/bin
127 : edgomez 1191 # make CC=i386-mingw32-gcc WINDRES=i386-mingw32-windres
128 : edgomez 1181
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 : edgomez 1191 - W: file
150 :     Compiling the Win32 resource 'file'
151 : edgomez 1181
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 : edgomez 1191 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.

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