[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 1191 - (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 :    
122 :     So to cross compile the VFW frontend, you just need to override the
123 :     Makefile variables pointing to the compiler and the resource compiler.
124 :     These variables are CC and WINDRES.
125 : edgomez 1181 # cd ${xvidcore}/vfw/bin
126 : edgomez 1191 # make CC=i386-mingw32-gcc WINDRES=i386-mingw32-windres
127 : edgomez 1181
128 :    
129 :     1.e/ What is the meaning of xvidcore Makefile output.
130 :     -----------------------------------------------------
131 :    
132 :     The makefile available in ${xvidcore}/build/generic is handwritten and
133 :     outputs uncommon building progress strings to the terminal. You may
134 :     want to understanding their meaning. Here is a brief explaination.
135 :    
136 :     - A: a/dir/file.(asm|s)
137 :     This an assembling rule assembling 'a/dir/file.(asm|s)'
138 :     - C: a/dir/file.c
139 :     This is a compilation rule compiling 'a/dir/file.c'
140 :     - Cl: Stuff
141 :     This is a cleaning rule in action
142 :     - D: Directory
143 :     This is a rule creating 'Directory'
144 :     - I: a/dir/file
145 :     Installing 'file' in 'a/dir'
146 :     - L: file
147 :     Linking 'file'
148 : edgomez 1191 - W: file
149 :     Compiling the Win32 resource 'file'
150 : edgomez 1181
151 :    
152 :     1.f/ Building a Debian package.
153 :     -------------------------------
154 :    
155 :     Release tarballs contain a debian dir so that you can easily build a
156 :     debian package. Just execute the usual steps. They may be sumed up to:
157 :     # cd ${xvidcore}
158 :     # dpkg-buildpackage -rfakeroot
159 :    
160 :     If all went right, you're now able to install the package:
161 :     # cd ..
162 :     # dpkg -i libxvidcore...
163 :    
164 :    
165 :    
166 :     2/ Generic install procedure for Win32/MSVC.
167 :     ============================================
168 :    
169 :    
170 :    
171 :     2.a/ Requirements.
172 :     ------------------
173 :    
174 :     - MS VisualDev 6 Processor Pack 5 or MS VisualDev 7
175 :     - nasm installed as 'nasm' in the msvc binary search paths.
176 :    
177 :     2.b/ How to build the VFW frontend from a release tarball.
178 :     ----------------------------------------------------------
179 :    
180 :     Download the latest source distribution from http://www.xvid.org/ and
181 :     uncompress it on your disk. Let's call this directory ${xvidcore}.
182 :    
183 :     - Open the workspace xvidcore.dsw located in
184 :     ${xvidcore}/build/win32.
185 :     - Then choose the libxvidcore project as the Active project of the
186 :     workspace.
187 :     - Make sure the Active configuration is
188 :     'libxvidcore Win32 Release'
189 :     - Build the project (F7)
190 :     - Open the project vfw.dsp file located in ${xvidcore}/vfw.
191 :     - Make sure the Active configuration is
192 :     'vfw Win32 Release'
193 :     - Build the project (F7)
194 :     - Install the resulting VFW frontend using the xvid.inf file
195 :     provided in ${xvidcore}/vfw/bin. Right click on the file, and
196 :     then click 'Install'
197 :    
198 :     2.c/ How to build from CVS.
199 :     ---------------------------
200 :    
201 :     You have first to retrieve the sources from the xvid CVS repository
202 :     using a tool like WinCVS. Then follow the normal steps explained in
203 : edgomez 1191 the previous section.
204 :    
205 :     NB: your CVS program may not convert text files to the cr/lf windows
206 :     text. In that case opening project files in MSVC will result in
207 :     some weird error messages from MSVC. To fix that, you have to
208 :     convert all .dsp files to the cr/lf format. You can do that
209 :     opening the .dsp file in WordPad and saving it. It should now be
210 :     in cr/lf format.

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