[svn] / branches / release-1_3-branch / xvidcore / doc / INSTALL Repository:
ViewVC logotype

Annotation of /branches/release-1_3-branch/xvidcore/doc/INSTALL

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1927 - (view) (download)

1 : edgomez 1382 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 : Isibaar 1906 - yasm or nasm on ia32/x86_64 platforms for MMX/SSE optimized code.
35 : edgomez 1382
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 : Isibaar 1906 - MS Visual C++ 2005 or later
179 : edgomez 1382 - 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 : Isibaar 1927 - Make sure your ${xvidcore} directory name does not contain spaces.
188 :     MS Visual C++ can have issues handling file names with whitespace.
189 : Isibaar 1906 - Open the workspace libxvidcore.sln located in
190 : edgomez 1382 ${xvidcore}/build/win32.
191 :     - Then choose the libxvidcore project as the Active project of the
192 :     workspace.
193 :     - Make sure the Active configuration is
194 :     'libxvidcore Win32 Release'
195 :     - Build the project (F7)
196 : Isibaar 1906 - Open the project vfw.vcproj file located in ${xvidcore}/vfw.
197 : edgomez 1382 - Make sure the Active configuration is
198 :     'vfw Win32 Release'
199 :     - Build the project (F7)
200 :     - Install the resulting VFW frontend using the xvid.inf file
201 :     provided in ${xvidcore}/vfw/bin. Right click on the file, and
202 :     then click 'Install'
203 :    
204 :     2.c/ How to build from CVS.
205 :     ---------------------------
206 :    
207 : Isibaar 1906 You have first to retrieve the sources from the Xvid CVS repository
208 : edgomez 1382 using a tool like WinCVS. Then follow the normal steps explained in
209 :     the previous section.
210 :    
211 :     NB: your CVS program may not convert text files to the cr/lf windows
212 :     text. In that case opening project files in MSVC will result in
213 :     some weird error messages from MSVC. To fix that, you have to
214 :     convert all .dsp files to the cr/lf format. You can do that
215 :     opening the .dsp file in WordPad and saving it. It should now be
216 :     in cr/lf format.
217 :    
218 : Isibaar 1927 Last edited: $Date: 2010-12-28 16:34:55 $

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